@charset "UTF-8";
/*! normalize.css v6.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

/* Forms
   ========================================================================== */
/**
 * Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * Path
 */
/**
 * Colors
 */
/**
 * Text
 */
/**
 * Responsive
 */
/**
 * Susy
 */
/**
 * Easing
 */
@font-face {
  font-family: "oystershell";
  src: url("../fonts/oystershell/oystershell.eot");
  src: url("../fonts/oystershell/oystershell.eot?#iefix") format("eot"), url("../fonts/oystershell/oystershell.woff2") format("woff2"), url("../fonts/oystershell/oystershell.woff") format("woff"), url("../fonts/oystershell/oystershell.ttf") format("truetype"), url("../fonts/oystershell/oystershell.svg#oystershell") format("svg"); }

.icon:before {
  font-family: "oystershell";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */
  text-decoration: none;
  text-transform: none; }

.icon-arrow-down:before {
  content: "\E001"; }

.icon-arrow-up:before {
  content: "\E002"; }

.icon-arrow:before {
  content: "\E003"; }

.icon-belgium:before {
  content: "\E004"; }

.icon-close:before {
  content: "\E005"; }

.icon-facebook:before {
  content: "\E006"; }

.icon-googleplus:before {
  content: "\E007"; }

.icon-group:before {
  content: "\E008"; }

.icon-linkedin:before {
  content: "\E009"; }

.icon-mail:before {
  content: "\E00A"; }

.icon-partners:before {
  content: "\E00B"; }

.icon-science:before {
  content: "\E00C"; }

.icon-twitter:before {
  content: "\E00D"; }

.icon-youtube:before {
  content: "\E00E"; }

@keyframes showUp {
  0% {
    transform: translate(0, 15%);
    opacity: 0; }
  100% {
    transform: translate(0, 0%);
    opacity: 1; } }

@keyframes showUpTitle {
  0% {
    transform: translate(0, 15%); }
  100% {
    transform: translate(0, 0%); } }

@keyframes showDown {
  0% {
    transform: translateY(-15%);
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1; } }

@keyframes hideDown {
  0% {
    transform: translateY(0);
    opacity: 1; }
  100% {
    transform: translateY(15%);
    opacity: 0; } }

@keyframes hideUp {
  0% {
    transform: translateY(0);
    opacity: 1; }
  100% {
    transform: translateY(-15%);
    opacity: 0; } }

@keyframes showLeft {
  0% {
    transform: translateX(-15%);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }

@keyframes showRight {
  0% {
    transform: translateX(15%);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }

@keyframes backgroundPosition {
  0% {
    opacity: 0;
    background-position: -600px center; }
  100% {
    opacity: 1;
    background-position: 0 center; } }

@keyframes loader {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(180deg); }
  50% {
    transform: rotate(180deg); }
  75% {
    transform: rotate(360deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes loader-inner {
  0% {
    height: 0%; }
  25% {
    height: 0%; }
  50% {
    height: 100%; }
  75% {
    height: 100%; }
  100% {
    height: 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 {
  transform: translate3d(0, 0, 0); }

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

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

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

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

.wysiwyg {
  /**
     * hr
     */
  /**
     * List
     */ }
  .wysiwyg figure {
    display: block;
    max-width: 100%;
    margin: 0 0 calc-em(30) 0; }
    .wysiwyg figure figcaption {
      font-size: calc-em(12);
      position: relative;
      display: block; }
    .wysiwyg figure img {
      display: block;
      max-width: 100%;
      height: auto; }
    .wysiwyg figure.align-left {
      float: left;
      margin-right: calc-em(30); }
    .wysiwyg figure.align-right {
      float: right;
      margin-left: calc-em(30); }
    .wysiwyg figure.align-center img {
      margin: 0 auto; }
  .wysiwyg hr {
    margin: calc-em(30);
    border: 1px solid #f3f3f3; }
  .wysiwyg ul,
  .wysiwyg ol {
    margin: 0 0 calc-em(30); }
    .wysiwyg ul li,
    .wysiwyg ol li {
      position: relative;
      margin-bottom: calc-em(5); }
      .wysiwyg ul li:last-child,
      .wysiwyg ol li:last-child {
        margin-bottom: 0; }
    .wysiwyg ul ul,
    .wysiwyg ul ol,
    .wysiwyg ol ul,
    .wysiwyg ol ol {
      margin-bottom: calc-em(10); }
  .wysiwyg ul {
    padding-left: 90px; }
    .wysiwyg ul li {
      position: relative; }
      .wysiwyg ul li::before {
        content: "";
        width: 14px;
        height: 14px;
        transform: scale(0.5);
        background-color: #2586b7;
        position: absolute;
        border-radius: 50%;
        left: -20px;
        top: 6px; }
  .wysiwyg ol {
    counter-reset: list; }
    .wysiwyg ol li {
      padding-left: calc-em(20);
      list-style: none; }
      .wysiwyg ol li::before {
        position: absolute;
        top: 0;
        left: 0;
        content: counter(list) ". ";
        counter-increment: list;
        color: #bc204a; }

.form:before, .form:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.form:after {
  clear: both; }

input::-ms-clear, select::-ms-clear {
  display: none; }

* {
  box-sizing: border-box; }

/**
 * Html
 */
html {
  font-size: 100%; }

/**
 * Body
 */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1em;
  line-height: 1.5625;
  font-family: soleil, sans-serif;
  font-weight: normal;
  color: #2b1e22;
  margin-bottom: 0em;
  margin: 0; }
  body .center {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    min-height: 100%;
    margin: 0 auto;
    padding: 0 50px; }
    body .center:after {
      content: " ";
      display: block;
      clear: both; }
    @media (max-width: 800px) {
      body .center {
        padding: 0 20px; } }

ul {
  list-style: none;
  padding: 0; }

/**
 * Link
 */
a {
  text-decoration: none;
  color: #2b1e22;
  font-weight: 800;
  letter-spacing: 2px;
  transition: color 0.3s ease, background-color 0.3s ease; }
  a:hover {
    color: #bc204a; }

/**
 * Images
 */
img {
  display: block; }

/**
 * Paragraph
 */
p {
  margin-bottom: 1.875em;
  font-size: 18px; }
  p:last-of-type {
    margin-bottom: 0; }
  @media (max-width: 800px) {
    p {
      font-size: 16px; } }

/**
 * Title
 */
h1 {
  font-size: 4.25em;
  line-height: 1.17647;
  font-family: soleil, sans-serif;
  font-weight: normal;
  color: #2b1e22;
  margin-bottom: 0em;
  font-weight: 800;
  font-family: soleil, sans-serif;
  position: relative; }
  h1 strong {
    display: block; }

/*
 * Menu
 */
.menu {
  margin: 0;
  padding: 0;
  list-style: none; }
  .menu ul,
  .menu ol {
    margin: 0;
    padding: 0;
    list-style: none; }
  .menu a {
    text-decoration: none;
    color: #2b1e22;
    text-transform: uppercase; }
    .menu a:hover {
      color: #bc204a; }

/*
 * Video
 */
video {
  display: block; }

::-moz-selection {
  background-color: #bc204a;
  color: #ffffff; }

::selection {
  background-color: #bc204a;
  color: #ffffff; }

::-moz-selection {
  background-color: #bc204a;
  color: #ffffff; }

section {
  padding-top: 160px; }
  @media (max-width: 800px) {
    section {
      padding-top: 50px; } }

#container {
  overflow: hidden; }

#page article {
  padding-top: 30px;
  min-height: calc(100vh - 555px - 190px); }
  #page article .title {
    height: 500px;
    width: 100%;
    background-color: #f3eae8; }
    #page article .title .center {
      width: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
      #page article .title .center h1 {
        margin: 0;
        max-width: 350px; }

#single article {
  padding-top: 30px;
  min-height: calc(100vh - 555px - 190px); }
  #single article .title {
    height: 500px;
    width: 100%;
    background-color: #f3eae8; }
    #single article .title .center {
      width: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
      #single article .title .center h1 {
        margin: 0;
        max-width: 350px; }

.h2 {
  color: #2b1e22;
  font-size: 52px;
  line-height: 68px;
  font-weight: 800;
  margin: 0; }
  @media (max-width: 800px) {
    .h2 {
      font-size: 32px;
      line-height: 40px; } }

.title-link {
  font-size: 14px;
  color: #2b1e22;
  letter-spacing: 2px;
  font-weight: 800;
  text-transform: uppercase; }

.menu-secondary li a {
  color: rgba(43, 30, 34, 0.5);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: normal; }
  .menu-secondary li a:hover {
    color: #2b1e22; }

.hero {
  padding-top: 30px;
  height: -moz-fit-content;
  height: fit-content; }
  .hero .center {
    width: 100%; }
  .hero__container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start; }
  .hero__left {
    position: relative;
    height: 780px;
    width: 100%;
    max-width: 1030px;
    z-index: 4; }
    @media (max-width: 800px) {
      .hero__left {
        min-height: 280px;
        height: auto; } }
    .hero__left .content {
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%); }
      .hero__left .content h1 {
        white-space: nowrap; }
        @media (max-width: 800px) {
          .hero__left .content h1 {
            white-space: normal;
            font-size: 34px; } }
  .hero__right {
    position: absolute;
    left: calc(50% - 226px);
    bottom: -40px;
    width: 65vw;
    max-width: calc(1150px + 226px);
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 3; }
    @media (max-width: 800px) {
      .hero__right {
        width: 90%;
        height: 100%;
        bottom: -146px;
        left: inherit;
        right: 0; } }

.background-light::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(50% - 160px);
  width: 150%;
  height: 100%;
  background-color: #f3eae8;
  z-index: -1; }
  @media (max-width: 800px) {
    .background-light::before {
      right: 0; } }

.background-light::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 100%;
  width: 5000px;
  height: 10px;
  background-color: #2586b7;
  z-index: 1; }

.title-background {
  background-color: #f3eae8;
  display: inline;
  z-index: -1;
  color: #f3eae8;
  letter-spacing: 1px; }

.clone {
  position: absolute;
  display: inline;
  top: 0;
  left: 0;
  color: #2b1e22;
  margin: 0;
  z-index: 10;
  padding-right: 30px; }
  @media (max-width: 800px) {
    .clone {
      font-size: 30px !important; } }

.round-link {
  position: relative;
  margin-top: 40px;
  margin-left: 145px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  max-width: 120px;
  color: #bc204a;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 13px;
  transition: all 0.3s ease-in-out; }
  @media (max-width: 800px) {
    .round-link {
      margin-left: 20px;
      font-size: 11px;
      margin-top: 6px; } }
  .round-link:hover {
    color: #ffffff; }
    .round-link:hover:after {
      background-color: #bc204a; }
  .round-link::before {
    content: "";
    position: absolute;
    width: 5000px;
    height: 1px;
    background-color: #2b1e22;
    top: 16px;
    right: calc(100% + 58px);
    z-index: -1;
    transition: all 0.3s ease-in-out; }
    @media (max-width: 800px) {
      .round-link::before {
        right: calc(100% + 20px); } }
  .round-link::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background-color: #ffffff;
    z-index: -1;
    top: -80px;
    left: -60px;
    transition: all 0.3s ease-in-out; }
    @media (max-width: 800px) {
      .round-link::after {
        width: 160px;
        height: 160px;
        top: -40px;
        left: -30px; } }
  .round-link span {
    margin-bottom: 15px;
    font-size: 18px; }
    @media (max-width: 800px) {
      .round-link span {
        margin-bottom: 2px; } }

.imgContainer {
  height: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }

.imgContainer-default {
  background-image: url("https://oystershell.dev/wp-content/uploads/2022/03/istockphoto-508516799-2048x2048-1-1600x900.jpg ");
  height: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover; }

.blue-title {
  color: #2586b7;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase; }

.vision__container {
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center;
  min-height: 720px; }
  @media (max-width: 1090px) {
    .vision__container {
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; } }
  ≈ .vision__container::before {
    content: "";
    position: absolute;
    top: 0;
    right: calc(50% - 80px);
    width: 150%;
    height: 100%;
    background-color: #f3eae8;
    z-index: -1; }

.vision__left {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-pack: center;
      justify-content: center;
  width: 50%;
  height: 100%; }
  @media (max-width: 1090px) {
    .vision__left {
      width: 70%;
      height: auto; } }
  @media (max-width: 800px) {
    .vision__left {
      width: 100%;
      height: auto; } }
  .vision__left h2 {
    max-width: 600px;
    margin-bottom: 36px; }
  .vision__left .content__text {
    padding-left: 115px;
    padding-right: 80px; }
    @media (max-width: 800px) {
      .vision__left .content__text {
        padding: 20px; } }
    .vision__left .content__text p {
      position: relative;
      z-index: 3;
      max-width: 450px; }
      @media (max-width: 800px) {
        .vision__left .content__text p {
          max-width: none;
          width: 100%; } }
    .vision__left .content__text a {
      z-index: 1;
      margin-left: 0; }

.vision__right {
  width: 50vw;
  max-width: 1150px;
  max-height: 700px;
  height: 100%;
  position: absolute;
  left: 50%;
  bottom: -80px; }
  @media (max-width: 1090px) {
    .vision__right {
      width: 100%;
      position: relative;
      left: 0;
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */ }
      .vision__right:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 86.14458%; } }
  .vision__right::after {
    content: "";
    position: absolute;
    bottom: -10px;
    right: 0;
    width: 25%;
    height: 10px;
    background-color: #2586b7; }
  .vision__right__videoContainer {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden; }
  .vision__right .bubble-container {
    width: 100%;
    height: 100px;
    position: relative; }
  @media (max-width: 1090px) {
    .vision__right .imgContainer {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0; } }

.vision .number-text {
  position: absolute;
  width: 340px;
  height: 340px;
  background-color: #ffffff;
  border-radius: 50%;
  left: -60px;
  top: 60px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }
  @media (max-width: 800px) {
    .vision .number-text {
      transform: scale(0.6);
      top: -120px;
      left: -90px; } }
  .vision .number-text span {
    display: block;
    max-width: 270px;
    text-align: center; }
  .vision .number-text .number-number {
    font-size: 90px; }
  .vision .number-text .number-subtitle {
    font-size: 28px;
    margin: 0; }
  .vision .number-text .number-txt {
    font-size: 18px;
    color: rgba(43, 30, 34, 0.6);
    margin-top: 10px;
    line-height: 25px; }
  .vision .number-text:nth-child(2) {
    left: 80px;
    top: 320px; }

.visionReverse__container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
  position: relative;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center;
  padding-top: 190px;
  padding-bottom: 190px; }
  @media (max-width: 800px) {
    .visionReverse__container {
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
      padding-top: 80px;
      padding-bottom: 80px; } }
  .visionReverse__container::before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(50% - 80px);
    width: 150%;
    height: 100%;
    background-color: #f3eae8;
    z-index: -1; }
    @media (max-width: 800px) {
      .visionReverse__container::before {
        left: -20px; } }

.visionReverse__left {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-pack: center;
      justify-content: center;
  padding-left: 100px;
  box-sizing: border-box;
  width: 50%;
  height: 100%; }
  @media (max-width: 800px) {
    .visionReverse__left {
      width: 100%;
      padding: 0;
      height: auto; } }
  .visionReverse__left .round-link {
    margin-left: 78px; }
  .visionReverse__left h2 {
    max-width: 500px; }
  .visionReverse__left .content__text {
    padding-left: 115px; }
    .visionReverse__left .content__text p {
      position: relative;
      z-index: 2;
      max-width: 450px; }
    .visionReverse__left .content__text a {
      z-index: 1;
      margin-left: 0; }

.visionReverse__right {
  width: 50vw;
  max-width: 1150px;
  height: 100%;
  background-color: #2586b7;
  position: absolute;
  right: 50%;
  bottom: -80px; }
  @media (max-width: 800px) {
    .visionReverse__right {
      width: 100%;
      position: relative;
      right: 0;
      margin-bottom: 100px; }
      .visionReverse__right .imgContainer {
        height: 530px; } }
  .visionReverse__right::after {
    content: "";
    position: absolute;
    bottom: -10px;
    right: calc(100% - 230px);
    width: 5000px;
    height: 10px;
    background-color: #2586b7; }
  .visionReverse__right .bg-primary {
    padding-right: 0;
    padding-left: 15px; }
  .visionReverse__right .imgContainer {
    background-position: top; }
  .visionReverse__right__title {
    position: absolute;
    right: -42px;
    top: 100px;
    text-align: right; }
    @media (max-width: 800px) {
      .visionReverse__right__title {
        position: inherit; } }
    .visionReverse__right__title h2 {
      margin-top: 40px;
      max-width: 600px;
      line-height: 76px;
      text-align: right; }
      @media (max-width: 800px) {
        .visionReverse__right__title h2 {
          line-height: 42px; } }
    .visionReverse__right__title h3 {
      text-align: right;
      background-color: #f3eae8;
      width: -moz-fit-content;
      width: fit-content;
      padding: 0 20px;
      position: absolute;
      right: 0;
      top: -84px; }
    .visionReverse__right__title .content__text {
      padding-left: 115px; }
      .visionReverse__right__title .content__text p {
        position: relative;
        z-index: 2;
        max-width: 450px; }
      .visionReverse__right__title .content__text a {
        z-index: 1;
        margin-left: 0; }
  .visionReverse__right .bubble-container {
    width: 100%;
    height: 100px;
    position: relative; }

.bubble-text {
  position: absolute;
  top: 120px;
  left: -10px;
  z-index: 2;
  font-weight: bold;
  width: 270px;
  text-align: center; }
  @media (max-width: 1260px) {
    .bubble-text {
      transform: scale(0.7);
      top: 50px;
      left: -50px; } }
  @media (max-width: 800px) {
    .bubble-text {
      width: 180px;
      font-size: 16px;
      top: 0px;
      left: 0;
      transform: scale(0.7); } }
  .bubble-text::before {
    content: url(../img/bubble.svg);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.7);
    z-index: -1; }
  .bubble-text::after {
    content: url(../img/quote.svg);
    position: absolute;
    top: -80px;
    left: -20px; }
    @media (max-width: 800px) {
      .bubble-text::after {
        top: -55px; } }
  @media (max-width: 800px) {
    .bubble-text::before {
      transform: translate(-50%, -50%) scale(0.6); }
    .bubble-text::after {
      transform: scale(0.6); } }

.js-circle {
  position: absolute;
  top: 0;
  right: 0;
  height: 50px;
  width: 50px;
  border-radius: 50%;
  opacity: 1;
  pointer-events: none;
  transition: width 0.3s ease-in-out, height 0.3s ease-in-out, opacity 0.5s ease-in-out; }
  .js-circle .circle {
    width: 10px;
    height: 10px;
    position: absolute;
    left: calc(50% - 5px);
    top: calc(50% - 5px);
    border-radius: 50%;
    background-color: rgba(188, 32, 74, 0.1);
    opacity: 0;
    transition: transform 0.3s ease-in-out, opacity 0.2s ease-in; }

.pageHead {
  margin-top: 30px; }
  .pageHead__container {
    min-height: 600px; }
    @media (max-width: 800px) {
      .pageHead__container {
        min-height: 200px; } }
  .pageHead__left {
    min-height: inherit;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-direction: column;
        flex-direction: column; }
    .pageHead__left__title {
      position: relative;
      margin-top: 150px;
      max-width: 650px; }
      @media (max-width: 800px) {
        .pageHead__left__title {
          margin-top: 30px; } }
      .pageHead__left__title::after {
        content: "";
        position: absolute;
        bottom: -40px;
        right: calc(100% - 170px);
        width: 5000px;
        height: 1px;
        background-color: #2b1e22; }
        @media (max-width: 800px) {
          .pageHead__left__title::after {
            bottom: -16px; } }
    .pageHead__left p {
      margin-top: 80px;
      font-size: 26px;
      position: relative;
      z-index: 3;
      max-width: 412px; }
      @media (max-width: 800px) {
        .pageHead__left p {
          font-size: 20px;
          margin-top: 20px; } }
    .pageHead__left .blue-title {
      position: relative;
      z-index: 4; }
    .pageHead__left h1 {
      margin: 0;
      max-width: 370px;
      z-index: 3; }
      @media (max-width: 800px) {
        .pageHead__left h1 {
          white-space: normal;
          font-size: 34px;
          max-width: none; } }
  .pageHead__right {
    position: absolute;
    left: calc(50% - 226px);
    top: 40px;
    max-width: calc(1150px + 226px);
    width: 65vw;
    height: 100%; }
    @media (max-width: 800px) {
      .pageHead__right {
        left: 0;
        right: unset;
        top: unset;
        bottom: -200px;
        width: 100%; } }
    @media (max-width: 1400px) {
      .pageHead__right {
        right: 0;
        left: auto; } }
    .pageHead__right .imgContainer {
      width: 100%;
      height: 100%; }
      @media (max-width: 800px) {
        .pageHead__right .imgContainer {
          position: relative;
          /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */ }
          .pageHead__right .imgContainer:before {
            display: block;
            content: " ";
            width: 100%;
            padding-top: 56.25%; } }

.btn {
  text-transform: uppercase;
  font-size: 14px;
  padding: 20px 40px;
  border: 1px solid #2b1e22;
  border-radius: 50px;
  white-space: nowrap; }
  .btn:hover {
    color: #ffffff !important;
    background-color: #bc204a !important;
    border: 1px solid #bc204a; }

.white-bg {
  display: inline;
  line-height: 76px;
  background-image: linear-gradient(to top, #ffffff 0, #ffffff 100%);
  background-size: 100% 2em;
  background-repeat: no-repeat;
  background-position: 0 30%; }
  @media (max-width: 1110px) {
    .white-bg {
      line-height: 40px; } }

.primary-bg-container p {
  background-color: #f3eae8;
  display: inline;
  padding-right: 10px;
  /* Needs prefixing */
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone; }

.white-bg-container p {
  background-color: white;
  display: inline;
  padding-right: 10px;
  /* Needs prefixing */
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone; }

.light-bg {
  display: inline;
  background-image: linear-gradient(to top, #f3eae8 0, #f3eae8 100%);
  background-size: 100% 2em;
  background-repeat: no-repeat;
  background-position: 0 30%;
  line-height: 70px; }

/* Heading style */
.title,
.title:after {
  background-color: #f3eae8; }

.title {
  position: relative;
  line-height: 1;
  display: inline;
  white-space: pre-wrap;
  border: 0 solid #f3eae8;
  border-width: 0.25em 0;
  /* 0.25em is roughly equal to one space character. */ }

.title:after {
  content: "";
  position: absolute;
  top: -0.25em;
  right: 100%;
  bottom: -0.25em;
  width: 0.25em; }

.title > span {
  position: relative;
  z-index: 1; }

.link p {
  height: 50px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 2px;
  color: #bc204a;
  cursor: pointer;
  margin-top: 20px; }
  .link p:hover span {
    color: #ffffff;
    background-color: #bc204a; }

.link span {
  color: #bc204a;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #ffffff;
  margin-right: 10px;
  line-height: 12px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  transition: all 0.3s ease-in-out; }
  .link span::before {
    margin-top: -4px; }

.slider-num {
  position: relative;
  background-color: #f3eae8;
  height: 950px;
  padding-top: 0;
  margin-top: 160px; }
  .slider-num .center {
    position: relative;
    overflow: hidden; }
    .slider-num .center:after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 470px;
      height: 470px;
      background-color: #ffffff;
      border-radius: 50%; }
  .slider-num .arrow {
    position: absolute;
    z-index: 15;
    right: 226px;
    top: calc(50% + 200px); }
    @media (max-width: 900px) {
      .slider-num .arrow {
        left: 70vw;
        right: unset; } }
    .slider-num .arrow::before {
      content: "";
      width: 650px;
      height: 1px;
      background-color: #2b1e22;
      position: absolute;
      top: -35px;
      right: 0; }
      @media (max-width: 1090px) {
        .slider-num .arrow::before {
          width: 400px; } }
      @media (max-width: 900px) {
        .slider-num .arrow::before {
          width: 200px; } }
    .slider-num .arrow__container {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center; }
      .slider-num .arrow__container .icon {
        width: 50px;
        height: 50px;
        background-color: #bc204a;
        border-radius: 50%;
        color: white;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: center;
            justify-content: center;
        transition: background-color 0.2s ease-in, color 0.2s ease-in; }
        .slider-num .arrow__container .icon:hover {
          background-color: #ffffff;
          color: #bc204a; }
      .slider-num .arrow__container .slider__navigation--right {
        margin-top: 35px; }
    .slider-num .arrow span {
      display: block;
      color: #bc204a;
      cursor: pointer; }
      .slider-num .arrow span:first-child {
        margin-right: -5px; }
  .slider-num .slider .slides {
    background: url(../img/model.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: 0px 440px;
    color: #fff;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text; }
  .slider-num .slider .slide {
    height: 220px;
    max-height: 220px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start; }
    .slider-num .slider .slide--current .text {
      opacity: 1 !important; }
    .slider-num .slider .slide--current .num {
      -webkit-text-fill-color: transparent !important; }
    .slider-num .slider .slide .num {
      height: 220px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: end;
          align-items: flex-end;
      cursor: pointer;
      -moz-user-select: none;
      /* Firefox */
      -webkit-user-select: none;
      /* Chrome, Safari, Opéra depuis la version 15 */
      -ms-user-select: none;
      /* Internet explorer depuis la version 10 et Edge */
      user-select: none;
      /* Propriété standard */
      -webkit-text-fill-color: rgba(255, 255, 255, 0.7); }
    .slider-num .slider .slide .dot {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: end;
          align-items: flex-end;
      font-size: 74px;
      height: 100%;
      padding-bottom: 30px; }
      @media (max-width: 900px) {
        .slider-num .slider .slide .dot {
          font-size: 52px; } }
    .slider-num .slider .slide .text {
      font-size: 28px;
      width: 500px;
      opacity: 1;
      -ms-flex-pack: start;
          justify-content: flex-start;
      opacity: 0;
      -webkit-text-fill-color: #2b1e22;
      font-weight: 400;
      text-align: left;
      transition: opacity 0.2s ease-out; }
      @media (max-width: 900px) {
        .slider-num .slider .slide .text {
          width: 50%; } }
      .slider-num .slider .slide .text .text-width {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        height: 300px; }
    .slider-num .slider .slide .wysiwyg {
      font-size: 28px;
      text-align: left;
      line-height: 44px; }
      .slider-num .slider .slide .wysiwyg p {
        text-align: left;
        font-size: 28px;
        line-height: 44px;
        margin-bottom: 20px; }
        @media (max-width: 900px) {
          .slider-num .slider .slide .wysiwyg p {
            font-size: 20px;
            line-height: 22px; } }
      .slider-num .slider .slide .wysiwyg ul {
        padding-left: 16px; }
        .slider-num .slider .slide .wysiwyg ul li {
          font-weight: 400;
          font-size: 16px;
          line-height: 26px;
          margin-bottom: 5px; }
          @media (max-width: 900px) {
            .slider-num .slider .slide .wysiwyg ul li {
              font-size: 14px;
              line-height: 20px; } }
          .slider-num .slider .slide .wysiwyg ul li p {
            margin: 0; }
      .slider-num .slider .slide .wysiwyg li {
        font-size: 28px;
        text-align: left;
        line-height: 44px; }
        @media (max-width: 900px) {
          .slider-num .slider .slide .wysiwyg li {
            font-size: 14px;
            line-height: 20px; } }
        .slider-num .slider .slide .wysiwyg li p {
          font-weight: 400;
          font-size: 16px;
          line-height: 26px; }
          @media (max-width: 900px) {
            .slider-num .slider .slide .wysiwyg li p {
              font-size: 14px;
              line-height: 20px; } }
    .slider-num .slider .slide .num {
      width: 310px;
      margin-right: 110px;
      -ms-flex-pack: end;
          justify-content: flex-end; }
      @media (max-width: 1090px) {
        .slider-num .slider .slide .num {
          width: 120px; } }
      @media (max-width: 900px) {
        .slider-num .slider .slide .num {
          margin-right: 40px; } }
  .slider-num .slider__container {
    height: 950px;
    padding: 0; }
  .slider-num .slider__title {
    position: absolute;
    top: 200px;
    right: calc(50% - 520px);
    z-index: 10;
    width: 700px; }
    @media (max-width: 800px) {
      .slider-num .slider__title {
        top: 150px;
        left: 40%;
        right: unset;
        width: 200px; } }
  .slider-num .slider__numbers {
    position: absolute;
    left: 104px;
    top: calc(50% - 354px);
    transform: translateY(-50%);
    z-index: 3; }
    @media (max-width: 900px) {
      .slider-num .slider__numbers {
        left: 20px; } }
    .slider-num .slider__numbers li {
      font-size: 170px;
      font-weight: 700;
      text-align: right; }
      @media (max-width: 900px) {
        .slider-num .slider__numbers li {
          font-size: 140px; } }
  .slider-num .slider__text {
    position: absolute;
    right: calc(50% - 380px);
    top: 50%;
    transform: translateY(-50%);
    z-index: 3; }
    .slider-num .slider__text .current {
      position: relative; }
      .slider-num .slider__text .current::after {
        content: "";
        position: absolute;
        bottom: 20px;
        left: 0;
        width: 650px;
        height: 1px;
        background-color: #2b1e22; }
    .slider-num .slider__text ul .hide {
      opacity: 0; }
    .slider-num .slider__text ul li {
      font-size: 28px;
      max-width: 380px;
      height: 220px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }

.assets {
  padding-top: 200px;
  padding-bottom: 200px; }
  @media (max-width: 800px) {
    .assets {
      padding-top: 50px;
      padding-bottom: 50px; } }
  .assets .center {
    max-width: 1500px; }
  .assets__sub {
    text-align: left;
    position: relative; }
    .assets__sub::after {
      content: "";
      position: absolute;
      bottom: -20px;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: #2b1e22; }
  .assets .blue-title {
    text-align: center; }
  .assets .h2 {
    text-align: center;
    margin: 0 auto; }
    @media (max-width: 800px) {
      .assets .h2 {
        margin-bottom: 50px !important; } }
  .assets__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: space-evenly;
        justify-content: space-evenly;
    -ms-flex-align: center;
        align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 410px;
    position: relative;
    margin: 50px auto; }
    @media (max-width: 1090px) {
      .assets__list {
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
    .assets__list::before {
      content: url(../img/circle2.svg);
      position: absolute;
      top: calc(50% + 50px);
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      display: none; }
      @media (max-width: 800px) {
        .assets__list::before {
          display: none; } }
      .assets__list::before__container {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: start;
            align-items: flex-start;
        position: relative; }
    .assets__list li {
      margin: 40px;
      text-align: center;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center; }
      @media (max-width: 800px) {
        .assets__list li {
          margin-bottom: 50px; } }
      @media (max-width: 1090px) {
        .assets__list li {
          margin-bottom: 100px; } }
      .assets__list li:nth-child(1) .picto::before {
        content: "";
        position: absolute;
        width: 506px;
        height: 506px;
        border: 1px solid #979797;
        border-radius: 50%;
        top: -50%;
        left: 126px;
        z-index: -1;
        display: none; }
      .assets__list li:nth-child(2) .picto::before {
        content: "";
        position: absolute;
        width: 406px;
        height: 406px;
        border: 1px solid #979797;
        border-radius: 50%;
        top: -50%;
        left: 126px;
        z-index: -1;
        display: none; }
      .assets__list li .picto {
        display: block;
        width: 280px;
        height: 280px;
        border-radius: 50%;
        background-color: #d3e7f1;
        position: relative; }
      .assets__list li .title-container {
        margin-top: 0px;
        position: absolute;
        top: 62%;
        left: 20%;
        width: 100%; }
        @media (max-width: 800px) {
          .assets__list li .title-container {
            width: 100%; } }
        .assets__list li .title-container .bg-blue {
          font-weight: 800 !important;
          background-color: transparent !important;
          color: #2b1e22; }
      .assets__list li .title {
        background-color: #2586b7;
        border: 0 solid #2586b7;
        color: #2b1e22; }
        .assets__list li .title::after {
          display: none; }
    .assets__list .group::before {
      content: url("../img/group.svg");
      position: absolute;
      left: 20%;
      top: 30%;
      transform: scale(1.2) !important; }
    .assets__list .partners-icon::before {
      content: url("../img/science-blue.svg");
      position: absolute;
      left: 20%;
      top: 30%;
      transform: scale(1.2) !important;
      max-width: 100px; }
    .assets__list .partners-icon::after {
      content: url("../img/science-blue.svg");
      position: absolute;
      left: 20%;
      top: 30%;
      transform: scale(1.2) !important;
      max-width: 100px; }
    .assets__list .belgium::before {
      content: url("../img/belgium.svg");
      position: absolute;
      left: 20%;
      top: 30%;
      transform: scale(1.2) !important; }
    .assets__list .house::before {
      content: url("../img/house.svg");
      position: absolute;
      left: 20%;
      top: 30%;
      transform: scale(1.2) !important; }
    .assets__list .house::after {
      content: url("../img/house.svg");
      position: absolute;
      left: 20%;
      top: 30%;
      transform: scale(1.2) !important; }
    .assets__list .truck {
      background-position: center;
      background-repeat: no-repeat; }
      .assets__list .truck::before {
        content: url("../img/truck.svg");
        position: absolute;
        left: 20%;
        top: 30%;
        transform: scale(1.2) !important; }
    .assets__list .hand::before {
      content: url("../img/hand.svg");
      position: absolute;
      left: 20%;
      top: 30%;
      transform: scale(1.2) !important; }
    .assets__list .hand::after {
      content: url("../img/hand.svg");
      position: absolute;
      left: 20%;
      top: 30%;
      transform: scale(1.2) !important; }
    .assets__list .usa::before {
      content: url("../img/usa.svg");
      position: absolute;
      left: 20%;
      top: 30%;
      transform: scale(1.2) !important; }
    .assets__list .house-cart::before {
      content: url("../img/house-cart.svg");
      position: absolute;
      left: 20%;
      top: 30%;
      transform: scale(1.2) !important; }
    .assets__list .house-cart::after {
      content: url("../img/house-cart.svg");
      position: absolute;
      left: 20%;
      top: 30%;
      transform: scale(1.2) !important; }
    .assets__list .contract::before {
      content: url("../img/contract.svg");
      position: absolute;
      left: 20%;
      top: 30%;
      transform: scale(1.2) !important; }
  .assets .second {
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start;
    width: 800px;
    margin: 0 auto;
    background-image: none; }
    @media (max-width: 800px) {
      .assets .second {
        -ms-flex-direction: column;
            flex-direction: column; } }
    .assets .second::before {
      display: none; }
    .assets .second li .picto::before {
      display: none;
      width: 96px; }

.partners {
  background-color: #f3eae8;
  padding-bottom: 200px;
  padding-top: 200px; }
  @media (max-width: 800px) {
    .partners {
      padding-top: 50px;
      padding-bottom: 50px; } }
  .partners .blue-title {
    text-align: center; }
  .partners .h2 {
    text-align: center;
    margin: 0 auto; }
  .partners .client__list {
    margin-top: 64px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    min-height: 120px; }
    @media (max-width: 800px) {
      .partners .client__list {
        -ms-flex-pack: distribute;
            justify-content: space-around; } }
    .partners .client__list li {
      width: 220px;
      height: 250px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      .partners .client__list li::before {
        content: "";
        position: absolute;
        width: 200px;
        height: 200px;
        background: white;
        border-radius: 50%;
        z-index: 1; }
      @media (max-width: 800px) {
        .partners .client__list li {
          margin-bottom: 100px;
          height: 130px;
          width: 210px; } }
      .partners .client__list li img {
        position: relative;
        width: auto;
        max-width: 150px;
        max-height: 130px;
        z-index: 3; }

.slider_product .slick-dots {
  bottom: -75px; }
  @media (max-width: 800px) {
    .slider_product .slick-dots {
      max-width: 300px;
      left: 50%;
      transform: translateX(-50%); } }
  .slider_product .slick-dots li button::before {
    font-size: 50px;
    color: #bc204a; }

.slider_product .slick-track > li {
  width: 460px;
  min-height: 433px;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: end;
      justify-content: flex-end; }
  @media (max-width: 800px) {
    .slider_product .slick-track > li {
      width: 300px;
      margin-right: 30px; } }
  .slider_product .slick-track > li h2 {
    text-align: center;
    position: relative;
    font-size: 28px;
    font-weight: 800;
    margin-top: 40px; }
    @media (max-width: 800px) {
      .slider_product .slick-track > li h2 {
        font-size: 24px;
        margin-top: 60px; } }
    .slider_product .slick-track > li h2::after {
      content: "";
      width: 180px;
      height: 1px;
      position: absolute;
      background-color: #2b1e22;
      bottom: -20px;
      left: calc(50% - 90px); }
  .slider_product .slick-track > li .slider-imgContainer {
    width: 100%;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    height: 350px; }
    .slider_product .slick-track > li .slider-imgContainer .background {
      position: absolute;
      width: 300px;
      height: 300px;
      border-radius: 50%;
      z-index: -1;
      opacity: 0.5;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .slider_product .slick-track > li .slider-imgContainer img {
      width: auto;
      max-height: 480px; }

.modal_close {
  position: absolute;
  right: -45px;
  top: -45px;
  border-radius: 50%;
  background-color: #e6d6d0;
  width: 90px;
  height: 90px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  font-size: 36px;
  color: #ffffff;
  cursor: pointer; }
  @media (max-width: 800px) {
    .modal_close {
      right: -25px;
      top: -25px;
      width: 50px;
      height: 50px; } }
  .modal_close span {
    margin-top: -10px; }

.modal_list {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: rgba(243, 234, 232, 0.9);
  overflow: hidden;
  z-index: 1000;
  display: none;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }

.modal_single {
  display: none;
  width: 90%;
  max-width: 1300px;
  max-height: 88vh;
  padding: 100px 130px;
  position: relative;
  background-color: white;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  box-shadow: 0 100px 75px -50px rgba(193, 152, 138, 0.3); }
  @media (max-width: 800px) {
    .modal_single {
      padding: 20px 30px;
      box-sizing: border-box;
      width: 84%;
      margin-top: 40px;
      max-height: 90vh;
      -ms-flex-direction: column;
          flex-direction: column; } }
  .modal_single .modal_left {
    width: 50%;
    margin-right: 80px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media (max-width: 800px) {
      .modal_single .modal_left {
        width: 100%;
        margin-right: 0; } }
    .modal_single .modal_left .modal_imgcontainer {
      position: relative; }
      .modal_single .modal_left .modal_imgcontainer img {
        position: relative;
        z-index: 2;
        width: 100%; }
    .modal_single .modal_left .background {
      position: absolute;
      width: 310px;
      height: 310px;
      border-radius: 50%;
      z-index: 1;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
  .modal_single .wysiwyg ul {
    padding: 18px;
    margin-top: 0;
    padding-top: 0; }
    .modal_single .wysiwyg ul li {
      max-width: 90%; }
  @media (max-width: 800px) {
    .modal_single .wysiwyg p {
      font-size: 14px; } }
  .modal_single .modal_right {
    width: 50%;
    max-height: 80vh;
    overflow-y: auto; }
    @media (max-width: 800px) {
      .modal_single .modal_right {
        width: 100%;
        overflow-x: hidden;
        max-height: 60vh;
        padding-top: 20px; } }
    @media (max-width: 800px) {
      .modal_single .modal_right .modalmore {
        font-size: 12px; } }
    .modal_single .modal_right h2 {
      position: relative; }
      @media (max-width: 800px) {
        .modal_single .modal_right h2 {
          margin-bottom: 10px; } }
      .modal_single .modal_right h2::after {
        content: "";
        width: 180px;
        height: 1px;
        position: absolute;
        left: -40px;
        bottom: -20px;
        background-color: #2b1e22; }
        @media (max-width: 800px) {
          .modal_single .modal_right h2::after {
            left: 0;
            bottom: -10px; } }
    .modal_single .modal_right .link span {
      background-color: #f3eae8; }
    .modal_single .modal_right .link:hover span {
      background-color: #bc204a; }

@media (max-width: 800px) {
  .modal_logo {
    width: 50%; } }

.modalActive {
  display: -ms-flexbox !important;
  display: flex !important; }
  @media (max-width: 800px) {
    .modalActive {
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: start;
          justify-content: flex-start; } }

.modal-open {
  overflow: hidden; }

.technology {
  padding-top: 240px;
  padding-bottom: 140px; }
  @media (max-width: 1110px) {
    .technology {
      padding-top: 70px;
      padding-bottom: 70px; } }
  .technology .h2 {
    max-width: 940px;
    margin-bottom: 90px; }
  .technology__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin-top: 210px; }
    @media (max-width: 1110px) {
      .technology__list {
        margin-top: 50px;
        -ms-flex-pack: center;
            justify-content: center; } }
  .technology__video {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%; }
  .technology__videoContainer {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow: hidden; }
  .technology__single {
    width: calc(50% - 40px);
    height: -moz-fit-content;
    height: fit-content;
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-top: -140px;
    margin-bottom: 80px; }
    .technology__single:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 77.9661%; }
    @media (max-width: 1110px) {
      .technology__single {
        width: 90%;
        margin-top: 0; }
        .technology__single p {
          font-size: 11px; } }
    .technology__single:nth-child(2n) {
      margin-top: 0; }
    .technology__single:hover .container {
      opacity: 1; }
    .technology__single .technology__single__logo:first-child {
      margin-right: -8px; }
    .technology__single .white-circle {
      position: absolute;
      top: 20px;
      right: 20px;
      width: 150px;
      height: 150px;
      background-color: #ffffff;
      border-radius: 50%;
      overflow: hidden;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center; }
      @media (max-width: 800px) {
        .technology__single .white-circle {
          transform: scale(0.5);
          top: -30px;
          right: -30px; } }
      .technology__single .white-circle img {
        width: 85%; }
    .technology__single .container {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      display: -ms-flexbox;
      display: flex;
      padding: 0 40px;
      -ms-flex-align: center;
          align-items: center;
      background-color: rgba(243, 234, 232, 0.8);
      opacity: 0;
      visibility: 0;
      transition: all 0.3s ease-in-out; }
    .technology__single h3 {
      font-size: 44px;
      margin-bottom: 60px;
      font-weight: 800;
      position: absolute;
      top: calc(100% - 100px);
      left: -30px;
      z-index: 1;
      letter-spacing: 1px;
      display: inline; }
      @media (max-width: 1110px) {
        .technology__single h3 {
          font-size: 26px;
          top: calc(100% - 60px);
          left: -10px; } }
      .technology__single h3::after {
        content: "";
        width: 180px;
        height: 1px;
        background-color: #2b1e22;
        bottom: -20px;
        left: 0;
        position: absolute; }
    .technology__single ul {
      padding-left: 17px; }

.num-mobile {
  display: none;
  margin-top: 100px;
  background-color: #f3eae8; }
  .num-mobile .numbers {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    .num-mobile .numbers .wysiwyg {
      margin-bottom: 10px !important; }
      .num-mobile .numbers .wysiwyg .text {
        width: 80%; }
      .num-mobile .numbers .wysiwyg .p1 {
        margin-top: 0; }
      .num-mobile .numbers .wysiwyg ul {
        padding-left: 0;
        margin-top: 30px; }
      .num-mobile .numbers .wysiwyg li {
        font-size: 16px;
        text-align: left !important; }
    .num-mobile .numbers li {
      width: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      margin-bottom: 50px; }
    .num-mobile .numbers .num {
      font-size: 110px;
      font-weight: 800;
      width: 100%;
      display: block;
      text-align: center;
      position: relative;
      z-index: 2;
      background: url(../img/model.jpg);
      background-attachment: fixed;
      background-repeat: no-repeat;
      color: #fff;
      -webkit-text-fill-color: transparent;
      -webkit-background-clip: text;
      background-clip: text; }
    .num-mobile .numbers .text {
      width: 60%;
      text-align: center;
      font-size: 20px;
      line-height: 22px;
      position: relative;
      z-index: 5; }

.bg-text {
  background-color: white;
  display: inline;
  padding-right: 15px;
  /* Needs prefixing */
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone; }

.white-bg {
  background-color: white;
  display: inline;
  padding-right: 15px;
  /* Needs prefixing */
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone; }

.bg-primary {
  background-color: #f3eae8;
  display: inline;
  padding-right: 15px;
  /* Needs prefixing */
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone; }

.bg-blue {
  background-color: #2586b7;
  display: inline;
  padding-right: 10px;
  padding-left: 10px;
  /* Needs prefixing */
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  z-index: 10;
  position: relative;
  line-height: 18px;
  color: #ffffff; }

.teams {
  padding-top: 200px; }
  .teams__slider {
    margin-top: 100px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    @media (max-width: 1180px) {
      .teams__slider {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: center;
            justify-content: center; } }
    .teams__slider__slide {
      width: 280px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      margin-right: 30px; }
      .teams__slider__slide:last-child {
        margin-right: 0; }
    .teams__slider__employeContainer {
      transition: opacity 0.2s ease-in; }
    .teams__slider .bubble-text {
      top: 120px;
      transform: scale(0.75);
      opacity: 0;
      z-index: -1;
      font-size: 20px;
      transition: opacity 0.2s ease-in; }
      @media (max-width: 800px) {
        .teams__slider .bubble-text {
          display: none; } }
      .teams__slider .bubble-text::after {
        top: -125px; }
    .teams__slider__titlebox {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center; }
      .teams__slider__titlebox p {
        text-align: center; }
      .teams__slider__titlebox .name {
        font-size: 24px;
        font-weight: 800;
        margin-bottom: 0; }
      .teams__slider__titlebox .function {
        color: #bc204a;
        text-transform: uppercase;
        font-weight: 800;
        font-size: 12px;
        letter-spacing: 1px;
        margin-bottom: 60px;
        position: relative; }
        .teams__slider__titlebox .function::after {
          content: "";
          width: 180px;
          height: 1px;
          background-color: #2b1e22;
          top: 60px;
          left: calc(50% - 90px);
          position: absolute; }
      .teams__slider__titlebox .more {
        margin-top: 20px;
        margin-bottom: 50px;
        font-weight: 800;
        font-size: 14px;
        text-transform: uppercase;
        color: rgba(43, 30, 34, 0.5);
        letter-spacing: 1.43px;
        position: absolute;
        bottom: -50px; }

@media (max-width: 800px) {
  .identity {
    padding-top: 270px; } }

.identity .round-link {
  color: #ffffff; }
  .identity .round-link::after {
    background-color: #bc204a !important; }
  .identity .round-link:hover {
    color: #bc204a; }
    .identity .round-link:hover::after {
      background-color: #f3eae8 !important; }
  .identity .round-link::after {
    background-color: #f3eae8; }

.identity__container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  @media (max-width: 1230px) {
    .identity__container {
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center; } }

.identity__left {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 550px;
  min-height: 770px; }
  @media (max-width: 800px) {
    .identity__left {
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
      width: 80%;
      max-width: none;
      min-height: 0; }
      .identity__left:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 140%; } }
  @media (max-width: 1230px) {
    .identity__left .imgContainer {
      position: absolute;
      top: 0; } }

.identity__right {
  -ms-flex-positive: 1;
      flex-grow: 1;
  padding-left: 60px;
  padding-top: 90px; }
  @media (max-width: 800px) {
    .identity__right {
      padding-left: 0;
      padding-top: 0; } }
  .identity__right h2 {
    margin-bottom: 60px;
    position: relative; }
  .identity__right .content__text {
    padding-left: 110px;
    position: relative;
    max-width: 450px; }
    @media (max-width: 800px) {
      .identity__right .content__text {
        padding-left: 0;
        max-width: none; } }
    .identity__right .content__text .title {
      border: 0 solid #ffffff !important; }
    .identity__right .content__text .title,
    .identity__right .content__text .title:after {
      background-color: #ffffff !important; }
    .identity__right .content__text p {
      font-size: 18px;
      line-height: 24px;
      display: inline; }
    .identity__right .content__text .player {
      position: absolute;
      width: 496px;
      max-height: 394px;
      overflow: hidden;
      top: -30px;
      left: calc(100% - 300px);
      z-index: -1; }
      @media (max-width: 1500px) {
        .identity__right .content__text .player {
          right: -30px;
          left: unset;
          display: none; } }
    .identity__right .content__text::before {
      content: "";
      position: absolute;
      top: -30px;
      left: -160px;
      width: 300px;
      height: 1px;
      background-color: #2b1e22;
      z-index: -1; }

.identity__link {
  position: absolute;
  bottom: -54px;
  right: -78px;
  z-index: 3; }
  @media (max-width: 800px) {
    .identity__link {
      bottom: 0px;
      right: 0px;
      transform: scale(0.8); } }
  .identity__link .round-link::before {
    display: none !important; }

.backToTop {
  background-color: #bc204a;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  color: white;
  border: none;
  transform: rotate(-90deg);
  position: fixed;
  bottom: -50px;
  right: 20px;
  transition: all 0.2s ease-in-out;
  z-index: 999999;
  cursor: pointer; }
  .backToTop::before {
    margin-top: -5px; }

.identity .wysiwyg ul {
  padding: 0; }
  .identity .wysiwyg ul li {
    margin-bottom: 20px; }

.identity .content__text {
  max-width: none; }
  @media (max-width: 800px) {
    .identity .content__text {
      padding: 0 20px; } }

.slider_header {
  height: 100%; }

.mobile .slider-num .slider .slide .num {
  -webkit-text-fill-color: #bc204a !important;
  opacity: 0.5; }

.mobile .slider-num .slider .slide--current .num {
  -webkit-text-fill-color: #bc204a !important;
  opacity: 1; }

.tablet .slider-num .slider .slide .num {
  -webkit-text-fill-color: #bc204a !important;
  opacity: 0.5; }

.tablet .slider-num .slider .slide--current .num {
  -webkit-text-fill-color: #bc204a !important;
  opacity: 1; }

.menu-open {
  height: 100vh;
  width: 100vw;
  overflow: hidden; }
  .menu-open .hamburger span {
    background-color: #bc204a; }

.header {
  padding-top: 40px; }
  .header__center {
    max-width: 1800px !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; }
    @media (max-width: 768px) {
      .header__center {
        padding-left: 20px !important;
        padding-right: 20px !important; } }
    .header__center::after {
      display: none !important; }
    @media (max-width: 1250px) {
      .header__center .mainMenu__container {
        display: none; } }
    .header__center nav ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; }
      .header__center nav ul #menu-item-19 {
        max-width: 82px; }
      .header__center nav ul #menu-item-17 {
        max-width: 82px; }
      .header__center nav ul li {
        position: relative;
        margin-right: 40px;
        max-width: 170px;
        text-align: center; }
        @media (max-width: 1600px) {
          .header__center nav ul li {
            margin-right: 20px; } }
        .header__center nav ul li:hover .js-circle {
          opacity: 1; }
          .header__center nav ul li:hover .js-circle .circle {
            transform: scale(5);
            opacity: 1; }
        .header__center nav ul li:last-child {
          margin-right: 0; }
        @media (max-width: 1350px) {
          .header__center nav ul li {
            margin-right: 12px; } }
        .header__center nav ul li a {
          font-size: 14px;
          display: block;
          line-height: 16px; }
          .header__center nav ul li a:hover {
            color: #bc204a; }
    .header__center nav .current-menu-item a {
      color: #bc204a; }
  .header__logo__link {
    display: block;
    width: 298px;
    height: 70px;
    text-indent: -9999px;
    background-image: url("../img/logo.svg");
    background-repeat: no-repeat;
    background-size: contain; }
    @media (max-width: 768px) {
      .header__logo__link {
        width: 212px;
        height: 50px;
        background-size: cover; } }
    @media (max-width: 1375px) {
      .header__logo__link {
        width: 212px; } }
  .header__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; }
  .header__social {
    margin-right: 30px; }
    @media (max-width: 1500px) {
      .header__social {
        display: none; } }
    @media (max-width: 1250px) {
      .header__social {
        display: block; } }
    @media (max-width: 800px) {
      .header__social {
        display: none; } }
    .header__social a {
      margin-right: 10px; }
      .header__social a:last-child {
        margin-right: 0; }
  @media (max-width: 1250px) {
    .header__contact {
      margin-right: 30px; } }
  @media (max-width: 800px) {
    .header__contact {
      display: none; } }
  .header__contact a {
    text-transform: uppercase;
    font-size: 14px;
    padding: 20px 40px;
    border: 1px solid #2b1e22;
    border-radius: 50px;
    white-space: nowrap; }
    .header__contact a:hover {
      color: #ffffff !important;
      background-color: #bc204a !important;
      border: 1px solid #bc204a; }
  .header .menu-open {
    opacity: 1;
    z-index: 99999;
    background-color: rgba(243, 234, 232, 0.9); }
  .header__mobile {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    background-color: rgba(243, 234, 232, 0.9);
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0; }
    .header__mobile ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center; }
      .header__mobile ul li {
        margin-bottom: 20px;
        max-width: 220px !important;
        margin-right: 0 !important; }
        .header__mobile ul li a {
          text-align: center;
          color: #bc204a;
          font-size: 24px !important;
          line-height: 26px !important; }
    .header__mobile .btn {
      background-color: #bc204a;
      color: #ffffff;
      border: 1px solid #bc204a;
      font-size: 22px; }
    .header__mobile__social {
      margin-bottom: 30px; }
      .header__mobile__social a {
        font-size: 30px;
        color: #bc204a;
        margin-right: 20px; }
        .header__mobile__social a:last-child {
          margin-right: 0; }
  .header__hamburger {
    display: none;
    z-index: 999999999; }
    .header__hamburger span {
      display: block;
      width: 30px;
      height: 4px;
      background-color: #bc204a;
      margin-bottom: 5px; }
    @media (max-width: 1250px) {
      .header__hamburger {
        display: block; } }

.menu-item:hover .js-circle {
  width: 50px;
  height: 50px;
  opacity: 1; }

.hamburger .line {
  width: 40px;
  height: 5px;
  background-color: #bc204a;
  display: block;
  margin: 8px auto;
  transition: all 0.3s ease-in-out; }

.hamburger:hover {
  cursor: pointer; }

/* ONE */
#hamburger-1.is-active .line:nth-child(2) {
  opacity: 0; }

#hamburger-1.is-active .line:nth-child(1) {
  transform: translateY(13px) rotate(45deg); }

#hamburger-1.is-active .line:nth-child(3) {
  transform: translateY(-13px) rotate(-45deg); }

.footer {
  clear: both;
  position: relative;
  padding-top: 140px;
  padding-bottom: 60px; }
  @media (max-width: 800px) {
    .footer {
      padding-top: 0px; } }
  .footer .center {
    padding-top: 30px; }
    .footer .center:before {
      content: "";
      position: absolute;
      top: 0;
      right: calc(100% - 160px);
      width: 100%;
      height: 1px;
      background-color: #2b1e22; }
  @media (max-width: 800px) {
    .footer__title {
      margin-bottom: 30px; } }
  .footer__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start;
    min-height: 300px; }
    @media (max-width: 800px) {
      .footer__content {
        -ms-flex-direction: column;
            flex-direction: column; } }
    .footer__content__right {
      width: 56%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start; }
      @media (max-width: 800px) {
        .footer__content__right {
          width: 100%;
          margin-bottom: 20px;
          -ms-flex-direction: column;
              flex-direction: column; } }
    .footer__content h2 {
      margin-bottom: 30px; }
    .footer__content h3 {
      margin-bottom: 25px; }
    .footer__content__social a {
      margin-right: 20px;
      color: #bc204a !important; }
      .footer__content__social a:hover {
        color: #2b1e22 !important; }
  .footer__footer {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media (max-width: 800px) {
      .footer__footer {
        -ms-flex-direction: column;
            flex-direction: column; } }
    .footer__footer .menu-secondary {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start;
      margin: 0; }
      @media (max-width: 800px) {
        .footer__footer .menu-secondary {
          -ms-flex-direction: column;
              flex-direction: column; } }
      .footer__footer .menu-secondary li {
        margin-right: 20px; }
        @media (max-width: 800px) {
          .footer__footer .menu-secondary li {
            margin-bottom: 10px; } }
        .footer__footer .menu-secondary li:last-child {
          margin-right: 0; }
  .footer__copyright {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media (max-width: 800px) {
      .footer__copyright {
        margin-bottom: 30px; } }
    .footer__copyright small {
      font-style: 14px;
      color: rgba(43, 30, 34, 0.5); }
  .footer__link {
    width: 50%; }
    .footer__link ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      min-height: 120px;
      width: 100%;
      margin: 0; }
      .footer__link ul li {
        min-width: 150px;
        min-height: 40px; }
  .footer__moreinfo ul li {
    min-height: 40px; }
  @media (max-width: 800px) {
    .footer__rgpd {
      width: 100%; } }

.galery {
  padding-top: 200px; }
  @media (max-width: 800px) {
    .galery {
      padding-bottom: 70px;
      padding-top: 70px; } }
  .galery .blue-title {
    text-align: center;
    margin-bottom: 40px; }
  .galery__container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media (max-width: 1130px) {
      .galery__container {
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center; } }
  .galery__right {
    margin-top: 145px; }
    @media (max-width: 1130px) {
      .galery__right {
        margin-top: 0; } }
  .galery .single-card {
    width: calc(50% - 40px);
    opacity: 0;
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
    transition: all 0.3s ease-in-out;
    position: relative; }
    .galery .single-card:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 77.9661%; }
    @media (max-width: 1130px) {
      .galery .single-card {
        width: 90%;
        margin-bottom: 100px; }
        .galery .single-card:last-child {
          margin-bottom: 0; } }
    @media (max-width: 800px) {
      .galery .single-card {
        margin-bottom: 150px;
        opacity: 1; } }
    .galery .single-card a {
      background-size: cover;
      background-repeat: no-repeat;
      position: absolute;
      left: 0;
      top: 0;
      display: block;
      width: 100%;
      height: 100%; }
      .galery .single-card a:hover .round-link {
        opacity: 1; }
        @media (max-width: 980px) {
          .galery .single-card a:hover .round-link {
            opacity: 0; } }
      .galery .single-card a:hover p {
        color: #2b1e22; }
      .galery .single-card a .round-link {
        z-index: 2;
        position: absolute;
        right: 0;
        left: 0;
        margin: 0;
        opacity: 0;
        pointer-events: none;
        color: #ffffff;
        transition: opacity 0.3s ease-in;
        width: 60px; }
        .galery .single-card a .round-link::before {
          display: none !important; }
        .galery .single-card a .round-link::after {
          background-color: #bc204a; }
      .galery .single-card a h3 {
        position: absolute;
        bottom: -1px;
        left: -30px;
        letter-spacing: 1px;
        display: inline; }
        @media (max-width: 800px) {
          .galery .single-card a h3 {
            font-size: 28px;
            top: calc(100% - 60px);
            left: -10px; } }
        .galery .single-card a h3::after {
          content: "";
          position: absolute;
          bottom: -30px;
          left: 0px;
          width: 180px;
          height: 1px;
          background-color: #2b1e22; }
      .galery .single-card a .subtitle {
        position: absolute;
        bottom: -80px;
        left: -30px;
        font-size: 16px;
        letter-spacing: 0px !important;
        font-weight: 400;
        color: #2b1e22; }
        .galery .single-card a .subtitle:hover {
          color: #2b1e22; }
        @media (max-width: 800px) {
          .galery .single-card a .subtitle {
            bottom: -94px; } }

.latest-news .slider__news {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }

.latest-news .slider__title {
  margin-bottom: 60px; }
  .latest-news .slider__title h3 {
    text-align: center; }

.latest-news .slider__cards {
  width: 100%; }

.latest-news .slider__card {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: start;
      align-items: flex-start; }
  .latest-news .slider__card p {
    color: #2b1e22 !important;
    font-weight: 400; }
  .latest-news .slider__card span {
    font-weight: 700 !important; }
  .latest-news .slider__card .link p {
    font-size: 14px !important;
    transition: all 0.3s ease-in-out;
    letter-spacing: 2px !important;
    font-weight: 700 !important; }
  .latest-news .slider__card:hover p {
    color: #2b1e22 !important; }
  .latest-news .slider__card:hover .link p {
    color: #bc204a !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important; }
  .latest-news .slider__card:hover .link span {
    background-color: #bc204a;
    color: #ffffff;
    font-size: 14px !important; }
  .latest-news .slider__card:first-child {
    margin-left: 0 !important;
    padding-left: 60px; }
  .latest-news .slider__card .imgContainer {
    width: 100%;
    background-size: contain;
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
    padding-bottom: 30px; }
    .latest-news .slider__card .imgContainer:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 68%; }
  .latest-news .slider__card .desc {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #2b1e22;
    width: 100%; }
    .latest-news .slider__card .desc p {
      margin: 0;
      font-size: 16px;
      letter-spacing: 0px !important;
      font-weight: 400px !important; }
  .latest-news .slider__card .link p {
    height: 50px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    text-transform: uppercase;
    margin-top: 20px; }
    .latest-news .slider__card .link p:hover span {
      color: #ffffff;
      background-color: #bc204a; }
  .latest-news .slider__card .link span {
    color: #bc204a;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #f3eae8;
    margin-right: 10px;
    line-height: 12px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    transition: all 0.3s ease-in-out; }
    .latest-news .slider__card .link span::before {
      margin-top: -4px; }

#home .latest-news {
  margin-bottom: 50px; }
  #home .latest-news .slider__card {
    max-width: 400px !important;
    width: 400px;
    margin-right: 30px !important;
    margin-left: 30px !important; }
    @media (max-width: 800px) {
      #home .latest-news .slider__card {
        width: 300px;
        margin-right: 10px !important;
        margin-left: 10px !important; } }

#home video {
  position: absolute;
  height: 100%;
  width: auto; }

#home .vision {
  padding-top: 240px;
  padding-bottom: 100px; }
  @media (max-width: 800px) {
    #home .vision {
      padding-top: 200px;
      padding-bottom: 100px; } }
  @media (max-width: 1090px) {
    #home .vision__container {
      padding-top: 30px; } }
  #home .vision__container::before {
    content: "";
    position: absolute;
    top: 10px;
    right: calc(50% - 80px);
    width: 5000px;
    height: calc(100% + 20px);
    background-color: #f3eae8;
    z-index: -1; }
    @media (max-width: 1090px) {
      #home .vision__container::before {
        right: -50px;
        padding-top: 30px; } }
  #home .vision .imgContainer {
    background-position: right; }
  #home .vision .round-link::after {
    background-color: #ffffff !important; }
  #home .vision .round-link:hover::after {
    background-color: #bc204a !important; }
  #home .vision .round-link::after {
    background-color: #f3eae8; }

.error404 .footer, .error404 .header {
  display: none; }

.error404 .error404__group {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center; }

.error404 .mainTitle__first {
  font-family: soleil, sans-serif;
  color: #2586b7;
  position: absolute;
  top: -1em;
  left: 1.5em;
  font-size: 1.5em; }

.error404 .mainTitle__second {
  font-family: soleil, sans-serif;
  font-size: 12em;
  font-weight: bold;
  color: #bc204a;
  line-height: 1;
  overflow: hidden;
  display: block; }
  .error404 .mainTitle__second span {
    display: inline-block; }

.error404 .error404__link {
  font-size: 1.2em; }

#about .cursorCircle {
  position: absolute;
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  margin: -100px 0 0 -100px;
  background: #bc204a;
  color: white;
  border-radius: 50%;
  z-index: 20;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: background-color 0.2s ease-in-out, opacity 0.2s ease-in-out, transform 1s ease-in-out;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: end;
      justify-content: flex-end;
  font-size: 13px;
  text-transform: uppercase;
  padding-bottom: 50px;
  padding-left: 40px;
  font-weight: 800; }
  #about .cursorCircle span {
    font-size: 18px;
    margin-bottom: 15px; }
  @media (max-width: 800px) {
    #about .cursorCircle {
      display: none; } }

#about .timeline {
  padding-top: 200px;
  padding-bottom: 40px; }
  #about .timeline .slick-next {
    width: 50px;
    height: 30px;
    z-index: 9999999;
    position: absolute;
    left: calc(90vw - 10px);
    background: transparent;
    color: transparent; }
    #about .timeline .slick-next::before {
      display: none !important; }
  #about .timeline .center h2 {
    max-width: 1000px; }
  #about .timeline .center .subtitle {
    max-width: 900px;
    margin-bottom: 150px; }
  #about .timeline .slick-list {
    overflow: inherit; }
  #about .timeline .slick-track {
    cursor: grab; }
  #about .timeline__list {
    position: relative; }
    #about .timeline__list .round-link {
      width: 200px;
      height: 200px;
      position: absolute;
      top: 0;
      left: 0; }
      #about .timeline__list .round-link::before {
        display: none; }
      #about .timeline__list .round-link::after {
        background-color: #bc204a; }
    #about .timeline__list::before {
      content: "";
      position: absolute;
      width: 100vw;
      height: 1px;
      background-color: #2b1e22;
      top: 50%;
      left: 0;
      transform: translate(0, -50%);
      z-index: 10; }
    #about .timeline__list::after {
      content: url(../img/arrow-timeline.svg);
      position: absolute;
      top: calc(50% + 7px);
      transform: scale(2) translate(0, -50%);
      left: 90vw;
      width: 25px;
      height: 15px;
      background-color: #ffffff;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      z-index: 11; }
    #about .timeline__list .highlight .bubble {
      width: 220px;
      height: 220px;
      border-radius: 50%;
      background-color: #f3eae8;
      position: absolute;
      left: -70px;
      top: -90px;
      z-index: -1; }
    #about .timeline__list li {
      position: relative;
      min-width: 200px;
      width: 350px;
      height: 400px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      z-index: -1; }
      #about .timeline__list li:nth-child(2n) {
        -ms-flex-pack: end;
            justify-content: flex-end; }
      #about .timeline__list li .more {
        opacity: 0;
        color: #bc204a;
        margin-bottom: -10px;
        transition: opacity 0.3s ease-in-out; }
      #about .timeline__list li .year {
        position: relative;
        font-size: 90px;
        line-height: 75px;
        font-weight: 800;
        margin-bottom: 10px;
        cursor: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjbQg61aAAAADUlEQVQYV2P4//8/IwAI/QL/+TZZdwAAAABJRU5ErkJggg=="), url(images/blank.cur), none;
        background: url(../img/model.jpg);
        background-attachment: fixed;
        background-size: 310% 100%;
        background-position: 0px 0px;
        background-repeat: no-repeat;
        color: #fff;
        -webkit-text-fill-color: transparent;
        -webkit-background-clip: text;
        background-clip: text; }
        @media (max-width: 1090px) {
          #about .timeline__list li .year {
            background-size: 5500px 100%; } }
      #about .timeline__list li .text {
        font-size: 28px;
        min-height: 90px;
        cursor: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjbQg61aAAAADUlEQVQYV2P4//8/IwAI/QL/+TZZdwAAAABJRU5ErkJggg=="), url(images/blank.cur), none;
        -webkit-text-fill-color: #2b1e22; }

#about .identity {
  position: relative;
  margin-bottom: 160px; }
  @media (max-width: 800px) {
    #about .identity {
      padding-top: 0; } }
  #about .identity::before {
    content: "";
    position: absolute;
    top: 200px;
    left: 0;
    width: 5000px;
    height: calc(100% - 30px);
    background-color: #f3eae8;
    z-index: -1; }
  #about .identity .modal_right {
    width: 100%; }
    #about .identity .modal_right ul {
      margin-top: 50px; }
    #about .identity .modal_right li {
      margin-bottom: 20px;
      font-weight: 400; }
  #about .identity .imgContainer {
    position: absolute; }

#about .visionReverse__left .h2 {
  max-width: none;
  margin-bottom: 90px;
  position: relative; }
  #about .visionReverse__left .h2::after {
    content: "";
    width: 630px;
    height: 1px;
    background-color: #2b1e22;
    position: absolute;
    bottom: -30px;
    right: calc(100% - 100px); }

#about .visionReverse__right__title {
  max-width: 600px; }

#about .visionReverse__right .title {
  border-width: 0.29em 0; }
  #about .visionReverse__right .title::after {
    display: none; }

#about .visionReverse .video-container {
  position: absolute;
  bottom: 0;
  right: 114px;
  transform: translateX(50%) translateY(50%); }
  @media (max-width: 800px) {
    #about .visionReverse .video-container {
      display: none; } }

#about .visionReverse .player {
  width: 400px;
  height: 320px;
  position: relative;
  overflow: hidden; }
  #about .visionReverse .player .media-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media (max-width: 1090px) {
      #about .visionReverse .player .media-container {
        display: none; } }

#about .innovation {
  background-color: #f3eae8;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  padding-bottom: 160px; }
  #about .innovation .center {
    max-width: 1150px; }
  #about .innovation h3 {
    text-align: center; }
  #about .innovation .h2 {
    text-align: center; }
  #about .innovation .chart #chart1 {
    border: 1px solid #2586b7;
    padding: 3px;
    border-radius: 50%; }
  #about .innovation .chart #chart2 {
    border: 1px solid #2586b7;
    padding: 3px;
    border-radius: 50%; }
  #about .innovation .chart__container {
    margin-top: 90px;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media (max-width: 1090px) {
      #about .innovation .chart__container {
        -ms-flex-align: end;
            align-items: flex-end; } }
    @media (max-width: 800px) {
      #about .innovation .chart__container {
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center;
        margin-top: 30px; } }
  #about .innovation .chart__single {
    width: 400px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; }
    @media (max-width: 1090px) {
      #about .innovation .chart__single {
        width: 49%; } }
    @media (max-width: 800px) {
      #about .innovation .chart__single {
        width: 100%;
        max-width: 350px;
        margin-bottom: 50px; }
        #about .innovation .chart__single:last-child {
          margin-bottom: 0; } }
    #about .innovation .chart__single .h2 {
      margin-top: 20px;
      font-size: 44px;
      line-height: 60px; }
      @media (max-width: 800px) {
        #about .innovation .chart__single .h2 {
          font-size: 28px;
          line-height: 30px; } }
    #about .innovation .chart__single small {
      margin-top: 20px;
      margin-bottom: 50px;
      font-weight: 800;
      font-size: 11px;
      text-transform: uppercase;
      color: rgba(43, 30, 34, 0.5);
      letter-spacing: 1.43px;
      position: relative; }
      #about .innovation .chart__single small::before {
        content: "";
        width: 180px;
        height: 1px;
        background-color: #2b1e22;
        position: absolute;
        bottom: -20px;
        left: 50%;
        transform: translateX(-50%); }
    #about .innovation .chart__single .link {
      margin-top: 40px;
      position: relative; }

#about .business {
  padding-top: 200px;
  padding-bottom: 60px; }
  @media (max-width: 800px) {
    #about .business {
      padding-top: 80px;
      padding-bottom: 80px; } }
  @media (max-width: 800px) {
    #about .business .center {
      overflow: auto; } }
  #about .business__title {
    max-width: 1000px; }
    #about .business__title .h2 {
      margin-bottom: 40px; }
    #about .business__title p {
      padding-left: 100px;
      max-width: 750px; }
      @media (max-width: 800px) {
        #about .business__title p {
          padding-left: 0;
          max-width: 100%; } }
  #about .business .svg-business {
    margin-top: -150px;
    width: 100%; }
    @media (max-width: 800px) {
      #about .business .svg-business {
        display: none; } }
    @media (max-width: 1090px) {
      #about .business .svg-business {
        margin-top: 50px; } }
  #about .business .svg-mobile {
    display: none; }
    @media (max-width: 800px) {
      #about .business .svg-mobile {
        display: block;
        width: 60%;
        margin: 50px auto; } }
    @media (max-width: 1090px) {
      #about .business .svg-mobile {
        margin-top: 50px; } }

#about .technology__content {
  display: none; }
  @media (max-width: 1100px) {
    #about .technology__content {
      display: block;
      margin-bottom: 40px; } }
  #about .technology__content ul {
    padding: 0 30px; }

@media (max-width: 1110px) {
  #about .technology__single {
    margin-bottom: 70px; } }

@media (max-width: 1110px) {
  #about .technology__single h3 {
    max-width: 220px; } }

#about .technology__single:nth-child(3) {
  margin-top: 0; }

#about .technology__single:nth-child(7) {
  margin-top: 0; }

#about .technology__single:nth-child(2n) {
  margin-top: -140px; }

@media (max-width: 1110px) {
  #about .technology__single {
    background-size: cover;
    margin-bottom: 70px; } }

@media (max-width: 1110px) {
  #about .technology__single .container {
    top: 350px;
    opacity: 1;
    background-color: white;
    -ms-flex-align: start;
        align-items: flex-start;
    padding: 0;
    display: none; }
    #about .technology__single .container li {
      font-size: 14px; }
      #about .technology__single .container li p {
        font-size: 14px; } }

#laboratories .vision {
  padding-top: 240px;
  padding-bottom: 200px; }
  @media (max-width: 800px) {
    #laboratories .vision {
      padding-bottom: 70px; } }
  #laboratories .vision__container::before {
    background-color: #ffffff; }
  #laboratories .vision__left .h2 {
    position: relative;
    z-index: 3; }
    #laboratories .vision__left .h2::after {
      content: "";
      width: 5000px;
      height: 1px;
      position: absolute;
      bottom: -50px;
      right: 85%;
      background-color: #2b1e22; }
      @media (max-width: 800px) {
        #laboratories .vision__left .h2::after {
          right: 90%;
          left: unset; } }
  #laboratories .vision__right {
    bottom: unset;
    height: 75%; }
    @media (max-width: 800px) {
      #laboratories .vision__right {
        margin-top: 80px; } }
    #laboratories .vision__right .imgContainer {
      background-position: right; }
  #laboratories .vision .round-link {
    z-index: -1; }
    #laboratories .vision .round-link::before {
      display: none; }
    #laboratories .vision .round-link::after {
      background-color: #f3eae8; }
    #laboratories .vision .round-link:hover::after {
      background-color: #bc204a; }

#laboratories .products {
  margin-top: 200px;
  padding-top: 0;
  padding-bottom: 100px; }
  @media (max-width: 800px) {
    #laboratories .products {
      padding-top: 50px;
      padding-bottom: 90px; } }
  #laboratories .products .center .blue-title {
    text-align: center; }
  #laboratories .products .center h2 {
    margin: 0 auto;
    margin-bottom: 80px;
    text-align: center;
    max-width: 1062px; }

#laboratories .slick-track {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end; }

#laboratories .slider-num .text-width {
  height: 220px;
  -ms-flex-pack: center;
      justify-content: center; }
  @media (max-width: 800px) {
    #laboratories .slider-num .text-width {
      font-size: 18px; } }

#laboratories .slider-num .num {
  -ms-flex-align: center;
      align-items: center; }

#laboratories .slider-num .dot {
  padding-bottom: 8px; }

#laboratories .slider-num .arrow {
  top: calc(50% + 128px); }

#laboratories .wysiwyg {
  position: relative;
  z-index: 3; }
  #laboratories .wysiwyg ul {
    padding-left: 0; }
    #laboratories .wysiwyg ul li {
      margin-bottom: 15px; }

#laboratories .assets .blue-title {
  text-align: center; }

#laboratories .assets .assets__list {
  -ms-flex-pack: center !important;
      justify-content: center !important; }
  @media (max-width: 800px) {
    #laboratories .assets .assets__list {
      -ms-flex-pack: center;
          justify-content: center; } }
  #laboratories .assets .assets__list li {
    position: relative;
    margin: 40px; }
    @media (max-width: 1100px) {
      #laboratories .assets .assets__list li {
        width: calc(50% - 30px);
        margin: 0;
        margin-bottom: 100px; } }
    @media (max-width: 800px) {
      #laboratories .assets .assets__list li {
        margin-bottom: 100px; } }

#consumer .vision {
  padding-top: 200px;
  padding-bottom: 240px; }
  @media (max-width: 800px) {
    #consumer .vision {
      padding-bottom: 140px; } }
  #consumer .vision__container::before {
    background-color: #ffffff; }
  #consumer .vision__left .h2 {
    position: relative; }
    #consumer .vision__left .h2::after {
      content: "";
      width: 5000px;
      height: 1px;
      position: absolute;
      bottom: -50px;
      right: 85%;
      background-color: #2b1e22; }
  #consumer .vision .round-link::before {
    display: none; }
  #consumer .vision .round-link::after {
    background-color: #f3eae8; }
  #consumer .vision .round-link:hover::after {
    background-color: #bc204a; }
  @media (max-width: 1090px) {
    #consumer .vision .bubble-container {
      top: 20px;
      position: absolute; } }

#consumer .assets {
  background-color: #f3eae8;
  padding-bottom: 40px; }
  #consumer .assets__list {
    height: auto; }
    @media (max-width: 800px) {
      #consumer .assets__list {
        height: auto;
        margin-top: 10px;
        margin-bottom: 10px; } }
    #consumer .assets__list:before {
      display: none; }
    #consumer .assets__list::before {
      top: calc(50% + 120px); }
    #consumer .assets__list li {
      height: 100%;
      position: relative; }
      #consumer .assets__list li:nth-child(2n) {
        -ms-flex-pack: end;
            justify-content: flex-end; }
  #consumer .assets .picto {
    background-color: #ffffff;
    z-index: 1; }
    #consumer .assets .picto::before {
      z-index: 0; }
  #consumer .assets .title span {
    z-index: 3; }

#consumer .technology {
  padding-top: 160px;
  padding-bottom: 0; }
  #consumer .technology__single {
    transition: opacity 0.5s ease-in-out;
    cursor: pointer; }
  #consumer .technology .blue-title {
    text-align: center; }
  #consumer .technology .center .h2 {
    text-align: center;
    max-width: 830px;
    margin: 0 auto; }

#consumer .modal_right .h2 small {
  display: block;
  font-size: 20px;
  line-height: 22px; }

#consumer .modal_imgcontainer {
  height: 100%;
  overflow: hidden;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }

#consumer .modal_logo {
  margin-bottom: 30px; }

#team .bubble-container {
  height: 100%; }
  #team .bubble-container .bubble-text {
    bottom: 120px;
    top: inherit; }
    @media (max-width: 800px) {
      #team .bubble-container .bubble-text {
        bottom: -20px;
        left: -10px; } }

#team .pageHead__right {
  overflow: hidden; }

#team .slider_header .slick-list {
  height: 100%;
  overflow: hidden;
  padding-left: 0 !important; }

#team .slider_header .slick-track {
  height: 100%;
  overflow: hidden; }
  #team .slider_header .slick-track .imgContainer {
    background-position: top !important; }

#team .identity .wysiwyg ul {
  padding: 0; }
  #team .identity .wysiwyg ul li {
    margin-bottom: 20px; }

#team .identity .content__text {
  max-width: none; }
  @media (max-width: 800px) {
    #team .identity .content__text {
      padding: 0 20px; } }

#team .vision {
  padding-top: 240px; }
  @media (max-width: 800px) {
    #team .vision {
      padding-top: 70px; } }
  #team .vision .imgContainer {
    background-position: right; }

#team .vision__container {
  -ms-flex-align: center;
      align-items: center;
  margin-bottom: 240px; }
  @media (max-width: 800px) {
    #team .vision__container {
      margin-bottom: 0px; } }
  #team .vision__container::before {
    display: none; }

#team .vision__right {
  bottom: unset; }
  @media (max-width: 800px) {
    #team .vision__right {
      margin-top: 80px; } }

#team .vision__left {
  -ms-flex-pack: start;
      justify-content: flex-start; }
  #team .vision__left .h2 {
    position: relative; }
    #team .vision__left .h2::after {
      content: "";
      width: 1000px;
      height: 1px;
      position: absolute;
      bottom: -50px;
      right: 85%;
      background-color: #2b1e22; }
      @media (max-width: 800px) {
        #team .vision__left .h2::after {
          right: 90%;
          left: unset; } }
  #team .vision__left .wysiwyg {
    position: relative;
    z-index: 15;
    padding-right: 30px; }
    #team .vision__left .wysiwyg ul {
      padding-left: 0; }
      #team .vision__left .wysiwyg ul li {
        margin-bottom: 20px;
        position: relative;
        z-index: 2; }
  #team .vision__left .round-link {
    z-index: 1; }
    #team .vision__left .round-link::before {
      display: none; }
    #team .vision__left .round-link::after {
      background-color: #f3eae8; }
    #team .vision__left .round-link:hover::after {
      background-color: #bc204a; }

#team .culture {
  padding-top: 0;
  padding-bottom: 160px; }
  #team .culture .imgContainer {
    background-position: center; }
  #team .culture .visionReverse__right__title {
    max-width: 600px; }
  #team .culture .wysiwyg ul {
    padding: 0; }
    #team .culture .wysiwyg ul li {
      margin-bottom: 30px;
      font-size: 20px; }
      #team .culture .wysiwyg ul li::before {
        top: 9px; }

#team .assets {
  padding-bottom: 0px; }
  #team .assets .blue-title {
    text-align: left; }
  #team .assets .h2 {
    max-width: 1040px;
    margin: 0;
    text-align: left;
    margin-bottom: 50px; }
  #team .assets .picto {
    font-weight: 800;
    font-size: 66px;
    color: #2586b7;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
  #team .assets__sector {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin-top: 100px; }
    #team .assets__sector li {
      width: calc(50% - 20px);
      margin-bottom: 80px; }
      @media (max-width: 800px) {
        #team .assets__sector li {
          width: 100%;
          margin-bottom: 50px; } }
      #team .assets__sector li h3 {
        font-size: 28px;
        font-weight: 800;
        margin: 0;
        margin-bottom: 5px; }
        #team .assets__sector li h3 small {
          display: block;
          font-size: 50%;
          font-weight: 400;
          font-style: italic; }
      #team .assets__sector li .office {
        display: block;
        font-size: 14px;
        font-weight: 800;
        color: #bc204a;
        text-transform: uppercase;
        position: relative;
        margin-bottom: 50px; }
        #team .assets__sector li .office::after {
          content: "";
          position: absolute;
          left: 0;
          width: 180px;
          height: 1px;
          background-color: #2b1e22;
          bottom: -15px; }

#team .teams {
  margin-top: 200px;
  padding-bottom: 200px;
  background-color: #f3eae8; }
  @media (max-width: 800px) {
    #team .teams {
      margin-top: 70px;
      padding-top: 70px;
      padding-bottom: 70px; } }
  #team .teams .cursor-slider {
    position: absolute;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    z-index: 9999999;
    opacity: 0;
    transition: opacity 0.2s ease-in;
    pointer-events: none; }
    @media (max-width: 800px) {
      #team .teams .cursor-slider {
        display: none; } }

#latest-news .pageHead__right .imgContainer {
  background-position: bottom; }

#latest-news .latest-news {
  padding-top: 190px; }
  @media (max-width: 800px) {
    #latest-news .latest-news {
      margin-top: 270px; } }
  #latest-news .latest-news__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    #latest-news .latest-news__list a {
      width: calc((100% - 60px) / 3);
      margin: 0 !important;
      padding: 0 !important;
      margin-bottom: 50px !important; }
      @media (max-width: 1100px) {
        #latest-news .latest-news__list a {
          width: calc((100% - 30px) / 2); } }
      @media (max-width: 800px) {
        #latest-news .latest-news__list a {
          width: 100%; } }

@media (max-width: 800px) {
  #single .wysiwyg {
    margin-top: 220px;
    margin-bottom: 120px; } }

#single .content__container {
  width: 80%; }
  @media (max-width: 800px) {
    #single .content__container {
      width: 100%; } }

#single .pageHead__right .imgContainer {
  background-size: contain;
  background-position: left; }

#career .pageHead__right {
  overflow: hidden; }

@media (max-width: 1230px) {
  #career .identity__container {
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; } }

#career .slider_header .slick-list {
  height: 100%;
  overflow: hidden;
  padding-left: 0 !important; }

#career .slider_header .slick-track {
  height: 100%;
  overflow: hidden; }
  #career .slider_header .slick-track .imgContainer {
    background-position: top !important; }

#career .pageHead .imgContainer {
  background-position: left; }

#career .visionReverse {
  margin-bottom: 100px; }
  #career .visionReverse__container::before {
    display: none; }

#career .vision .content__text ul {
  padding: 0; }
  #career .vision .content__text ul li {
    margin-bottom: 15px; }

#career .vision__container {
  padding-top: 70px;
  padding-bottom: 50px; }
  @media (max-width: 1090px) {
    #career .vision__container {
      padding-top: 30px; } }
  #career .vision__container::before {
    content: "";
    position: absolute;
    top: 10px;
    right: calc(50% - 80px);
    width: 5000px;
    height: calc(100% + 20px);
    background-color: #f3eae8;
    z-index: -1; }
    @media (max-width: 1090px) {
      #career .vision__container::before {
        right: inherit;
        left: -50px;
        top: -20px; } }

#career .latest-news .slider__news {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }

#career .latest-news .slider__title {
  margin-bottom: 60px; }
  #career .latest-news .slider__title h3 {
    text-align: center; }

#career .latest-news .slider__cards {
  width: 100%; }

#career .latest-news .slider__card {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: start;
      align-items: flex-start; }
  #career .latest-news .slider__card p {
    color: #2b1e22 !important;
    font-weight: 400; }
  #career .latest-news .slider__card span {
    font-weight: 700 !important; }
  #career .latest-news .slider__card .link p {
    font-size: 14px !important;
    transition: all 0.3s ease-in-out;
    letter-spacing: 2px !important;
    font-weight: 700 !important; }
  #career .latest-news .slider__card:hover p {
    color: #2b1e22 !important; }
  #career .latest-news .slider__card:hover .link p {
    color: #bc204a !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important; }
  #career .latest-news .slider__card:hover .link span {
    background-color: #bc204a;
    color: #ffffff;
    font-size: 14px !important; }
  #career .latest-news .slider__card:first-child {
    margin-left: 0 !important;
    padding-left: 60px; }
  #career .latest-news .slider__card .imgContainer {
    width: 100%;
    background-size: contain;
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
    padding-bottom: 30px; }
    #career .latest-news .slider__card .imgContainer:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 68%; }
  #career .latest-news .slider__card .desc {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #2b1e22;
    width: 100%; }
    #career .latest-news .slider__card .desc p {
      margin: 0;
      font-size: 16px;
      letter-spacing: 0px !important;
      font-weight: 400px !important; }
  #career .latest-news .slider__card .link p {
    height: 50px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    text-transform: uppercase;
    margin-top: 20px; }
    #career .latest-news .slider__card .link p:hover span {
      color: #ffffff;
      background-color: #bc204a; }
  #career .latest-news .slider__card .link span {
    color: #bc204a;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #f3eae8;
    margin-right: 10px;
    line-height: 12px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    transition: all 0.3s ease-in-out; }
    #career .latest-news .slider__card .link span::before {
      margin-top: -4px; }

#career .latest-news .slider__news {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }

#career .latest-news .slider__title {
  margin-bottom: 60px; }
  #career .latest-news .slider__title h3 {
    text-align: center; }

#career .latest-news .slider__cards {
  width: 100%; }

#career .latest-news .slider__card {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: start;
      align-items: flex-start; }
  #career .latest-news .slider__card p {
    color: #2b1e22 !important;
    font-weight: 400; }
  #career .latest-news .slider__card span {
    font-weight: 700 !important; }
  #career .latest-news .slider__card .link p {
    font-size: 14px !important;
    transition: all 0.3s ease-in-out;
    letter-spacing: 2px !important;
    font-weight: 700 !important; }
  #career .latest-news .slider__card:hover p {
    color: #2b1e22 !important; }
  #career .latest-news .slider__card:hover .link p {
    color: #bc204a !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important; }
  #career .latest-news .slider__card:hover .link span {
    background-color: #bc204a;
    color: #ffffff;
    font-size: 14px !important; }
  #career .latest-news .slider__card:first-child {
    margin-left: 0 !important;
    padding-left: 60px; }
  #career .latest-news .slider__card .imgContainer {
    width: 100%;
    background-size: contain;
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
    padding-bottom: 30px; }
    #career .latest-news .slider__card .imgContainer:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 68%; }
  #career .latest-news .slider__card .desc {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #2b1e22;
    width: 100%; }
    #career .latest-news .slider__card .desc p {
      margin: 0;
      font-size: 16px;
      letter-spacing: 0px !important;
      font-weight: 400px !important; }
  #career .latest-news .slider__card .link p {
    height: 50px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    text-transform: uppercase;
    margin-top: 20px; }
    #career .latest-news .slider__card .link p:hover span {
      color: #ffffff;
      background-color: #bc204a; }
  #career .latest-news .slider__card .link span {
    color: #bc204a;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #f3eae8;
    margin-right: 10px;
    line-height: 12px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    transition: all 0.3s ease-in-out; }
    #career .latest-news .slider__card .link span::before {
      margin-top: -4px; }

#career .latest-news {
  margin-bottom: 50px; }
  #career .latest-news .slider__card {
    max-width: 400px !important;
    width: 400px;
    margin-right: 30px !important;
    margin-left: 30px !important; }
    @media (max-width: 800px) {
      #career .latest-news .slider__card {
        width: 300px;
        margin-right: 10px !important;
        margin-left: 10px !important; } }

#contact .pageHead__left__title {
  max-width: 850px; }

#contact #gmaps {
  width: 100%;
  height: 100%; }

#contact .contact {
  margin-top: 260px;
  margin-bottom: 120px; }
  #contact .contact a:not(.round-link) {
    color: #bc204a;
    text-decoration: underline;
    font-family: soleil, sans-serif;
    font-size: 18px;
    font-weight: normal;
    letter-spacing: normal; }
    #contact .contact a:not(.round-link):hover {
      text-decoration: none; }
  #contact .contact .blue-title {
    margin-bottom: 0; }
  #contact .contact__container {
    margin-top: 90px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    @media (max-width: 1000px) {
      #contact .contact__container {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
  #contact .contact__form__container {
    width: 50%;
    position: relative; }
    @media (max-width: 1000px) {
      #contact .contact__form__container {
        width: 100%;
        margin-bottom: 50px; } }
    #contact .contact__form__container .nf-field-label label {
      font-size: 16px;
      font-weight: normal;
      z-index: 10; }
      #contact .contact__form__container .nf-field-label label a {
        font-size: 16px !important; }
    #contact .contact__form__container :-ms-input-placeholder {
      /* Chrome, Firefox, Opera, Safari 10.1+ */
      color: #2b1e22;
      opacity: 1;
      /* Firefox */ }
    #contact .contact__form__container ::placeholder {
      /* Chrome, Firefox, Opera, Safari 10.1+ */
      color: #2b1e22;
      opacity: 1;
      /* Firefox */ }
    #contact .contact__form__container :-ms-input-placeholder {
      /* Internet Explorer 10-11 */
      color: #2b1e22; }
    #contact .contact__form__container ::-ms-input-placeholder {
      /* Microsoft Edge */
      color: #2b1e22; }
    #contact .contact__form__container .nf-error .ninja-forms-field {
      border-color: #bc204a !important; }
    #contact .contact__form__container .nf-form-content .list-select-wrap .nf-field-element > div,
    #contact .contact__form__container .nf-form-content input:not([type="button"]),
    #contact .contact__form__container .nf-form-content textarea {
      background: white;
      border: 2px solid #f3eae8; }
    #contact .contact__form__container .nf-form-content .list-select-wrap .nf-field-element > div,
    #contact .contact__form__container .nf-form-content input:not([type="button"]),
    #contact .contact__form__container .nf-form-content textarea {
      font-family: soleil, sans-serif;
      color: #2b1e22 !important; }
    #contact .contact__form__container .nf-error .nf-error-msg {
      display: none; }
    #contact .contact__form__container .nf-form-fields-required {
      display: none; }
    #contact .contact__form__container .ninja-forms-req-symbol {
      display: none; }
    #contact .contact__form__container #nf-label-field-7 .ninja-forms-req-symbol {
      display: inline; }
    #contact .contact__form__container .nf-error.field-wrap .nf-field-element:after {
      display: none; }
    #contact .contact__form__container #nf-field-4 {
      opacity: 0;
      visibility: hidden; }
    #contact .contact__form__container .nf-pass.field-wrap .nf-field-element:after {
      display: none; }
    #contact .contact__form__container .nf-error-field-errors {
      position: absolute;
      bottom: 0;
      left: 0;
      max-width: 300px; }
    #contact .contact__form__container .checkbox-wrap .nf-field-element label.nf-checked-label:before,
    #contact .contact__form__container .checkbox-wrap .nf-field-label label.nf-checked-label:before,
    #contact .contact__form__container .listcheckbox-wrap .nf-field-element label.nf-checked-label:before,
    #contact .contact__form__container .listcheckbox-wrap .nf-field-label label.nf-checked-label:before {
      color: #bc204a; }
    #contact .contact__form__container .checkbox-wrap .nf-field-element label:after,
    #contact .contact__form__container .checkbox-wrap .nf-field-label label:after,
    #contact .contact__form__container .listcheckbox-wrap .nf-field-element label:after,
    #contact .contact__form__container .listcheckbox-wrap .nf-field-label label:after {
      background: white;
      border: 2px solid #f3eae8; }
    #contact .contact__form__container .round-link {
      position: absolute;
      bottom: -25px;
      right: 10px;
      z-index: 1; }
      @media (max-width: 800px) {
        #contact .contact__form__container .round-link {
          bottom: 40px; } }
      #contact .contact__form__container .round-link::before {
        display: none; }
      #contact .contact__form__container .round-link::after {
        background-color: #f3eae8; }
      #contact .contact__form__container .round-link:hover::after {
        background-color: #bc204a; }
  #contact .contact__form__form {
    margin-top: 40px; }
  #contact .contact__form__text {
    position: relative;
    padding-left: 100px; }
    #contact .contact__form__text:before {
      content: "";
      position: absolute;
      top: 15px;
      right: calc(100% - 50px);
      height: 1px;
      width: 3000px;
      background-color: #2b1e22; }
  #contact .contact__info__container {
    width: calc(50% - 90px); }
    @media (max-width: 1000px) {
      #contact .contact__info__container {
        width: 100%; } }
  #contact .contact__info__img {
    height: 280px; }
  #contact .contact__info__content {
    margin-top: 38px; }
    #contact .contact__info__content h4 {
      font-size: 18px;
      margin-top: 0px; }
    #contact .contact__info__content p {
      margin-bottom: 15px; }
    #contact .contact__info__content span {
      font-size: 18px; }
    #contact .contact__info__content .contact-fax {
      margin-top: 2px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ub3JtYWxpemUtc2Nzcy9fbm9ybWFsaXplLnNjc3MiLCJzaGFyZWQvX3ZhcmlhYmxlcy5zY3NzIiwic2hhcmVkL19pY29ucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19rZXlmcmFtZXMuc2NzcyIsInNoYXJlZC9fYW5pbWF0aW9ucy5zY3NzIiwic2hhcmVkL19taXhpbnMuc2NzcyIsInNoYXJlZC9zbGljay5zY3NzIiwic2hhcmVkL3NsaWNrLXRoZW1lLnNjc3MiLCJtb2R1bGVzL193eXN5d2lnLnNjc3MiLCJtb2R1bGVzL19mb3Jtcy5zY3NzIiwiZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX3JlbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19jbGVhcmZpeC5zY3NzIiwidWkuc2NzcyIsInBhcnRpYWxzL2hlYWRlci5zY3NzIiwicGFydGlhbHMvZm9vdGVyLnNjc3MiLCJwYXJ0cy9ob21lLnNjc3MiLCJwYXJ0cy9lcnJvcjQwNC5zY3NzIiwicGFydHMvYWJvdXQuc2NzcyIsInBhcnRzL2xhYm9yYXRvcmllcy5zY3NzIiwicGFydHMvY29uc3VtZXIuc2NzcyIsInBhcnRzL3RlYW0uc2NzcyIsInBhcnRzL2xhdGVzdC1uZXdzLnNjc3MiLCJwYXJ0cy9uZXdzLnNjc3MiLCJwYXJ0cy9jYXJlZXIuc2NzcyIsInBhcnRzL2NvbnRhY3Quc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakIsNEVBQTRFO0FBRTVFO2dGQUNn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QXBMVDtNQXNMVSxvQkFBb0IsRUFDckI7SUF2TFQ7TUF5TFUsZ0JBQWdCLEVBQ2pCO0lBMUxUO01BNkxVLGdCQUFnQixFQUNqQiIsImZpbGUiOiJzdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohIG5vcm1hbGl6ZS5jc3MgdjYuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxuICogUGF0aFxuICovXG4vKipcbiAqIENvbG9yc1xuICovXG4vKipcbiAqIFRleHRcbiAqL1xuLyoqXG4gKiBSZXNwb25zaXZlXG4gKi9cbi8qKlxuICogU3VzeVxuICovXG4vKipcbiAqIEVhc2luZ1xuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwib3lzdGVyc2hlbGxcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9veXN0ZXJzaGVsbC9veXN0ZXJzaGVsbC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvb3lzdGVyc2hlbGwvb3lzdGVyc2hlbGwuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzL295c3RlcnNoZWxsL295c3RlcnNoZWxsLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9veXN0ZXJzaGVsbC9veXN0ZXJzaGVsbC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL295c3RlcnNoZWxsL295c3RlcnNoZWxsLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvb3lzdGVyc2hlbGwvb3lzdGVyc2hlbGwuc3ZnI295c3RlcnNoZWxsXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG4uaWNvbjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJveXN0ZXJzaGVsbFwiO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgLyogc3BlYWs6IG5vbmU7IG9ubHkgbmVjZXNzYXJ5IGlmIG5vdCB1c2luZyB0aGUgcHJpdmF0ZSB1bmljb2RlIHJhbmdlIChmaXJzdEdseXBoIG9wdGlvbikgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4uaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDAxXCI7IH1cblxuLmljb24tYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDJcIjsgfVxuXG4uaWNvbi1hcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwM1wiOyB9XG5cbi5pY29uLWJlbGdpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDRcIjsgfVxuXG4uaWNvbi1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwNVwiOyB9XG5cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA2XCI7IH1cblxuLmljb24tZ29vZ2xlcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwN1wiOyB9XG5cbi5pY29uLWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA4XCI7IH1cblxuLmljb24tbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDlcIjsgfVxuXG4uaWNvbi1tYWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDBBXCI7IH1cblxuLmljb24tcGFydG5lcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMEJcIjsgfVxuXG4uaWNvbi1zY2llbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDBDXCI7IH1cblxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwRFwiOyB9XG5cbi5pY29uLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMEVcIjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hvd1VwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBzaG93VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBzaG93VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNob3dVcFRpdGxlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHNob3dVcFRpdGxlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpOyB9IH1cblxuQGtleWZyYW1lcyBzaG93VXBUaXRsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaG93RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgc2hvd0Rvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBzaG93RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGlkZURvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGhpZGVEb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1JSk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgaGlkZURvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhpZGVVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgaGlkZVVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgaGlkZVVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaG93TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgc2hvd0xlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBzaG93TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hvd1JpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNSUpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBzaG93UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1JSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBzaG93UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1JSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tncm91bmRQb3NpdGlvbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MDBweCBjZW50ZXI7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNlbnRlcjsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBiYWNrZ3JvdW5kUG9zaXRpb24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjAwcHggY2VudGVyOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCBjZW50ZXI7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tncm91bmRQb3NpdGlvbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MDBweCBjZW50ZXI7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNlbnRlcjsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsb2FkZXIge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgbG9hZGVyIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBsb2FkZXIge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGVyLWlubmVyIHtcbiAgMCUge1xuICAgIGhlaWdodDogMCU7IH1cbiAgMjUlIHtcbiAgICBoZWlnaHQ6IDAlOyB9XG4gIDUwJSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIDc1JSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIDEwMCUge1xuICAgIGhlaWdodDogMCU7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgbG9hZGVyLWlubmVyIHtcbiAgMCUge1xuICAgIGhlaWdodDogMCU7IH1cbiAgMjUlIHtcbiAgICBoZWlnaHQ6IDAlOyB9XG4gIDUwJSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIDc1JSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIDEwMCUge1xuICAgIGhlaWdodDogMCU7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxvYWRlci1pbm5lciB7XG4gIDAlIHtcbiAgICBoZWlnaHQ6IDAlOyB9XG4gIDI1JSB7XG4gICAgaGVpZ2h0OiAwJTsgfVxuICA1MCUge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICA3NSUge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDAlOyB9IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zbGljay1saXN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1saXN0LmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1sb2FkaW5nIC5zbGljay1saXN0IHtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuL2FqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsgfVxuXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi9mb250cy9zbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLXByZXY6aG92ZXIsIC5zbGljay1wcmV2OmZvY3VzLFxuICAuc2xpY2stbmV4dDpob3ZlcixcbiAgLnNsaWNrLW5leHQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLCAuc2xpY2stcHJldjpmb2N1czpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmZvY3VzOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbiAgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjI1OyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSxcbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGkFwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaSXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKGkFwiOyB9XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMjVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2xpY2stZG90cyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuICAgIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIG9wYWNpdHk6IDAuNzU7IH1cblxuLnd5c2l3eWcge1xuICAvKipcbiAgICAgKiBoclxuICAgICAqL1xuICAvKipcbiAgICAgKiBMaXN0XG4gICAgICovIH1cbiAgLnd5c2l3eWcgZmlndXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgY2FsYy1lbSgzMCkgMDsgfVxuICAgIC53eXNpd3lnIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYy1lbSgxMik7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC53eXNpd3lnIGZpZ3VyZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAud3lzaXd5ZyBmaWd1cmUuYWxpZ24tbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYy1lbSgzMCk7IH1cbiAgICAud3lzaXd5ZyBmaWd1cmUuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMtZW0oMzApOyB9XG4gICAgLnd5c2l3eWcgZmlndXJlLmFsaWduLWNlbnRlciBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnd5c2l3eWcgaHIge1xuICAgIG1hcmdpbjogY2FsYy1lbSgzMCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YzZjNmMzsgfVxuICAud3lzaXd5ZyB1bCxcbiAgLnd5c2l3eWcgb2wge1xuICAgIG1hcmdpbjogMCAwIGNhbGMtZW0oMzApOyB9XG4gICAgLnd5c2l3eWcgdWwgbGksXG4gICAgLnd5c2l3eWcgb2wgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYy1lbSg1KTsgfVxuICAgICAgLnd5c2l3eWcgdWwgbGk6bGFzdC1jaGlsZCxcbiAgICAgIC53eXNpd3lnIG9sIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnd5c2l3eWcgdWwgdWwsXG4gICAgLnd5c2l3eWcgdWwgb2wsXG4gICAgLnd5c2l3eWcgb2wgdWwsXG4gICAgLnd5c2l3eWcgb2wgb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYy1lbSgxMCk7IH1cbiAgLnd5c2l3eWcgdWwge1xuICAgIHBhZGRpbmctbGVmdDogOTBweDsgfVxuICAgIC53eXNpd3lnIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnd5c2l3eWcgdWwgbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI1ODZiNztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICB0b3A6IDZweDsgfVxuICAud3lzaXd5ZyBvbCB7XG4gICAgY291bnRlci1yZXNldDogbGlzdDsgfVxuICAgIC53eXNpd3lnIG9sIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYy1lbSgyMCk7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAud3lzaXd5ZyBvbCBsaTo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdCkgXCIuIFwiO1xuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogbGlzdDtcbiAgICAgICAgY29sb3I6ICNiYzIwNGE7IH1cblxuLmZvcm06YmVmb3JlLCAuZm9ybTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAyICovIH1cblxuLmZvcm06YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG5pbnB1dDo6LW1zLWNsZWFyLCBzZWxlY3Q6Oi1tcy1jbGVhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyoqXG4gKiBIdG1sXG4gKi9cbmh0bWwge1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuLyoqXG4gKiBCb2R5XG4gKi9cbmJvZHkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU2MjU7XG4gIGZvbnQtZmFtaWx5OiBzb2xlaWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMmIxZTIyO1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIG1hcmdpbjogMDsgfVxuICBib2R5IC5jZW50ZXIge1xuICAgIG1heC13aWR0aDogMTQwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIDUwcHg7IH1cbiAgICBib2R5IC5jZW50ZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBib2R5IC5jZW50ZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBMaW5rXG4gKi9cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMmIxZTIyO1xuICBmb250LXdlaWdodDogODAwO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlOyB9XG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjYmMyMDRhOyB9XG5cbi8qKlxuICogSW1hZ2VzXG4gKi9cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogUGFyYWdyYXBoXG4gKi9cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NWVtO1xuICBmb250LXNpemU6IDE4cHg7IH1cbiAgcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG4vKipcbiAqIFRpdGxlXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiA0LjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE3NjQ3O1xuICBmb250LWZhbWlseTogc29sZWlsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzJiMWUyMjtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LWZhbWlseTogc29sZWlsLCBzYW5zLXNlcmlmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgaDEgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogTWVudVxuICovXG4ubWVudSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAubWVudSB1bCxcbiAgLm1lbnUgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm1lbnUgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMmIxZTIyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAubWVudSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYmMyMDRhOyB9XG5cbi8qXG4gKiBWaWRlb1xuICovXG52aWRlbyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JjMjA0YTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYzIwNGE7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbnNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMTYwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDsgfSB9XG5cbiNjb250YWluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiNwYWdlIGFydGljbGUge1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDU1NXB4IC0gMTkwcHgpOyB9XG4gICNwYWdlIGFydGljbGUgLnRpdGxlIHtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7IH1cbiAgICAjcGFnZSBhcnRpY2xlIC50aXRsZSAuY2VudGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICNwYWdlIGFydGljbGUgLnRpdGxlIC5jZW50ZXIgaDEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogMzUwcHg7IH1cblxuI3NpbmdsZSBhcnRpY2xlIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA1NTVweCAtIDE5MHB4KTsgfVxuICAjc2luZ2xlIGFydGljbGUgLnRpdGxlIHtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7IH1cbiAgICAjc2luZ2xlIGFydGljbGUgLnRpdGxlIC5jZW50ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgI3NpbmdsZSBhcnRpY2xlIC50aXRsZSAuY2VudGVyIGgxIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4OyB9XG5cbi5oMiB7XG4gIGNvbG9yOiAjMmIxZTIyO1xuICBmb250LXNpemU6IDUycHg7XG4gIGxpbmUtaGVpZ2h0OiA2OHB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLmgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4OyB9IH1cblxuLnRpdGxlLWxpbmsge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjMmIxZTIyO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBmb250LXdlaWdodDogODAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5tZW51LXNlY29uZGFyeSBsaSBhIHtcbiAgY29sb3I6IHJnYmEoNDMsIDMwLCAzNCwgMC41KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5tZW51LXNlY29uZGFyeSBsaSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzJiMWUyMjsgfVxuXG4uaGVybyB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBoZWlnaHQ6IGZpdC1jb250ZW50OyB9XG4gIC5oZXJvIC5jZW50ZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5oZXJvX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5oZXJvX19sZWZ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA3ODBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMzBweDtcbiAgICB6LWluZGV4OiA0OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAuaGVyb19fbGVmdCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4MHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAgIC5oZXJvX19sZWZ0IC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgLmhlcm9fX2xlZnQgLmNvbnRlbnQgaDEge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgIC5oZXJvX19sZWZ0IC5jb250ZW50IGgxIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDM0cHg7IH0gfVxuICAuaGVyb19fcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDIyNnB4KTtcbiAgICBib3R0b206IC00MHB4O1xuICAgIHdpZHRoOiA2NXZ3O1xuICAgIG1heC13aWR0aDogY2FsYygxMTUwcHggKyAyMjZweCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgei1pbmRleDogMzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLmhlcm9fX3JpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3R0b206IC0xNDZweDtcbiAgICAgICAgbGVmdDogaW5oZXJpdDtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuXG4uYmFja2dyb3VuZC1saWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBjYWxjKDUwJSAtIDE2MHB4KTtcbiAgd2lkdGg6IDE1MCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWFlODtcbiAgei1pbmRleDogLTE7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLmJhY2tncm91bmQtbGlnaHQ6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDsgfSB9XG5cbi5iYWNrZ3JvdW5kLWxpZ2h0OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMTAwJTtcbiAgd2lkdGg6IDUwMDBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjU4NmI3O1xuICB6LWluZGV4OiAxOyB9XG5cbi50aXRsZS1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWFlODtcbiAgZGlzcGxheTogaW5saW5lO1xuICB6LWluZGV4OiAtMTtcbiAgY29sb3I6ICNmM2VhZTg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cblxuLmNsb25lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgY29sb3I6ICMyYjFlMjI7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLmNsb25lIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweCAhaW1wb3J0YW50OyB9IH1cblxuLnJvdW5kLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LXdpZHRoOiAxMjBweDtcbiAgY29sb3I6ICNiYzIwNGE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLnJvdW5kLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7IH0gfVxuICAucm91bmQtbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucm91bmQtbGluazpob3ZlcjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmMyMDRhOyB9XG4gIC5yb3VuZC1saW5rOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA1MDAwcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJiMWUyMjtcbiAgICB0b3A6IDE2cHg7XG4gICAgcmlnaHQ6IGNhbGMoMTAwJSArIDU4cHgpO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAucm91bmQtbGluazo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSArIDIwcHgpOyB9IH1cbiAgLnJvdW5kLWxpbms6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgaGVpZ2h0OiAyMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IC04MHB4O1xuICAgIGxlZnQ6IC02MHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAucm91bmQtbGluazo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgIGxlZnQ6IC0zMHB4OyB9IH1cbiAgLnJvdW5kLWxpbmsgc3BhbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIC5yb3VuZC1saW5rIHNwYW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7IH0gfVxuXG4uaW1nQ29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbi5pbWdDb250YWluZXItZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vb3lzdGVyc2hlbGwuZGV2L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzAzL2lzdG9ja3Bob3RvLTUwODUxNjc5OS0yMDQ4eDIwNDgtMS0xNjAweDkwMC5qcGcgXCIpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5ibHVlLXRpdGxlIHtcbiAgY29sb3I6ICMyNTg2Yjc7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udmlzaW9uX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogNzIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgIC52aXNpb25fX2NvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICDiiYggLnZpc2lvbl9fY29udGFpbmVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogY2FsYyg1MCUgLSA4MHB4KTtcbiAgICB3aWR0aDogMTUwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWFlODtcbiAgICB6LWluZGV4OiAtMTsgfVxuXG4udmlzaW9uX19sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgIC52aXNpb25fX2xlZnQge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC52aXNpb25fX2xlZnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAudmlzaW9uX19sZWZ0IGgyIHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7IH1cbiAgLnZpc2lvbl9fbGVmdCAuY29udGVudF9fdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAudmlzaW9uX19sZWZ0IC5jb250ZW50X190ZXh0IHtcbiAgICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gICAgLnZpc2lvbl9fbGVmdCAuY29udGVudF9fdGV4dCBwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBtYXgtd2lkdGg6IDQ1MHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgLnZpc2lvbl9fbGVmdCAuY29udGVudF9fdGV4dCBwIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC52aXNpb25fX2xlZnQgLmNvbnRlbnRfX3RleHQgYSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnZpc2lvbl9fcmlnaHQge1xuICB3aWR0aDogNTB2dztcbiAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gIG1heC1oZWlnaHQ6IDcwMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IC04MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDkwcHgpIHtcbiAgICAudmlzaW9uX19yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi8gfVxuICAgICAgLnZpc2lvbl9fcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDg2LjE0NDU4JTsgfSB9XG4gIC52aXNpb25fX3JpZ2h0OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMTBweDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMjUlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjU4NmI3OyB9XG4gIC52aXNpb25fX3JpZ2h0X192aWRlb0NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC52aXNpb25fX3JpZ2h0IC5idWJibGUtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgLnZpc2lvbl9fcmlnaHQgLmltZ0NvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH0gfVxuXG4udmlzaW9uIC5udW1iZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDM0MHB4O1xuICBoZWlnaHQ6IDM0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGxlZnQ6IC02MHB4O1xuICB0b3A6IDYwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC52aXNpb24gLm51bWJlci10ZXh0IHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC42KTtcbiAgICAgIHRvcDogLTEyMHB4O1xuICAgICAgbGVmdDogLTkwcHg7IH0gfVxuICAudmlzaW9uIC5udW1iZXItdGV4dCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudmlzaW9uIC5udW1iZXItdGV4dCAubnVtYmVyLW51bWJlciB7XG4gICAgZm9udC1zaXplOiA5MHB4OyB9XG4gIC52aXNpb24gLm51bWJlci10ZXh0IC5udW1iZXItc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnZpc2lvbiAubnVtYmVyLXRleHQgLm51bWJlci10eHQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogcmdiYSg0MywgMzAsIDM0LCAwLjYpO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgLnZpc2lvbiAubnVtYmVyLXRleHQ6bnRoLWNoaWxkKDIpIHtcbiAgICBsZWZ0OiA4MHB4O1xuICAgIHRvcDogMzIwcHg7IH1cblxuLnZpc2lvblJldmVyc2VfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAxOTBweDtcbiAgcGFkZGluZy1ib3R0b206IDE5MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC52aXNpb25SZXZlcnNlX19jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cbiAgLnZpc2lvblJldmVyc2VfX2NvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA4MHB4KTtcbiAgICB3aWR0aDogMTUwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWFlODtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLnZpc2lvblJldmVyc2VfX2NvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLTIwcHg7IH0gfVxuXG4udmlzaW9uUmV2ZXJzZV9fbGVmdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC52aXNpb25SZXZlcnNlX19sZWZ0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC52aXNpb25SZXZlcnNlX19sZWZ0IC5yb3VuZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogNzhweDsgfVxuICAudmlzaW9uUmV2ZXJzZV9fbGVmdCBoMiB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDsgfVxuICAudmlzaW9uUmV2ZXJzZV9fbGVmdCAuY29udGVudF9fdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMTVweDsgfVxuICAgIC52aXNpb25SZXZlcnNlX19sZWZ0IC5jb250ZW50X190ZXh0IHAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1heC13aWR0aDogNDUwcHg7IH1cbiAgICAudmlzaW9uUmV2ZXJzZV9fbGVmdCAuY29udGVudF9fdGV4dCBhIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4udmlzaW9uUmV2ZXJzZV9fcmlnaHQge1xuICB3aWR0aDogNTB2dztcbiAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1ODZiNztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNTAlO1xuICBib3R0b206IC04MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC52aXNpb25SZXZlcnNlX19yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbiAgICAgIC52aXNpb25SZXZlcnNlX19yaWdodCAuaW1nQ29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiA1MzBweDsgfSB9XG4gIC52aXNpb25SZXZlcnNlX19yaWdodDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTEwcHg7XG4gICAgcmlnaHQ6IGNhbGMoMTAwJSAtIDIzMHB4KTtcbiAgICB3aWR0aDogNTAwMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjU4NmI3OyB9XG4gIC52aXNpb25SZXZlcnNlX19yaWdodCAuYmctcHJpbWFyeSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgLnZpc2lvblJldmVyc2VfX3JpZ2h0IC5pbWdDb250YWluZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcDsgfVxuICAudmlzaW9uUmV2ZXJzZV9fcmlnaHRfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC00MnB4O1xuICAgIHRvcDogMTAwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIC52aXNpb25SZXZlcnNlX19yaWdodF9fdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDsgfSB9XG4gICAgLnZpc2lvblJldmVyc2VfX3JpZ2h0X190aXRsZSBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3NnB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAudmlzaW9uUmV2ZXJzZV9fcmlnaHRfX3RpdGxlIGgyIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDJweDsgfSB9XG4gICAgLnZpc2lvblJldmVyc2VfX3JpZ2h0X190aXRsZSBoMyB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogLTg0cHg7IH1cbiAgICAudmlzaW9uUmV2ZXJzZV9fcmlnaHRfX3RpdGxlIC5jb250ZW50X190ZXh0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTE1cHg7IH1cbiAgICAgIC52aXNpb25SZXZlcnNlX19yaWdodF9fdGl0bGUgLmNvbnRlbnRfX3RleHQgcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgbWF4LXdpZHRoOiA0NTBweDsgfVxuICAgICAgLnZpc2lvblJldmVyc2VfX3JpZ2h0X190aXRsZSAuY29udGVudF9fdGV4dCBhIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnZpc2lvblJldmVyc2VfX3JpZ2h0IC5idWJibGUtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYnViYmxlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTIwcHg7XG4gIGxlZnQ6IC0xMHB4O1xuICB6LWluZGV4OiAyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgd2lkdGg6IDI3MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNjBweCkge1xuICAgIC5idWJibGUtdGV4dCB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gICAgICB0b3A6IDUwcHg7XG4gICAgICBsZWZ0OiAtNTBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5idWJibGUtdGV4dCB7XG4gICAgICB3aWR0aDogMTgwcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0b3A6IDBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7IH0gfVxuICAuYnViYmxlLXRleHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKC4uL2ltZy9idWJibGUuc3ZnKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuNyk7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLmJ1YmJsZS10ZXh0OjphZnRlciB7XG4gICAgY29udGVudDogdXJsKC4uL2ltZy9xdW90ZS5zdmcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC04MHB4O1xuICAgIGxlZnQ6IC0yMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAuYnViYmxlLXRleHQ6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAtNTVweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5idWJibGUtdGV4dDo6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuNik7IH1cbiAgICAuYnViYmxlLXRleHQ6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC42KTsgfSB9XG5cbi5qcy1jaXJjbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogNTBweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQsIGhlaWdodCAwLjNzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDAuNXMgZWFzZS1pbi1vdXQ7IH1cbiAgLmpzLWNpcmNsZSAuY2lyY2xlIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNXB4KTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gNXB4KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxODgsIDMyLCA3NCwgMC4xKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDAuMnMgZWFzZS1pbjsgfVxuXG4ucGFnZUhlYWQge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5wYWdlSGVhZF9fY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiA2MDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLnBhZ2VIZWFkX19jb250YWluZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsgfSB9XG4gIC5wYWdlSGVhZF9fbGVmdCB7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAucGFnZUhlYWRfX2xlZnRfX3RpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IDE1MHB4O1xuICAgICAgbWF4LXdpZHRoOiA2NTBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC5wYWdlSGVhZF9fbGVmdF9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuICAgICAgLnBhZ2VIZWFkX19sZWZ0X190aXRsZTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTQwcHg7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxNzBweCk7XG4gICAgICAgIHdpZHRoOiA1MDAwcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxZTIyOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgIC5wYWdlSGVhZF9fbGVmdF9fdGl0bGU6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTE2cHg7IH0gfVxuICAgIC5wYWdlSGVhZF9fbGVmdCBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgbWF4LXdpZHRoOiA0MTJweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC5wYWdlSGVhZF9fbGVmdCBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gICAgLnBhZ2VIZWFkX19sZWZ0IC5ibHVlLXRpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDQ7IH1cbiAgICAucGFnZUhlYWRfX2xlZnQgaDEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICAgIHotaW5kZXg6IDM7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAucGFnZUhlYWRfX2xlZnQgaDEge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gIC5wYWdlSGVhZF9fcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDIyNnB4KTtcbiAgICB0b3A6IDQwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDExNTBweCArIDIyNnB4KTtcbiAgICB3aWR0aDogNjV2dztcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIC5wYWdlSGVhZF9fcmlnaHQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgIGJvdHRvbTogLTIwMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgICAgLnBhZ2VIZWFkX19yaWdodCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgICAucGFnZUhlYWRfX3JpZ2h0IC5pbWdDb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAucGFnZUhlYWRfX3JpZ2h0IC5pbWdDb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi8gfVxuICAgICAgICAgIC5wYWdlSGVhZF9fcmlnaHQgLmltZ0NvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDU2LjI1JTsgfSB9XG5cbi5idG4ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzJiMWUyMjtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAuYnRuOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzIwNGEgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmMyMDRhOyB9XG5cbi53aGl0ZS1iZyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbGluZS1oZWlnaHQ6IDc2cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNmZmZmZmYgMCwgI2ZmZmZmZiAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAzMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExMTBweCkge1xuICAgIC53aGl0ZS1iZyB7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDsgfSB9XG5cbi5wcmltYXJ5LWJnLWNvbnRhaW5lciBwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWFlODtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAvKiBOZWVkcyBwcmVmaXhpbmcgKi9cbiAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTsgfVxuXG4ud2hpdGUtYmctY29udGFpbmVyIHAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAvKiBOZWVkcyBwcmVmaXhpbmcgKi9cbiAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTsgfVxuXG4ubGlnaHQtYmcge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNmM2VhZTggMCwgI2YzZWFlOCAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAzMCU7XG4gIGxpbmUtaGVpZ2h0OiA3MHB4OyB9XG5cbi8qIEhlYWRpbmcgc3R5bGUgKi9cbi50aXRsZSxcbi50aXRsZTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7IH1cblxuLnRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogaW5saW5lO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIGJvcmRlcjogMCBzb2xpZCAjZjNlYWU4O1xuICBib3JkZXItd2lkdGg6IDAuMjVlbSAwO1xuICAvKiAwLjI1ZW0gaXMgcm91Z2hseSBlcXVhbCB0byBvbmUgc3BhY2UgY2hhcmFjdGVyLiAqLyB9XG5cbi50aXRsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMC4yNWVtO1xuICByaWdodDogMTAwJTtcbiAgYm90dG9tOiAtMC4yNWVtO1xuICB3aWR0aDogMC4yNWVtOyB9XG5cbi50aXRsZSA+IHNwYW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cblxuLmxpbmsgcCB7XG4gIGhlaWdodDogNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgY29sb3I6ICNiYzIwNGE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAubGluayBwOmhvdmVyIHNwYW4ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzIwNGE7IH1cblxuLmxpbmsgc3BhbiB7XG4gIGNvbG9yOiAjYmMyMDRhO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsgfVxuICAubGluayBzcGFuOjpiZWZvcmUge1xuICAgIG1hcmdpbi10b3A6IC00cHg7IH1cblxuLnNsaWRlci1udW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7XG4gIGhlaWdodDogOTUwcHg7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAxNjBweDsgfVxuICAuc2xpZGVyLW51bSAuY2VudGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5zbGlkZXItbnVtIC5jZW50ZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB3aWR0aDogNDcwcHg7XG4gICAgICBoZWlnaHQ6IDQ3MHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAuc2xpZGVyLW51bSAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxNTtcbiAgICByaWdodDogMjI2cHg7XG4gICAgdG9wOiBjYWxjKDUwJSArIDIwMHB4KTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgLnNsaWRlci1udW0gLmFycm93IHtcbiAgICAgICAgbGVmdDogNzB2dztcbiAgICAgICAgcmlnaHQ6IHVuc2V0OyB9IH1cbiAgICAuc2xpZGVyLW51bSAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDY1MHB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxZTIyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMzVweDtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAgIC5zbGlkZXItbnVtIC5hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogNDAwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIC5zbGlkZXItbnVtIC5hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMjAwcHg7IH0gfVxuICAgIC5zbGlkZXItbnVtIC5hcnJvd19fY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLnNsaWRlci1udW0gLmFycm93X19jb250YWluZXIgLmljb24ge1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmMyMDRhO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLCBjb2xvciAwLjJzIGVhc2UtaW47IH1cbiAgICAgICAgLnNsaWRlci1udW0gLmFycm93X19jb250YWluZXIgLmljb246aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgY29sb3I6ICNiYzIwNGE7IH1cbiAgICAgIC5zbGlkZXItbnVtIC5hcnJvd19fY29udGFpbmVyIC5zbGlkZXJfX25hdmlnYXRpb24tLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzVweDsgfVxuICAgIC5zbGlkZXItbnVtIC5hcnJvdyBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICNiYzIwNGE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5zbGlkZXItbnVtIC5hcnJvdyBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4OyB9XG4gIC5zbGlkZXItbnVtIC5zbGlkZXIgLnNsaWRlcyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9tb2RlbC5qcGcpO1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggNDQwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDsgfVxuICAuc2xpZGVyLW51bSAuc2xpZGVyIC5zbGlkZSB7XG4gICAgaGVpZ2h0OiAyMjBweDtcbiAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgLnNsaWRlci1udW0gLnNsaWRlciAuc2xpZGUtLWN1cnJlbnQgLnRleHQge1xuICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG4gICAgLnNsaWRlci1udW0gLnNsaWRlciAuc2xpZGUtLWN1cnJlbnQgLm51bSB7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAgIC5zbGlkZXItbnVtIC5zbGlkZXIgLnNsaWRlIC5udW0ge1xuICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAvKiBGaXJlZm94ICovXG4gICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgLyogQ2hyb21lLCBTYWZhcmksIE9ww6lyYSBkZXB1aXMgbGEgdmVyc2lvbiAxNSAqL1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgLyogSW50ZXJuZXQgZXhwbG9yZXIgZGVwdWlzIGxhIHZlcnNpb24gMTAgZXQgRWRnZSAqL1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAvKiBQcm9wcmnDqXTDqSBzdGFuZGFyZCAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAgIC5zbGlkZXItbnVtIC5zbGlkZXIgLnNsaWRlIC5kb3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGZvbnQtc2l6ZTogNzRweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgLnNsaWRlci1udW0gLnNsaWRlciAuc2xpZGUgLmRvdCB7XG4gICAgICAgICAgZm9udC1zaXplOiA1MnB4OyB9IH1cbiAgICAuc2xpZGVyLW51bSAuc2xpZGVyIC5zbGlkZSAudGV4dCB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICB3aWR0aDogNTAwcHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjMmIxZTIyO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAuc2xpZGVyLW51bSAuc2xpZGVyIC5zbGlkZSAudGV4dCB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgICAuc2xpZGVyLW51bSAuc2xpZGVyIC5zbGlkZSAudGV4dCAudGV4dC13aWR0aCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMzAwcHg7IH1cbiAgICAuc2xpZGVyLW51bSAuc2xpZGVyIC5zbGlkZSAud3lzaXd5ZyB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7IH1cbiAgICAgIC5zbGlkZXItbnVtIC5zbGlkZXIgLnNsaWRlIC53eXNpd3lnIHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgIC5zbGlkZXItbnVtIC5zbGlkZXIgLnNsaWRlIC53eXNpd3lnIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH0gfVxuICAgICAgLnNsaWRlci1udW0gLnNsaWRlciAuc2xpZGUgLnd5c2l3eWcgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cbiAgICAgICAgLnNsaWRlci1udW0gLnNsaWRlciAuc2xpZGUgLnd5c2l3eWcgdWwgbGkge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgLnNsaWRlci1udW0gLnNsaWRlciAuc2xpZGUgLnd5c2l3eWcgdWwgbGkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cbiAgICAgICAgICAuc2xpZGVyLW51bSAuc2xpZGVyIC5zbGlkZSAud3lzaXd5ZyB1bCBsaSBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnNsaWRlci1udW0gLnNsaWRlciAuc2xpZGUgLnd5c2l3eWcgbGkge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgIC5zbGlkZXItbnVtIC5zbGlkZXIgLnNsaWRlIC53eXNpd3lnIGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cbiAgICAgICAgLnNsaWRlci1udW0gLnNsaWRlciAuc2xpZGUgLnd5c2l3eWcgbGkgcCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7IH1cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIC5zbGlkZXItbnVtIC5zbGlkZXIgLnNsaWRlIC53eXNpd3lnIGxpIHAge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cbiAgICAuc2xpZGVyLW51bSAuc2xpZGVyIC5zbGlkZSAubnVtIHtcbiAgICAgIHdpZHRoOiAzMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTEwcHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAgIC5zbGlkZXItbnVtIC5zbGlkZXIgLnNsaWRlIC5udW0ge1xuICAgICAgICAgIHdpZHRoOiAxMjBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgLnNsaWRlci1udW0gLnNsaWRlciAuc2xpZGUgLm51bSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9IH1cbiAgLnNsaWRlci1udW0gLnNsaWRlcl9fY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDk1MHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnNsaWRlci1udW0gLnNsaWRlcl9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwMHB4O1xuICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDUyMHB4KTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogNzAwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIC5zbGlkZXItbnVtIC5zbGlkZXJfX3RpdGxlIHtcbiAgICAgICAgdG9wOiAxNTBweDtcbiAgICAgICAgbGVmdDogNDAlO1xuICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiAyMDBweDsgfSB9XG4gIC5zbGlkZXItbnVtIC5zbGlkZXJfX251bWJlcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxMDRweDtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMzU0cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAuc2xpZGVyLW51bSAuc2xpZGVyX19udW1iZXJzIHtcbiAgICAgICAgbGVmdDogMjBweDsgfSB9XG4gICAgLnNsaWRlci1udW0gLnNsaWRlcl9fbnVtYmVycyBsaSB7XG4gICAgICBmb250LXNpemU6IDE3MHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgLnNsaWRlci1udW0gLnNsaWRlcl9fbnVtYmVycyBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNDBweDsgfSB9XG4gIC5zbGlkZXItbnVtIC5zbGlkZXJfX3RleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogY2FsYyg1MCUgLSAzODBweCk7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICAuc2xpZGVyLW51bSAuc2xpZGVyX190ZXh0IC5jdXJyZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnNsaWRlci1udW0gLnNsaWRlcl9fdGV4dCAuY3VycmVudDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDY1MHB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiMWUyMjsgfVxuICAgIC5zbGlkZXItbnVtIC5zbGlkZXJfX3RleHQgdWwgLmhpZGUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5zbGlkZXItbnVtIC5zbGlkZXJfX3RleHQgdWwgbGkge1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYXNzZXRzIHtcbiAgcGFkZGluZy10b3A6IDIwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjAwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLmFzc2V0cyB7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9IH1cbiAgLmFzc2V0cyAuY2VudGVyIHtcbiAgICBtYXgtd2lkdGg6IDE1MDBweDsgfVxuICAuYXNzZXRzX19zdWIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmFzc2V0c19fc3ViOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiMWUyMjsgfVxuICAuYXNzZXRzIC5ibHVlLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFzc2V0cyAuaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLmFzc2V0cyAuaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7IH0gfVxuICAuYXNzZXRzX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1pbi1oZWlnaHQ6IDQxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDUwcHggYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDkwcHgpIHtcbiAgICAgIC5hc3NldHNfX2xpc3Qge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgICAuYXNzZXRzX19saXN0OjpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKC4uL2ltZy9jaXJjbGUyLnN2Zyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlICsgNTBweCk7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC5hc3NldHNfX2xpc3Q6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAuYXNzZXRzX19saXN0OjpiZWZvcmVfX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYXNzZXRzX19saXN0IGxpIHtcbiAgICAgIG1hcmdpbjogNDBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC5hc3NldHNfX2xpc3QgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgICAgICAuYXNzZXRzX19saXN0IGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG4gICAgICAuYXNzZXRzX19saXN0IGxpOm50aC1jaGlsZCgxKSAucGljdG86OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDUwNnB4O1xuICAgICAgICBoZWlnaHQ6IDUwNnB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHRvcDogLTUwJTtcbiAgICAgICAgbGVmdDogMTI2cHg7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuYXNzZXRzX19saXN0IGxpOm50aC1jaGlsZCgyKSAucGljdG86OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDQwNnB4O1xuICAgICAgICBoZWlnaHQ6IDQwNnB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHRvcDogLTUwJTtcbiAgICAgICAgbGVmdDogMTI2cHg7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuYXNzZXRzX19saXN0IGxpIC5waWN0byB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICAgIGhlaWdodDogMjgwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZTdmMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuYXNzZXRzX19saXN0IGxpIC50aXRsZS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2MiU7XG4gICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgLmFzc2V0c19fbGlzdCBsaSAudGl0bGUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICAgLmFzc2V0c19fbGlzdCBsaSAudGl0bGUtY29udGFpbmVyIC5iZy1ibHVlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogIzJiMWUyMjsgfVxuICAgICAgLmFzc2V0c19fbGlzdCBsaSAudGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjU4NmI3O1xuICAgICAgICBib3JkZXI6IDAgc29saWQgIzI1ODZiNztcbiAgICAgICAgY29sb3I6ICMyYjFlMjI7IH1cbiAgICAgICAgLmFzc2V0c19fbGlzdCBsaSAudGl0bGU6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmFzc2V0c19fbGlzdCAuZ3JvdXA6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvZ3JvdXAuc3ZnXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMjAlO1xuICAgICAgdG9wOiAzMCU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgIWltcG9ydGFudDsgfVxuICAgIC5hc3NldHNfX2xpc3QgLnBhcnRuZXJzLWljb246OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvc2NpZW5jZS1ibHVlLnN2Z1wiKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDIwJTtcbiAgICAgIHRvcDogMzAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6IDEwMHB4OyB9XG4gICAgLmFzc2V0c19fbGlzdCAucGFydG5lcnMtaWNvbjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKFwiLi4vaW1nL3NjaWVuY2UtYmx1ZS5zdmdcIik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAyMCU7XG4gICAgICB0b3A6IDMwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiAxMDBweDsgfVxuICAgIC5hc3NldHNfX2xpc3QgLmJlbGdpdW06OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvYmVsZ2l1bS5zdmdcIik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAyMCU7XG4gICAgICB0b3A6IDMwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSAhaW1wb3J0YW50OyB9XG4gICAgLmFzc2V0c19fbGlzdCAuaG91c2U6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvaG91c2Uuc3ZnXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMjAlO1xuICAgICAgdG9wOiAzMCU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgIWltcG9ydGFudDsgfVxuICAgIC5hc3NldHNfX2xpc3QgLmhvdXNlOjphZnRlciB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvaG91c2Uuc3ZnXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMjAlO1xuICAgICAgdG9wOiAzMCU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgIWltcG9ydGFudDsgfVxuICAgIC5hc3NldHNfX2xpc3QgLnRydWNrIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIC5hc3NldHNfX2xpc3QgLnRydWNrOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvdHJ1Y2suc3ZnXCIpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSAhaW1wb3J0YW50OyB9XG4gICAgLmFzc2V0c19fbGlzdCAuaGFuZDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltZy9oYW5kLnN2Z1wiKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDIwJTtcbiAgICAgIHRvcDogMzAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpICFpbXBvcnRhbnQ7IH1cbiAgICAuYXNzZXRzX19saXN0IC5oYW5kOjphZnRlciB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvaGFuZC5zdmdcIik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAyMCU7XG4gICAgICB0b3A6IDMwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSAhaW1wb3J0YW50OyB9XG4gICAgLmFzc2V0c19fbGlzdCAudXNhOjpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKFwiLi4vaW1nL3VzYS5zdmdcIik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAyMCU7XG4gICAgICB0b3A6IDMwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSAhaW1wb3J0YW50OyB9XG4gICAgLmFzc2V0c19fbGlzdCAuaG91c2UtY2FydDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltZy9ob3VzZS1jYXJ0LnN2Z1wiKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDIwJTtcbiAgICAgIHRvcDogMzAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpICFpbXBvcnRhbnQ7IH1cbiAgICAuYXNzZXRzX19saXN0IC5ob3VzZS1jYXJ0OjphZnRlciB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvaG91c2UtY2FydC5zdmdcIik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAyMCU7XG4gICAgICB0b3A6IDMwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSAhaW1wb3J0YW50OyB9XG4gICAgLmFzc2V0c19fbGlzdCAuY29udHJhY3Q6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvY29udHJhY3Quc3ZnXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMjAlO1xuICAgICAgdG9wOiAzMCU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgIWltcG9ydGFudDsgfVxuICAuYXNzZXRzIC5zZWNvbmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB3aWR0aDogODAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLmFzc2V0cyAuc2Vjb25kIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgLmFzc2V0cyAuc2Vjb25kOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5hc3NldHMgLnNlY29uZCBsaSAucGljdG86OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6IDk2cHg7IH1cblxuLnBhcnRuZXJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWFlODtcbiAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xuICBwYWRkaW5nLXRvcDogMjAwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLnBhcnRuZXJzIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICAucGFydG5lcnMgLmJsdWUtdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGFydG5lcnMgLmgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnBhcnRuZXJzIC5jbGllbnRfX2xpc3Qge1xuICAgIG1hcmdpbi10b3A6IDY0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtaW4taGVpZ2h0OiAxMjBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLnBhcnRuZXJzIC5jbGllbnRfX2xpc3Qge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG4gICAgLnBhcnRuZXJzIC5jbGllbnRfX2xpc3QgbGkge1xuICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5wYXJ0bmVycyAuY2xpZW50X19saXN0IGxpOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC5wYXJ0bmVycyAuY2xpZW50X19saXN0IGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDEzMHB4O1xuICAgICAgICAgIHdpZHRoOiAyMTBweDsgfSB9XG4gICAgICAucGFydG5lcnMgLmNsaWVudF9fbGlzdCBsaSBpbWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgei1pbmRleDogMzsgfVxuXG4uc2xpZGVyX3Byb2R1Y3QgLnNsaWNrLWRvdHMge1xuICBib3R0b206IC03NXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5zbGlkZXJfcHJvZHVjdCAuc2xpY2stZG90cyB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgLnNsaWRlcl9wcm9kdWN0IC5zbGljay1kb3RzIGxpIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgY29sb3I6ICNiYzIwNGE7IH1cblxuLnNsaWRlcl9wcm9kdWN0IC5zbGljay10cmFjayA+IGxpIHtcbiAgd2lkdGg6IDQ2MHB4O1xuICBtaW4taGVpZ2h0OiA0MzNweDtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5zbGlkZXJfcHJvZHVjdCAuc2xpY2stdHJhY2sgPiBsaSB7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH0gfVxuICAuc2xpZGVyX3Byb2R1Y3QgLnNsaWNrLXRyYWNrID4gbGkgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLnNsaWRlcl9wcm9kdWN0IC5zbGljay10cmFjayA+IGxpIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cbiAgICAuc2xpZGVyX3Byb2R1Y3QgLnNsaWNrLXRyYWNrID4gbGkgaDI6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTgwcHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjFlMjI7XG4gICAgICBib3R0b206IC0yMHB4O1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA5MHB4KTsgfVxuICAuc2xpZGVyX3Byb2R1Y3QgLnNsaWNrLXRyYWNrID4gbGkgLnNsaWRlci1pbWdDb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAzNTBweDsgfVxuICAgIC5zbGlkZXJfcHJvZHVjdCAuc2xpY2stdHJhY2sgPiBsaSAuc2xpZGVyLWltZ0NvbnRhaW5lciAuYmFja2dyb3VuZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLnNsaWRlcl9wcm9kdWN0IC5zbGljay10cmFjayA+IGxpIC5zbGlkZXItaW1nQ29udGFpbmVyIGltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDQ4MHB4OyB9XG5cbi5tb2RhbF9jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC00NXB4O1xuICB0b3A6IC00NXB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmQ2ZDA7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDM2cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLm1vZGFsX2Nsb3NlIHtcbiAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICAgIHRvcDogLTI1cHg7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDsgfSB9XG4gIC5tb2RhbF9jbG9zZSBzcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuXG4ubW9kYWxfbGlzdCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQzLCAyMzQsIDIzMiwgMC45KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLm1vZGFsX3NpbmdsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiA5MCU7XG4gIG1heC13aWR0aDogMTMwMHB4O1xuICBtYXgtaGVpZ2h0OiA4OHZoO1xuICBwYWRkaW5nOiAxMDBweCAxMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMTAwcHggNzVweCAtNTBweCByZ2JhKDE5MywgMTUyLCAxMzgsIDAuMyk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLm1vZGFsX3NpbmdsZSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDg0JTtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5tb2RhbF9zaW5nbGUgLm1vZGFsX2xlZnQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLm1vZGFsX3NpbmdsZSAubW9kYWxfbGVmdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIC5tb2RhbF9zaW5nbGUgLm1vZGFsX2xlZnQgLm1vZGFsX2ltZ2NvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5tb2RhbF9zaW5nbGUgLm1vZGFsX2xlZnQgLm1vZGFsX2ltZ2NvbnRhaW5lciBpbWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1vZGFsX3NpbmdsZSAubW9kYWxfbGVmdCAuYmFja2dyb3VuZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMzEwcHg7XG4gICAgICBoZWlnaHQ6IDMxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLm1vZGFsX3NpbmdsZSAud3lzaXd5ZyB1bCB7XG4gICAgcGFkZGluZzogMThweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgLm1vZGFsX3NpbmdsZSAud3lzaXd5ZyB1bCBsaSB7XG4gICAgICBtYXgtd2lkdGg6IDkwJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAubW9kYWxfc2luZ2xlIC53eXNpd3lnIHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLm1vZGFsX3NpbmdsZSAubW9kYWxfcmlnaHQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAubW9kYWxfc2luZ2xlIC5tb2RhbF9yaWdodCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwdmg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIC5tb2RhbF9zaW5nbGUgLm1vZGFsX3JpZ2h0IC5tb2RhbG1vcmUge1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuICAgIC5tb2RhbF9zaW5nbGUgLm1vZGFsX3JpZ2h0IGgyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC5tb2RhbF9zaW5nbGUgLm1vZGFsX3JpZ2h0IGgyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICAgIC5tb2RhbF9zaW5nbGUgLm1vZGFsX3JpZ2h0IGgyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjFlMjI7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgLm1vZGFsX3NpbmdsZSAubW9kYWxfcmlnaHQgaDI6OmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IC0xMHB4OyB9IH1cbiAgICAubW9kYWxfc2luZ2xlIC5tb2RhbF9yaWdodCAubGluayBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7IH1cbiAgICAubW9kYWxfc2luZ2xlIC5tb2RhbF9yaWdodCAubGluazpob3ZlciBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzIwNGE7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5tb2RhbF9sb2dvIHtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuLm1vZGFsQWN0aXZlIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5tb2RhbEFjdGl2ZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi50ZWNobm9sb2d5IHtcbiAgcGFkZGluZy10b3A6IDI0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExMTBweCkge1xuICAgIC50ZWNobm9sb2d5IHtcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7IH0gfVxuICAudGVjaG5vbG9neSAuaDIge1xuICAgIG1heC13aWR0aDogOTQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOTBweDsgfVxuICAudGVjaG5vbG9neV9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IDIxMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMTBweCkge1xuICAgICAgLnRlY2hub2xvZ3lfX2xpc3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC50ZWNobm9sb2d5X192aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAudGVjaG5vbG9neV9fdmlkZW9Db250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAudGVjaG5vbG9neV9fc2luZ2xlIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hcmdpbi10b3A6IC0xNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG4gICAgLnRlY2hub2xvZ3lfX3NpbmdsZTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDc3Ljk2NjElOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMTBweCkge1xuICAgICAgLnRlY2hub2xvZ3lfX3NpbmdsZSB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLnRlY2hub2xvZ3lfX3NpbmdsZSBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDExcHg7IH0gfVxuICAgIC50ZWNobm9sb2d5X19zaW5nbGU6bnRoLWNoaWxkKDJuKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnRlY2hub2xvZ3lfX3NpbmdsZTpob3ZlciAuY29udGFpbmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAudGVjaG5vbG9neV9fc2luZ2xlIC50ZWNobm9sb2d5X19zaW5nbGVfX2xvZ286Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtOHB4OyB9XG4gICAgLnRlY2hub2xvZ3lfX3NpbmdsZSAud2hpdGUtY2lyY2xlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC50ZWNobm9sb2d5X19zaW5nbGUgLndoaXRlLWNpcmNsZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgICAgcmlnaHQ6IC0zMHB4OyB9IH1cbiAgICAgIC50ZWNobm9sb2d5X19zaW5nbGUgLndoaXRlLWNpcmNsZSBpbWcge1xuICAgICAgICB3aWR0aDogODUlOyB9XG4gICAgLnRlY2hub2xvZ3lfX3NpbmdsZSAuY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDMsIDIzNCwgMjMyLCAwLjgpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsgfVxuICAgIC50ZWNobm9sb2d5X19zaW5nbGUgaDMge1xuICAgICAgZm9udC1zaXplOiA0NHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTEwcHgpIHtcbiAgICAgICAgLnRlY2hub2xvZ3lfX3NpbmdsZSBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgIHRvcDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgbGVmdDogLTEwcHg7IH0gfVxuICAgICAgLnRlY2hub2xvZ3lfX3NpbmdsZSBoMzo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTgwcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxZTIyO1xuICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAudGVjaG5vbG9neV9fc2luZ2xlIHVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTdweDsgfVxuXG4ubnVtLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlYWU4OyB9XG4gIC5udW0tbW9iaWxlIC5udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubnVtLW1vYmlsZSAubnVtYmVycyAud3lzaXd5ZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5udW0tbW9iaWxlIC5udW1iZXJzIC53eXNpd3lnIC50ZXh0IHtcbiAgICAgICAgd2lkdGg6IDgwJTsgfVxuICAgICAgLm51bS1tb2JpbGUgLm51bWJlcnMgLnd5c2l3eWcgLnAxIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLm51bS1tb2JpbGUgLm51bWJlcnMgLnd5c2l3eWcgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICAgIC5udW0tbW9iaWxlIC5udW1iZXJzIC53eXNpd3lnIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAubnVtLW1vYmlsZSAubnVtYmVycyBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAgIC5udW0tbW9iaWxlIC5udW1iZXJzIC5udW0ge1xuICAgICAgZm9udC1zaXplOiAxMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvbW9kZWwuanBnKTtcbiAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDsgfVxuICAgIC5udW0tbW9iaWxlIC5udW1iZXJzIC50ZXh0IHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7IH1cblxuLmJnLXRleHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAvKiBOZWVkcyBwcmVmaXhpbmcgKi9cbiAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTsgfVxuXG4ud2hpdGUtYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAvKiBOZWVkcyBwcmVmaXhpbmcgKi9cbiAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTsgfVxuXG4uYmctcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgLyogTmVlZHMgcHJlZml4aW5nICovXG4gIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgLXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7IH1cblxuLmJnLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjU4NmI3O1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgLyogTmVlZHMgcHJlZml4aW5nICovXG4gIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgLXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gIHotaW5kZXg6IDEwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udGVhbXMge1xuICBwYWRkaW5nLXRvcDogMjAwcHg7IH1cbiAgLnRlYW1zX19zbGlkZXIge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExODBweCkge1xuICAgICAgLnRlYW1zX19zbGlkZXIge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICAudGVhbXNfX3NsaWRlcl9fc2xpZGUge1xuICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgICAgIC50ZWFtc19fc2xpZGVyX19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnRlYW1zX19zbGlkZXJfX2VtcGxveWVDb250YWluZXIge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW47IH1cbiAgICAudGVhbXNfX3NsaWRlciAuYnViYmxlLXRleHQge1xuICAgICAgdG9wOiAxMjBweDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbjsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC50ZWFtc19fc2xpZGVyIC5idWJibGUtdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAudGVhbXNfX3NsaWRlciAuYnViYmxlLXRleHQ6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAtMTI1cHg7IH1cbiAgICAudGVhbXNfX3NsaWRlcl9fdGl0bGVib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC50ZWFtc19fc2xpZGVyX190aXRsZWJveCBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAudGVhbXNfX3NsaWRlcl9fdGl0bGVib3ggLm5hbWUge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC50ZWFtc19fc2xpZGVyX190aXRsZWJveCAuZnVuY3Rpb24ge1xuICAgICAgICBjb2xvcjogI2JjMjA0YTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLnRlYW1zX19zbGlkZXJfX3RpdGxlYm94IC5mdW5jdGlvbjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjFlMjI7XG4gICAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gOTBweCk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAudGVhbXNfX3NsaWRlcl9fdGl0bGVib3ggLm1vcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiByZ2JhKDQzLCAzMCwgMzQsIDAuNSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjQzcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtNTBweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmlkZW50aXR5IHtcbiAgICBwYWRkaW5nLXRvcDogMjcwcHg7IH0gfVxuXG4uaWRlbnRpdHkgLnJvdW5kLWxpbmsge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaWRlbnRpdHkgLnJvdW5kLWxpbms6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmMyMDRhICFpbXBvcnRhbnQ7IH1cbiAgLmlkZW50aXR5IC5yb3VuZC1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogI2JjMjA0YTsgfVxuICAgIC5pZGVudGl0eSAucm91bmQtbGluazpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWFlOCAhaW1wb3J0YW50OyB9XG4gIC5pZGVudGl0eSAucm91bmQtbGluazo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7IH1cblxuLmlkZW50aXR5X19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMzBweCkge1xuICAgIC5pZGVudGl0eV9fY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuLmlkZW50aXR5X19sZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1NTBweDtcbiAgbWluLWhlaWdodDogNzcwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLmlkZW50aXR5X19sZWZ0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqL1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH1cbiAgICAgIC5pZGVudGl0eV9fbGVmdDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTQwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjMwcHgpIHtcbiAgICAuaWRlbnRpdHlfX2xlZnQgLmltZ0NvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7IH0gfVxuXG4uaWRlbnRpdHlfX3JpZ2h0IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIHBhZGRpbmctdG9wOiA5MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5pZGVudGl0eV9fcmlnaHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuaWRlbnRpdHlfX3JpZ2h0IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaWRlbnRpdHlfX3JpZ2h0IC5jb250ZW50X190ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDExMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAuaWRlbnRpdHlfX3JpZ2h0IC5jb250ZW50X190ZXh0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAgIC5pZGVudGl0eV9fcmlnaHQgLmNvbnRlbnRfX3RleHQgLnRpdGxlIHtcbiAgICAgIGJvcmRlcjogMCBzb2xpZCAjZmZmZmZmICFpbXBvcnRhbnQ7IH1cbiAgICAuaWRlbnRpdHlfX3JpZ2h0IC5jb250ZW50X190ZXh0IC50aXRsZSxcbiAgICAuaWRlbnRpdHlfX3JpZ2h0IC5jb250ZW50X190ZXh0IC50aXRsZTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7IH1cbiAgICAuaWRlbnRpdHlfX3JpZ2h0IC5jb250ZW50X190ZXh0IHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuaWRlbnRpdHlfX3JpZ2h0IC5jb250ZW50X190ZXh0IC5wbGF5ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDQ5NnB4O1xuICAgICAgbWF4LWhlaWdodDogMzk0cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdG9wOiAtMzBweDtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDMwMHB4KTtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gICAgICAgIC5pZGVudGl0eV9fcmlnaHQgLmNvbnRlbnRfX3RleHQgLnBsYXllciB7XG4gICAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5pZGVudGl0eV9fcmlnaHQgLmNvbnRlbnRfX3RleHQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMzBweDtcbiAgICAgIGxlZnQ6IC0xNjBweDtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiMWUyMjtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG5cbi5pZGVudGl0eV9fbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtNTRweDtcbiAgcmlnaHQ6IC03OHB4O1xuICB6LWluZGV4OiAzOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5pZGVudGl0eV9fbGluayB7XG4gICAgICBib3R0b206IDBweDtcbiAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH0gfVxuICAuaWRlbnRpdHlfX2xpbmsgLnJvdW5kLWxpbms6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5iYWNrVG9Ub3Age1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmMyMDRhO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IC01MHB4O1xuICByaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHotaW5kZXg6IDk5OTk5OTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5iYWNrVG9Ub3A6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXRvcDogLTVweDsgfVxuXG4uaWRlbnRpdHkgLnd5c2l3eWcgdWwge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5pZGVudGl0eSAud3lzaXd5ZyB1bCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uaWRlbnRpdHkgLmNvbnRlbnRfX3RleHQge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLmlkZW50aXR5IC5jb250ZW50X190ZXh0IHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG5cbi5zbGlkZXJfaGVhZGVyIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5tb2JpbGUgLnNsaWRlci1udW0gLnNsaWRlciAuc2xpZGUgLm51bSB7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjYmMyMDRhICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4ubW9iaWxlIC5zbGlkZXItbnVtIC5zbGlkZXIgLnNsaWRlLS1jdXJyZW50IC5udW0ge1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogI2JjMjA0YSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxOyB9XG5cbi50YWJsZXQgLnNsaWRlci1udW0gLnNsaWRlciAuc2xpZGUgLm51bSB7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjYmMyMDRhICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4udGFibGV0IC5zbGlkZXItbnVtIC5zbGlkZXIgLnNsaWRlLS1jdXJyZW50IC5udW0ge1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogI2JjMjA0YSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5tZW51LW9wZW4ge1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1lbnUtb3BlbiAuaGFtYnVyZ2VyIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzIwNGE7IH1cblxuLmhlYWRlciB7XG4gIHBhZGRpbmctdG9wOiA0MHB4OyB9XG4gIC5oZWFkZXJfX2NlbnRlciB7XG4gICAgbWF4LXdpZHRoOiAxODAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmhlYWRlcl9fY2VudGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudDsgfSB9XG4gICAgLmhlYWRlcl9fY2VudGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICAuaGVhZGVyX19jZW50ZXIgLm1haW5NZW51X19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuaGVhZGVyX19jZW50ZXIgbmF2IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuaGVhZGVyX19jZW50ZXIgbmF2IHVsICNtZW51LWl0ZW0tMTkge1xuICAgICAgICBtYXgtd2lkdGg6IDgycHg7IH1cbiAgICAgIC5oZWFkZXJfX2NlbnRlciBuYXYgdWwgI21lbnUtaXRlbS0xNyB7XG4gICAgICAgIG1heC13aWR0aDogODJweDsgfVxuICAgICAgLmhlYWRlcl9fY2VudGVyIG5hdiB1bCBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDE3MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgICAgICAgIC5oZWFkZXJfX2NlbnRlciBuYXYgdWwgbGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9IH1cbiAgICAgICAgLmhlYWRlcl9fY2VudGVyIG5hdiB1bCBsaTpob3ZlciAuanMtY2lyY2xlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgLmhlYWRlcl9fY2VudGVyIG5hdiB1bCBsaTpob3ZlciAuanMtY2lyY2xlIC5jaXJjbGUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgLmhlYWRlcl9fY2VudGVyIG5hdiB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEzNTBweCkge1xuICAgICAgICAgIC5oZWFkZXJfX2NlbnRlciBuYXYgdWwgbGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9IH1cbiAgICAgICAgLmhlYWRlcl9fY2VudGVyIG5hdiB1bCBsaSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7IH1cbiAgICAgICAgICAuaGVhZGVyX19jZW50ZXIgbmF2IHVsIGxpIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNiYzIwNGE7IH1cbiAgICAuaGVhZGVyX19jZW50ZXIgbmF2IC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjYmMyMDRhOyB9XG4gIC5oZWFkZXJfX2xvZ29fX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyOThweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xvZ28uc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaGVhZGVyX19sb2dvX19saW5rIHtcbiAgICAgICAgd2lkdGg6IDIxMnB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMzc1cHgpIHtcbiAgICAgIC5oZWFkZXJfX2xvZ29fX2xpbmsge1xuICAgICAgICB3aWR0aDogMjEycHg7IH0gfVxuICAuaGVhZGVyX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5oZWFkZXJfX3NvY2lhbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgICAgLmhlYWRlcl9fc29jaWFsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgICAgLmhlYWRlcl9fc29jaWFsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLmhlYWRlcl9fc29jaWFsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmhlYWRlcl9fc29jaWFsIGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAuaGVhZGVyX19zb2NpYWwgYTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICAuaGVhZGVyX19jb250YWN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5oZWFkZXJfX2NvbnRhY3Qge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXJfX2NvbnRhY3QgYSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyYjFlMjI7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmhlYWRlcl9fY29udGFjdCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmMyMDRhICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmMyMDRhOyB9XG4gIC5oZWFkZXIgLm1lbnUtb3BlbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiA5OTk5OTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MywgMjM0LCAyMzIsIDAuOSk7IH1cbiAgLmhlYWRlcl9fbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MywgMjM0LCAyMzIsIDAuOSk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmhlYWRlcl9fbW9iaWxlIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAuaGVhZGVyX19tb2JpbGUgdWwgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5oZWFkZXJfX21vYmlsZSB1bCBsaSBhIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgY29sb3I6ICNiYzIwNGE7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHggIWltcG9ydGFudDsgfVxuICAgIC5oZWFkZXJfX21vYmlsZSAuYnRuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzIwNGE7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYzIwNGE7XG4gICAgICBmb250LXNpemU6IDIycHg7IH1cbiAgICAuaGVhZGVyX19tb2JpbGVfX3NvY2lhbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgICAuaGVhZGVyX19tb2JpbGVfX3NvY2lhbCBhIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBjb2xvcjogI2JjMjA0YTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAgIC5oZWFkZXJfX21vYmlsZV9fc29jaWFsIGE6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5oZWFkZXJfX2hhbWJ1cmdlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiA5OTk5OTk5OTk7IH1cbiAgICAuaGVhZGVyX19oYW1idXJnZXIgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmMyMDRhO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgICAgLmhlYWRlcl9faGFtYnVyZ2VyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ubWVudS1pdGVtOmhvdmVyIC5qcy1jaXJjbGUge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oYW1idXJnZXIgLmxpbmUge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYzIwNGE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDhweCBhdXRvO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7IH1cblxuLmhhbWJ1cmdlcjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKiBPTkUgKi9cbiNoYW1idXJnZXItMS5pcy1hY3RpdmUgLmxpbmU6bnRoLWNoaWxkKDIpIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4jaGFtYnVyZ2VyLTEuaXMtYWN0aXZlIC5saW5lOm50aC1jaGlsZCgxKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEzcHgpIHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTNweCkgcm90YXRlKDQ1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEzcHgpIHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxM3B4KSByb3RhdGUoNDVkZWcpOyB9XG5cbiNoYW1idXJnZXItMS5pcy1hY3RpdmUgLmxpbmU6bnRoLWNoaWxkKDMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzcHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xM3B4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xM3B4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xM3B4KSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4uZm9vdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDE0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwcHg7IH0gfVxuICAuZm9vdGVyIC5jZW50ZXIge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9XG4gICAgLmZvb3RlciAuY2VudGVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtIDE2MHB4KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxZTIyOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5mb290ZXJfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuICAuZm9vdGVyX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLmZvb3Rlcl9fY29udGVudCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5mb290ZXJfX2NvbnRlbnRfX3JpZ2h0IHtcbiAgICAgIHdpZHRoOiA1NiU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAuZm9vdGVyX19jb250ZW50X19yaWdodCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAuZm9vdGVyX19jb250ZW50IGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAuZm9vdGVyX19jb250ZW50IGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAuZm9vdGVyX19jb250ZW50X19zb2NpYWwgYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBjb2xvcjogI2JjMjA0YSAhaW1wb3J0YW50OyB9XG4gICAgICAuZm9vdGVyX19jb250ZW50X19zb2NpYWwgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMmIxZTIyICFpbXBvcnRhbnQ7IH1cbiAgLmZvb3Rlcl9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLmZvb3Rlcl9fZm9vdGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgLmZvb3Rlcl9fZm9vdGVyIC5tZW51LXNlY29uZGFyeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAuZm9vdGVyX19mb290ZXIgLm1lbnUtc2Vjb25kYXJ5IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIC5mb290ZXJfX2Zvb3RlciAubWVudS1zZWNvbmRhcnkgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgLmZvb3Rlcl9fZm9vdGVyIC5tZW51LXNlY29uZGFyeSBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICAgICAgLmZvb3Rlcl9fZm9vdGVyIC5tZW51LXNlY29uZGFyeSBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgLmZvb3Rlcl9fY29weXJpZ2h0IHNtYWxsIHtcbiAgICAgIGZvbnQtc3R5bGU6IDE0cHg7XG4gICAgICBjb2xvcjogcmdiYSg0MywgMzAsIDM0LCAwLjUpOyB9XG4gIC5mb290ZXJfX2xpbmsge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuZm9vdGVyX19saW5rIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuZm9vdGVyX19saW5rIHVsIGxpIHtcbiAgICAgICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDsgfVxuICAuZm9vdGVyX19tb3JlaW5mbyB1bCBsaSB7XG4gICAgbWluLWhlaWdodDogNDBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAuZm9vdGVyX19yZ3BkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdhbGVyeSB7XG4gIHBhZGRpbmctdG9wOiAyMDBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAuZ2FsZXJ5IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDcwcHg7IH0gfVxuICAuZ2FsZXJ5IC5ibHVlLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAuZ2FsZXJ5X19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMzBweCkge1xuICAgICAgLmdhbGVyeV9fY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5nYWxlcnlfX3JpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiAxNDVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTMwcHgpIHtcbiAgICAgIC5nYWxlcnlfX3JpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5nYWxlcnkgLnNpbmdsZS1jYXJkIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZ2FsZXJ5IC5zaW5nbGUtY2FyZDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDc3Ljk2NjElOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMzBweCkge1xuICAgICAgLmdhbGVyeSAuc2luZ2xlLWNhcmQge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuICAgICAgICAuZ2FsZXJ5IC5zaW5nbGUtY2FyZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIC5nYWxlcnkgLnNpbmdsZS1jYXJkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIC5nYWxlcnkgLnNpbmdsZS1jYXJkIGEge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmdhbGVyeSAuc2luZ2xlLWNhcmQgYTpob3ZlciAucm91bmQtbGluayB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gICAgICAgICAgLmdhbGVyeSAuc2luZ2xlLWNhcmQgYTpob3ZlciAucm91bmQtbGluayB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwOyB9IH1cbiAgICAgIC5nYWxlcnkgLnNpbmdsZS1jYXJkIGE6aG92ZXIgcCB7XG4gICAgICAgIGNvbG9yOiAjMmIxZTIyOyB9XG4gICAgICAuZ2FsZXJ5IC5zaW5nbGUtY2FyZCBhIC5yb3VuZC1saW5rIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICAgICAgICB3aWR0aDogNjBweDsgfVxuICAgICAgICAuZ2FsZXJ5IC5zaW5nbGUtY2FyZCBhIC5yb3VuZC1saW5rOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAuZ2FsZXJ5IC5zaW5nbGUtY2FyZCBhIC5yb3VuZC1saW5rOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JjMjA0YTsgfVxuICAgICAgLmdhbGVyeSAuc2luZ2xlLWNhcmQgYSBoMyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICBsZWZ0OiAtMzBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgIC5nYWxlcnkgLnNpbmdsZS1jYXJkIGEgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IC0xMHB4OyB9IH1cbiAgICAgICAgLmdhbGVyeSAuc2luZ2xlLWNhcmQgYSBoMzo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogLTMwcHg7XG4gICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxZTIyOyB9XG4gICAgICAuZ2FsZXJ5IC5zaW5nbGUtY2FyZCBhIC5zdWJ0aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtODBweDtcbiAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzJiMWUyMjsgfVxuICAgICAgICAuZ2FsZXJ5IC5zaW5nbGUtY2FyZCBhIC5zdWJ0aXRsZTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMyYjFlMjI7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgLmdhbGVyeSAuc2luZ2xlLWNhcmQgYSAuc3VidGl0bGUge1xuICAgICAgICAgICAgYm90dG9tOiAtOTRweDsgfSB9XG5cbi5sYXRlc3QtbmV3cyAuc2xpZGVyX19uZXdzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5sYXRlc3QtbmV3cyAuc2xpZGVyX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cbiAgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX3RpdGxlIGgzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmRzIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQgcCB7XG4gICAgY29sb3I6ICMyYjFlMjIgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsgfVxuICAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZCAubGluayBwIHtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OyB9XG4gIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkOmhvdmVyIHAge1xuICAgIGNvbG9yOiAjMmIxZTIyICFpbXBvcnRhbnQ7IH1cbiAgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQ6aG92ZXIgLmxpbmsgcCB7XG4gICAgY29sb3I6ICNiYzIwNGEgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweCAhaW1wb3J0YW50OyB9XG4gIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkOmhvdmVyIC5saW5rIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzIwNGE7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XG4gIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIC5pbWdDb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgICAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZCAuaW1nQ29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogNjglOyB9XG4gIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIC5kZXNjIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMmIxZTIyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQgLmRlc2MgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNDAwcHggIWltcG9ydGFudDsgfVxuICAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZCAubGluayBwIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIC5saW5rIHA6aG92ZXIgc3BhbiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzIwNGE7IH1cbiAgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQgLmxpbmsgc3BhbiB7XG4gICAgY29sb3I6ICNiYzIwNGE7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlYWU4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgICAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZCAubGluayBzcGFuOjpiZWZvcmUge1xuICAgICAgbWFyZ2luLXRvcDogLTRweDsgfVxuXG4jaG9tZSAubGF0ZXN0LW5ld3Mge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gICNob21lIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICNob21lIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDsgfSB9XG5cbiNob21lIHZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbiNob21lIC52aXNpb24ge1xuICBwYWRkaW5nLXRvcDogMjQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAjaG9tZSAudmlzaW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDkwcHgpIHtcbiAgICAjaG9tZSAudmlzaW9uX19jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7IH0gfVxuICAjaG9tZSAudmlzaW9uX19jb250YWluZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDgwcHgpO1xuICAgIHdpZHRoOiA1MDAwcHg7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlYWU4O1xuICAgIHotaW5kZXg6IC0xOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgICAgI2hvbWUgLnZpc2lvbl9fY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgICByaWdodDogLTUwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9IH1cbiAgI2hvbWUgLnZpc2lvbiAuaW1nQ29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDsgfVxuICAjaG9tZSAudmlzaW9uIC5yb3VuZC1saW5rOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OyB9XG4gICNob21lIC52aXNpb24gLnJvdW5kLWxpbms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmMyMDRhICFpbXBvcnRhbnQ7IH1cbiAgI2hvbWUgLnZpc2lvbiAucm91bmQtbGluazo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7IH1cblxuLmVycm9yNDA0IC5mb290ZXIsIC5lcnJvcjQwNCAuaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZXJyb3I0MDQgLmVycm9yNDA0X19ncm91cCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5lcnJvcjQwNCAubWFpblRpdGxlX19maXJzdCB7XG4gIGZvbnQtZmFtaWx5OiBzb2xlaWwsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMjU4NmI3O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTFlbTtcbiAgbGVmdDogMS41ZW07XG4gIGZvbnQtc2l6ZTogMS41ZW07IH1cblxuLmVycm9yNDA0IC5tYWluVGl0bGVfX3NlY29uZCB7XG4gIGZvbnQtZmFtaWx5OiBzb2xlaWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjYmMyMDRhO1xuICBsaW5lLWhlaWdodDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmVycm9yNDA0IC5tYWluVGl0bGVfX3NlY29uZCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluayB7XG4gIGZvbnQtc2l6ZTogMS4yZW07IH1cblxuI2Fib3V0IC5jdXJzb3JDaXJjbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMTAwcHggMCAwIC0xMDBweDtcbiAgYmFja2dyb3VuZDogI2JjMjA0YTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHotaW5kZXg6IDIwO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDFzIGVhc2UtaW4tb3V0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cbiAgI2Fib3V0IC5jdXJzb3JDaXJjbGUgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgI2Fib3V0IC5jdXJzb3JDaXJjbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNhYm91dCAudGltZWxpbmUge1xuICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gICNhYm91dCAudGltZWxpbmUgLnNsaWNrLW5leHQge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKDkwdncgLSAxMHB4KTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAjYWJvdXQgLnRpbWVsaW5lIC5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICNhYm91dCAudGltZWxpbmUgLmNlbnRlciBoMiB7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7IH1cbiAgI2Fib3V0IC50aW1lbGluZSAuY2VudGVyIC5zdWJ0aXRsZSB7XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsgfVxuICAjYWJvdXQgLnRpbWVsaW5lIC5zbGljay1saXN0IHtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDsgfVxuICAjYWJvdXQgLnRpbWVsaW5lIC5zbGljay10cmFjayB7XG4gICAgY3Vyc29yOiBncmFiOyB9XG4gICNhYm91dCAudGltZWxpbmVfX2xpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNhYm91dCAudGltZWxpbmVfX2xpc3QgLnJvdW5kLWxpbmsge1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICNhYm91dCAudGltZWxpbmVfX2xpc3QgLnJvdW5kLWxpbms6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNhYm91dCAudGltZWxpbmVfX2xpc3QgLnJvdW5kLWxpbms6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JjMjA0YTsgfVxuICAgICNhYm91dCAudGltZWxpbmVfX2xpc3Q6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxZTIyO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICNhYm91dCAudGltZWxpbmVfX2xpc3Q6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IHVybCguLi9pbWcvYXJyb3ctdGltZWxpbmUuc3ZnKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgKyA3cHgpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKSB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICBsZWZ0OiA5MHZ3O1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHotaW5kZXg6IDExOyB9XG4gICAgI2Fib3V0IC50aW1lbGluZV9fbGlzdCAuaGlnaGxpZ2h0IC5idWJibGUge1xuICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtNzBweDtcbiAgICAgIHRvcDogLTkwcHg7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgICNhYm91dCAudGltZWxpbmVfX2xpc3QgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICAjYWJvdXQgLnRpbWVsaW5lX19saXN0IGxpOm50aC1jaGlsZCgybikge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICAjYWJvdXQgLnRpbWVsaW5lX19saXN0IGxpIC5tb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgY29sb3I6ICNiYzIwNGE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICNhYm91dCAudGltZWxpbmVfX2xpc3QgbGkgLnllYXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtc2l6ZTogOTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDc1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGN1cnNvcjogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FZQUFBQWZGY1NKQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUFaZEVWWWRGTnZablIzWVhKbEFGQmhhVzUwTGs1RlZDQjJNeTQxTGpiUWc2MWFBQUFBRFVsRVFWUVlWMlA0Ly84L0l3QUkvUUwvK1RaWmR3QUFBQUJKUlU1RXJrSmdnZz09XCIpLCB1cmwoaW1hZ2VzL2JsYW5rLmN1ciksIG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvbW9kZWwuanBnKTtcbiAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMTAlIDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgICAgICAgICNhYm91dCAudGltZWxpbmVfX2xpc3QgbGkgLnllYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1NTAwcHggMTAwJTsgfSB9XG4gICAgICAjYWJvdXQgLnRpbWVsaW5lX19saXN0IGxpIC50ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA5MHB4O1xuICAgICAgICBjdXJzb3I6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBWUFBQUFmRmNTSkFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFBWmRFVllkRk52Wm5SM1lYSmxBRkJoYVc1MExrNUZWQ0IyTXk0MUxqYlFnNjFhQUFBQURVbEVRVlFZVjJQNC8vOC9Jd0FJL1FMLytUWlpkd0FBQUFCSlJVNUVya0pnZ2c9PVwiKSwgdXJsKGltYWdlcy9ibGFuay5jdXIpLCBub25lO1xuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogIzJiMWUyMjsgfVxuXG4jYWJvdXQgLmlkZW50aXR5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxNjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAjYWJvdXQgLmlkZW50aXR5IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgI2Fib3V0IC5pZGVudGl0eTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDUwMDBweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7XG4gICAgei1pbmRleDogLTE7IH1cbiAgI2Fib3V0IC5pZGVudGl0eSAubW9kYWxfcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgI2Fib3V0IC5pZGVudGl0eSAubW9kYWxfcmlnaHQgdWwge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAgICNhYm91dCAuaWRlbnRpdHkgLm1vZGFsX3JpZ2h0IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICNhYm91dCAuaWRlbnRpdHkgLmltZ0NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbiNhYm91dCAudmlzaW9uUmV2ZXJzZV9fbGVmdCAuaDIge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjYWJvdXQgLnZpc2lvblJldmVyc2VfX2xlZnQgLmgyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogNjMwcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJiMWUyMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMzBweDtcbiAgICByaWdodDogY2FsYygxMDAlIC0gMTAwcHgpOyB9XG5cbiNhYm91dCAudmlzaW9uUmV2ZXJzZV9fcmlnaHRfX3RpdGxlIHtcbiAgbWF4LXdpZHRoOiA2MDBweDsgfVxuXG4jYWJvdXQgLnZpc2lvblJldmVyc2VfX3JpZ2h0IC50aXRsZSB7XG4gIGJvcmRlci13aWR0aDogMC4yOWVtIDA7IH1cbiAgI2Fib3V0IC52aXNpb25SZXZlcnNlX19yaWdodCAudGl0bGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiNhYm91dCAudmlzaW9uUmV2ZXJzZSAudmlkZW8tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAxMTRweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSg1MCUpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICNhYm91dCAudmlzaW9uUmV2ZXJzZSAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4jYWJvdXQgLnZpc2lvblJldmVyc2UgLnBsYXllciB7XG4gIHdpZHRoOiA0MDBweDtcbiAgaGVpZ2h0OiAzMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICNhYm91dCAudmlzaW9uUmV2ZXJzZSAucGxheWVyIC5tZWRpYS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAjYWJvdXQgLnZpc2lvblJldmVyc2UgLnBsYXllciAubWVkaWEtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNhYm91dCAuaW5ub3ZhdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLWJvdHRvbTogMTYwcHg7IH1cbiAgI2Fib3V0IC5pbm5vdmF0aW9uIC5jZW50ZXIge1xuICAgIG1heC13aWR0aDogMTE1MHB4OyB9XG4gICNhYm91dCAuaW5ub3ZhdGlvbiBoMyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNhYm91dCAuaW5ub3ZhdGlvbiAuaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjYWJvdXQgLmlubm92YXRpb24gLmNoYXJ0ICNjaGFydDEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyNTg2Yjc7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAjYWJvdXQgLmlubm92YXRpb24gLmNoYXJ0ICNjaGFydDIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyNTg2Yjc7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAjYWJvdXQgLmlubm92YXRpb24gLmNoYXJ0X19jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAjYWJvdXQgLmlubm92YXRpb24gLmNoYXJ0X19jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgI2Fib3V0IC5pbm5vdmF0aW9uIC5jaGFydF9fY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsgfSB9XG4gICNhYm91dCAuaW5ub3ZhdGlvbiAuY2hhcnRfX3NpbmdsZSB7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgICAgI2Fib3V0IC5pbm5vdmF0aW9uIC5jaGFydF9fc2luZ2xlIHtcbiAgICAgICAgd2lkdGg6IDQ5JTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAjYWJvdXQgLmlubm92YXRpb24gLmNoYXJ0X19zaW5nbGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAgICAgICAjYWJvdXQgLmlubm92YXRpb24gLmNoYXJ0X19zaW5nbGU6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgI2Fib3V0IC5pbm5vdmF0aW9uIC5jaGFydF9fc2luZ2xlIC5oMiB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiA0NHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAjYWJvdXQgLmlubm92YXRpb24gLmNoYXJ0X19zaW5nbGUgLmgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH0gfVxuICAgICNhYm91dCAuaW5ub3ZhdGlvbiAuY2hhcnRfX3NpbmdsZSBzbWFsbCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6IHJnYmEoNDMsIDMwLCAzNCwgMC41KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjQzcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNhYm91dCAuaW5ub3ZhdGlvbiAuY2hhcnRfX3NpbmdsZSBzbWFsbDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiMWUyMjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgICNhYm91dCAuaW5ub3ZhdGlvbiAuY2hhcnRfX3NpbmdsZSAubGluayB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNhYm91dCAuYnVzaW5lc3Mge1xuICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICNhYm91dCAuYnVzaW5lc3Mge1xuICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICNhYm91dCAuYnVzaW5lc3MgLmNlbnRlciB7XG4gICAgICBvdmVyZmxvdzogYXV0bzsgfSB9XG4gICNhYm91dCAuYnVzaW5lc3NfX3RpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDEwMDBweDsgfVxuICAgICNhYm91dCAuYnVzaW5lc3NfX3RpdGxlIC5oMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgI2Fib3V0IC5idXNpbmVzc19fdGl0bGUgcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NTBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICNhYm91dCAuYnVzaW5lc3NfX3RpdGxlIHAge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAjYWJvdXQgLmJ1c2luZXNzIC5zdmctYnVzaW5lc3Mge1xuICAgIG1hcmdpbi10b3A6IC0xNTBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgI2Fib3V0IC5idXNpbmVzcyAuc3ZnLWJ1c2luZXNzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgICAgI2Fib3V0IC5idXNpbmVzcyAuc3ZnLWJ1c2luZXNzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG4gICNhYm91dCAuYnVzaW5lc3MgLnN2Zy1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICNhYm91dCAuYnVzaW5lc3MgLnN2Zy1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgbWFyZ2luOiA1MHB4IGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDkwcHgpIHtcbiAgICAgICNhYm91dCAuYnVzaW5lc3MgLnN2Zy1tb2JpbGUge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cblxuI2Fib3V0IC50ZWNobm9sb2d5X19jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgI2Fib3V0IC50ZWNobm9sb2d5X19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gICNhYm91dCAudGVjaG5vbG9neV9fY29udGVudCB1bCB7XG4gICAgcGFkZGluZzogMCAzMHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTEwcHgpIHtcbiAgI2Fib3V0IC50ZWNobm9sb2d5X19zaW5nbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTExMHB4KSB7XG4gICNhYm91dCAudGVjaG5vbG9neV9fc2luZ2xlIGgzIHtcbiAgICBtYXgtd2lkdGg6IDIyMHB4OyB9IH1cblxuI2Fib3V0IC50ZWNobm9sb2d5X19zaW5nbGU6bnRoLWNoaWxkKDMpIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4jYWJvdXQgLnRlY2hub2xvZ3lfX3NpbmdsZTpudGgtY2hpbGQoNykge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbiNhYm91dCAudGVjaG5vbG9neV9fc2luZ2xlOm50aC1jaGlsZCgybikge1xuICBtYXJnaW4tdG9wOiAtMTQwcHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExMTBweCkge1xuICAjYWJvdXQgLnRlY2hub2xvZ3lfX3NpbmdsZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExMTBweCkge1xuICAjYWJvdXQgLnRlY2hub2xvZ3lfX3NpbmdsZSAuY29udGFpbmVyIHtcbiAgICB0b3A6IDM1MHB4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI2Fib3V0IC50ZWNobm9sb2d5X19zaW5nbGUgLmNvbnRhaW5lciBsaSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAgICNhYm91dCAudGVjaG5vbG9neV9fc2luZ2xlIC5jb250YWluZXIgbGkgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG5cbiNsYWJvcmF0b3JpZXMgLnZpc2lvbiB7XG4gIHBhZGRpbmctdG9wOiAyNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICNsYWJvcmF0b3JpZXMgLnZpc2lvbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfSB9XG4gICNsYWJvcmF0b3JpZXMgLnZpc2lvbl9fY29udGFpbmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgI2xhYm9yYXRvcmllcyAudmlzaW9uX19sZWZ0IC5oMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICAjbGFib3JhdG9yaWVzIC52aXNpb25fX2xlZnQgLmgyOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDUwMDBweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgIHJpZ2h0OiA4NSU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxZTIyOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgI2xhYm9yYXRvcmllcyAudmlzaW9uX19sZWZ0IC5oMjo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiA5MCU7XG4gICAgICAgICAgbGVmdDogdW5zZXQ7IH0gfVxuICAjbGFib3JhdG9yaWVzIC52aXNpb25fX3JpZ2h0IHtcbiAgICBib3R0b206IHVuc2V0O1xuICAgIGhlaWdodDogNzUlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAjbGFib3JhdG9yaWVzIC52aXNpb25fX3JpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDsgfSB9XG4gICAgI2xhYm9yYXRvcmllcyAudmlzaW9uX19yaWdodCAuaW1nQ29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0OyB9XG4gICNsYWJvcmF0b3JpZXMgLnZpc2lvbiAucm91bmQtbGluayB7XG4gICAgei1pbmRleDogLTE7IH1cbiAgICAjbGFib3JhdG9yaWVzIC52aXNpb24gLnJvdW5kLWxpbms6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI2xhYm9yYXRvcmllcyAudmlzaW9uIC5yb3VuZC1saW5rOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlYWU4OyB9XG4gICAgI2xhYm9yYXRvcmllcyAudmlzaW9uIC5yb3VuZC1saW5rOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmMyMDRhOyB9XG5cbiNsYWJvcmF0b3JpZXMgLnByb2R1Y3RzIHtcbiAgbWFyZ2luLXRvcDogMjAwcHg7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgI2xhYm9yYXRvcmllcyAucHJvZHVjdHMge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTBweDsgfSB9XG4gICNsYWJvcmF0b3JpZXMgLnByb2R1Y3RzIC5jZW50ZXIgLmJsdWUtdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjbGFib3JhdG9yaWVzIC5wcm9kdWN0cyAuY2VudGVyIGgyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDEwNjJweDsgfVxuXG4jbGFib3JhdG9yaWVzIC5zbGljay10cmFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4jbGFib3JhdG9yaWVzIC5zbGlkZXItbnVtIC50ZXh0LXdpZHRoIHtcbiAgaGVpZ2h0OiAyMjBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgI2xhYm9yYXRvcmllcyAuc2xpZGVyLW51bSAudGV4dC13aWR0aCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuXG4jbGFib3JhdG9yaWVzIC5zbGlkZXItbnVtIC5udW0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbiNsYWJvcmF0b3JpZXMgLnNsaWRlci1udW0gLmRvdCB7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cblxuI2xhYm9yYXRvcmllcyAuc2xpZGVyLW51bSAuYXJyb3cge1xuICB0b3A6IGNhbGMoNTAlICsgMTI4cHgpOyB9XG5cbiNsYWJvcmF0b3JpZXMgLnd5c2l3eWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7IH1cbiAgI2xhYm9yYXRvcmllcyAud3lzaXd5ZyB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgI2xhYm9yYXRvcmllcyAud3lzaXd5ZyB1bCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbiNsYWJvcmF0b3JpZXMgLmFzc2V0cyAuYmx1ZS10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jbGFib3JhdG9yaWVzIC5hc3NldHMgLmFzc2V0c19fbGlzdCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgI2xhYm9yYXRvcmllcyAuYXNzZXRzIC5hc3NldHNfX2xpc3Qge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAjbGFib3JhdG9yaWVzIC5hc3NldHMgLmFzc2V0c19fbGlzdCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogNDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICNsYWJvcmF0b3JpZXMgLmFzc2V0cyAuYXNzZXRzX19saXN0IGxpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgI2xhYm9yYXRvcmllcyAuYXNzZXRzIC5hc3NldHNfX2xpc3QgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG5cbiNjb25zdW1lciAudmlzaW9uIHtcbiAgcGFkZGluZy10b3A6IDIwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjQwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgI2NvbnN1bWVyIC52aXNpb24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE0MHB4OyB9IH1cbiAgI2NvbnN1bWVyIC52aXNpb25fX2NvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICNjb25zdW1lciAudmlzaW9uX19sZWZ0IC5oMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI2NvbnN1bWVyIC52aXNpb25fX2xlZnQgLmgyOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDUwMDBweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgIHJpZ2h0OiA4NSU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxZTIyOyB9XG4gICNjb25zdW1lciAudmlzaW9uIC5yb3VuZC1saW5rOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2NvbnN1bWVyIC52aXNpb24gLnJvdW5kLWxpbms6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlYWU4OyB9XG4gICNjb25zdW1lciAudmlzaW9uIC5yb3VuZC1saW5rOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JjMjA0YTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgI2NvbnN1bWVyIC52aXNpb24gLmJ1YmJsZS1jb250YWluZXIge1xuICAgICAgdG9wOiAyMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cblxuI2NvbnN1bWVyIC5hc3NldHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlYWU4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAjY29uc3VtZXIgLmFzc2V0c19fbGlzdCB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAjY29uc3VtZXIgLmFzc2V0c19fbGlzdCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgI2NvbnN1bWVyIC5hc3NldHNfX2xpc3Q6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjY29uc3VtZXIgLmFzc2V0c19fbGlzdDo6YmVmb3JlIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgKyAxMjBweCk7IH1cbiAgICAjY29uc3VtZXIgLmFzc2V0c19fbGlzdCBsaSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNjb25zdW1lciAuYXNzZXRzX19saXN0IGxpOm50aC1jaGlsZCgybikge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICNjb25zdW1lciAuYXNzZXRzIC5waWN0byB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgI2NvbnN1bWVyIC5hc3NldHMgLnBpY3RvOjpiZWZvcmUge1xuICAgICAgei1pbmRleDogMDsgfVxuICAjY29uc3VtZXIgLmFzc2V0cyAudGl0bGUgc3BhbiB7XG4gICAgei1pbmRleDogMzsgfVxuXG4jY29uc3VtZXIgLnRlY2hub2xvZ3kge1xuICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICNjb25zdW1lciAudGVjaG5vbG9neV9fc2luZ2xlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICNjb25zdW1lciAudGVjaG5vbG9neSAuYmx1ZS10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNjb25zdW1lciAudGVjaG5vbG9neSAuY2VudGVyIC5oMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogODMwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuI2NvbnN1bWVyIC5tb2RhbF9yaWdodCAuaDIgc21hbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjJweDsgfVxuXG4jY29uc3VtZXIgLm1vZGFsX2ltZ2NvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuI2NvbnN1bWVyIC5tb2RhbF9sb2dvIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4jdGVhbSAuYnViYmxlLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTsgfVxuICAjdGVhbSAuYnViYmxlLWNvbnRhaW5lciAuYnViYmxlLXRleHQge1xuICAgIGJvdHRvbTogMTIwcHg7XG4gICAgdG9wOiBpbmhlcml0OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAjdGVhbSAuYnViYmxlLWNvbnRhaW5lciAuYnViYmxlLXRleHQge1xuICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICBsZWZ0OiAtMTBweDsgfSB9XG5cbiN0ZWFtIC5wYWdlSGVhZF9fcmlnaHQge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiN0ZWFtIC5zbGlkZXJfaGVhZGVyIC5zbGljay1saXN0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4jdGVhbSAuc2xpZGVyX2hlYWRlciAuc2xpY2stdHJhY2sge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI3RlYW0gLnNsaWRlcl9oZWFkZXIgLnNsaWNrLXRyYWNrIC5pbWdDb250YWluZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAhaW1wb3J0YW50OyB9XG5cbiN0ZWFtIC5pZGVudGl0eSAud3lzaXd5ZyB1bCB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgI3RlYW0gLmlkZW50aXR5IC53eXNpd3lnIHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbiN0ZWFtIC5pZGVudGl0eSAuY29udGVudF9fdGV4dCB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAjdGVhbSAuaWRlbnRpdHkgLmNvbnRlbnRfX3RleHQge1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cblxuI3RlYW0gLnZpc2lvbiB7XG4gIHBhZGRpbmctdG9wOiAyNDBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAjdGVhbSAudmlzaW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4OyB9IH1cbiAgI3RlYW0gLnZpc2lvbiAuaW1nQ29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDsgfVxuXG4jdGVhbSAudmlzaW9uX19jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyNDBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAjdGVhbSAudmlzaW9uX19jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9IH1cbiAgI3RlYW0gLnZpc2lvbl9fY29udGFpbmVyOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI3RlYW0gLnZpc2lvbl9fcmlnaHQge1xuICBib3R0b206IHVuc2V0OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICN0ZWFtIC52aXNpb25fX3JpZ2h0IHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7IH0gfVxuXG4jdGVhbSAudmlzaW9uX19sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICN0ZWFtIC52aXNpb25fX2xlZnQgLmgyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjdGVhbSAudmlzaW9uX19sZWZ0IC5oMjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxMDAwcHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICByaWdodDogODUlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiMWUyMjsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICN0ZWFtIC52aXNpb25fX2xlZnQgLmgyOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDkwJTtcbiAgICAgICAgICBsZWZ0OiB1bnNldDsgfSB9XG4gICN0ZWFtIC52aXNpb25fX2xlZnQgLnd5c2l3eWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxNTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG4gICAgI3RlYW0gLnZpc2lvbl9fbGVmdCAud3lzaXd5ZyB1bCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICN0ZWFtIC52aXNpb25fX2xlZnQgLnd5c2l3eWcgdWwgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7IH1cbiAgI3RlYW0gLnZpc2lvbl9fbGVmdCAucm91bmQtbGluayB7XG4gICAgei1pbmRleDogMTsgfVxuICAgICN0ZWFtIC52aXNpb25fX2xlZnQgLnJvdW5kLWxpbms6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3RlYW0gLnZpc2lvbl9fbGVmdCAucm91bmQtbGluazo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWFlODsgfVxuICAgICN0ZWFtIC52aXNpb25fX2xlZnQgLnJvdW5kLWxpbms6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzIwNGE7IH1cblxuI3RlYW0gLmN1bHR1cmUge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDE2MHB4OyB9XG4gICN0ZWFtIC5jdWx0dXJlIC5pbWdDb250YWluZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAjdGVhbSAuY3VsdHVyZSAudmlzaW9uUmV2ZXJzZV9fcmlnaHRfX3RpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4OyB9XG4gICN0ZWFtIC5jdWx0dXJlIC53eXNpd3lnIHVsIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgI3RlYW0gLmN1bHR1cmUgLnd5c2l3eWcgdWwgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgICAgI3RlYW0gLmN1bHR1cmUgLnd5c2l3eWcgdWwgbGk6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogOXB4OyB9XG5cbiN0ZWFtIC5hc3NldHMge1xuICBwYWRkaW5nLWJvdHRvbTogMHB4OyB9XG4gICN0ZWFtIC5hc3NldHMgLmJsdWUtdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgI3RlYW0gLmFzc2V0cyAuaDIge1xuICAgIG1heC13aWR0aDogMTA0MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgI3RlYW0gLmFzc2V0cyAucGljdG8ge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC1zaXplOiA2NnB4O1xuICAgIGNvbG9yOiAjMjU4NmI3O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAjdGVhbSAuYXNzZXRzX19zZWN0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICAgICN0ZWFtIC5hc3NldHNfX3NlY3RvciBsaSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAjdGVhbSAuYXNzZXRzX19zZWN0b3IgbGkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuICAgICAgI3RlYW0gLmFzc2V0c19fc2VjdG9yIGxpIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgICAgICAjdGVhbSAuYXNzZXRzX19zZWN0b3IgbGkgaDMgc21hbGwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNTAlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgICAjdGVhbSAuYXNzZXRzX19zZWN0b3IgbGkgLm9mZmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIGNvbG9yOiAjYmMyMDRhO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgICAgICAgI3RlYW0gLmFzc2V0c19fc2VjdG9yIGxpIC5vZmZpY2U6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxZTIyO1xuICAgICAgICAgIGJvdHRvbTogLTE1cHg7IH1cblxuI3RlYW0gLnRlYW1zIHtcbiAgbWFyZ2luLXRvcDogMjAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWFlODsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAjdGVhbSAudGVhbXMge1xuICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7IH0gfVxuICAjdGVhbSAudGVhbXMgLmN1cnNvci1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgI3RlYW0gLnRlYW1zIC5jdXJzb3Itc2xpZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNsYXRlc3QtbmV3cyAucGFnZUhlYWRfX3JpZ2h0IC5pbWdDb250YWluZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207IH1cblxuI2xhdGVzdC1uZXdzIC5sYXRlc3QtbmV3cyB7XG4gIHBhZGRpbmctdG9wOiAxOTBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAjbGF0ZXN0LW5ld3MgLmxhdGVzdC1uZXdzIHtcbiAgICAgIG1hcmdpbi10b3A6IDI3MHB4OyB9IH1cbiAgI2xhdGVzdC1uZXdzIC5sYXRlc3QtbmV3c19fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgI2xhdGVzdC1uZXdzIC5sYXRlc3QtbmV3c19fbGlzdCBhIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNjBweCkgLyAzKTtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweCAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICNsYXRlc3QtbmV3cyAubGF0ZXN0LW5ld3NfX2xpc3QgYSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMHB4KSAvIDIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAjbGF0ZXN0LW5ld3MgLmxhdGVzdC1uZXdzX19saXN0IGEge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICNzaW5nbGUgLnd5c2l3eWcge1xuICAgIG1hcmdpbi10b3A6IDIyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEyMHB4OyB9IH1cblxuI3NpbmdsZSAuY29udGVudF9fY29udGFpbmVyIHtcbiAgd2lkdGg6IDgwJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAjc2luZ2xlIC5jb250ZW50X19jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4jc2luZ2xlIC5wYWdlSGVhZF9fcmlnaHQgLmltZ0NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdDsgfVxuXG4jY2FyZWVyIC5wYWdlSGVhZF9fcmlnaHQge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjMwcHgpIHtcbiAgI2NhcmVlciAuaWRlbnRpdHlfX2NvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuI2NhcmVlciAuc2xpZGVyX2hlYWRlciAuc2xpY2stbGlzdCB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuI2NhcmVlciAuc2xpZGVyX2hlYWRlciAuc2xpY2stdHJhY2sge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI2NhcmVlciAuc2xpZGVyX2hlYWRlciAuc2xpY2stdHJhY2sgLmltZ0NvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICFpbXBvcnRhbnQ7IH1cblxuI2NhcmVlciAucGFnZUhlYWQgLmltZ0NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7IH1cblxuI2NhcmVlciAudmlzaW9uUmV2ZXJzZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG4gICNjYXJlZXIgLnZpc2lvblJldmVyc2VfX2NvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiNjYXJlZXIgLnZpc2lvbiAuY29udGVudF9fdGV4dCB1bCB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgI2NhcmVlciAudmlzaW9uIC5jb250ZW50X190ZXh0IHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbiNjYXJlZXIgLnZpc2lvbl9fY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDkwcHgpIHtcbiAgICAjY2FyZWVyIC52aXNpb25fX2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDsgfSB9XG4gICNjYXJlZXIgLnZpc2lvbl9fY29udGFpbmVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogY2FsYyg1MCUgLSA4MHB4KTtcbiAgICB3aWR0aDogNTAwMHB4O1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWFlODtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDkwcHgpIHtcbiAgICAgICNjYXJlZXIgLnZpc2lvbl9fY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgICByaWdodDogaW5oZXJpdDtcbiAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICAgIHRvcDogLTIwcHg7IH0gfVxuXG4jY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19uZXdzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbiNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICAjY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX190aXRsZSBoMyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmRzIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI2NhcmVlciAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAjY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIHAge1xuICAgIGNvbG9yOiAjMmIxZTIyICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAjY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsgfVxuICAjY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIC5saW5rIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIGxldHRlci1zcGFjaW5nOiAycHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7IH1cbiAgI2NhcmVlciAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZDpob3ZlciBwIHtcbiAgICBjb2xvcjogIzJiMWUyMiAhaW1wb3J0YW50OyB9XG4gICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQ6aG92ZXIgLmxpbmsgcCB7XG4gICAgY29sb3I6ICNiYzIwNGEgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweCAhaW1wb3J0YW50OyB9XG4gICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQ6aG92ZXIgLmxpbmsgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JjMjA0YTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsgfVxuICAjY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogNjBweDsgfVxuICAjY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIC5pbWdDb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgICAjY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIC5pbWdDb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiA2OCU7IH1cbiAgI2NhcmVlciAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZCAuZGVzYyB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzJiMWUyMjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQgLmRlc2MgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNDAwcHggIWltcG9ydGFudDsgfVxuICAjY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIC5saW5rIHAge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgI2NhcmVlciAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZCAubGluayBwOmhvdmVyIHNwYW4ge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmMyMDRhOyB9XG4gICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQgLmxpbmsgc3BhbiB7XG4gICAgY29sb3I6ICNiYzIwNGE7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlYWU4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgICAjY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIC5saW5rIHNwYW46OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNHB4OyB9XG5cbiNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX25ld3Mge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuI2NhcmVlciAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX3RpdGxlIGgzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuI2NhcmVlciAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZHMge1xuICB3aWR0aDogMTAwJTsgfVxuXG4jY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQgcCB7XG4gICAgY29sb3I6ICMyYjFlMjIgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OyB9XG4gICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQgLmxpbmsgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsgfVxuICAjY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkOmhvdmVyIHAge1xuICAgIGNvbG9yOiAjMmIxZTIyICFpbXBvcnRhbnQ7IH1cbiAgI2NhcmVlciAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZDpob3ZlciAubGluayBwIHtcbiAgICBjb2xvcjogI2JjMjA0YSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4ICFpbXBvcnRhbnQ7IH1cbiAgI2NhcmVlciAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZDpob3ZlciAubGluayBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmMyMDRhO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyB9XG4gICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XG4gICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQgLmltZ0NvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAgICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQgLmltZ0NvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDY4JTsgfVxuICAjY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIC5kZXNjIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMmIxZTIyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgI2NhcmVlciAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZCAuZGVzYyBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwcHggIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDBweCAhaW1wb3J0YW50OyB9XG4gICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQgLmxpbmsgcCB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAjY2FyZWVyIC5sYXRlc3QtbmV3cyAuc2xpZGVyX19jYXJkIC5saW5rIHA6aG92ZXIgc3BhbiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzIwNGE7IH1cbiAgI2NhcmVlciAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZCAubGluayBzcGFuIHtcbiAgICBjb2xvcjogI2JjMjA0YTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2VhZTg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsgfVxuICAgICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQgLmxpbmsgc3Bhbjo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi10b3A6IC00cHg7IH1cblxuI2NhcmVlciAubGF0ZXN0LW5ld3Mge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gICNjYXJlZXIgLmxhdGVzdC1uZXdzIC5zbGlkZXJfX2NhcmQge1xuICAgIG1heC13aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgI2NhcmVlciAubGF0ZXN0LW5ld3MgLnNsaWRlcl9fY2FyZCB7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4jY29udGFjdCAucGFnZUhlYWRfX2xlZnRfX3RpdGxlIHtcbiAgbWF4LXdpZHRoOiA4NTBweDsgfVxuXG4jY29udGFjdCAjZ21hcHMge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbiNjb250YWN0IC5jb250YWN0IHtcbiAgbWFyZ2luLXRvcDogMjYwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEyMHB4OyB9XG4gICNjb250YWN0IC5jb250YWN0IGE6bm90KC5yb3VuZC1saW5rKSB7XG4gICAgY29sb3I6ICNiYzIwNGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC1mYW1pbHk6IHNvbGVpbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gICAgI2NvbnRhY3QgLmNvbnRhY3QgYTpub3QoLnJvdW5kLWxpbmspOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAjY29udGFjdCAuY29udGFjdCAuYmx1ZS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAjY29udGFjdCAuY29udGFjdF9fY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgI2NvbnRhY3QgLmNvbnRhY3RfX2NvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgI2NvbnRhY3QgLmNvbnRhY3RfX2Zvcm1fX2NvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cbiAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyIC5uZi1maWVsZC1sYWJlbCBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgLm5mLWZpZWxkLWxhYmVsIGxhYmVsIGEge1xuICAgICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDsgfVxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgOjpwbGFjZWhvbGRlciB7XG4gICAgICAvKiBDaHJvbWUsIEZpcmVmb3gsIE9wZXJhLCBTYWZhcmkgMTAuMSsgKi9cbiAgICAgIGNvbG9yOiAjMmIxZTIyO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIC8qIEZpcmVmb3ggKi8gfVxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xuICAgICAgY29sb3I6ICMyYjFlMjI7IH1cbiAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyIDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8qIE1pY3Jvc29mdCBFZGdlICovXG4gICAgICBjb2xvcjogIzJiMWUyMjsgfVxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgLm5mLWVycm9yIC5uaW5qYS1mb3Jtcy1maWVsZCB7XG4gICAgICBib3JkZXItY29sb3I6ICNiYzIwNGEgIWltcG9ydGFudDsgfVxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCA+IGRpdixcbiAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgaW5wdXQ6bm90KFt0eXBlPVwiYnV0dG9uXCJdKSxcbiAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyIC5uZi1mb3JtLWNvbnRlbnQgdGV4dGFyZWEge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjNlYWU4OyB9XG4gICAgI2NvbnRhY3QgLmNvbnRhY3RfX2Zvcm1fX2NvbnRhaW5lciAubmYtZm9ybS1jb250ZW50IC5saXN0LXNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50ID4gZGl2LFxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCBpbnB1dDpub3QoW3R5cGU9XCJidXR0b25cIl0pLFxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgLm5mLWZvcm0tY29udGVudCB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogc29sZWlsLCBzYW5zLXNlcmlmO1xuICAgICAgY29sb3I6ICMyYjFlMjIgIWltcG9ydGFudDsgfVxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgLm5mLWVycm9yIC5uZi1lcnJvci1tc2cge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgLm5mLWZvcm0tZmllbGRzLXJlcXVpcmVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyIC5uaW5qYS1mb3Jtcy1yZXEtc3ltYm9sIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyICNuZi1sYWJlbC1maWVsZC03IC5uaW5qYS1mb3Jtcy1yZXEtc3ltYm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgLm5mLWVycm9yLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQ6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgI25mLWZpZWxkLTQge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgLm5mLXBhc3MuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudDphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI2NvbnRhY3QgLmNvbnRhY3RfX2Zvcm1fX2NvbnRhaW5lciAubmYtZXJyb3ItZmllbGQtZXJyb3JzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4OyB9XG4gICAgI2NvbnRhY3QgLmNvbnRhY3RfX2Zvcm1fX2NvbnRhaW5lciAuY2hlY2tib3gtd3JhcCAubmYtZmllbGQtZWxlbWVudCBsYWJlbC5uZi1jaGVja2VkLWxhYmVsOmJlZm9yZSxcbiAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyIC5jaGVja2JveC13cmFwIC5uZi1maWVsZC1sYWJlbCBsYWJlbC5uZi1jaGVja2VkLWxhYmVsOmJlZm9yZSxcbiAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyIC5saXN0Y2hlY2tib3gtd3JhcCAubmYtZmllbGQtZWxlbWVudCBsYWJlbC5uZi1jaGVja2VkLWxhYmVsOmJlZm9yZSxcbiAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyIC5saXN0Y2hlY2tib3gtd3JhcCAubmYtZmllbGQtbGFiZWwgbGFiZWwubmYtY2hlY2tlZC1sYWJlbDpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiYzIwNGE7IH1cbiAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyIC5jaGVja2JveC13cmFwIC5uZi1maWVsZC1lbGVtZW50IGxhYmVsOmFmdGVyLFxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgLmNoZWNrYm94LXdyYXAgLm5mLWZpZWxkLWxhYmVsIGxhYmVsOmFmdGVyLFxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgLmxpc3RjaGVja2JveC13cmFwIC5uZi1maWVsZC1lbGVtZW50IGxhYmVsOmFmdGVyLFxuICAgICNjb250YWN0IC5jb250YWN0X19mb3JtX19jb250YWluZXIgLmxpc3RjaGVja2JveC13cmFwIC5uZi1maWVsZC1sYWJlbCBsYWJlbDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmM2VhZTg7IH1cbiAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyIC5yb3VuZC1saW5rIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTI1cHg7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyIC5yb3VuZC1saW5rIHtcbiAgICAgICAgICBib3R0b206IDQwcHg7IH0gfVxuICAgICAgI2NvbnRhY3QgLmNvbnRhY3RfX2Zvcm1fX2NvbnRhaW5lciAucm91bmQtbGluazo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI2NvbnRhY3QgLmNvbnRhY3RfX2Zvcm1fX2NvbnRhaW5lciAucm91bmQtbGluazo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlYWU4OyB9XG4gICAgICAjY29udGFjdCAuY29udGFjdF9fZm9ybV9fY29udGFpbmVyIC5yb3VuZC1saW5rOmhvdmVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzIwNGE7IH1cbiAgI2NvbnRhY3QgLmNvbnRhY3RfX2Zvcm1fX2Zvcm0ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgI2NvbnRhY3QgLmNvbnRhY3RfX2Zvcm1fX3RleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XG4gICAgI2NvbnRhY3QgLmNvbnRhY3RfX2Zvcm1fX3RleHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgICByaWdodDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAzMDAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxZTIyOyB9XG4gICNjb250YWN0IC5jb250YWN0X19pbmZvX19jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDkwcHgpOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgI2NvbnRhY3QgLmNvbnRhY3RfX2luZm9fX2NvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI2NvbnRhY3QgLmNvbnRhY3RfX2luZm9fX2ltZyB7XG4gICAgaGVpZ2h0OiAyODBweDsgfVxuICAjY29udGFjdCAuY29udGFjdF9faW5mb19fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMzhweDsgfVxuICAgICNjb250YWN0IC5jb250YWN0X19pbmZvX19jb250ZW50IGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi10b3A6IDBweDsgfVxuICAgICNjb250YWN0IC5jb250YWN0X19pbmZvX19jb250ZW50IHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgICNjb250YWN0IC5jb250YWN0X19pbmZvX19jb250ZW50IHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgI2NvbnRhY3QgLmNvbnRhY3RfX2luZm9fX2NvbnRlbnQgLmNvbnRhY3QtZmF4IHtcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjYuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKlxuICogUGF0aFxuICovXG5cbiRpbWc6IFwiLi4vaW1nL1wiO1xuJGZvbnRzOiBcIi4uL2ZvbnRzL1wiO1xuXG4vKipcbiAqIENvbG9yc1xuICovXG4kY29sb3JfX3doaXRlOiAjZmZmZmZmO1xuJGNvbG9yX19ibGFjazogIzJiMWUyMjtcblxuJGNvbG9yX19wcmltYXJ5OiAjYmMyMDRhO1xuJGNvbG9yX19wcmltYXJ5X19saWdodDogI2YzZWFlODtcblxuJGNvbG9yX19zZWNvbmRhcnk6ICMyNTg2Yjc7XG4kY29sb3JfX3NlY29uZGFyeV9fbGlnaHQ6ICNkM2U3ZjE7XG5cbiRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ6ICNmM2YzZjM7XG4kY29sb3JfX25ldXRyYWw6ICM0OTQ4NGQ7XG4kY29sb3JfX25ldXRyYWwtLWRhcms6ICMyOTI5Mjk7XG5cbiRjb2xvcl9fZmFjZWJvb2s6ICMzYjU5OTg7XG4kY29sb3JfX3R3aXR0ZXI6ICM1NWFjZWU7XG4kY29sb3JfX2xpbmtlZGluOiAjMDA3N2I1O1xuJGNvbG9yX19nb29nbGVwbHVzOiAjZGQ0YjM5O1xuXG4vKipcbiAqIFRleHRcbiAqL1xuXG4kdGV4dF9fZmFtaWx5LXNhbnM6IHNvbGVpbCwgc2Fucy1zZXJpZjtcbiR0ZXh0X19mYW1pbHktc2Fucy0tdGl0bGU6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiR0ZXh0X19jb2xvci0tYmFzZTogJGNvbG9yX19uZXV0cmFsLS1kYXJrO1xuJGJhc2VfX2ZvbnQtc2l6ZTogMTY7XG4kYmFzZV9fbGluZTogMjU7XG5cbi8qKlxuICogUmVzcG9uc2l2ZVxuICovXG5cbiR2aWV3cG9ydDogMTEwMDtcbiR0YWJsZXQ6IDk3MDtcbiRtb2JpbGU6IDYwMDtcblxuLyoqXG4gKiBTdXN5XG4gKi9cblxuJHN1c3k6IChcbiAgY29sdW1uczogMTIsXG4gIGd1dHRlcnM6IDEvMixcbiAgbWF0aDogZmx1aWQsXG4gIG91dHB1dDogZmxvYXQsXG4gIGd1dHRlci1wb3NpdGlvbjogYWZ0ZXIsXG4pO1xuXG4vKipcbiAqIEVhc2luZ1xuICovXG5cbiRsaW5lYXI6IGN1YmljLWJlemllcigwLjI1LCAwLjI1LCAwLjc1LCAwLjc1KTtcbiRlYXNlSW5RdWFkOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpO1xuJGVhc2VJbkN1YmljOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiRlYXNlSW5RdWFydDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4kZWFzZUluUXVpbnQ6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuJGVhc2VJblNpbmU6IGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2VJbkV4cG86IGN1YmljLWJlemllcigwLjk1LCAwLjA1LCAwLjc5NSwgMC4wMzUpO1xuJGVhc2VJbkNpcmM6IGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KTtcbiRlYXNlSW5CYWNrOiBjdWJpYy1iZXppZXIoMC42LCAwLCAwLjczNSwgMC4wNDUpO1xuJGVhc2VPdXRRdWFkOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4kZWFzZU91dEN1YmljOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiRlYXNlT3V0UXVhcnQ6IGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4kZWFzZU91dFF1aW50OiBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG4kZWFzZU91dFNpbmU6IGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xuJGVhc2VPdXRFeHBvOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4kZWFzZU91dENpcmM6IGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuJGVhc2VPdXRCYWNrOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiRlYXNlSW5PdXRRdWFkOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZUluT3V0Q3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiRlYXNlSW5PdXRRdWFydDogY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiRlYXNlSW5PdXRRdWludDogY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xuJGVhc2VJbk91dFNpbmU6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG4kZWFzZUluT3V0RXhwbzogY3ViaWMtYmV6aWVyKDEsIDAsIDAsIDEpO1xuJGVhc2VJbk91dENpcmM6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUsIDAuODYpO1xuJGVhc2VJbk91dEJhY2s6IGN1YmljLWJlemllcigwLjY4LCAwLCAwLjI2NSwgMSk7XG4iLCJAZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IFwib3lzdGVyc2hlbGxcIjtcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL295c3RlcnNoZWxsL295c3RlcnNoZWxsLmVvdCcpO1xuXHRzcmM6IHVybCgnLi4vZm9udHMvb3lzdGVyc2hlbGwvb3lzdGVyc2hlbGwuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW90JyksXG5cdFx0dXJsKCcuLi9mb250cy9veXN0ZXJzaGVsbC9veXN0ZXJzaGVsbC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcblx0XHR1cmwoJy4uL2ZvbnRzL295c3RlcnNoZWxsL295c3RlcnNoZWxsLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL295c3RlcnNoZWxsL295c3RlcnNoZWxsLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL295c3RlcnNoZWxsL295c3RlcnNoZWxsLnN2ZyNveXN0ZXJzaGVsbCcpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbi5pY29uOmJlZm9yZSB7XG5cdGZvbnQtZmFtaWx5OiBcIm95c3RlcnNoZWxsXCI7XG5cdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Lyogc3BlYWs6IG5vbmU7IG9ubHkgbmVjZXNzYXJ5IGlmIG5vdCB1c2luZyB0aGUgcHJpdmF0ZSB1bmljb2RlIHJhbmdlIChmaXJzdEdseXBoIG9wdGlvbikgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuXG4uaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDAxXCI7XG59XG5cbi5pY29uLWFycm93LXVwOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDAyXCI7XG59XG5cbi5pY29uLWFycm93OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDAzXCI7XG59XG5cbi5pY29uLWJlbGdpdW06YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMDRcIjtcbn1cblxuLmljb24tY2xvc2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMDVcIjtcbn1cblxuLmljb24tZmFjZWJvb2s6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMDZcIjtcbn1cblxuLmljb24tZ29vZ2xlcGx1czpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwN1wiO1xufVxuXG4uaWNvbi1ncm91cDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwOFwiO1xufVxuXG4uaWNvbi1saW5rZWRpbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwOVwiO1xufVxuXG4uaWNvbi1tYWlsOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDBBXCI7XG59XG5cbi5pY29uLXBhcnRuZXJzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDBCXCI7XG59XG5cbi5pY29uLXNjaWVuY2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMENcIjtcbn1cblxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwRFwiO1xufVxuXG4uaWNvbi15b3V0dWJlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDBFXCI7XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJrZXlmcmFtZXNcIik7XG5cbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGtleWZyYW1lcyhzaG93VXApIHtcbiAgICAwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoMCwgMTUlKSk7XG5cbiAgICAgICAgb3BhY2l0eSA6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIDAlKSk7XG5cbiAgICAgICAgb3BhY2l0eSA6IDE7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoc2hvd1VwVGl0bGUpIHtcbiAgICAwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoMCwgMTUlKSk7XG5cbiAgICAgICAgLy9vcGFjaXR5IDogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoMCwgMCUpKTtcblxuICAgICAgICAvL29wYWNpdHkgOiAxO1xuICAgIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKHNob3dEb3duKSB7XG4gICAgMCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtMTUlKSk7XG5cbiAgICAgICAgb3BhY2l0eSA6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG5cbiAgICAgICAgb3BhY2l0eSA6IDE7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoaGlkZURvd24pIHtcbiAgICAwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcblxuICAgICAgICBvcGFjaXR5IDogMTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDE1JSkpO1xuXG4gICAgICAgIG9wYWNpdHkgOiAwO1xuICAgIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKGhpZGVVcCkge1xuICAgIDAlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuXG4gICAgICAgIG9wYWNpdHkgOiAxO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTE1JSkpO1xuXG4gICAgICAgIG9wYWNpdHkgOiAwO1xuICAgIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKHNob3dMZWZ0KSB7XG4gICAgMCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtMTUlKSk7XG5cbiAgICAgICAgb3BhY2l0eSA6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwKSk7XG5cbiAgICAgICAgb3BhY2l0eSA6IDE7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoc2hvd1JpZ2h0KSB7XG4gICAgMCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgxNSUpKTtcblxuICAgICAgICBvcGFjaXR5IDogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDApKTtcblxuICAgICAgICBvcGFjaXR5IDogMTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyhiYWNrZ3JvdW5kUG9zaXRpb24pIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHkgOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogLTYwMHB4IGNlbnRlcjtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHkgOiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogMCBjZW50ZXI7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMobG9hZGVyKSB7XG4gICAgMCUge1xuICAgICAgICBAaW5jbHVkZSByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMjUlIHtcbiAgICAgICAgQGluY2x1ZGUgcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgQGluY2x1ZGUgcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgNzUlIHtcbiAgICAgICAgQGluY2x1ZGUgcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIEBpbmNsdWRlIHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKGxvYWRlci1pbm5lcikge1xuICAgIDAlIHtcbiAgICAgICAgaGVpZ2h0IDogMCU7XG4gICAgfVxuXG4gICAgMjUlIHtcbiAgICAgICAgaGVpZ2h0IDogMCU7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgaGVpZ2h0IDogMTAwJTtcbiAgICB9XG5cbiAgICA3NSUge1xuICAgICAgICBoZWlnaHQgOiAxMDAlO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBoZWlnaHQgOiAwJTtcbiAgICB9XG59XG4iLCIvL1xuLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDbGVhcmZpeFxuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvKiAxICovXG4gICAgZGlzcGxheTogdGFibGU7IC8qIDIgKi9cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5AbWl4aW4gc21vb3RoKCl7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCl7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogICAgbm9uZTtcbiAgICBhcHBlYXJhbmNlOiAgICAgICAgIG5vbmU7XG59XG5cbi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzO1xuICAvLyBXZWJLaXRcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuQG1peGluIGNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIFNpemluZyBzaG9ydGN1dHNcbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5AbWl4aW4gc3F1YXJlKCRzaXplKSB7XG4gIEBpbmNsdWRlIHNpemUoJHNpemUsICRzaXplKTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAgIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBGaXJlZm94IDQtMThcbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEZpcmVmb3ggMTkrXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAgIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggd2l0aCBvbmx5IGAuaGlkZS10ZXh0KClgLCBidXQgcGVyIG91ciBwYXR0ZXJuIGZvclxuLy8gbWl4aW5zIGJlaW5nIHJldXNlZCBhcyBjbGFzc2VzIHdpdGggdGhlIHNhbWUgbmFtZSwgdGhpcyBkb2Vzbid0IGhvbGQgdXAuIEFzXG4vLyBvZiB2My4wLjEgd2UgaGF2ZSBhZGRlZCBgLnRleHQtaGlkZSgpYCBhbmQgZGVwcmVjYXRlZCBgLmhpZGUtdGV4dCgpYC4gTm90ZVxuLy8gdGhhdCB3ZSBjYW5ub3QgY2hhaW4gdGhlIG1peGlucyB0b2dldGhlciBpbiBMZXNzLCBzbyB0aGV5IGFyZSByZXBlYXRlZC5cbi8vXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcblxuLy8gRGVwcmVjYXRlZCBhcyBvZiB2My4wLjEgKHdpbGwgYmUgcmVtb3ZlZCBpbiB2NClcbkBtaXhpbiBoaWRlLXRleHQoKSB7XG4gIGZvbnQ6ICN7MC8wfSBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIGZvbnQ6ICN7MC8wfSBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG5cblxuLy8gQ1NTMyBQUk9QRVJUSUVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLWtodG1sLWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG4vLyBEcm9wIHNoYWRvd3NcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93OyAvLyBpT1MgPDQuMyAmIEFuZHJvaWQgPDQuMVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbi8vIFRyYW5zaXRpb25zXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAtbW96LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHRyYW5zaXRpb24tcHJvcGVydHkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gIC1tb3otdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdHJhbnNmb3JtKCR0cmFuc2l0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm0pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtO1xufVxuXG5AbWl4aW4gcm90YXRlKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTsgLy8gSUU5K1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiBzY2FsZSgkcmF0aW8uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xufVxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3KCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cblxuQG1peGluIHJvdGF0ZVgoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xufVxuQG1peGluIHJvdGF0ZVkoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xufVxuQG1peGluIHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiAkc3R5bGU7XG4gICAgIC1tb3otdHJhbnNmb3JtLXN0eWxlOiAkc3R5bGU7XG4gICAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiAkc3R5bGU7XG59XG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAtbW96LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1wbGF5KCRhbmltYXRpb24tcGxheSkge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXBsYXktc3RhdGU6ICRhbmltYXRpb24tcGxheTtcbiAgICAgLW1vei1hbmltYXRpb24tcGxheS1zdGF0ZTogJGFuaW1hdGlvbi1wbGF5O1xuICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6ICRhbmltYXRpb24tcGxheTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0KSB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAtby11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuLy8gUmVzaXplIGFueXRoaW5nXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gU2FmYXJpIGZpeFxufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuQG1peGluIGNvbnRlbnQtY29sdW1ucygkY29sdW1uLWNvdW50LCAkY29sdW1uLWdhcDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAtbW96LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gICAgIC1tb3otY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gICAgICAgICAgY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG5AbWl4aW4gaHlwaGVucygkbW9kZTogYXV0bykge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogJG1vZGU7XG4gICAgIC1tb3otaHlwaGVuczogJG1vZGU7XG4gICAgICAtbXMtaHlwaGVuczogJG1vZGU7IC8vIElFMTArXG4gICAgICAgLW8taHlwaGVuczogJG1vZGU7XG4gICAgICAgICAgaHlwaGVuczogJG1vZGU7XG59XG5cbi8vIE9wYWNpdHlcbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAvLyBJRTggZmlsdGVyXG4gICRvcGFjaXR5LWllOiAoJG9wYWNpdHkgKiAxMDApO1xuICBmaWx0ZXI6ICN7YWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSl9O1xufVxuXG5cblxuLy8gR1JBRElFTlRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAkc3RhcnQtcGVyY2VudCB0b3AsICRlbmQtcGVyY2VudCB0b3AsIGZyb20oJHN0YXJ0LWNvbG9yKSwgdG8oJGVuZC1jb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBjb2xvci1zdG9wKCRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCksIGNvbG9yLXN0b3AoJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIEZGIDMuNitcbiAgYmFja2dyb3VuZC1pbWFnZTogIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93blxufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCAkc3RhcnQtcGVyY2VudCwgbGVmdCAkZW5kLXBlcmNlbnQsIGZyb20oJHN0YXJ0LWNvbG9yKSwgdG8oJGVuZC1jb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAgLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gRkYgMy42K1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTBcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gRkYgMy42K1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTBcbn1cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsZWZ0LCBsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCRzdGFydC1jb2xvciksIGNvbG9yLXN0b3AoJGNvbG9yLXN0b3AsICRtaWQtY29sb3IpLCB0bygkZW5kLWNvbG9yKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oJHN0YXJ0LWNvbG9yKSwgY29sb3Itc3RvcCgkY29sb3Itc3RvcCwgJG1pZC1jb2xvciksIHRvKCRlbmQtY29sb3IpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwLCBjZW50ZXIgY2VudGVyLCA0NjAsIGZyb20oJGlubmVyLWNvbG9yKSwgdG8oJG91dGVyLWNvbG9yKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKC4yNSwgJGNvbG9yKSwgY29sb3Itc3RvcCguMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41LCAkY29sb3IpLCBjb2xvci1zdG9wKC43NSwgJGNvbG9yKSwgY29sb3Itc3RvcCguNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG5cbi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cblxuXG5cbi8vIFJldGluYSBpbWFnZXNcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemVcblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZS0xeH1cIik7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZS0yeH1cIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG5AbWl4aW4gYmFja2dyb3VuZC1zaXplKCR2YWx1ZSkge1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogJHZhbHVlO1xuICAtbW96LWJhY2tncm91bmQtc2l6ZTogJHZhbHVlO1xuICAtby1iYWNrZ3JvdW5kLXNpemU6ICR2YWx1ZTtcbiAgYmFja2dyb3VuZC1zaXplOiAkdmFsdWU7XG59XG5cbi8vIENPTVBPTkVOVCBNSVhJTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xufVxuXG4vLyBQYW5lbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwYW5lbC12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICAmID4gLmRyb3Bkb3duIC5jYXJldCB7XG4gICAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG4gICYgPiAucGFuZWwtZm9vdGVyIHtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkdGV4dC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cblxuLy8gVGFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUgPiB0aGVhZCA+IHRyLFxuICAudGFibGUgPiB0Ym9keSA+IHRyLFxuICAudGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfSxcbiAgICA+IHRoLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfSA+IHRkLFxuICAgICYuI3skc3RhdGV9ID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgPiB0aC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gdmFyaWFudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA4JSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG4gIH1cbiAgLm9wZW4gJiB7ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgOCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9IH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gIC5vcGVuICYgeyAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfSB9XG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG4vLyBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBMYWJlbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICZbaHJlZl0ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5AbWl4aW4gbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuXG4vLyBQcm9ncmVzcyBiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdHIjeyRwYXJlbnR9IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0geyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAgICN7JHBhcmVudH0sXG4gIHRyI3skcGFyZW50fSxcbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuXG4vLyBHcmlkIFN5c3RlbVxuLy8gLS0tLS0tLS0tLS1cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbkBtaXhpbiBjb250YWluZXItZml4ZWQoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogICgkZ3V0dGVyIC8gLTIpO1xuICBtYXJnaW4tcmlnaHQ6ICgkZ3V0dGVyIC8gLTIpO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgbWluLWhlaWdodDogMXB4O1xuICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbiBvZmZzZXRzXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbkBtaXhpbiBtYWtlLW1kLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW4gb2Zmc2V0c1xuQG1peGluIG1ha2UtbWQtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuQG1peGluIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgbWluLWhlaWdodDogMXB4O1xuICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICAvLyBDYWxjdWxhdGUgd2lkdGggYmFzZWQgb24gbnVtYmVyIG9mIGNvbHVtbnMgYXZhaWxhYmxlXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uIG9mZnNldHNcbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cblxuLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuLy8gW2NvbnZlcnRlcl0gR3JpZCBjb252ZXJ0ZWQgdG8gdXNlIFNBU1MgY3ljbGVzIChMRVNTIHVzZXMgcmVjdXJzaXZlIG5lc3RlZCBtaXhpbiBkZWZzIG5vdCBzdXBwb3J0ZWQgYnkgU0FTUylcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygpIHtcbiAgJGxpc3Q6ICcnO1xuICAkaTogMTtcbiAgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIi5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX0sICN7JGxpc3R9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1sZWZ0OiAgKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgfVxufVxuXG5cbi8vIFtjb252ZXJ0ZXJdIEdyaWQgY29udmVydGVkIHRvIHVzZSBTQVNTIGN5Y2xlcyAoTEVTUyB1c2VzIHJlY3Vyc2l2ZSBuZXN0ZWQgbWl4aW4gZGVmcyBub3Qgc3VwcG9ydGVkIGJ5IFNBU1MpXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMtZmxvYXQoJGNsYXNzKSB7XG4gICRsaXN0OiAnJztcbiAgJGk6IDE7XG4gICRsaXN0OiBcIi5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX0sICN7JGxpc3R9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuQG1peGluIGNhbGMtZ3JpZCgkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgQGlmICgkdHlwZSA9PSB3aWR0aCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tI3skaW5kZXh9IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtI3skaW5kZXh9IHtcbiAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0jeyRpbmRleH0ge1xuICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU0FTUyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbWFrZS1ncmlkKCRjb2x1bW5zLCAkY2xhc3MsICR0eXBlKSB7XG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgIEBpbmNsdWRlIGNhbGMtZ3JpZCgkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUgIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKCRib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRjb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cykge1xuICAkY29sb3ItcmdiYTogcmdiYShyZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpLCAuNik7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGlucHV0LXNpemUoJHBhcmVudCwgJGlucHV0LWhlaWdodCwgJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgI3skcGFyZW50fSB7IGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1czsgfVxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4vL01JWElPTiBQT1NJVElPTiBGUk9NIEJPVVJCT05cbkBtaXhpbiBwb3NpdGlvbiAoJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiAwIDAgMCAwKSB7XG5cbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkdG9wOiBudGgoJGNvb3JkaW5hdGVzLCAxKTtcbiAgJHJpZ2h0OiBudGgoJGNvb3JkaW5hdGVzLCAyKTtcbiAgJGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyk7XG4gICRsZWZ0OiBudGgoJGNvb3JkaW5hdGVzLCA0KTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBpZiAoJHRvcCBhbmQgJHRvcCA9PSBhdXRvKSBvciAodHlwZS1vZigkdG9wKSA9PSBudW1iZXIgYW5kIG5vdCB1bml0bGVzcygkdG9wKSkge1xuICAgIHRvcDogJHRvcDtcbiAgfVxuXG4gIEBpZiAoJHJpZ2h0IGFuZCAkcmlnaHQgPT0gYXV0bykgb3IgKHR5cGUtb2YoJHJpZ2h0KSA9PSBudW1iZXIgYW5kIG5vdCB1bml0bGVzcygkcmlnaHQpKSB7XG4gICAgcmlnaHQ6ICRyaWdodDtcbiAgfVxuXG4gIEBpZiAoJGJvdHRvbSBhbmQgJGJvdHRvbSA9PSBhdXRvKSBvciAodHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIgYW5kIG5vdCB1bml0bGVzcygkYm90dG9tKSkge1xuICAgIGJvdHRvbTogJGJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJGxlZnQgYW5kICRsZWZ0ID09IGF1dG8pIG9yICh0eXBlLW9mKCRsZWZ0KSA9PSBudW1iZXIgYW5kIG5vdCB1bml0bGVzcygkbGVmdCkpIHtcbiAgICBsZWZ0OiAkbGVmdDtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gY2hhbmdlczogTm9vbWlhLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG5vb21pYSgkc3R5bGUgOiBkYXJrKSB7XG4gICAgLm5vb21pYSB7XG4gICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG5cbiAgICAgICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcblxuICAgICAgICB3aWR0aCA6IDgxcHg7XG4gICAgICAgIGhlaWdodCA6IDE1cHg7XG5cbiAgICAgICAgdGV4dC1pbmRlbnQgOiAtOTk5OXB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3AgOiAwO1xuICAgICAgICAgICAgbGVmdCA6IDA7XG5cbiAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcblxuICAgICAgICAgICAgd2lkdGggOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0IDogMTAwJTtcblxuICAgICAgICAgICAgY29udGVudCA6IFwiXCI7XG5cbiAgICAgICAgICAgIG9wYWNpdHkgOiAuNztcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZSA6IDgxcHggMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgICAgIEBpZiAoJHN0eWxlID09IGRhcmspIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIDogdXJsKCN7JGltZ31sb2dvLW5vb21pYS0tZGFyay5zdmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRzdHlsZSA9PSBsaWdodCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2UgOiB1cmwoI3skaW1nfWxvZ28tbm9vbWlhLS1saWdodC5zdmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIC4zcyAkZWFzZUluUXVhZCk7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3AgOiAwO1xuICAgICAgICAgICAgbGVmdCA6IDA7XG5cbiAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcblxuICAgICAgICAgICAgd2lkdGggOiAwO1xuICAgICAgICAgICAgaGVpZ2h0IDogMTAwJTtcblxuICAgICAgICAgICAgY29udGVudCA6IFwiXCI7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZSA6IDgxcHggMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgICAgIEBpZiAoJHN0eWxlID09IGRhcmspIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIDogdXJsKCN7JGltZ31sb2dvLW5vb21pYS0tZGFyay5zdmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRzdHlsZSA9PSBsaWdodCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2UgOiB1cmwoI3skaW1nfWxvZ28tbm9vbWlhLS1saWdodC5zdmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aCA6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBncmF5c2NhbGVfZWxlbWVudCgkdmFsdWUpIHtcbiAgICAtd2Via2l0LWZpbHRlcjogI3tcImdyYXlzY2FsZSgjeyR2YWx1ZX0pXCJ9O1xuICAgIC1tb3otZmlsdGVyOiAje1wiZ3JheXNjYWxlKCN7JHZhbHVlfSlcIn07XG4gICAgZmlsdGVyOiN7XCJncmF5c2NhbGUoI3skdmFsdWV9KVwifTtcbn1cblxuLy8vIEJsb2NrIEVsZW1lbnRcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZWxlbWVudCAtIEVsZW1lbnQncyBuYW1lXG5AbWl4aW4gZSgkZWxlbWVudCkge1xuICAgICZfXyN7JGVsZW1lbnR9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLy8gQmxvY2sgTW9kaWZpZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbW9kaWZpZXIgLSBNb2RpZmllcidzIG5hbWVcbkBtaXhpbiBtKCRtb2RpZmllcikge1xuICAgICYtLSN7JG1vZGlmaWVyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIGVtKCR0YXJnZXQsICRjb250ZXh0OiAkYmFzZV9fZm9udC1zaXplKSB7XG4gICAgQHJldHVybiAoJHRhcmdldCAvICRjb250ZXh0KSAqIDFlbTtcbn1cblxuQGZ1bmN0aW9uIHJlbSgkdGFyZ2V0KSB7XG4gICAgQHJldHVybiAkdGFyZ2V0IC8gMXJlbTtcbn1cblxuQG1peGluIHRleHQoJHNpemUsICRsaW5lLCAkbWFyZ2luOiAwLCAkZmFtaWx5OiAkdGV4dF9fZmFtaWx5LXNhbnMsICRjb2xvcjogJHRleHRfX2NvbG9yLS1iYXNlLCAkd2VpZ2h0OiBub3JtYWwpIHtcbiAgICBmb250LXNpemU6IGVtKCRzaXplKTtcbiAgICBsaW5lLWhlaWdodDogKCRsaW5lLyRzaXplKTtcbiAgICBmb250LWZhbWlseTogJGZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IGVtKCRtYXJnaW4sICRzaXplKTtcbn1cblxuQG1peGluIG1haW50YWluLWFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3Jle1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xuICB9XG5cbiAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG59XG5cbkBtaXhpbiBjaXJjbGUoJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICR3aWR0aDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRG90cyAqL1xuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi53eXNpd3lnIHtcbiAgZmlndXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCBjYWxjLWVtKDMwKSAwO1xuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBmb250LXNpemU6IGNhbGMtZW0oMTIpO1xuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjLWVtKDMwKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMtZW0oMzApO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgICAqIGhyXG4gICAgICovXG5cbiAgaHIge1xuICAgIG1hcmdpbjogY2FsYy1lbSgzMCk7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICB9XG5cbiAgLyoqXG4gICAgICogTGlzdFxuICAgICAqL1xuXG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luOiAwIDAgY2FsYy1lbSgzMCk7XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMtZW0oNSk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYy1lbSgxMCk7XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIHBhZGRpbmctbGVmdDogOTBweDtcbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fc2Vjb25kYXJ5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgdG9wOiA2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb2wge1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpc3Q7XG5cbiAgICBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMtZW0oMjApO1xuXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBjb250ZW50OiBjb3VudGVyKGxpc3QpIFwiLiBcIjtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3Q7XG5cbiAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG5pbnB1dCwgc2VsZWN0IHtcbiAgICAmOjotbXMtY2xlYXIgeyAvLyBIaWRlIGllIGRlZmF1bHQgYXBwZWFyYW5jZSAoZXg6IGFycm93IHNlbGVjdCBvciBjbGVhciBidXR0b24gaW4gaW5wdXQpXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4vKipcbiAqIEh0bWxcbiAqL1xuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuXG4vKipcbiAqIEJvZHlcbiAqL1xuXG5ib2R5IHtcbiAgQGluY2x1ZGUgc21vb3RoKCk7XG4gIEBpbmNsdWRlIHRleHQoXG4gICAgJHNpemU6ICRiYXNlX19mb250LXNpemUsXG4gICAgJGxpbmU6ICRiYXNlX19saW5lLFxuICAgICRjb2xvcjogJGNvbG9yX19ibGFjayxcbiAgICAkZmFtaWx5OiAkdGV4dF9fZmFtaWx5LXNhbnNcbiAgKTtcbiAgbWFyZ2luOiAwO1xuICAuY2VudGVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoMTQwMHB4KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCA1MHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuXG4gICAgLy8gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlKSB7XG4gICAgLy8gICB3aWR0aDogOTAlO1xuICAgIC8vIH1cbiAgfVxufVxuXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogTGlua1xuICovXG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG5cbiAgZm9udC13ZWlnaHQ6IDgwMDtcblxuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuXG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgfVxufVxuXG4vKipcbiAqIEltYWdlc1xuICovXG5cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIFBhcmFncmFwaFxuICovXG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiBlbSgzMCwgJGJhc2VfX2ZvbnQtc2l6ZSk7XG5cbiAgZm9udC1zaXplOiAxOHB4O1xuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5cbi8qKlxuICogVGl0bGVcbiAqL1xuXG5oMSB7XG4gIEBpbmNsdWRlIHRleHQoJHNpemU6IDY4LCAkbGluZTogODAsICRjb2xvcjogJGNvbG9yX19ibGFjayk7XG5cbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1mYW1pbHk6ICR0ZXh0X19mYW1pbHktc2FucztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIHN0cm9uZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLm1haW50aXRsZSB7XG4gIC8vIEFkZCB5b3VyIGN1c3RvbSBzdHlsZXNcbn1cbi5zdWJ0aXRsZSB7XG4gIC8vIEFkZCB5b3VyIGN1c3RvbSBzdHlsZXNcbn1cblxuLypcbiAqIE1lbnVcbiAqL1xuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG5cbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICB9XG4gIH1cbn1cblxuLypcbiAqIFZpZGVvXG4gKi9cblxudmlkZW8ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHNlbGVjdGlvbnMgY29sb3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbn1cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gIGNvbG9yOiAkY29sb3JfX3doaXRlO1xufVxuXG5zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDE2MHB4O1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG59XG5cbiNjb250YWluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4jcGFnZSB7XG4gIGFydGljbGUge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA1NTVweCAtIDE5MHB4KTtcbiAgICAudGl0bGUge1xuICAgICAgLmNlbnRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoMSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeV9fbGlnaHQ7XG4gICAgfVxuICB9XG59XG4jc2luZ2xlIHtcbiAgYXJ0aWNsZSB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDU1NXB4IC0gMTkwcHgpO1xuICAgIC50aXRsZSB7XG4gICAgICAuY2VudGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5X19saWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCIuaDIge1xuICAvLyBAaW5jbHVkZSB0ZXh0KCRzaXplOiA1OCwgJGxpbmU6IDcwLCAkY29sb3I6ICRjb2xvcl9fYmxhY2spO1xuICBjb2xvcjogJGNvbG9yX19ibGFjaztcbiAgZm9udC1zaXplOiA1MnB4O1xuICBsaW5lLWhlaWdodDogNjhweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbWFyZ2luOiAwO1xuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIH1cbn1cbi50aXRsZS1saW5rIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogJGNvbG9yX19ibGFjaztcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gKioqKioqKioqKipcbi8vIEZPT1RFUlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi5tZW51LXNlY29uZGFyeSB7XG4gIGxpIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiByZ2JhKCRjb2xvcl9fYmxhY2ssICRhbHBoYTogMC41KTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKlxuLy8gSGVyb1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi5oZXJvIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIC5jZW50ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICZfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgJl9fbGVmdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogNzgwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDMwcHg7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5X19saWdodDtcbiAgICB6LWluZGV4OiA0O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBtaW4taGVpZ2h0OiAyODBweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgLmNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgaDEge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjI2cHgpO1xuICAgIGJvdHRvbTogLTQwcHg7XG4gICAgLy8gd2lkdGg6IDgwJTtcbiAgICB3aWR0aDogNjV2dztcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTE1MHB4ICsgMjI2cHgpO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICB6LWluZGV4OiAzO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm90dG9tOiAtMTQ2cHg7XG4gICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5iYWNrZ3JvdW5kLWxpZ2h0IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGNhbGMoNTAlIC0gMTYwcHgpO1xuICAgIHdpZHRoOiAxNTAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICB3aWR0aDogNTAwMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3NlY29uZGFyeTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG4udGl0bGUtYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeV9fbGlnaHQ7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgei1pbmRleDogLTE7XG4gIGNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuLmNsb25lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMzBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5yb3VuZC1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxNDVweDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIG1heC13aWR0aDogMTIwcHg7XG5cbiAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuXG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICB9XG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNTAwMHB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmxhY2s7XG5cbiAgICB0b3A6IDE2cHg7XG4gICAgcmlnaHQ6IGNhbGMoMTAwJSArIDU4cHgpO1xuXG4gICAgei1pbmRleDogLTE7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgICB9XG5cbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIGhlaWdodDogMjIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAtODBweDtcbiAgICBsZWZ0OiAtNjBweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgIHRvcDogLTQwcHg7XG4gICAgICBsZWZ0OiAtMzBweDtcbiAgICB9XG5cbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIH1cbiAgfVxufVxuXG4uaW1nQ29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuLmltZ0NvbnRhaW5lci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9veXN0ZXJzaGVsbC5kZXYvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMDMvaXN0b2NrcGhvdG8tNTA4NTE2Nzk5LTIwNDh4MjA0OC0xLTE2MDB4OTAwLmpwZyBcIik7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5ibHVlLXRpdGxlIHtcbiAgY29sb3I6ICRjb2xvcl9fc2Vjb25kYXJ5O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vICoqKioqKioqKioqXG4vLyBzZWN0aW9uLXctaW1nXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLnZpc2lvbiB7XG4gICZfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8vIGhlaWdodDogMXB4O1xuICAgIG1pbi1oZWlnaHQ6IDcyMHB4O1xuXG4gICAgLy91bmRlciA4MDBweFxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDkwcHgpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAg4omIICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gODBweCk7XG4gICAgICB3aWR0aDogMTUwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeV9fbGlnaHQ7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIH1cbiAgJl9fbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICB9XG4gICAgLmNvbnRlbnRfX3RleHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIG1heC13aWR0aDogNDUwcHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3JpZ2h0IHtcbiAgICB3aWR0aDogNTB2dztcbiAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICBtYXgtaGVpZ2h0OiA3MDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogLTgwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oODMwLCA3MTUpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xMHB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19zZWNvbmRhcnk7XG4gICAgfVxuICAgICZfX3ZpZGVvQ29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5idWJibGUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmltZ0NvbnRhaW5lciB7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubnVtYmVyLXRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMzQwcHg7XG4gICAgaGVpZ2h0OiAzNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBsZWZ0OiAtNjBweDtcbiAgICB0b3A6IDYwcHg7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgICAgdG9wOiAtMTIwcHg7XG4gICAgICBsZWZ0OiAtOTBweDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAyNzBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLm51bWJlci1udW1iZXIge1xuICAgICAgZm9udC1zaXplOiA5MHB4O1xuICAgIH1cbiAgICAubnVtYmVyLXN1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLm51bWJlci10eHQge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6IHJnYmEoJGNvbG9yX19ibGFjaywgJGFscGhhOiAwLjYpO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGxlZnQ6IDgwcHg7XG4gICAgICB0b3A6IDMyMHB4O1xuICAgIH1cbiAgfVxufVxuLnZpc2lvblJldmVyc2Uge1xuICAmX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gaGVpZ2h0OiAxcHg7XG4gICAgLy8gbWluLWhlaWdodDogNzIwcHg7XG5cbiAgICBwYWRkaW5nLXRvcDogMTkwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE5MHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDgwcHgpO1xuICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX2xlZnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnJvdW5kLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDc4cHg7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgfVxuICAgIC5jb250ZW50X190ZXh0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTE1cHg7XG4gICAgICBwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19yaWdodCB7XG4gICAgLy8gd2lkdGg6IDgzMHB4O1xuICAgIHdpZHRoOiA1MHZ3O1xuICAgIG1heC13aWR0aDogMTE1MHB4O1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fc2Vjb25kYXJ5O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgYm90dG9tOiAtODBweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgLmltZ0NvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogNTMwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xMHB4O1xuICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtIDIzMHB4KTtcbiAgICAgIHdpZHRoOiA1MDAwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3NlY29uZGFyeTtcbiAgICB9XG4gICAgLmJnLXByaW1hcnkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICB9XG4gICAgLmltZ0NvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC00MnB4O1xuICAgICAgdG9wOiAxMDBweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgfVxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNzZweDtcblxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeV9fbGlnaHQ7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogLTg0cHg7XG4gICAgICB9XG4gICAgICAuY29udGVudF9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTE1cHg7XG4gICAgICAgIHAge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5idWJibGUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLmJ1YmJsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEyMHB4O1xuICBsZWZ0OiAtMTBweDtcbiAgei1pbmRleDogMjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgd2lkdGg6IDI3MHB4O1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTI2MHB4KSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgIHRvcDogNTBweDtcbiAgICBsZWZ0OiAtNTBweDtcbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICB3aWR0aDogMTgwcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiB1cmwoI3skaW1nfWJ1YmJsZS5zdmcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC43KTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogdXJsKCN7JGltZ31xdW90ZS5zdmcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC04MHB4O1xuICAgIGxlZnQ6IC0yMHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgdG9wOiAtNTVweDtcbiAgICB9XG4gIH1cblxuICAvL3VuZGVyIDgwMHB4XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwLjYpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gICAgfVxuICB9XG59XG5cbi8vIC5idG5fX2NpcmNsZSB7XG4vLyAgIC8vIHRvZG8gZm9sbG93IGN1cnNvciwgdm9pciBoZWFkZXIuanMgX2J1dHRvbkhvdmVyQ2lyY2xlKClcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICB0b3A6IDA7XG4vLyAgIHJpZ2h0OiAwO1xuLy8gICBoZWlnaHQ6IDQwcHg7XG4vLyAgIHdpZHRoOiA0MHB4O1xuLy8gICBib3JkZXItcmFkaXVzOiA1MCU7XG4vLyAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX19zZWNvbmRhcnksIDAuMik7XG4vLyAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBpbXBvcnRhbnQgc2lub24gYnVnIGpzIChnYXJkZSBsZSBtb3VzZWhvdmVyKVxuLy8gfVxuLmpzLWNpcmNsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB3aWR0aDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcl9fcHJpbWFyeSwgMC4xKTtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIGltcG9ydGFudCBzaW5vbiBidWcganMgKGdhcmRlIGxlIG1vdXNlaG92ZXIpXG5cbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dCwgaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQsXG4gICAgb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0O1xuXG4gIC5jaXJjbGUge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDVweCk7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3JfX3ByaW1hcnksICRhbHBoYTogMC4xKTtcblxuICAgIG9wYWNpdHk6IDA7XG5cbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjJzIGVhc2UtaW47XG4gIH1cbn1cblxuLnBhZ2VIZWFkIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcblxuICAmX19jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgfVxuICB9XG4gICZfX2xlZnQge1xuICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICZfX3RpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IDE1MHB4O1xuICAgICAgbWF4LXdpZHRoOiA2NTBweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTQwcHg7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxNzBweCk7XG4gICAgICAgIHdpZHRoOiA1MDAwcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICBib3R0b206IC0xNnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBtYXgtd2lkdGg6IDQxMnB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJsdWUtdGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNDtcbiAgICB9XG4gICAgaDEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICAgIC8vIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjI2cHgpO1xuICAgIHRvcDogNDBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTE1MHB4ICsgMjI2cHgpO1xuICAgIHdpZHRoOiA2NXZ3O1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgIHRvcDogdW5zZXQ7XG4gICAgICBib3R0b206IC0yMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICAgIC5pbWdDb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDE2LCA5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJ0biB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogMjBweCA0MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX2JsYWNrO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fcHJpbWFyeTtcbiAgfVxufVxuXG4ud2hpdGUtYmcge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGxpbmUtaGVpZ2h0OiA3NnB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZmZmZmZmIDAsICNmZmZmZmYgMTAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAyZW07IC8vIDFlbSA9IGxhIHRhaWxsZSBzb3VoYWl0w6kgZW4gaGF1dGV1clxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDMwJTsgLy8gPT4gZMOpY2FsYWdlIHZlcnRpY2FsXG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExMTBweCkge1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB9XG59XG4ucHJpbWFyeS1iZy1jb250YWluZXIge1xuICBwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgLyogTmVlZHMgcHJlZml4aW5nICovXG4gICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgIC13ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICB9XG59XG4ud2hpdGUtYmctY29udGFpbmVyIHtcbiAgcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cbiAgICAvKiBOZWVkcyBwcmVmaXhpbmcgKi9cbiAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgLXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gIH1cbn1cbi5saWdodC1iZyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIHRvcCxcbiAgICAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0IDAsXG4gICAgJGNvbG9yX19wcmltYXJ5X19saWdodCAxMDAlXG4gICk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAyZW07IC8vIDFlbSA9IGxhIHRhaWxsZSBzb3VoYWl0w6kgZW4gaGF1dGV1clxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDMwJTsgLy8gPT4gZMOpY2FsYWdlIHZlcnRpY2FsXG4gIGxpbmUtaGVpZ2h0OiA3MHB4O1xufVxuLyogSGVhZGluZyBzdHlsZSAqL1xuLnRpdGxlLFxuLnRpdGxlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5X19saWdodDtcbn1cbi50aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBib3JkZXI6IDAgc29saWQgJGNvbG9yX19wcmltYXJ5X19saWdodDtcbiAgYm9yZGVyLXdpZHRoOiAwLjI1ZW0gMDsgLyogMC4yNWVtIGlzIHJvdWdobHkgZXF1YWwgdG8gb25lIHNwYWNlIGNoYXJhY3Rlci4gKi9cbn1cbi50aXRsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMC4yNWVtO1xuICByaWdodDogMTAwJTtcbiAgYm90dG9tOiAtMC4yNWVtO1xuICB3aWR0aDogMC4yNWVtO1xufVxuLnRpdGxlID4gc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLmxpbmsge1xuICBwIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICY6aG92ZXIge1xuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHNwYW4ge1xuICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICB9XG4gIH1cbn1cbi5zbGlkZXItbnVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICBoZWlnaHQ6IDk1MHB4O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgbWFyZ2luLXRvcDogMTYwcHg7XG5cbiAgLmNlbnRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgICB3aWR0aDogNDcwcHg7XG4gICAgICBoZWlnaHQ6IDQ3MHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gIH1cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTU7XG4gICAgcmlnaHQ6IDIyNnB4O1xuICAgIHRvcDogY2FsYyg1MCUgKyAyMDBweCk7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICBsZWZ0OiA3MHZ3O1xuICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiA2NTBweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ibGFjaztcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMzVweDtcbiAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAuaWNvbiB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4sIGNvbG9yIDAuMnMgZWFzZS1pbjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zbGlkZXJfX25hdmlnYXRpb24tLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2xpZGVyIHtcbiAgICAuc2xpZGVzIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgjeyRpbWd9bW9kZWwuanBnKTtcbiAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDQ0MHB4O1xuXG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIH1cblxuICAgIC5zbGlkZSB7XG4gICAgICAmLS1jdXJyZW50IHtcbiAgICAgICAgLnRleHQge1xuICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubnVtIHtcbiAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAubnVtIHtcbiAgICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOyAvKiBGaXJlZm94ICovXG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIENocm9tZSwgU2FmYXJpLCBPcMOpcmEgZGVwdWlzIGxhIHZlcnNpb24gMTUgKi9cbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJbnRlcm5ldCBleHBsb3JlciBkZXB1aXMgbGEgdmVyc2lvbiAxMCBldCBFZGdlICovXG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lOyAvKiBQcm9wcmnDqXTDqSBzdGFuZGFyZCAqL1xuXG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2JhKCRjb2xvcl9fd2hpdGUsIDAuNyk7XG4gICAgICB9XG4gICAgICAuZG90IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBmb250LXNpemU6IDc0cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDUycHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgLnRleHQtd2lkdGgge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAud3lzaXd5ZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgICAgIHAge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubnVtIHtcbiAgICAgICAgd2lkdGg6IDMxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDExMHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5zbGlkZS0tY3VycmVudCxcbiAgICAvLyAuc2xpZGUtLWN1cnJlbnQgfiAuc2xpZGUge1xuICAgIC8vICAgLnRleHQge1xuICAgIC8vICAgICBvcGFjaXR5OiAxO1xuICAgIC8vICAgfVxuICAgIC8vICAgLnd5c2l3eWcge1xuICAgIC8vICAgICBvcGFjaXR5OiAxO1xuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDk1MHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyMDBweDtcbiAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDUyMHB4KTtcbiAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICB3aWR0aDogNzAwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICB0b3A6IDE1MHB4O1xuICAgICAgICBsZWZ0OiA0MCU7XG4gICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmX19udW1iZXJzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDEwNHB4O1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDM1NHB4KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBmb250LXNpemU6IDE3MHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAvLyBsaW5lLWhlaWdodDogMjIwcHg7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogY2FsYyg1MCUgLSAzODBweCk7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICAuY3VycmVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiA2NTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgLmhpZGUge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgICAgICAgIGhlaWdodDogMjIwcHg7XG5cbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFzc2V0cyB7XG4gIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxuICAuY2VudGVyIHtcbiAgICBtYXgtd2lkdGg6IDE1MDBweDtcbiAgfVxuICAmX19zdWIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0yMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgIH1cbiAgfVxuICAuYmx1ZS10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5oMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8vIG1heC13aWR0aDogODMwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgJl9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skaW1nfWNpcmNsZTIuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtaW4taGVpZ2h0OiA0MTBweDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDUwcHggYXV0bztcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDkwcHgpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoI3skaW1nfWNpcmNsZTIuc3ZnKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgKyA1MHB4KTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGkge1xuICAgICAgbWFyZ2luOiA0MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgLnBpY3RvIHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiA1MDZweDtcbiAgICAgICAgICAgIGhlaWdodDogNTA2cHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgdG9wOiAtNTAlO1xuICAgICAgICAgICAgbGVmdDogMTI2cHg7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAucGljdG8ge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDQwNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MDZweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICB0b3A6IC01MCU7XG4gICAgICAgICAgICBsZWZ0OiAxMjZweDtcblxuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gJjpudGgtY2hpbGQoNCkge1xuICAgICAgLy8gICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICAvLyAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAvLyB9XG4gICAgICAvLyAmOm50aC1jaGlsZCg1KSB7XG4gICAgICAvLyAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgICAgLy8gICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgLy8gfVxuXG4gICAgICAucGljdG8ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICBoZWlnaHQ6IDI4MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fc2Vjb25kYXJ5X19saWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDYyJTtcbiAgICAgICAgbGVmdDogMjAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iZy1ibHVlIHtcbiAgICAgICAgICAvLyBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3NlY29uZGFyeTtcbiAgICAgICAgYm9yZGVyOiAwIHNvbGlkICRjb2xvcl9fc2Vjb25kYXJ5O1xuICAgICAgICBjb2xvcjogJGNvbG9yX19ibGFjaztcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZ3JvdXAge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiI3skaW1nfWdyb3VwLnN2Z1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAyMCU7XG4gICAgICAgIHRvcDogMzAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBhcnRuZXJzLWljb24ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiI3skaW1nfXNjaWVuY2UtYmx1ZS5zdmdcIik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjAlO1xuICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIiN7JGltZ31zY2llbmNlLWJsdWUuc3ZnXCIpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuYmVsZ2l1bSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1cmwoXCIjeyRpbWd9YmVsZ2l1bS5zdmdcIik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjAlO1xuICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5ob3VzZSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1cmwoXCIjeyRpbWd9aG91c2Uuc3ZnXCIpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiB1cmwoXCIjeyRpbWd9aG91c2Uuc3ZnXCIpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAudHJ1Y2sge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiI3skaW1nfXRydWNrLnN2Z1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAyMCU7XG4gICAgICAgIHRvcDogMzAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG4gICAgLmhhbmQge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiI3skaW1nfWhhbmQuc3ZnXCIpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiB1cmwoXCIjeyRpbWd9aGFuZC5zdmdcIik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjAlO1xuICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC51c2Ege1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiI3skaW1nfXVzYS5zdmdcIik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjAlO1xuICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5ob3VzZS1jYXJ0IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIiN7JGltZ31ob3VzZS1jYXJ0LnN2Z1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAyMCU7XG4gICAgICAgIHRvcDogMzAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiI3skaW1nfWhvdXNlLWNhcnQuc3ZnXCIpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAuY29udHJhY3Qge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiI3skaW1nfWNvbnRyYWN0LnN2Z1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAyMCU7XG4gICAgICAgIHRvcDogMzAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNlY29uZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHdpZHRoOiA4MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIC5waWN0byB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB3aWR0aDogOTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFydG5lcnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICBwYWRkaW5nLWJvdHRvbTogMjAwcHg7XG4gIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbiAgLmJsdWUtdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuY2xpZW50IHtcbiAgICAmX19saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDY0cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgICB3aWR0aDogMjEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zbGlkZXJfcHJvZHVjdCB7XG4gIC5zbGljay1kb3RzIHtcbiAgICBib3R0b206IC03NXB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gICAgbGkge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2xpY2stdHJhY2sgPiBsaSB7XG4gICAgd2lkdGg6IDQ2MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQzM3B4O1xuXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgLy8gY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTgwcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ibGFjaztcblxuICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDkwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZXItaW1nQ29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMzUwcHg7XG5cbiAgICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcblxuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiA0ODBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5tb2RhbCB7XG4gICZfY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTQ1cHg7XG4gICAgdG9wOiAtNDVweDtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmQ2ZDA7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgaGVpZ2h0OiA5MHB4O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICByaWdodDogLTI1cHg7XG4gICAgICB0b3A6IC0yNXB4O1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgfVxuICB9XG4gICZfbGlzdCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX19wcmltYXJ5X19saWdodCwgJGFscGhhOiAwLjkpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gICZfc2luZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgbWF4LWhlaWdodDogODh2aDtcbiAgICBwYWRkaW5nOiAxMDBweCAxMzBweDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDEwMHB4IDc1cHggLTUwcHggcmdiYSgxOTMsIDE1MiwgMTM4LCAwLjMpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDg0JTtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAgIG1heC1oZWlnaHQ6IDkwdmg7XG5cbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLm1vZGFsX2xlZnQge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogODBweDtcblxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgLm1vZGFsX2ltZ2NvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAzMTBweDtcbiAgICAgICAgaGVpZ2h0OiAzMTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgfVxuICAgIH1cbiAgICAud3lzaXd5ZyB7XG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgLy8gZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubW9kYWxfcmlnaHQge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwdmg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgfVxuICAgICAgLm1vZGFsbW9yZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAtNDBweDtcbiAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5saW5rIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5X19saWdodDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9sb2dvIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG59XG4ubW9kYWxBY3RpdmUge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG59XG4ubW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50ZWNobm9sb2d5IHtcbiAgcGFkZGluZy10b3A6IDI0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTEwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgfVxuICAuaDIge1xuICAgIG1heC13aWR0aDogOTQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOTBweDtcbiAgfVxuICAmX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogMjEwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMTBweCkge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuICAmX192aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAmX192aWRlb0NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gICZfX3NpbmdsZSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNDBweCk7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oNTkwLCA0NjApO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFyZ2luLXRvcDogLTE0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG5cbiAgICAvL3VuZGVyIDgwMHB4XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMTBweCkge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMW4pIHtcbiAgICB9XG4gICAgLy8gJjpudGgtY2hpbGQoMm4pIHtcbiAgICAvLyAgIG1hcmdpbi10b3A6IDE0MHB4O1xuICAgIC8vIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZWNobm9sb2d5X19zaW5nbGVfX2xvZ28ge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLThweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLndoaXRlLWNpcmNsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgIH1cbiAgICAgIC8vYSBjYXVzZSBkdSBsb2dvIHBhcyBjZW50csOpIGRlIFJJRFxuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX19wcmltYXJ5X19saWdodCwgJGFscGhhOiAwLjgpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IDA7XG5cbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIH1cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gICAgICBsZWZ0OiAtMzBweDtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMTBweCkge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIHRvcDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTgwcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuXG4gICAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuICAgIH1cbiAgICB1bCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE3cHg7XG4gICAgfVxuICB9XG59XG4ubnVtLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuXG4gIC5udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLnd5c2l3eWcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgLnRleHQge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgfVxuICAgICAgLnAxIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC50ZXh0LXdpZHRoIHtcbiAgICAgICAgLy8gcCB7XG4gICAgICAgIC8vICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgLy8gICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIC8vIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuICAgIC5udW0ge1xuICAgICAgZm9udC1zaXplOiAxMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgjeyRpbWd9bW9kZWwuanBnKTtcbiAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIC8vICY6OmJlZm9yZSB7XG4gICAgICAvLyAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIC8vICAgd2lkdGg6IDE1MHB4O1xuICAgICAgLy8gICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgLy8gICB0b3A6IDUwJTtcbiAgICAgIC8vICAgbGVmdDogNTAlO1xuICAgICAgLy8gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIC8vICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgLy8gICB6LWluZGV4OiAtMTtcbiAgICAgIC8vIH1cbiAgICB9XG4gICAgLnRleHQge1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gIH1cbn1cbi5iZy10ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcblxuICAvKiBOZWVkcyBwcmVmaXhpbmcgKi9cbiAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbn1cbi53aGl0ZS1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cbiAgLyogTmVlZHMgcHJlZml4aW5nICovXG4gIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgLXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG59XG4uYmctcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeV9fbGlnaHQ7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcblxuICAvKiBOZWVkcyBwcmVmaXhpbmcgKi9cbiAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbn1cbi5iZy1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19zZWNvbmRhcnk7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuXG4gIC8qIE5lZWRzIHByZWZpeGluZyAqL1xuICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gIC13ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICB6LWluZGV4OiAxMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG59XG5cbi50ZWFtcyB7XG4gIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgJl9fc2xpZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExODBweCkge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgICZfX3NsaWRlIHtcbiAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19lbXBsb3llQ29udGFpbmVyIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluO1xuICAgIH1cbiAgICAmX19jaXRhdGlvbiB7XG4gICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYnViYmxlLXRleHQge1xuICAgICAgdG9wOiAxMjBweDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG5cbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IC0xMjVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGVib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLm5hbWUge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICAuZnVuY3Rpb24ge1xuICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB3aWR0aDogMTgwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSA5MHB4KTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5tb3JlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogcmdiYSg0MywgMzAsIDM0LCAwLjUpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS40M3B4O1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5pZGVudGl0eSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIHBhZGRpbmctdG9wOiAyNzBweDtcbiAgfVxuICAucm91bmQtbGluayB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5X19saWdodCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICAgIH1cbiAgfVxuICAmX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjMwcHgpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuICAmX19sZWZ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDc3MHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oNTUwLCA3NzApO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmltZ0NvbnRhaW5lciB7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIzMHB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19yaWdodCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXRvcDogOTBweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmNvbnRlbnRfX3RleHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC13aWR0aDogNDUwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGJvcmRlcjogMCBzb2xpZCAkY29sb3JfX3doaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAudGl0bGUsXG4gICAgICAudGl0bGU6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgICAucGxheWVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNDk2cHg7XG4gICAgICAgIC8vIGhlaWdodDogMzk0cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM5NHB4O1xuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gMzAwcHgpO1xuXG4gICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxNTAwcHgpIHtcbiAgICAgICAgICByaWdodDogLTMwcHg7XG4gICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0zMHB4O1xuICAgICAgICBsZWZ0OiAtMTYwcHg7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmxhY2s7XG5cbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX2xpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC01NHB4O1xuICAgIHJpZ2h0OiAtNzhweDtcblxuICAgIHotaW5kZXg6IDM7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgcmlnaHQ6IDBweDtcblxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIH1cbiAgICAucm91bmQtbGluayB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5iYWNrVG9Ub3Age1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAtNTBweDtcbiAgcmlnaHQ6IDIwcHg7XG5cbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgei1pbmRleDogOTk5OTk5O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICB9XG59XG4uaWRlbnRpdHkge1xuICAud3lzaXd5ZyB7XG4gICAgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNvbnRlbnRfX3RleHQge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG4gIH1cbn1cbi5zbGlkZXJfaGVhZGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubW9iaWxlIHtcbiAgLnNsaWRlci1udW0ge1xuICAgIC5zbGlkZXIge1xuICAgICAgLnNsaWRlIHtcbiAgICAgICAgLm51bSB7XG4gICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICRjb2xvcl9fcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuICAgICAgICAmLS1jdXJyZW50IHtcbiAgICAgICAgICAubnVtIHtcbiAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkY29sb3JfX3ByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udGFibGV0IHtcbiAgLnNsaWRlci1udW0ge1xuICAgIC5zbGlkZXIge1xuICAgICAgLnNsaWRlIHtcbiAgICAgICAgLm51bSB7XG4gICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICRjb2xvcl9fcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuICAgICAgICAmLS1jdXJyZW50IHtcbiAgICAgICAgICAubnVtIHtcbiAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkY29sb3JfX3ByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWVudS1vcGVuIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAuaGFtYnVyZ2VyIHtcbiAgICBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICB9XG4gIH1cbn1cbi5oZWFkZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgJl9fY2VudGVyIHtcbiAgICBtYXgtd2lkdGg6IDE4MDBweCAhaW1wb3J0YW50O1xuXG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYWluTWVudV9fY29udGFpbmVyIHtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgbmF2IHtcbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAjbWVudS1pdGVtLTE5IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgycHg7XG4gICAgICAgIH1cbiAgICAgICAgI21lbnUtaXRlbS0xNyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MnB4O1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgIG1heC13aWR0aDogMTcwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuanMtY2lyY2xlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAuY2lyY2xlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy91bmRlciAxMzAwcHhcbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTM1MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19sb2dvX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIHdpZHRoOiAyOThweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG5cbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGltZ31sb2dvLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgd2lkdGg6IDIxMnB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEzNzVweCkge1xuICAgICAgd2lkdGg6IDIxMnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgJl9fc29jaWFsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX2NvbnRhY3Qge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX2JsYWNrO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1lbnUtb3BlbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiA5OTk5OTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX19wcmltYXJ5X19saWdodCwgJGFscGhhOiAwLjkpO1xuICB9XG4gICZfX21vYmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3JfX3ByaW1hcnlfX2xpZ2h0LCAkYWxwaGE6IDAuOSk7XG5cbiAgICAvLyB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbjtcblxuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcblxuICAgIHotaW5kZXg6IC0xO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBhIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjZweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5idG4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgfVxuICAgICZfX3NvY2lhbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19oYW1idXJnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgei1pbmRleDogOTk5OTk5OTk5O1xuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLm1lbnUtaXRlbSB7XG4gICY6aG92ZXIge1xuICAgIC5qcy1jaXJjbGUge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4uaGFtYnVyZ2VyIC5saW5lIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDhweCBhdXRvO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5oYW1idXJnZXI6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIE9ORSAqL1xuXG4jaGFtYnVyZ2VyLTEuaXMtYWN0aXZlIC5saW5lOm50aC1jaGlsZCgyKSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbiNoYW1idXJnZXItMS5pcy1hY3RpdmUgLmxpbmU6bnRoLWNoaWxkKDEpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTNweCkgcm90YXRlKDQ1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxM3B4KSByb3RhdGUoNDVkZWcpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTNweCkgcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEzcHgpIHJvdGF0ZSg0NWRlZyk7XG59XG5cbiNoYW1idXJnZXItMS5pcy1hY3RpdmUgLmxpbmU6bnRoLWNoaWxkKDMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzcHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xM3B4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xM3B4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xM3B4KSByb3RhdGUoLTQ1ZGVnKTtcbn1cbiIsIi5mb290ZXIge1xuICBjbGVhcjogYm90aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICB9XG4gIC5jZW50ZXIge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogY2FsYygxMDAlIC0gMTYwcHgpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgfVxuICB9XG4gICZfX3RpdGxlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgbWluLWhlaWdodDogMzAwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJl9fcmlnaHQge1xuICAgICAgd2lkdGg6IDU2JTtcblxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG4gICAgJl9fc29jaWFsIHtcbiAgICAgIGEge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2Zvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAubWVudS1zZWNvbmRhcnkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgLy91bmRlciA4MDBweFxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX2NvcHlyaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXN0eWxlOiAxNHB4O1xuICAgICAgY29sb3I6IHJnYmEoJGNvbG9yX19ibGFjaywgJGFscGhhOiAwLjUpO1xuICAgIH1cbiAgfVxuICAmX19saW5rIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaSB7XG4gICAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX21vcmVpbmZvIHtcbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3JncGQge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4iLCIuZ2FsZXJ5IHtcbiAgcGFkZGluZy10b3A6IDIwMHB4O1xuICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgfVxuICAuYmx1ZS10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbiAgJl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTEzMHB4KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAmX19yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogMTQ1cHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMzBweCkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuc2luZ2xlLWNhcmQge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy8gaGVpZ2h0OiA0OTBweDtcbiAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oNTkwLCA0NjApO1xuXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTEzMHB4KSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuXG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5yb3VuZC1saW5rIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yb3VuZC1saW5rIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvLyByaWdodDogNjBweDtcbiAgICAgICAgLy8gYm90dG9tOiAxNTBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuXG4gICAgICAgIHdpZHRoOiA2MHB4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIGxlZnQ6IC0zMHB4O1xuXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgIHRvcDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogLTMwcHg7XG4gICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc3VidGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTgwcHg7XG4gICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgIGJvdHRvbTogLTk0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxhdGVzdC1uZXdzIHtcbiAgLnNsaWRlcl9fbmV3cyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLnNsaWRlciB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIGgzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19jYXJkcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICB9XG4gICAgJl9fY2FyZCB7XG4gICAgICAvLyBtYXgtd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAvLyB3aWR0aDogNDAwcHg7XG4gICAgICAvLyBtYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICAgIC8vIG1hcmdpbi1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAvLyBtYXgtd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIHdpZHRoOiAzMDBweDtcbiAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogJGNvbG9yX19ibGFjayAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5saW5rIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmsge1xuICAgICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICB9XG5cbiAgICAgIC5pbWdDb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oNDAwLCAyNzIpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgLy8gaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmRlc2Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcl9fYmxhY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmxpbmsge1xuICAgICAgICBwIHtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLmhvbWUtYW5pbSB7XG4vLyAgIHZpc2liaWxpdHk6IGhpZGRlbjsgLy9HU0FQXG4vLyB9XG4jaG9tZSB7XG4gIC5sYXRlc3QtbmV3cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAuc2xpZGVyX19jYXJkIHtcbiAgICAgIG1heC13aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAudmlzaW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMjQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIH1cbiAgICAmX19jb250YWluZXIge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgIH1cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICByaWdodDogY2FsYyg1MCUgLSA4MHB4KTtcbiAgICAgICAgd2lkdGg6IDUwMDBweDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5X19saWdodDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDkwcHgpIHtcbiAgICAgICAgICByaWdodDogLTUwcHg7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC8vICAgbGVmdDogMDtcbiAgICAgICAgLy8gICByaWdodDogaW5oZXJpdDtcbiAgICAgICAgLy8gICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgLy8gICB3aWR0aDogMjAwMHB4O1xuICAgICAgICAvLyB9XG4gICAgICB9XG4gICAgfVxuICAgIC5pbWdDb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgfVxuICAgIC5yb3VuZC1saW5rIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmVycm9yNDA0IHtcbiAgICAuZm9vdGVyLCAuaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZXJyb3I0MDRfX2dyb3VwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoIC01MCUsIC01MCUgKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAubWFpblRpdGxlX19maXJzdCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdGV4dF9fZmFtaWx5LXNhbnM7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3NlY29uZGFyeTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0xZW07XG4gICAgICAgIGxlZnQ6IDEuNWVtO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIH1cblxuICAgIC5tYWluVGl0bGVfX3NlY29uZCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdGV4dF9fZmFtaWx5LXNhbnM7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXJyb3I0MDRfX2xpbmsge1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cbn0iLCIjYWJvdXQge1xuICAuY3Vyc29yQ2lyY2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbjogLTEwMHB4IDAgMCAtMTAwcHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX19wcmltYXJ5O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgei1pbmRleDogMjA7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsXG4gICAgICB0cmFuc2Zvcm0gMXMgZWFzZS1pbi1vdXQ7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcblxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC50aW1lbGluZSB7XG4gICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIC5zbGljay1uZXh0IHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgei1pbmRleDogOTk5OTk5OTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IGNhbGMoOTB2dyAtIDEwcHgpO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNlbnRlciB7XG4gICAgICBoMiB7XG4gICAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgICAgfVxuICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5zbGljay1saXN0IHtcbiAgICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIH1cbiAgICAuc2xpY2stdHJhY2sge1xuICAgICAgY3Vyc29yOiBncmFiO1xuICAgIH1cbiAgICAmX19saXN0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC5yb3VuZC1saW5rIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuXG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IHVybCgjeyRpbWd9YXJyb3ctdGltZWxpbmUuc3ZnKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGNhbGMoNTAlICsgN3B4KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKSB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIGxlZnQ6IDkwdnc7XG5cbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICB6LWluZGV4OiAxMTtcbiAgICAgIH1cbiAgICAgIC5oaWdobGlnaHQge1xuICAgICAgICAuYnViYmxlIHtcbiAgICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5X19saWdodDtcblxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAtNzBweDtcbiAgICAgICAgICB0b3A6IC05MHB4O1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICB3aWR0aDogMzUwcHg7XG4gICAgICAgIGhlaWdodDogNDAwcHg7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgICAgIC5tb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgICAgIC55ZWFyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZm9udC1zaXplOiA5MHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA3NXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBjdXJzb3I6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBWUFBQUFmRmNTSkFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFBWmRFVllkRk52Wm5SM1lYSmxBRkJoYVc1MExrNUZWQ0IyTXk0MUxqYlFnNjFhQUFBQURVbEVRVlFZVjJQNC8vOC9Jd0FJL1FMLytUWlpkd0FBQUFCSlJVNUVya0pnZ2c9PVwiKSxcbiAgICAgICAgICAgIHVybChpbWFnZXMvYmxhbmsuY3VyKSwgbm9uZTtcblxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgjeyRpbWd9bW9kZWwuanBnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzEwJSAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG5cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDU1MDBweCAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgY3Vyc29yOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQVlBQUFBZkZjU0pBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBQVpkRVZZZEZOdlpuUjNZWEpsQUZCaGFXNTBMazVGVkNCMk15NDFMamJRZzYxYUFBQUFEVWxFUVZRWVYyUDQvLzgvSXdBSS9RTC8rVFpaZHdBQUFBQkpSVTVFcmtKZ2dnPT1cIiksXG4gICAgICAgICAgICB1cmwoaW1hZ2VzL2JsYW5rLmN1ciksIG5vbmU7XG4gICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmlkZW50aXR5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTYwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDIwMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiA1MDAwcHg7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWFlODtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgICAmX19jb250YWluZXIge1xuICAgIH1cblxuICAgIC5tb2RhbF9yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIH1cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmltZ0NvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG4gIC52aXNpb25SZXZlcnNlIHtcbiAgICAmX19jb250YWluZXIge1xuICAgICAgLy8gbWluLWhlaWdodDogMTEwMHB4O1xuICAgIH1cbiAgICAmX19sZWZ0IHtcbiAgICAgIC5oMiB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOTBweDtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgd2lkdGg6IDYzMHB4O1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmxhY2s7XG5cbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAtMzBweDtcbiAgICAgICAgICByaWdodDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICZfX3JpZ2h0IHtcbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgIH1cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMC4yOWVtIDA7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC52aWRlby1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDExNHB4O1xuXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKSB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBsYXllciB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC5tZWRpYS1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbm5vdmF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTYwcHg7XG4gICAgLmNlbnRlciB7XG4gICAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICB9XG4gICAgaDMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuaDIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuY2hhcnQge1xuICAgICAgI2NoYXJ0MSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fc2Vjb25kYXJ5O1xuICAgICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cbiAgICAgICNjaGFydDIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX3NlY29uZGFyeTtcbiAgICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG4gICAgICAmX19jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fc2luZ2xlIHtcbiAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5oMiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc21hbGwge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGNvbG9yOiByZ2JhKCRjb2xvcl9fYmxhY2ssICRhbHBoYTogMC41KTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS40M3B4O1xuXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubGluayB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJ1c2luZXNzIHtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgIH1cbiAgICAuY2VudGVyIHtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgICAuaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICAgIG1heC13aWR0aDogNzUwcHg7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnN2Zy1idXNpbmVzcyB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTUwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuc3ZnLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBtYXJnaW46IDUwcHggYXV0bztcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDkwcHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRlY2hub2xvZ3kge1xuICAgICZfX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fc2luZ2xlIHtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTEwcHgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMTBweCkge1xuICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNDBweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTEwcHgpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTEwcHgpIHtcbiAgICAgICAgICB0b3A6IDM1MHB4O1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIjbGFib3JhdG9yaWVzIHtcbiAgLnZpc2lvbiB7XG4gICAgcGFkZGluZy10b3A6IDI0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMDBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgIH1cbiAgICAmX19jb250YWluZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fbGVmdCB7XG4gICAgICAuaDIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHdpZHRoOiA1MDAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgICAgICByaWdodDogODUlO1xuXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ibGFjaztcblxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgICAgcmlnaHQ6IDkwJTtcbiAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmX19yaWdodCB7XG4gICAgICBib3R0b206IHVuc2V0O1xuICAgICAgaGVpZ2h0OiA3NSU7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgIH1cbiAgICAgIC5pbWdDb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJvdW5kLWxpbmsge1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnByb2R1Y3RzIHtcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuICAgIH1cbiAgICAuY2VudGVyIHtcbiAgICAgIC5ibHVlLXRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDEwNjJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNsaWNrLXRyYWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgfVxuICAuc2xpZGVyLW51bSB7XG4gICAgLnRleHQtd2lkdGgge1xuICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm51bSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAuZG90IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgfVxuICAgIC5hcnJvdyB7XG4gICAgICB0b3A6IGNhbGMoNTAlICsgMTI4cHgpO1xuICAgIH1cbiAgfVxuICAud3lzaXd5ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgdWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYXNzZXRzIHtcbiAgICAuYmx1ZS10aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5hc3NldHNfX2xpc3Qge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogNDBweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXG4gIH1cbn1cbiIsIiNjb25zdW1lciB7XG4gIC52aXNpb24ge1xuICAgIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjQwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7XG4gICAgfVxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19sZWZ0IHtcbiAgICAgIC5oMiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgd2lkdGg6IDUwMDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgICAgIHJpZ2h0OiA4NSU7XG5cbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5yb3VuZC1saW5rIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeV9fbGlnaHQ7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYnViYmxlLWNvbnRhaW5lciB7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYXNzZXRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAyMDBweDtcbiAgICB9XG4gICAgLmgyIHtcbiAgICAgIC8vIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgICZfX2xpc3Qge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSArIDEyMHB4KTtcbiAgICAgIH1cbiAgICAgIGxpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIG1hcmdpbjogMzBweDtcbiAgICAgICAgLy8gJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIC8vICAgJjo6YmVmb3JlIHtcbiAgICAgICAgLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIC8vICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIC8vICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICAvLyAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAvLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcbiAgICAgICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gICAgIHRvcDogLTM1cHg7XG4gICAgICAgIC8vICAgICBsZWZ0OiA4MyU7XG4gICAgICAgIC8vICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgIC8vICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgLy8gICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gJjpudGgtY2hpbGQoMykge1xuICAgICAgICAvLyAgICY6OmJlZm9yZSB7XG4gICAgICAgIC8vICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAvLyAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICAvLyAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgLy8gICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vICAgICB0b3A6IC0zNXB4O1xuICAgICAgICAvLyAgICAgbGVmdDogODMlO1xuICAgICAgICAvLyAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAvLyAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC8vICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5waWN0byB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIC50aXRsZS1jb250YWluZXIge1xuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICAgdG9wOiA2MiU7XG4gICAgLy8gICBsZWZ0OiAyMCU7XG4gICAgLy8gfVxuICAgIC50aXRsZSB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRlY2hub2xvZ3kge1xuICAgIHBhZGRpbmctdG9wOiAxNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAmX19zaW5nbGUge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAuYmx1ZS10aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5jZW50ZXIge1xuICAgICAgLmgyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDgzMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1vZGFsIHtcbiAgICAmX3JpZ2h0IHtcbiAgICAgIC5oMiB7XG4gICAgICAgIHNtYWxsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9zaW5nbGUge1xuICAgIH1cbiAgICAmX2ltZ2NvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgJl9sb2dvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG59XG4iLCIjdGVhbSB7XG4gIC5idWJibGUtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLmJ1YmJsZS10ZXh0IHtcbiAgICAgIGJvdHRvbTogMTIwcHg7XG4gICAgICB0b3A6IGluaGVyaXQ7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wYWdlSGVhZF9fcmlnaHQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLnNsaWRlcl9oZWFkZXIge1xuICAgIC5zbGljay1saXN0IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnNsaWNrLXRyYWNrIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAuaW1nQ29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pZGVudGl0eSB7XG4gICAgLnd5c2l3eWcge1xuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY29udGVudF9fdGV4dCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmlzaW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMjQwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICB9XG4gICAgLmltZ0NvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgICB9XG4gIH1cbiAgLnZpc2lvbl9fY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDI0MHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnZpc2lvbl9fcmlnaHQge1xuICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIH1cbiAgfVxuICAudmlzaW9uX19sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgLmgyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEwMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgICByaWdodDogODUlO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmxhY2s7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgcmlnaHQ6IDkwJTtcbiAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAud3lzaXd5ZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxNTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnJvdW5kLWxpbmsge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeV9fbGlnaHQ7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY3VsdHVyZSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDE2MHB4O1xuICAgIC5pbWdDb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIH1cbiAgICAudmlzaW9uUmV2ZXJzZV9fcmlnaHRfX3RpdGxlIHtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgfVxuICAgIC53eXNpd3lnIHtcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogOXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYXNzZXRzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIC5ibHVlLXRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC5oMiB7XG4gICAgICBtYXgtd2lkdGg6IDEwNDBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgICAucGljdG8ge1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgIGZvbnQtc2l6ZTogNjZweDtcbiAgICAgIGNvbG9yOiAkY29sb3JfX3NlY29uZGFyeTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fc2VjdG9yIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tdG9wOiAxMDBweDtcblxuICAgICAgbGkge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG5cbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiA1MCU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5vZmZpY2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG5cbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICAgICAgYm90dG9tOiAtMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRlYW1zIHtcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5X19saWdodDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgIH1cblxuICAgIC5jdXJzb3Itc2xpZGVyIHtcbiAgICAgIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRpbWd9L2RyYWdnYWJsZS1jdXJzb3Iuc3ZnKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgei1pbmRleDogOTk5OTk5OTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbjtcblxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiI2xhdGVzdC1uZXdzIHtcbiAgLnBhZ2VIZWFkX19yaWdodCB7XG4gICAgLmltZ0NvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gICAgfVxuICB9XG4gIC5sYXRlc3QtbmV3cyB7XG4gICAgcGFkZGluZy10b3A6IDE5MHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgbWFyZ2luLXRvcDogMjcwcHg7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNjBweCkgLyAzKTtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMHB4KSAvIDIpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIjc2luZ2xlIHtcbiAgLnd5c2l3eWcge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgbWFyZ2luLXRvcDogMjIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbiAgICB9XG4gIH1cbiAgLmNvbnRlbnRfX2NvbnRhaW5lciB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAucGFnZUhlYWRfX3JpZ2h0IHtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAuaW1nQ29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7XG4gICAgfVxuICB9XG59XG4iLCIjY2FyZWVyIHtcbiAgLnBhZ2VIZWFkX19yaWdodCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAuaWRlbnRpdHlfX2NvbnRhaW5lciB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMzBweCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIH1cbiAgfVxuICAuc2xpZGVyX2hlYWRlciB7XG4gICAgLnNsaWNrLWxpc3Qge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2xpY2stdHJhY2sge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC5pbWdDb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBhZ2VIZWFkIHtcbiAgICAuaW1nQ29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7XG4gICAgfVxuICB9XG4gIC52aXNpb25SZXZlcnNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAmX19jb250YWluZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnZpc2lvbiB7XG4gICAgLmNvbnRlbnRfX3RleHQge1xuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmX19jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDkwcHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gODBweCk7XG4gICAgICAgIHdpZHRoOiA1MDAwcHg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeV9fbGlnaHQ7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAgICAgcmlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubGF0ZXN0LW5ld3Mge1xuICAuc2xpZGVyX19uZXdzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuc2xpZGVyIHtcbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgaDMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2NhcmRzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLy8gcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIH1cbiAgICAmX19jYXJkIHtcbiAgICAgIC8vIG1heC13aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgICAgIC8vIHdpZHRoOiA0MDBweDtcbiAgICAgIC8vIG1hcmdpbi1yaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgICAgLy8gbWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC8vIG1heC13aWR0aDogMzAwcHggIWltcG9ydGFudDtcbiAgICAgICAgLy8gd2lkdGg6IDMwMHB4O1xuICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmxpbmsge1xuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubGluayB7XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgIH1cblxuICAgICAgLmltZ0NvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIEBpbmNsdWRlIG1haW50YWluLWFzcGVjdC1yYXRpbyg0MDAsIDI3Mik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICAvLyBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZGVzYyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX19ibGFjaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubGluayB7XG4gICAgICAgIHAge1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeV9fbGlnaHQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG5cbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmxhdGVzdC1uZXdzIHtcbiAgLnNsaWRlcl9fbmV3cyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLnNsaWRlciB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIGgzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19jYXJkcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICB9XG4gICAgJl9fY2FyZCB7XG4gICAgICAvLyBtYXgtd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAvLyB3aWR0aDogNDAwcHg7XG4gICAgICAvLyBtYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICAgIC8vIG1hcmdpbi1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAvLyBtYXgtd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIHdpZHRoOiAzMDBweDtcbiAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogJGNvbG9yX19ibGFjayAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5saW5rIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmsge1xuICAgICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICB9XG5cbiAgICAgIC5pbWdDb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oNDAwLCAyNzIpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgLy8gaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmRlc2Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcl9fYmxhY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmxpbmsge1xuICAgICAgICBwIHtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnlfX2xpZ2h0O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5sYXRlc3QtbmV3cyB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIC5zbGlkZXJfX2NhcmQge1xuICAgIG1heC13aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbn1cbiIsIiNjb250YWN0IHtcbiAgLnBhZ2VIZWFkX19sZWZ0X190aXRsZSB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgfVxuICAjZ21hcHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuY29udGFjdCB7XG4gICAgbWFyZ2luLXRvcDogMjYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgLy8gYWxsIGEgdGFncyBleGVwdCB0aGUgb25lIHdpdGggY2xhc3Mgcm91bmQtbGlua1xuICAgIGE6bm90KC5yb3VuZC1saW5rKSB7XG4gICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBmb250LWZhbWlseTogJHRleHRfX2ZhbWlseS1zYW5zO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ibHVlLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19mb3JtIHtcbiAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLm5mLWZpZWxkLWxhYmVsIGxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAvKiBDaHJvbWUsIEZpcmVmb3gsIE9wZXJhLCBTYWZhcmkgMTAuMSsgKi9cbiAgICAgICAgICBjb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICAgICAgICBvcGFjaXR5OiAxOyAvKiBGaXJlZm94ICovXG4gICAgICAgIH1cblxuICAgICAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgIC8qIE1pY3Jvc29mdCBFZGdlICovXG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgICAgIH1cbiAgICAgICAgLm5mLWVycm9yIC5uaW5qYS1mb3Jtcy1maWVsZCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfX3ByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubmYtZm9ybS1jb250ZW50IC5saXN0LXNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50ID4gZGl2LFxuICAgICAgICAubmYtZm9ybS1jb250ZW50IGlucHV0Om5vdChbdHlwZT1cImJ1dHRvblwiXSksXG4gICAgICAgIC5uZi1mb3JtLWNvbnRlbnQgdGV4dGFyZWEge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9fcHJpbWFyeV9fbGlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgLm5mLWZvcm0tY29udGVudCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCA+IGRpdixcbiAgICAgICAgLm5mLWZvcm0tY29udGVudCBpbnB1dDpub3QoW3R5cGU9XCJidXR0b25cIl0pLFxuICAgICAgICAubmYtZm9ybS1jb250ZW50IHRleHRhcmVhIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJHRleHRfX2ZhbWlseS1zYW5zO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm5mLWVycm9yIC5uZi1lcnJvci1tc2cge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLm5mLWZvcm0tZmllbGRzLXJlcXVpcmVkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5uaW5qYS1mb3Jtcy1yZXEtc3ltYm9sIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICNuZi1sYWJlbC1maWVsZC03IHtcbiAgICAgICAgICAubmluamEtZm9ybXMtcmVxLXN5bWJvbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5uZi1lcnJvci5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICNuZi1maWVsZC00IHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICAubmYtcGFzcy5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5uZi1lcnJvci1maWVsZC1lcnJvcnMge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5jaGVja2JveC13cmFwIC5uZi1maWVsZC1lbGVtZW50IGxhYmVsLm5mLWNoZWNrZWQtbGFiZWw6YmVmb3JlLFxuICAgICAgICAuY2hlY2tib3gtd3JhcCAubmYtZmllbGQtbGFiZWwgbGFiZWwubmYtY2hlY2tlZC1sYWJlbDpiZWZvcmUsXG4gICAgICAgIC5saXN0Y2hlY2tib3gtd3JhcCAubmYtZmllbGQtZWxlbWVudCBsYWJlbC5uZi1jaGVja2VkLWxhYmVsOmJlZm9yZSxcbiAgICAgICAgLmxpc3RjaGVja2JveC13cmFwIC5uZi1maWVsZC1sYWJlbCBsYWJlbC5uZi1jaGVja2VkLWxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgICAuY2hlY2tib3gtd3JhcCAubmYtZmllbGQtZWxlbWVudCBsYWJlbDphZnRlcixcbiAgICAgICAgLmNoZWNrYm94LXdyYXAgLm5mLWZpZWxkLWxhYmVsIGxhYmVsOmFmdGVyLFxuICAgICAgICAubGlzdGNoZWNrYm94LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQgbGFiZWw6YWZ0ZXIsXG4gICAgICAgIC5saXN0Y2hlY2tib3gtd3JhcCAubmYtZmllbGQtbGFiZWwgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9fcHJpbWFyeV9fbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAucm91bmQtbGluayB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogLTI1cHg7XG4gICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICAgIGJvdHRvbTogNDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeV9fbGlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19mb3JtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIH1cbiAgICAgICZfX3RleHQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtIDUwcHgpO1xuXG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgd2lkdGg6IDMwMDBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICZfX2luZm8ge1xuICAgICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gOTBweCk7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9faW1nIHtcbiAgICAgICAgaGVpZ2h0OiAyODBweDtcbiAgICAgIH1cbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAzOHB4O1xuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhY3QtZmF4IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */
