/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css?family=Lato:300,400,700,700i|Open+Sans:300,400,600,700,700i|Source+Sans+Pro:300,400,600,700");
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

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

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

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

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

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

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

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

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

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

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

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

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

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

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

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

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

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

/*
0 - 600px:       Phone
600 - 900px:     Tablet portrait
900 - 1200px:    Tablet Landscape
[1200 - 1800px]  is where our normal styles apply
1800px + :       Big desktop


 $breakpoint argument choices:

    - phone
    - tab-port
    - tab-land
    - big-desktop


ORDER: Base + typography > general layout + grid > page layout > components

    1em = 16px;
*/
body {
  font-family: 'Open Sans',sans-serif;
  font-size: 1.4rem;
  line-height: 1.4; }

.headline-main {
  color: #fff;
  text-align: center;
  width: 80rem; }
  @media (max-width: 820px) {
    .headline-main {
      width: 100%; } }
  .headline-main__secondary {
    font: 2.2rem 'Source Sans Pro',sans-serif;
    text-transform: capitalize;
    letter-spacing: 2px; }
    @media (max-width: 820px) {
      .headline-main__secondary {
        font-size: 1.5rem; } }
  .headline-main__primary {
    display: block;
    font: bold 6.5rem 'Open Sans',sans-serif;
    text-transform: uppercase;
    letter-spacing: 3.2px;
    margin: 2rem 0; }
    @media (max-width: 820px) {
      .headline-main__primary {
        font-size: 2.7rem;
        margin: 1.6rem 0; } }
  .headline-main__paragraph {
    font: 300 1.5rem 'Open Sans', sans-serif;
    text-align: center;
    width: 70%;
    display: inline-block;
    margin: 0 0 2.5rem 0;
    line-height: 1.5; }
    @media (max-width: 820px) {
      .headline-main__paragraph {
        font-size: 1.3rem;
        margin: 0 0 1.75rem 0; } }

.headline-secondary {
  font: 700 3.6rem 'Source Sans Pro',sans-serif;
  margin: 0 auto;
  text-align: center;
  color: #6a6a6a;
  letter-spacing: 3px;
  text-transform: uppercase; }
  @media (max-width: 58.125em) {
    .headline-secondary {
      font-size: 2.7rem; } }
  @media (max-width: tab-port) {
    .headline-secondary {
      font-size: 2.7rem; } }
  .headline-secondary__sub {
    display: block;
    margin: 2rem auto;
    text-transform: none;
    font: 600 1.4rem 'Open Sans',sans-serif;
    letter-spacing: 0;
    color: #999999; }

@-webkit-keyframes goRight {
  0% {
    -webkit-transform: translate3d(0px, 0px, 0px);
            transform: translate3d(0px, 0px, 0px); }
  100% {
    -webkit-transform: translate3d(100%, 0px, 0px);
            transform: translate3d(100%, 0px, 0px); } }

@keyframes goRight {
  0% {
    -webkit-transform: translate3d(0px, 0px, 0px);
            transform: translate3d(0px, 0px, 0px); }
  100% {
    -webkit-transform: translate3d(100%, 0px, 0px);
            transform: translate3d(100%, 0px, 0px); } }

*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

html {
  font-size: 62.5%; }

ol, ul {
  list-style: none; }

a {
  text-decoration: none; }

body {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

.section-divider {
  border-color: transparent;
  -webkit-box-shadow: 1px 1rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 1px 1rem 0 rgba(0, 0, 0, 0.1); }

.flex__jc--sb {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.flex__ai--fs {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.ps-30 {
  padding: 0 3rem; }

.btn {
  font-size: 1.4rem;
  font-weight: 700;
  display: inline-block;
  text-transform: uppercase;
  color: #fff;
  -webkit-transition: all .3s;
  transition: all .3s;
  min-width: 22rem;
  position: relative;
  z-index: 1; }
  .btn:hover {
    cursor: pointer;
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px);
    -webkit-box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.2);
            box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.2); }
    .btn:hover::after {
      visibility: visible;
      -webkit-transform: scaleX(1.4) scaleY(1.6);
              transform: scaleX(1.4) scaleY(1.6);
      opacity: 0; }
  .btn:active, .btn:focus {
    outline: none; }
  @media (max-width: 37.5em) {
    .btn {
      min-width: unset;
      font-size: 1.3rem; } }
  @media (max-width: phone) {
    .btn {
      min-width: unset;
      font-size: 1.3rem; } }
  .btn::after {
    content: '';
    display: inline-block;
    height: 100%;
    width: 100%;
    border-radius: 2px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    -webkit-transition: all .4s;
    transition: all .4s; }
  .btn__main {
    padding: 1.5rem 3rem;
    border: 1px solid transparent;
    border-radius: 2px; }
    @media (max-width: 37.5em) {
      .btn__main {
        padding: 1.3rem 1.5rem; } }
    @media (max-width: phone) {
      .btn__main {
        padding: 1.3rem 1.5rem; } }
    .btn__main--small {
      padding: 1.2rem 3rem;
      width: auto;
      min-width: unset;
      font-size: 1.2rem;
      font-weight: 400; }
      @media (max-width: 37.5em) {
        .btn__main--small {
          padding: 1.3rem 1.5rem; } }
      @media (max-width: phone) {
        .btn__main--small {
          padding: 1.3rem 1.5rem; } }
  .btn__red {
    background-color: #e74c3c; }
    .btn__red::after {
      background-color: #e74c3c; }
    .btn__red:active {
      background-color: #ed7669; }
  .btn__transparent {
    background-color: transparent;
    border: 1px solid #fff; }
    .btn__transparent:active {
      background-color: rgba(255, 255, 255, 0.3); }
    .btn__transparent::after {
      visibility: hidden;
      background-color: rgba(255, 255, 255, 0.1); }

.card {
  text-align: center;
  position: relative;
  -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
          box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); }
  @media (max-width: 58.125em) {
    .card {
      width: 100%;
      margin: 0 auto; } }
  @media (max-width: tab-port) {
    .card {
      width: 100%;
      margin: 0 auto; } }
  .card:hover .card__top, .card:hover button {
    background-color: #e74c3c; }
  .card:hover .card__price--amount {
    color: #e74c3c; }
    .card:hover .card__price--amount span {
      color: #999 !important; }
  .card__top {
    -webkit-transition: all .3s;
    transition: all .3s;
    height: 20rem;
    position: relative;
    background-color: #999;
    z-index: -1; }
    @media (max-width: 58.125em) {
      .card__top {
        height: 15rem;
        z-index: unset;
        padding-top: .7rem; } }
    @media (max-width: tab-port) {
      .card__top {
        height: 15rem;
        z-index: unset;
        padding-top: .7rem; } }
  .card__title {
    display: inline-block;
    font: 600 2.4rem "Open Sans",sans-serif;
    text-transform: uppercase;
    color: #fff;
    position: relative;
    letter-spacing: 1px;
    top: 4rem; }
    @media (max-width: 58.125em) {
      .card__title {
        top: unset;
        font-size: 2.1rem; } }
    @media (max-width: tab-port) {
      .card__title {
        top: unset;
        font-size: 2.1rem; } }
  .card__body {
    padding: 14rem 3rem 12rem 3rem;
    position: relative;
    margin-top: -15rem;
    background-color: #f4f5f9;
    z-index: -1; }
    @media (max-width: 58.125em) {
      .card__body {
        padding-top: 10rem; } }
    @media (max-width: tab-port) {
      .card__body {
        padding-top: 10rem; } }
  .card__price {
    width: 15rem !important;
    height: 15rem !important;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    top: -7.5rem;
    color: #999;
    margin: 0 auto; }
    @media (max-width: 58.125em) {
      .card__price {
        width: 8.5rem !important;
        height: 8.5rem !important;
        top: -11rem; } }
    @media (max-width: tab-port) {
      .card__price {
        width: 8.5rem !important;
        height: 8.5rem !important;
        top: -11rem; } }
    .card__price::after {
      width: 15rem !important;
      height: 15rem !important;
      background-color: rgba(176, 176, 176, 0.5) !important;
      -webkit-transform: translateX(0) scale(1.2) !important;
              transform: translateX(0) scale(1.2) !important; }
      @media (max-width: 58.125em) {
        .card__price::after {
          width: 8.5rem !important;
          height: 8.5rem !important; } }
      @media (max-width: tab-port) {
        .card__price::after {
          width: 8.5rem !important;
          height: 8.5rem !important; } }
    .card__price--amount {
      font: 700 4rem "Source Sans Pro",sans-serif; }
      @media (max-width: 58.125em) {
        .card__price--amount {
          font-size: 3rem; } }
      @media (max-width: tab-port) {
        .card__price--amount {
          font-size: 3rem; } }
      .card__price--amount span {
        display: block;
        font-size: .35em;
        font-weight: 400; }
  .card__list--item {
    font: 600 1.4rem "Open Sans",sans-serif;
    color: #999999; }
    .card__list--item:not(:last-child) {
      margin-bottom: 2rem; }
  .card button {
    position: absolute;
    background-color: #999;
    bottom: 3rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
    .card button:hover {
      background-color: #e74c3c;
      -webkit-transform: translate(-50%, -3px);
              transform: translate(-50%, -3px); }

.logo {
  border: 4px solid white;
  display: inline-block;
  width: 14rem;
  font-size: 3.5rem;
  color: white;
  font-family: "Open Sans",sans-serif;
  line-height: 1;
  z-index: 9; }
  @media (max-width: 58.125em) {
    .logo {
      position: absolute;
      top: 12px;
      left: 2rem; } }
  @media (max-width: tab-port) {
    .logo {
      position: absolute;
      top: 12px;
      left: 2rem; } }
  .logo span {
    text-align: center;
    padding: .6rem;
    display: inline-block; }
  .logo__prim_el {
    background-color: white;
    color: rgba(0, 0, 0, 0.8);
    font-weight: 700;
    width: 35%; }
  .logo__second_el {
    color: white;
    background-color: transparent;
    width: 65%;
    font-weight: 300; }
  .logo:hover {
    cursor: pointer; }

.nav {
  -webkit-transition: all .54s ease-in-out;
  transition: all .54s ease-in-out; }
  @media (max-width: 58.125em) {
    .nav {
      visibility: hidden;
      opacity: 0;
      position: fixed;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      z-index: 1500;
      -webkit-transition: visibility 0.8s cubic-bezier(0.68, -0.55, 0.265, 0.65);
      transition: visibility 0.8s cubic-bezier(0.68, -0.55, 0.265, 0.65); } }
  @media (max-width: tab-port) {
    .nav {
      visibility: hidden;
      opacity: 0;
      position: fixed;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      z-index: 1500;
      -webkit-transition: visibility 0.8s cubic-bezier(0.68, -0.55, 0.265, 0.65);
      transition: visibility 0.8s cubic-bezier(0.68, -0.55, 0.265, 0.65); } }
  .nav__background {
    -webkit-transform: scale(0);
            transform: scale(0);
    height: 1rem;
    width: 1rem;
    visibility: hidden;
    opacity: 0;
    border-radius: 50%;
    position: fixed;
    top: 0;
    right: 0;
    background-image: radial-gradient(#e74c3c, #7b190f);
    z-index: 1000;
    -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.86, 0, 0.07, 1);
    transition: -webkit-transform 0.8s cubic-bezier(0.86, 0, 0.07, 1);
    transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1);
    transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.8s cubic-bezier(0.86, 0, 0.07, 1); }
    .nav__background.open {
      visibility: visible;
      opacity: 1;
      -webkit-transform: scale(300);
              transform: scale(300); }
  .nav.open {
    opacity: 1;
    visibility: visible; }
    .nav.open ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .nav.open li {
      display: block;
      margin: 0 0 10px 0 !important;
      text-align: center;
      width: 30rem;
      border: none;
      -webkit-transition: all .3s ease-in-out;
      transition: all .3s ease-in-out; }
    .nav.open li:hover {
      cursor: pointer;
      border: none;
      background-color: lightyellow; }
    .nav.open li:hover a {
      color: #222222; }
  .nav li {
    display: inline-block;
    padding: 1.95rem 0;
    margin: 0 2.6rem;
    font-size: 0;
    border-bottom: 2px solid transparent; }
  .nav li:last-child {
    margin: 0 0 0 2.6rem; }
  .nav li:first-child {
    margin: 0 2.6rem 0 0; }
  .nav li:hover a {
    color: #e74c3c; }
  .nav li:hover {
    border-bottom: 2px solid #e74c3c; }
  .nav a {
    font-size: 1.5rem;
    text-transform: uppercase;
    font-family: "Open Sans",sans-serif;
    color: white;
    font-weight: 600;
    -webkit-transition: all .2s;
    transition: all .2s; }
  .nav__button {
    padding: 1rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 3px;
    border: 1px solid white;
    min-height: 40px;
    top: 12px;
    cursor: pointer;
    position: fixed;
    right: 3rem;
    display: none;
    z-index: 2500; }
    @media (max-width: 58.125em) {
      .nav__button {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        top: 12px; } }
    @media (max-width: tab-port) {
      .nav__button {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        top: 12px; } }
    .nav__button .gamburger {
      position: relative; }
      .nav__button .gamburger, .nav__button .gamburger::before, .nav__button .gamburger::after {
        width: 3rem;
        height: 2px;
        background-color: #fff;
        display: inline-block; }
        @media (max-width: 58.125em) {
          .nav__button .gamburger, .nav__button .gamburger::before, .nav__button .gamburger::after {
            width: 2.5rem; } }
        @media (max-width: tab-port) {
          .nav__button .gamburger, .nav__button .gamburger::before, .nav__button .gamburger::after {
            width: 2.5rem; } }
      .nav__button .gamburger::before, .nav__button .gamburger::after {
        content: "";
        position: absolute;
        left: 0;
        -webkit-transition: all .2s;
        transition: all .2s; }
      .nav__button .gamburger::before {
        top: -.8rem; }
      .nav__button .gamburger::after {
        top: .8rem; }
    .nav__button.active .gamburger {
      background-color: transparent; }
    .nav__button.active .gamburger::before {
      top: 0;
      -webkit-transform: rotate(135deg);
              transform: rotate(135deg); }
    .nav__button.active .gamburger::after {
      top: 0;
      -webkit-transform: rotate(-135deg);
              transform: rotate(-135deg); }
    .nav__button:not(.active):hover .gamburger::before {
      top: -1rem; }
    .nav__button:not(.active):hover .gamburger::after {
      top: 1rem; }

.contact-form__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 6rem;
  -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
          box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); }
  @media (max-width: 58.125em) {
    .contact-form__wrapper {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media (max-width: tab-port) {
    .contact-form__wrapper {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .contact-form__wrapper > div {
    padding: 8rem 9.5rem;
    background-color: #fff; }
    @media (max-width: 58.125em) {
      .contact-form__wrapper > div {
        padding: 6rem; } }
    @media (max-width: tab-port) {
      .contact-form__wrapper > div {
        padding: 6rem; } }

.contact-form__info {
  width: 40%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-pack: distribute;
      justify-content: space-around; }
  @media (max-width: 58.125em) {
    .contact-form__info {
      width: 100%;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  @media (max-width: tab-port) {
    .contact-form__info {
      width: 100%;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .contact-form__info::after {
    content: "";
    height: 45%;
    width: 1.5px;
    background-color: #e74c3c;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
    @media (max-width: 58.125em) {
      .contact-form__info::after {
        height: 1.5px;
        width: 45%;
        bottom: 0;
        top: unset;
        right: 50%;
        -webkit-transform: translateX(50%);
                transform: translateX(50%); } }
    @media (max-width: tab-port) {
      .contact-form__info::after {
        height: 1.5px;
        width: 45%;
        bottom: 0;
        top: unset;
        right: 50%;
        -webkit-transform: translateX(50%);
                transform: translateX(50%); } }
  .contact-form__info > div:not(:last-child) {
    margin-bottom: 3.5rem; }
  .contact-form__info h5 {
    color: #e74c3c;
    font: 600 2.2rem "Source Sans Pro",sans-serif;
    text-transform: uppercase;
    margin-bottom: 1.5rem; }
    @media (max-width: 58.125em) {
      .contact-form__info h5 {
        font-size: 1.9rem; } }
    @media (max-width: tab-port) {
      .contact-form__info h5 {
        font-size: 1.9rem; } }
  .contact-form__info p {
    color: #999999;
    font: 400 1.6rem "Open Sans",sans-serif; }
    @media (max-width: 58.125em) {
      .contact-form__info p {
        font-size: 1.4rem; } }
    @media (max-width: tab-port) {
      .contact-form__info p {
        font-size: 1.4rem; } }
  .contact-form__info span {
    display: block; }

.contact-form__form {
  width: 60%; }
  @media (max-width: 58.125em) {
    .contact-form__form {
      width: 100%; } }
  @media (max-width: tab-port) {
    .contact-form__form {
      width: 100%; } }
  .contact-form__form .form-group {
    position: relative; }
    .contact-form__form .form-group:last-child {
      margin-top: 1.5rem; }
  .contact-form__form .form-control {
    border: 0;
    border-bottom: 1px solid #e5e5e5;
    position: relative;
    display: block;
    padding: 1rem 0;
    color: #999;
    font: 500 1.5rem "Open Sans",sans-serif;
    width: 100%;
    -webkit-transition: all .2s ease-in;
    transition: all .2s ease-in; }
    .contact-form__form .form-control:focus {
      outline: none;
      border-bottom: 1px solid #e74c3c; }
  .contact-form__form label {
    visibility: hidden; }

.slider {
  height: 60rem;
  color: #fff; }
  .slider::after {
    content: "";
    display: table;
    clear: both; }
  @media (max-width: 58.125em) {
    .slider {
      height: unset; } }
  @media (max-width: tab-port) {
    .slider {
      height: unset; } }
  .slider__panel {
    float: left;
    width: 50%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    background-color: #202020;
    z-index: 0;
    padding: 12rem 10rem 12rem 4rem; }
    @media (max-width: 1200px) {
      .slider__panel {
        width: 100%;
        height: unset;
        padding: 8rem 4rem;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
    @media (max-width: 620px) {
      .slider__panel {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .slider__trigger {
    cursor: pointer;
    position: relative;
    text-align: right;
    width: 100%;
    border-left: 3px solid #3e3e3e; }
    @media (max-width: 1200px) {
      .slider__trigger {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        text-align: center;
        width: unset;
        border: none;
        cursor: unset;
        padding: 2.5rem; } }
    .slider__trigger h4 {
      margin-bottom: 1rem;
      color: #e74c3c;
      font: 700 1.8rem 'Open Sans',sans-serif;
      text-transform: uppercase; }
    .slider__trigger p {
      color: #999999;
      font: 1.4rem "Source Sans Pro",sans-serif; }
    .slider__trigger .symbol {
      position: absolute;
      right: -129px;
      top: 9px;
      background-color: #f4f5f9; }
      @media (max-width: 1200px) {
        .slider__trigger .symbol {
          position: relative;
          right: unset;
          top: unset;
          margin: 3rem auto; } }
    .slider__trigger:hover:not(.active) {
      border-left: 3px solid #e74c3c; }
      .slider__trigger:hover:not(.active) h4 {
        text-decoration: underline; }
      .slider__trigger:hover:not(.active) .symbol {
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden;
        -webkit-transition: all .3s;
        transition: all .3s;
        -webkit-transform: scale(1.06);
                transform: scale(1.06); }
      @media (max-width: 1200px) {
        .slider__trigger:hover:not(.active) {
          border-left: none;
          -webkit-transform: none;
                  transform: none; }
          .slider__trigger:hover:not(.active) h4 {
            text-decoration: none; } }
  .slider__trigger.active {
    border-left: 3px solid #e74c3c; }
    .slider__trigger.active h4 {
      text-decoration: underline; }
    .slider__trigger.active .symbol {
      background-color: #e74c3c; }
      .slider__trigger.active .symbol i {
        color: #fff; }
    @media (max-width: 1200px) {
      .slider__trigger.active {
        border: none; }
        .slider__trigger.active h4 {
          text-decoration: none; }
        .slider__trigger.active .symbol {
          background-color: #fff; }
          .slider__trigger.active .symbol i {
            color: #e74c3c; } }
  .slider__title {
    font: 700 3.6rem "Source Sans Pro",sans-serif;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 4px;
    color: #f4f5f9;
    text-align: right;
    padding-right: 3rem;
    border-right: 5px solid #e74c3c; }
    @media (max-width: 1200px) {
      .slider__title {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        margin-bottom: 7rem;
        padding-right: 0;
        padding-left: 3rem;
        text-align: left;
        border-right: none;
        border-left: 8px solid #e74c3c; } }
  .slider__reel {
    float: left;
    width: 50%;
    position: relative;
    height: 100%;
    z-index: -2;
    background-color: #202020; }
    @media (max-width: 1200px) {
      .slider__reel {
        display: none; } }
  .slider__img {
    -webkit-filter: brightness(50%);
            filter: brightness(50%);
    position: absolute;
    left: -100%;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    width: 100%;
    height: 100%; }
  .slider__img.active {
    left: 0; }
  .slider__img.sliding {
    -webkit-animation-name: goRight;
            animation-name: goRight;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-duration: .75s;
            animation-duration: .75s;
    -webkit-animation-timing-function: ease;
            animation-timing-function: ease; }

.stats-counter {
  color: #fff; }
  .stats-counter .symbol {
    width: 10rem;
    height: 10rem;
    margin: 0 auto 4rem auto; }
    .stats-counter .symbol i {
      font-size: 2.4rem; }
  .stats-counter__num {
    font: 700 2.6rem "Source Sans Pro",sans-serif;
    margin-bottom: 1rem;
    letter-spacing: 2px; }

.divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .divider__fig_left, .divider__fig_right {
    height: 1px;
    width: 8rem;
    background-color: #fff; }
  .divider__fig_middle {
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    background-color: #e74c3c;
    margin: 0 1.5rem; }
  .divider--gray .divider__fig_left, .divider--gray .divider__fig_right {
    background-color: #999999; }

.feature-card {
  text-align: center;
  color: #222222; }
  .feature-card *:not(:last-child) {
    margin-bottom: 1.5rem; }
  .feature-card__icon {
    padding: 2.5rem;
    position: relative;
    display: inline-block;
    border: 1px solid transparent;
    color: #ed7669;
    font-size: 1.8rem;
    margin-bottom: 3rem !important; }
    .feature-card__icon::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      border: 1px solid lightgray;
      left: 0;
      top: 0;
      -webkit-transition: all .4s;
      transition: all .4s; }
  .feature-card__title {
    color: #6a6a6a;
    text-transform: uppercase;
    font-size: 1.8rem;
    letter-spacing: 1px;
    font-weight: 700;
    position: relative;
    -webkit-transition: all .4s;
    transition: all .4s; }
  .feature-card hr {
    width: 5rem;
    display: inline-block; }
  .feature-card p {
    font-family: "Source Sans Pro",sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    color: #999;
    letter-spacing: 1px;
    line-height: 1.5; }
  .feature-card:hover .feature-card__icon::after {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    border: 1px solid #e74c3c; }
  .feature-card:hover .feature-card__title {
    color: #e74c3c; }

.portfolioMix {
  width: 100%; }
  .portfolioMix__controls {
    text-align: center;
    margin-bottom: 5rem; }
  .portfolioMix__data::after {
    content: "";
    display: table;
    clear: both; }
  .portfolioMix__data > div {
    float: left;
    width: 19.9%; }
    @media (max-width: 58.125em) {
      .portfolioMix__data > div {
        display: inline-block;
        width: 49%;
        float: unset; } }
    @media (max-width: tab-port) {
      .portfolioMix__data > div {
        display: inline-block;
        width: 49%;
        float: unset; } }
  .portfolioMix__data .mix {
    overflow: hidden;
    -webkit-transition: background-color .2s;
    transition: background-color .2s;
    position: relative; }
    .portfolioMix__data .mix__title {
      position: absolute;
      bottom: 5rem;
      color: #fff;
      -webkit-transform: translateX(-125%);
              transform: translateX(-125%);
      -webkit-transition: -webkit-transform .3s;
      transition: -webkit-transform .3s;
      transition: transform .3s;
      transition: transform .3s, -webkit-transform .3s; }
      .portfolioMix__data .mix__title h5 {
        font: 600 2rem "Source Sans Pro",sans-serif;
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 1.2rem;
        padding-left: 1.5rem; }
        @media (max-width: 1400px) {
          .portfolioMix__data .mix__title h5 {
            font-size: 1.55rem;
            padding-left: .85rem; } }
      .portfolioMix__data .mix__title p {
        font: 400 1.3rem "Open Sans",sans-serif; }
        @media (max-width: 1400px) {
          .portfolioMix__data .mix__title p {
            font-size: 1.2rem; } }
        .portfolioMix__data .mix__title p span {
          position: relative;
          display: inline-block;
          padding: 0 1.5rem;
          font: inherit; }
          @media (max-width: 1400px) {
            .portfolioMix__data .mix__title p span {
              padding: 0 1rem; } }
        .portfolioMix__data .mix__title p span:not(:last-child)::after {
          content: '';
          height: 1.5rem;
          width: 1px;
          background-color: #fff;
          -webkit-transform: skewX(-40deg);
                  transform: skewX(-40deg);
          position: absolute;
          right: 0;
          top: 3px; }
    .portfolioMix__data .mix img {
      -webkit-transform: scale(1.04);
              transform: scale(1.04);
      position: relative;
      z-index: -1;
      -webkit-transition: -webkit-transform .3s;
      transition: -webkit-transform .3s;
      transition: transform .3s;
      transition: transform .3s, -webkit-transform .3s;
      width: 100%; }
    .portfolioMix__data .mix:hover {
      cursor: pointer;
      background-color: rgba(231, 76, 60, 0.86); }
      .portfolioMix__data .mix:hover img {
        -webkit-transform: scale(1);
                transform: scale(1);
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .portfolioMix__data .mix:hover .mix__title {
        -webkit-transform: translateX(0);
                transform: translateX(0); }
  .portfolioMix__buttons {
    background: none;
    border: none;
    outline: none;
    text-transform: uppercase;
    font: 400 14px 'Open Sans',sans-serif;
    cursor: pointer;
    color: #999;
    position: relative;
    padding: 0 2em; }
    @media (max-width: 58.125em) {
      .portfolioMix__buttons {
        margin-bottom: 1.5rem; } }
    @media (max-width: tab-port) {
      .portfolioMix__buttons {
        margin-bottom: 1.5rem; } }
    .portfolioMix__buttons:not(:last-child)::after {
      content: '';
      height: 1.75rem;
      width: 1px;
      background-color: #999;
      -webkit-transform: skewX(-40deg);
              transform: skewX(-40deg);
      position: absolute;
      right: 0;
      top: 0; }

.mixitup-control-active {
  color: #e74c3c; }

.partner-logo {
  background-color: #fff;
  height: 100px;
  padding: 3.2rem;
  border-radius: 4px;
  -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
          box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  -webkit-transition: all .3s;
  transition: all .3s; }
  .partner-logo:hover {
    background-color: #e74c3c; }
  .partner-logo:hover img {
    -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(274deg) brightness(105%) contrast(102%);
            filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(274deg) brightness(105%) contrast(102%); }
  .partner-logo img {
    color: white;
    width: 100%;
    height: 100%;
    -webkit-filter: invert(0.5);
            filter: invert(0.5);
    -webkit-transition: all .3s;
    transition: all .3s; }

.blog {
  width: 49.7%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media (max-width: 58.125em) {
    .blog {
      display: unset;
      position: relative;
      margin-bottom: 2rem;
      background-color: #e74c3c; } }
  @media (max-width: tab-port) {
    .blog {
      display: unset;
      position: relative;
      margin-bottom: 2rem;
      background-color: #e74c3c; } }
  .blog::after {
    content: "";
    display: table;
    clear: both; }
  @media (max-width: 1500px) {
    .blog {
      width: 100%; }
      .blog:nth-child(odd) {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2; }
      .blog:nth-child(even) {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
  .blog.blog--imgleft .blog__img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
    .blog.blog--imgleft .blog__img .overlay {
      -webkit-transform: translateX(100%);
              transform: translateX(100%); }
  .blog.blog--imgleft .blog__desc {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    .blog.blog--imgleft .blog__desc::after {
      right: 100%;
      top: 50%;
      border: solid transparent;
      content: " ";
      height: 0;
      width: 0;
      position: absolute;
      pointer-events: none;
      border-right-color: #e74c3c;
      border-width: 30px;
      margin-top: -30px; }
  .blog.blog--imgright .blog__img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    @media (max-width: 58.125em) {
      .blog.blog--imgright .blog__img {
        -webkit-box-ordinal-group: unset;
            -ms-flex-order: unset;
                order: unset; } }
    @media (max-width: tab-port) {
      .blog.blog--imgright .blog__img {
        -webkit-box-ordinal-group: unset;
            -ms-flex-order: unset;
                order: unset; } }
    .blog.blog--imgright .blog__img .overlay {
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%); }
  .blog.blog--imgright .blog__desc {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
    .blog.blog--imgright .blog__desc::after {
      left: 100%;
      top: 50%;
      border: solid transparent;
      content: " ";
      height: 0;
      width: 0;
      position: absolute;
      pointer-events: none;
      border-left-color: #e74c3c;
      border-width: 30px;
      margin-top: -30px; }
  .blog__img {
    width: 50%;
    position: relative; }
    @media (max-width: 50em) {
      .blog__img {
        position: absolute;
        width: 20%;
        height: auto;
        right: 10px;
        top: 10px;
        z-index: 99999;
        overflow: hidden; } }
    @media (max-width: 58.125em) {
      .blog__img {
        width: 50%;
        position: unset;
        z-index: unset;
        margin: 2rem auto 0 auto; } }
    @media (max-width: tab-port) {
      .blog__img {
        width: 50%;
        position: unset;
        z-index: unset;
        margin: 2rem auto 0 auto; } }
    .blog__img img {
      width: 100%;
      height: 100%; }
    .blog__img .overlay {
      height: 100%;
      width: 100%;
      background-color: rgba(231, 76, 60, 0.75);
      position: absolute;
      left: 0;
      top: 0;
      -webkit-transition: all .4s ease-out;
      transition: all .4s ease-out; }
      @media (max-width: 58.125em) {
        .blog__img .overlay {
          display: none; } }
      @media (max-width: tab-port) {
        .blog__img .overlay {
          display: none; } }
      .blog__img .overlay.active {
        -webkit-transform: translateX(0) !important;
                transform: translateX(0) !important; }
  .blog__desc {
    width: 50%;
    background-color: #e74c3c;
    color: #fff;
    position: relative;
    padding: 4rem 6rem;
    z-index: 999; }
    @media (max-width: 58.125em) {
      .blog__desc {
        width: 100%;
        padding: 3rem; }
        .blog__desc::after {
          display: none !important; } }
    @media (max-width: tab-port) {
      .blog__desc {
        width: 100%;
        padding: 3rem; }
        .blog__desc::after {
          display: none !important; } }
    .blog__desc > *:not(:last-child) {
      margin-bottom: 3.5rem; }
      @media (max-width: 58.125em) {
        .blog__desc > *:not(:last-child) {
          margin-bottom: 1.75rem; } }
      @media (max-width: tab-port) {
        .blog__desc > *:not(:last-child) {
          margin-bottom: 1.75rem; } }
  .blog__title {
    font: 700 2.4rem "Source Sans Pro",sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding-bottom: 1.5rem;
    position: relative; }
    @media (max-width: 58.125em) {
      .blog__title {
        font-size: 2rem;
        padding-bottom: .9rem; } }
    @media (max-width: tab-port) {
      .blog__title {
        font-size: 2rem;
        padding-bottom: .9rem; } }
    .blog__title::after {
      content: "";
      width: 6rem;
      height: 3px;
      background-color: #fff;
      position: absolute;
      left: 0;
      bottom: 0; }
  .blog__cat {
    font: italic 600 1.4rem "Open Sans",sans-serif; }
  .blog__text {
    font: 400 1.5rem "Open Sans",sans-serif;
    line-height: 2; }
  .blog__readmore {
    text-transform: capitalize;
    font: italic 600 1.6rem "Source Sans Pro",sans-serif;
    color: #fff;
    position: relative;
    padding-right: 2.5rem; }
    .blog__readmore::after {
      content: ">>";
      color: #fff;
      position: absolute;
      bottom: 0;
      right: 0; }

.flex__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.worker {
  position: absolute; }
  @media (max-width: 1800px) {
    .worker__wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-pack: distribute;
          justify-content: space-around;
      -ms-flex-line-pack: justify;
          align-content: space-between;
      margin-top: 20rem; } }
  @media (max-width: 58.125em) {
    .worker__wrapper {
      margin-top: 12rem; } }
  @media (max-width: tab-port) {
    .worker__wrapper {
      margin-top: 12rem; } }
  @media (max-width: 1800px) {
    .worker {
      position: relative;
      left: unset !important;
      top: unset !important; }
      .worker:not(:last-child) {
        margin-right: 1.5rem; } }
  .worker:hover .worker__img--overlay {
    cursor: pointer;
    -webkit-transform: scale(1.45);
            transform: scale(1.45);
    -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.36);
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.36); }
  .worker:hover .worker__desc {
    -webkit-transform: translateY(125%);
            transform: translateY(125%);
    visibility: visible; }
  .worker__img {
    position: relative; }
    .worker__img--overlay {
      width: 10rem;
      height: 10rem;
      background-color: #e74c3c;
      border-radius: 50%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      border: 4px solid #e74c3c;
      -webkit-transition: all .3s;
      transition: all .3s;
      margin: 0 auto; }
      @media (max-width: 1800px) {
        .worker__img--overlay {
          width: 14rem;
          height: 14rem; } }
      @media (max-width: 58.125em) {
        .worker__img--overlay {
          width: 7rem;
          height: 7rem; } }
      @media (max-width: tab-port) {
        .worker__img--overlay {
          width: 7rem;
          height: 7rem; } }
      .worker__img--overlay img {
        width: 100%; }
  .worker__desc {
    text-align: center;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    visibility: hidden;
    -webkit-transform: translateY(-25%);
            transform: translateY(-25%); }
  .worker__name {
    font: 600 2.4rem "Open Sans",sans-serif;
    color: #e74c3c; }
  .worker__jobdesc {
    font: 600 1.5rem "Source Sans Pro",sans-serif;
    color: #fff; }
  .worker__pos1 {
    top: 475px; }
  .worker__pos2 {
    left: 620px;
    top: 430px; }
  .worker__pos3 {
    left: 880px;
    top: 430px; }
  .worker__pos4 {
    left: 1150px;
    top: 470px; }
  .worker__pos5 {
    left: 1400px;
    top: 430px; }

.carousel {
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 9rem;
  width: 66.5rem;
  padding: 10rem 0;
  z-index: 1; }
  @media (max-width: 58.125em) {
    .carousel {
      width: 100%;
      position: relative;
      top: unset;
      margin: 0 auto; } }
  @media (max-width: tab-port) {
    .carousel {
      width: 100%;
      position: relative;
      top: unset;
      margin: 0 auto; } }
  @media (max-width: 25em) {
    .carousel {
      width: 100%; } }
  .carousel__slide {
    text-align: center;
    width: 80%;
    margin: 0 auto;
    padding-top: 2rem; }
    .carousel__slide > * {
      margin-bottom: 2rem; }
    .carousel__slide p {
      margin-bottom: 4rem; }
    @media (max-width: 58.125em) {
      .carousel__slide {
        margin-bottom: 3.5rem; } }
    @media (max-width: tab-port) {
      .carousel__slide {
        margin-bottom: 3.5rem; } }
  .carousel .symbol {
    margin: 0 auto 4rem auto; }
  .carousel__title {
    font: 600 1.8rem "Open Sans",sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #6a6a6a;
    position: relative;
    margin-bottom: 5rem; }
    .carousel__title::after {
      content: '';
      width: 5rem;
      height: 1px;
      position: absolute;
      left: 50%;
      background-color: #6a6a6a;
      bottom: -30px;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%); }
  .carousel__paragraph {
    font: 300 1.4rem "Source Sans Pro",sans-serif;
    color: #999999;
    line-height: 1.6;
    letter-spacing: 1px; }

.glide__bullets {
  bottom: 6rem; }

.glide__bullet {
  background-color: #c3c8de; }
  .glide__bullet--active {
    background-color: #e74c3c; }

.symbol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .symbol__round, .card__price {
    border-radius: 50%;
    width: 6rem;
    height: 6rem;
    position: relative; }
    .symbol__round--outline::after, .card__price::after {
      border-radius: 50%;
      content: '';
      background-color: rgba(255, 255, 255, 0.3);
      width: 100%;
      height: 100%;
      -webkit-transform: scale(1.2);
              transform: scale(1.2);
      position: absolute;
      left: 0;
      top: 0;
      z-index: -1; }
    .symbol__round i, .card__price i {
      display: inline-block;
      font-size: 2rem; }
  .symbol__diamond {
    width: 8rem;
    height: 8rem;
    border-radius: 1px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
    .symbol__diamond i {
      color: #fff;
      font-size: 3rem;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
  .symbol__red {
    background-color: #e74c3c;
    color: #fff; }
  .symbol__white {
    background-color: #f2f2f2; }
    .symbol__white--txtprimary i {
      color: #e74c3c; }
  .symbol__transparent {
    background-color: transparent;
    border: 1px solid #fff; }

.wrapper {
  position: relative; }

.navigate-top {
  cursor: pointer;
  position: fixed;
  right: 8rem;
  bottom: 6rem;
  opacity: 0; }
  .navigate-top i {
    font-size: 4rem;
    color: rgba(0, 0, 0, 0.5);
    -webkit-transition: all .3s;
    transition: all .3s; }
  .navigate-top:hover i {
    color: rgba(231, 76, 60, 0.7); }

.about-us__title {
  font-size: 3.6rem;
  color: #6a6a6a;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-family: "Source Sans Pro",sans-serif;
  padding-left: 4rem;
  border-left: 8px solid #e74c3c;
  line-height: 1;
  margin-bottom: 5rem; }
  @media (max-width: 58.125em) {
    .about-us__title {
      margin-bottom: 3rem; } }
  @media (max-width: tab-port) {
    .about-us__title {
      margin-bottom: 3rem; } }

.about-us__text {
  font: 14px "Source Sans Pro",sans-serif;
  color: #999;
  line-height: 1.6; }
  .about-us__text span {
    display: block;
    margin: 2rem 0 6rem 0; }
    @media (max-width: 58.125em) {
      .about-us__text span {
        margin-bottom: 3rem; } }
    @media (max-width: tab-port) {
      .about-us__text span {
        margin-bottom: 3rem; } }

.about-us__img {
  width: 100%; }
  @media (max-width: 58.125em) {
    .about-us__img {
      width: 60%;
      display: block;
      margin: 0 auto; } }
  @media (max-width: tab-port) {
    .about-us__img {
      width: 60%;
      display: block;
      margin: 0 auto; } }

.services {
  padding: 0; }
  .services .row {
    max-width: 58rem; }

.portfolio {
  padding-bottom: 0; }

.case-study {
  background-color: #f4f5f9; }
  .case-study__showcase {
    padding-top: 4rem;
    overflow: hidden;
    position: relative; }
    .case-study__showcase::after {
      content: "";
      display: table;
      clear: both; }
  @media (max-width: 58.125em) {
    .case-study .row {
      max-width: -webkit-fit-content;
      max-width: -moz-fit-content;
      max-width: fit-content; } }
  @media (max-width: tab-port) {
    .case-study .row {
      max-width: -webkit-fit-content;
      max-width: -moz-fit-content;
      max-width: fit-content; } }
  @media (max-width: 25em) {
    .case-study .row {
      padding: 0 1rem; } }
  .case-study__img {
    width: 50%;
    float: right; }
    @media (max-width: 58.125em) {
      .case-study__img {
        display: none; } }
    @media (max-width: tab-port) {
      .case-study__img {
        display: none; } }

.statistics {
  position: relative;
  height: 42rem;
  overflow: hidden; }
  @media (max-width: 58.125em) {
    .statistics {
      display: none; } }
  @media (max-width: tab-port) {
    .statistics {
      display: none; } }
  .statistics__holder::after {
    content: "";
    display: table;
    clear: both; }
  .statistics__holder .stats-counter {
    float: left;
    width: 20%;
    text-align: center; }

.parallax {
  min-height: 42rem;
  background-image: url("../images/street.png");
  background-size: cover;
  background-repeat: no-repeat !important;
  -webkit-filter: brightness(60%);
          filter: brightness(60%);
  top: 0;
  z-index: -1;
  width: 100%;
  position: absolute;
  background-position: top center; }

.pricing .divider {
  margin-bottom: 6rem; }

.collab {
  background-color: #f4f5f9; }
  @media (max-width: 58.125em) {
    .collab .row {
      max-width: -webkit-fit-content;
      max-width: -moz-fit-content;
      max-width: fit-content; } }
  @media (max-width: tab-port) {
    .collab .row {
      max-width: -webkit-fit-content;
      max-width: -moz-fit-content;
      max-width: fit-content; } }
  .collab .partners-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 5rem; }
    .collab .partners-wrapper > div {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 25%;
              flex: 1 0 25%;
      margin: 10px; }
      @media (max-width: 58.125em) {
        .collab .partners-wrapper > div {
          -webkit-box-flex: 1;
              -ms-flex: 1 0 30%;
                  flex: 1 0 30%; } }
      @media (max-width: tab-port) {
        .collab .partners-wrapper > div {
          -webkit-box-flex: 1;
              -ms-flex: 1 0 30%;
                  flex: 1 0 30%; } }

.blog-home {
  background-color: #f4f5f9;
  overflow: hidden;
  padding: 2rem 0; }

.contact {
  background-color: #f4f5f9; }
  @media (max-width: 58.125em) {
    .contact .row {
      max-width: unset;
      width: 100%; } }
  @media (max-width: tab-port) {
    .contact .row {
      max-width: unset;
      width: 100%; } }

.cta__bottom {
  background-image: url("../images/footer.png");
  background-color: rgba(0, 0, 0, 0.65);
  background-blend-mode: multiply;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  min-height: 45rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media (max-width: 37.5em) {
    .cta__bottom {
      min-height: 30rem; } }
  @media (max-width: phone) {
    .cta__bottom {
      min-height: 30rem; } }
  .cta__bottom .cta__wrapper {
    text-align: center;
    padding: 0 3rem; }
    .cta__bottom .cta__wrapper h3 {
      color: #fff;
      font: 400 2.9rem "Open Sans",sans-serif;
      text-transform: capitalize;
      margin-bottom: 2rem; }
      .cta__bottom .cta__wrapper h3 span {
        font-weight: 700; }
    .cta__bottom .cta__wrapper p {
      font: 400 1.6rem "Open Sans",sans-serif;
      color: #fff;
      margin-bottom: 5rem; }

footer {
  background-color: #202020;
  color: #999;
  padding: 2.56rem 0; }
  footer .footer__social--item {
    font-size: 1.9rem;
    -webkit-transition: color .2s ease;
    transition: color .2s ease; }
    footer .footer__social--item:hover {
      cursor: pointer;
      color: #e74c3c; }
    footer .footer__social--item:not(:last-child) {
      margin-right: 1.65rem; }
  footer .footer__info {
    font-size: 1.3rem; }
  footer .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    footer .row::after {
      content: none !important; }

.row {
  max-width: 117rem;
  margin: 0 auto;
  padding: 0 3rem; }
  .row:not(:last-child) {
    margin-bottom: 8rem; }
    @media (max-width: 58.125em) {
      .row:not(:last-child) {
        margin-bottom: 6rem; } }
    @media (max-width: tab-port) {
      .row:not(:last-child) {
        margin-bottom: 6rem; } }
  @media (max-width: 58.125em) {
    .row {
      max-width: 50rem;
      padding: 0 3rem; } }
  @media (max-width: tab-port) {
    .row {
      max-width: 50rem;
      padding: 0 3rem; } }
  .row:not(.row__flex)::after {
    content: "";
    display: table;
    clear: both; }
  .row__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .row [class^="col-"] {
    float: left; }
    .row [class^="col-"]:not(:last-child) {
      margin-right: 6rem; }
      @media (max-width: 58.125em) {
        .row [class^="col-"]:not(:last-child) {
          margin-right: 0;
          margin-bottom: 6rem; } }
      @media (max-width: tab-port) {
        .row [class^="col-"]:not(:last-child) {
          margin-right: 0;
          margin-bottom: 6rem; } }
    @media (max-width: 58.125em) {
      .row [class^="col-"] {
        width: 100% !important; } }
    @media (max-width: tab-port) {
      .row [class^="col-"] {
        width: 100% !important; } }
  .row .col-1-of-2 {
    width: calc((100% - 6rem) / 2); }
  .row .col-1-of-3 {
    width: calc((100% - 6rem * 2) / 3); }
  .row .col-2-of-3 {
    width: calc( 2* ((100% - 6rem * 2) / 3) + 6rem); }
  .row .col-1-of-4 {
    width: calc((100% - 6rem * 3) / 4); }
  .row .col-2-of-4 {
    width: calc( 2 *((100% - 6rem * 3) / 4) + 6rem); }
  .row .col-3-of-4 {
    width: calc( 3 *((100% - 6rem * 3) / 4) + 6rem * 2); }

.header {
  background-color: #000000;
  background-image: linear-gradient(215deg, rgba(0, 0, 0, 0.6) 0%, rgba(65, 65, 65, 0.5) 74%), url("../images/balloons.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top;
  height: 110vh;
  clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%);
  position: relative; }
  @media (max-width: 58.125em) {
    .header {
      -webkit-clip-path: none;
              clip-path: none;
      height: 100vh; } }
  @media (max-width: tab-port) {
    .header {
      -webkit-clip-path: none;
              clip-path: none;
      height: 100vh; } }
  .header__nav {
    padding: 3rem 2.5rem;
    -webkit-transition: all .6s;
    transition: all .6s;
    z-index: 9999;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0; }
  .header__middle {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    .header__middle .divider {
      margin: 3.4rem 0; }
      @media (max-width: 700px) {
        .header__middle .divider {
          margin: 1.75rem 0; } }
    .header__middle .cta-holder {
      margin-top: 4rem; }
    .header__middle .cta-holder .btn:not(:last-child) {
      margin-right: 3rem; }
  .header__symbol {
    position: absolute;
    left: 50%;
    bottom: -5.5rem;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

section {
  padding: 10rem 0; }
  @media (max-width: 58.125em) {
    section {
      padding: 4.5rem 0; } }
  @media (max-width: tab-port) {
    section {
      padding: 4.5rem 0; } }

#about-us-section {
  padding: 15rem 0; }
  @media (max-width: 58.125em) {
    #about-us-section {
      padding: 9rem 0; }
      #about-us-section .row {
        max-width: unset; } }
  @media (max-width: tab-port) {
    #about-us-section {
      padding: 9rem 0; }
      #about-us-section .row {
        max-width: unset; } }

.our-team {
  background-image: linear-gradient(215deg, rgba(0, 0, 0, 0.6) 0%, rgba(65, 65, 65, 0.5) 74%), url("../images/teambg.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  width: 100%;
  height: 800px;
  position: relative; }
  @media (max-width: 444px) {
    .our-team {
      display: none; } }
  @media (max-width: 58.125em) {
    .our-team {
      height: 550px; }
      .our-team .row {
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content; } }
  @media (max-width: tab-port) {
    .our-team {
      height: 550px; }
      .our-team .row {
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content; } }
  .our-team .headline-secondary {
    color: #fff; }
    .our-team .headline-secondary__sub {
      color: #fff; }
  .our-team::before {
    content: '';
    background-image: url("../images/shape.png");
    background-position: bottom center;
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    left: 0;
    bottom: 0;
    height: 81%; }
    @media (max-width: 1800px) {
      .our-team::before {
        content: unset; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCJtYWluLmNzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJhYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwiYmFzZS9fYW5pbWF0aW9ucy5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9fdXRpbGl0aWVzLnNjc3MiLCJjb21wb25lbnRzL19idG4uc2NzcyIsImNvbXBvbmVudHMvX2NhcmQuc2NzcyIsImNvbXBvbmVudHMvX2xvZ28uc2NzcyIsImNvbXBvbmVudHMvX25hdmlnYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2NvbnRhY3QtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19zdGF0cy1jb3VudGVyLnNjc3MiLCJjb21wb25lbnRzL19kaXZpZGVyLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlLWNhcmQuc2NzcyIsImNvbXBvbmVudHMvX3BvcnRmb2xpb01peC5zY3NzIiwiY29tcG9uZW50cy9fcGFydG5lci1sb2dvLnNjc3MiLCJjb21wb25lbnRzL19ibG9nLnNjc3MiLCJjb21wb25lbnRzL193b3JrZXIuc2NzcyIsImNvbXBvbmVudHMvX2Nhcm91c2VsLnNjc3MiLCJjb21wb25lbnRzL19zeW1ib2wuc2NzcyIsImNvbXBvbmVudHMvX3RvdGhldG9wLnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwibGF5b3V0L19ncmlkLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19zZWN0aW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkVBQUE7QUFFQTsrRUNBK0U7QURHL0U7OztFQ0NFO0FDTkYsMklBQVk7QUZVWjtFQUNFLGlCQUFpQjtFQUFFLE1BQUE7RUFDbkIsOEJBQThCO0VBQUUsTUFBQSxFQUFPOztBQUd6QzsrRUNBK0U7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QU1NLGdCQUFnQixFQUFBLEVBQ2pCO0V4QjhDRztJd0JyRFI7TUFHSSxlQUFlLEVBQUE7TUFIbkI7UUFNTSxnQkFBZ0IsRUFBQSxFQUNqQjs7QUFJTDtFQUNFLHdIQUMyQjtFQUMzQixzQkFBc0I7RUFDdEIsNEJBQTRCO0VBQzVCLCtCQUErQjtFQUMvQixXQUFXO0VBQ1gsYUFBYTtFQUNiLGtCQUFrQixFQUFBO0V4QmtDWjtJd0IxQ1I7TUFVSSxhQUFhLEVBQUEsRUErQmhCO0V4QnJCTztJd0JwQlI7TUFhSSxhQUFhLEVBQUE7TUFiakI7UUFnQk0sOEJBQXNCO1FBQXRCLDJCQUFzQjtRQUF0QixzQkFBc0IsRUFBQSxFQUN2QjtFeEJ5Qkc7SXdCMUNSO01BYUksYUFBYSxFQUFBO01BYmpCO1FBZ0JNLDhCQUFzQjtRQUF0QiwyQkFBc0I7UUFBdEIsc0JBQXNCLEVBQUEsRUFDdkI7RUFqQkw7SUFvQkksV3ZCckJjLEVBQUE7SXVCQ2xCO01Bc0JNLFd2QnZCWSxFQUFBO0V1QkNsQjtJQThCSSxXQUFXO0lBQ1gsNENBQTRDO0lBQzVDLGtDQUFrQztJQUNsQyxrQkFBa0I7SUFDbEIsc0JBQXNCO0lBQ3RCLDRCQUE0QjtJQUM1QixXQUFXO0lBQ1gsT0FBTztJQUNQLFNBQVM7SUFDVCxXQUFXLEVBQUE7SXhCR1A7TXdCMUNSO1FBNEJNLGNBQWMsRUFBQSxFQVlqQiIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxhdG86MzAwLDQwMCw3MDAsNzAwaXxPcGVuK1NhbnM6MzAwLDQwMCw2MDAsNzAwLDcwMGl8U291cmNlK1NhbnMrUHJvOjMwMCw0MDAsNjAwLDcwMFwiKTtcbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcclxuMCAtIDYwMHB4OiAgICAgICBQaG9uZVxyXG42MDAgLSA5MDBweDogICAgIFRhYmxldCBwb3J0cmFpdFxyXG45MDAgLSAxMjAwcHg6ICAgIFRhYmxldCBMYW5kc2NhcGVcclxuWzEyMDAgLSAxODAwcHhdICBpcyB3aGVyZSBvdXIgbm9ybWFsIHN0eWxlcyBhcHBseVxyXG4xODAwcHggKyA6ICAgICAgIEJpZyBkZXNrdG9wXHJcblxyXG5cclxuICRicmVha3BvaW50IGFyZ3VtZW50IGNob2ljZXM6XHJcblxyXG4gICAgLSBwaG9uZVxyXG4gICAgLSB0YWItcG9ydFxyXG4gICAgLSB0YWItbGFuZFxyXG4gICAgLSBiaWctZGVza3RvcFxyXG5cclxuXHJcbk9SREVSOiBCYXNlICsgdHlwb2dyYXBoeSA+IGdlbmVyYWwgbGF5b3V0ICsgZ3JpZCA+IHBhZ2UgbGF5b3V0ID4gY29tcG9uZW50c1xyXG5cclxuICAgIDFlbSA9IDE2cHg7XHJcbiovXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbi5oZWFkbGluZS1tYWluIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDgwcmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MjBweCkge1xuICAgIC5oZWFkbGluZS1tYWluIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmhlYWRsaW5lLW1haW5fX3NlY29uZGFyeSB7XG4gICAgZm9udDogMi4ycmVtICdTb3VyY2UgU2FucyBQcm8nLHNhbnMtc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MjBweCkge1xuICAgICAgLmhlYWRsaW5lLW1haW5fX3NlY29uZGFyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgLmhlYWRsaW5lLW1haW5fX3ByaW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQ6IGJvbGQgNi41cmVtICdPcGVuIFNhbnMnLHNhbnMtc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMy4ycHg7XG4gICAgbWFyZ2luOiAycmVtIDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODIwcHgpIHtcbiAgICAgIC5oZWFkbGluZS1tYWluX19wcmltYXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAyLjdyZW07XG4gICAgICAgIG1hcmdpbjogMS42cmVtIDA7IH0gfVxuICAuaGVhZGxpbmUtbWFpbl9fcGFyYWdyYXBoIHtcbiAgICBmb250OiAzMDAgMS41cmVtICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogNzAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMCAyLjVyZW0gMDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgyMHB4KSB7XG4gICAgICAuaGVhZGxpbmUtbWFpbl9fcGFyYWdyYXBoIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNzVyZW0gMDsgfSB9XG5cbi5oZWFkbGluZS1zZWNvbmRhcnkge1xuICBmb250OiA3MDAgMy42cmVtICdTb3VyY2UgU2FucyBQcm8nLHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjNmE2YTZhO1xuICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgIC5oZWFkbGluZS1zZWNvbmRhcnkge1xuICAgICAgZm9udC1zaXplOiAyLjdyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAuaGVhZGxpbmUtc2Vjb25kYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogMi43cmVtOyB9IH1cbiAgLmhlYWRsaW5lLXNlY29uZGFyeV9fc3ViIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDJyZW0gYXV0bztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250OiA2MDAgMS40cmVtICdPcGVuIFNhbnMnLHNhbnMtc2VyaWY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgY29sb3I6ICM5OTk5OTk7IH1cblxuQGtleWZyYW1lcyBnb1JpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwcHgsIDBweCk7IH0gfVxuXG4qLFxuKjo6YWZ0ZXIsXG4qOjpiZWZvcmUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7IH1cblxub2wsIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmJvZHkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4uc2VjdGlvbi1kaXZpZGVyIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMXB4IDFyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLmZsZXhfX2pjLS1zYiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uZmxleF9fYWktLWZzIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLnBzLTMwIHtcbiAgcGFkZGluZzogMCAzcmVtOyB9XG5cbi5idG4ge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgbWluLXdpZHRoOiAyMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5idG46aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgYm94LXNoYWRvdzogMCAxcmVtIDJyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgLmJ0bjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEuNCkgc2NhbGVZKDEuNik7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5idG46YWN0aXZlLCAuYnRuOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuYnRuIHtcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBwaG9uZSkge1xuICAgIC5idG4ge1xuICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9IH1cbiAgLmJ0bjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzOyB9XG4gIC5idG5fX21haW4ge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAzcmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5idG5fX21haW4ge1xuICAgICAgICBwYWRkaW5nOiAxLjNyZW0gMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogcGhvbmUpIHtcbiAgICAgIC5idG5fX21haW4ge1xuICAgICAgICBwYWRkaW5nOiAxLjNyZW0gMS41cmVtOyB9IH1cbiAgICAuYnRuX19tYWluLS1zbWFsbCB7XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gM3JlbTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgICAgICAuYnRuX19tYWluLS1zbWFsbCB7XG4gICAgICAgICAgcGFkZGluZzogMS4zcmVtIDEuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogcGhvbmUpIHtcbiAgICAgICAgLmJ0bl9fbWFpbi0tc21hbGwge1xuICAgICAgICAgIHBhZGRpbmc6IDEuM3JlbSAxLjVyZW07IH0gfVxuICAuYnRuX19yZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzRjM2M7IH1cbiAgICAuYnRuX19yZWQ6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzRjM2M7IH1cbiAgICAuYnRuX19yZWQ6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZDc2Njk7IH1cbiAgLmJ0bl9fdHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7IH1cbiAgICAuYnRuX190cmFuc3BhcmVudDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOyB9XG4gICAgLmJ0bl9fdHJhbnNwYXJlbnQ6OmFmdGVyIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuXG4uY2FyZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU4LjEyNWVtKSB7XG4gICAgLmNhcmQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgIC5jYXJkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuY2FyZDpob3ZlciAuY2FyZF9fdG9wLCAuY2FyZDpob3ZlciBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzRjM2M7IH1cbiAgLmNhcmQ6aG92ZXIgLmNhcmRfX3ByaWNlLS1hbW91bnQge1xuICAgIGNvbG9yOiAjZTc0YzNjOyB9XG4gICAgLmNhcmQ6aG92ZXIgLmNhcmRfX3ByaWNlLS1hbW91bnQgc3BhbiB7XG4gICAgICBjb2xvcjogIzk5OSAhaW1wb3J0YW50OyB9XG4gIC5jYXJkX190b3Age1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgaGVpZ2h0OiAyMHJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgLmNhcmRfX3RvcCB7XG4gICAgICAgIGhlaWdodDogMTVyZW07XG4gICAgICAgIHotaW5kZXg6IHVuc2V0O1xuICAgICAgICBwYWRkaW5nLXRvcDogLjdyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgICAgLmNhcmRfX3RvcCB7XG4gICAgICAgIGhlaWdodDogMTVyZW07XG4gICAgICAgIHotaW5kZXg6IHVuc2V0O1xuICAgICAgICBwYWRkaW5nLXRvcDogLjdyZW07IH0gfVxuICAuY2FyZF9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiA2MDAgMi40cmVtIFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRvcDogNHJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgLmNhcmRfX3RpdGxlIHtcbiAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgICAgLmNhcmRfX3RpdGxlIHtcbiAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07IH0gfVxuICAuY2FyZF9fYm9keSB7XG4gICAgcGFkZGluZzogMTRyZW0gM3JlbSAxMnJlbSAzcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAtMTVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmOTtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgLmNhcmRfX2JvZHkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTByZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgICAgLmNhcmRfX2JvZHkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTByZW07IH0gfVxuICAuY2FyZF9fcHJpY2Uge1xuICAgIHdpZHRoOiAxNXJlbSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTVyZW0gIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0b3A6IC03LjVyZW07XG4gICAgY29sb3I6ICM5OTk7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAgIC5jYXJkX19wcmljZSB7XG4gICAgICAgIHdpZHRoOiA4LjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA4LjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAtMTFyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgICAgLmNhcmRfX3ByaWNlIHtcbiAgICAgICAgd2lkdGg6IDguNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDguNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IC0xMXJlbTsgfSB9XG4gICAgLmNhcmRfX3ByaWNlOjphZnRlciB7XG4gICAgICB3aWR0aDogMTVyZW0gIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTVyZW0gIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTc2LCAxNzYsIDE3NiwgMC41KSAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHNjYWxlKDEuMikgIWltcG9ydGFudDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU4LjEyNWVtKSB7XG4gICAgICAgIC5jYXJkX19wcmljZTo6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiA4LjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IDguNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgICAgICAuY2FyZF9fcHJpY2U6OmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogOC41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiA4LjVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgLmNhcmRfX3ByaWNlLS1hbW91bnQge1xuICAgICAgZm9udDogNzAwIDRyZW0gXCJTb3VyY2UgU2FucyBQcm9cIixzYW5zLXNlcmlmOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAgICAgLmNhcmRfX3ByaWNlLS1hbW91bnQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAgICAgLmNhcmRfX3ByaWNlLS1hbW91bnQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfSB9XG4gICAgICAuY2FyZF9fcHJpY2UtLWFtb3VudCBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogLjM1ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmNhcmRfX2xpc3QtLWl0ZW0ge1xuICAgIGZvbnQ6IDYwMCAxLjRyZW0gXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gICAgLmNhcmRfX2xpc3QtLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5jYXJkIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gICAgYm90dG9tOiAzcmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAuY2FyZCBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U3NGMzYztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0zcHgpOyB9XG5cbi5sb2dvIHtcbiAgYm9yZGVyOiA0cHggc29saWQgd2hpdGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE0cmVtO1xuICBmb250LXNpemU6IDMuNXJlbTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMTtcbiAgei1pbmRleDogOTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAubG9nbyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEycHg7XG4gICAgICBsZWZ0OiAycmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IHRhYi1wb3J0KSB7XG4gICAgLmxvZ28ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMnB4O1xuICAgICAgbGVmdDogMnJlbTsgfSB9XG4gIC5sb2dvIHNwYW4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAuNnJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmxvZ29fX3ByaW1fZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3aWR0aDogMzUlOyB9XG4gIC5sb2dvX19zZWNvbmRfZWwge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogNjUlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmxvZ286aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubmF2IHtcbiAgdHJhbnNpdGlvbjogYWxsIC41NHMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU4LjEyNWVtKSB7XG4gICAgLm5hdiB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHotaW5kZXg6IDE1MDA7XG4gICAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuOHMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMC42NSk7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAubmF2IHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgei1pbmRleDogMTUwMDtcbiAgICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMC44cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAwLjY1KTsgfSB9XG4gIC5uYXZfX2JhY2tncm91bmQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCgjZTc0YzNjLCAjN2IxOTBmKTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjhzIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTsgfVxuICAgIC5uYXZfX2JhY2tncm91bmQub3BlbiB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMzAwKTsgfVxuICAubmF2Lm9wZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5uYXYub3BlbiB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5uYXYub3BlbiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDMwcmVtO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDsgfVxuICAgIC5uYXYub3BlbiBsaTpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodHllbGxvdzsgfVxuICAgIC5uYXYub3BlbiBsaTpob3ZlciBhIHtcbiAgICAgIGNvbG9yOiAjMjIyMjIyOyB9XG4gIC5uYXYgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxLjk1cmVtIDA7XG4gICAgbWFyZ2luOiAwIDIuNnJlbTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC5uYXYgbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwIDAgMCAyLjZyZW07IH1cbiAgLm5hdiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwIDIuNnJlbSAwIDA7IH1cbiAgLm5hdiBsaTpob3ZlciBhIHtcbiAgICBjb2xvcjogI2U3NGMzYzsgfVxuICAubmF2IGxpOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2U3NGMzYzsgfVxuICAubmF2IGEge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuICAubmF2X19idXR0b24ge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICB0b3A6IDEycHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogM3JlbTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHotaW5kZXg6IDI1MDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAgIC5uYXZfX2J1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHRvcDogMTJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IHRhYi1wb3J0KSB7XG4gICAgICAubmF2X19idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB0b3A6IDEycHg7IH0gfVxuICAgIC5uYXZfX2J1dHRvbiAuZ2FtYnVyZ2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLm5hdl9fYnV0dG9uIC5nYW1idXJnZXIsIC5uYXZfX2J1dHRvbiAuZ2FtYnVyZ2VyOjpiZWZvcmUsIC5uYXZfX2J1dHRvbiAuZ2FtYnVyZ2VyOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgICAgIC5uYXZfX2J1dHRvbiAuZ2FtYnVyZ2VyLCAubmF2X19idXR0b24gLmdhbWJ1cmdlcjo6YmVmb3JlLCAubmF2X19idXR0b24gLmdhbWJ1cmdlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDIuNXJlbTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgICAgICAgIC5uYXZfX2J1dHRvbiAuZ2FtYnVyZ2VyLCAubmF2X19idXR0b24gLmdhbWJ1cmdlcjo6YmVmb3JlLCAubmF2X19idXR0b24gLmdhbWJ1cmdlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDIuNXJlbTsgfSB9XG4gICAgICAubmF2X19idXR0b24gLmdhbWJ1cmdlcjo6YmVmb3JlLCAubmF2X19idXR0b24gLmdhbWJ1cmdlcjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7IH1cbiAgICAgIC5uYXZfX2J1dHRvbiAuZ2FtYnVyZ2VyOjpiZWZvcmUge1xuICAgICAgICB0b3A6IC0uOHJlbTsgfVxuICAgICAgLm5hdl9fYnV0dG9uIC5nYW1idXJnZXI6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAuOHJlbTsgfVxuICAgIC5uYXZfX2J1dHRvbi5hY3RpdmUgLmdhbWJ1cmdlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5uYXZfX2J1dHRvbi5hY3RpdmUgLmdhbWJ1cmdlcjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgICAubmF2X19idXR0b24uYWN0aXZlIC5nYW1idXJnZXI6OmFmdGVyIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpOyB9XG4gICAgLm5hdl9fYnV0dG9uOm5vdCguYWN0aXZlKTpob3ZlciAuZ2FtYnVyZ2VyOjpiZWZvcmUge1xuICAgICAgdG9wOiAtMXJlbTsgfVxuICAgIC5uYXZfX2J1dHRvbjpub3QoLmFjdGl2ZSk6aG92ZXIgLmdhbWJ1cmdlcjo6YWZ0ZXIge1xuICAgICAgdG9wOiAxcmVtOyB9XG5cbi5jb250YWN0LWZvcm1fX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiA2cmVtO1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU4LjEyNWVtKSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fd3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IHRhYi1wb3J0KSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fd3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLmNvbnRhY3QtZm9ybV9fd3JhcHBlciA+IGRpdiB7XG4gICAgcGFkZGluZzogOHJlbSA5LjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgLmNvbnRhY3QtZm9ybV9fd3JhcHBlciA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmc6IDZyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgICAgLmNvbnRhY3QtZm9ybV9fd3JhcHBlciA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmc6IDZyZW07IH0gfVxuXG4uY29udGFjdC1mb3JtX19pbmZvIHtcbiAgd2lkdGg6IDQwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAuY29udGFjdC1mb3JtX19pbmZvIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgIC5jb250YWN0LWZvcm1fX2luZm8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmNvbnRhY3QtZm9ybV9faW5mbzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiA0NSU7XG4gICAgd2lkdGg6IDEuNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzRjM2M7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgLmNvbnRhY3QtZm9ybV9faW5mbzo6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDEuNXB4O1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAgIC5jb250YWN0LWZvcm1fX2luZm86OmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxLjVweDtcbiAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTsgfSB9XG4gIC5jb250YWN0LWZvcm1fX2luZm8gPiBkaXY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy41cmVtOyB9XG4gIC5jb250YWN0LWZvcm1fX2luZm8gaDUge1xuICAgIGNvbG9yOiAjZTc0YzNjO1xuICAgIGZvbnQ6IDYwMCAyLjJyZW0gXCJTb3VyY2UgU2FucyBQcm9cIixzYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU4LjEyNWVtKSB7XG4gICAgICAuY29udGFjdC1mb3JtX19pbmZvIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjlyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgICAgLmNvbnRhY3QtZm9ybV9faW5mbyBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS45cmVtOyB9IH1cbiAgLmNvbnRhY3QtZm9ybV9faW5mbyBwIHtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICBmb250OiA0MDAgMS42cmVtIFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgLmNvbnRhY3QtZm9ybV9faW5mbyBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgICAgLmNvbnRhY3QtZm9ybV9faW5mbyBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuICAuY29udGFjdC1mb3JtX19pbmZvIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jb250YWN0LWZvcm1fX2Zvcm0ge1xuICB3aWR0aDogNjAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgIC5jb250YWN0LWZvcm1fX2Zvcm0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAuY29udGFjdC1mb3JtX19mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNvbnRhY3QtZm9ybV9fZm9ybSAuZm9ybS1ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvbnRhY3QtZm9ybV9fZm9ybSAuZm9ybS1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAuY29udGFjdC1mb3JtX19mb3JtIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGZvbnQ6IDUwMCAxLjVyZW0gXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbjsgfVxuICAgIC5jb250YWN0LWZvcm1fX2Zvcm0gLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNzRjM2M7IH1cbiAgLmNvbnRhY3QtZm9ybV9fZm9ybSBsYWJlbCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZXIge1xuICBoZWlnaHQ6IDYwcmVtO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuc2xpZGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAuc2xpZGVyIHtcbiAgICAgIGhlaWdodDogdW5zZXQ7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAuc2xpZGVyIHtcbiAgICAgIGhlaWdodDogdW5zZXQ7IH0gfVxuICAuc2xpZGVyX19wYW5lbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHBhZGRpbmc6IDEycmVtIDEwcmVtIDEycmVtIDRyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuc2xpZGVyX19wYW5lbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgICBwYWRkaW5nOiA4cmVtIDRyZW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gICAgICAuc2xpZGVyX19wYW5lbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAuc2xpZGVyX190cmlnZ2VyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzNlM2UzZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5zbGlkZXJfX3RyaWdnZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjdXJzb3I6IHVuc2V0O1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW07IH0gfVxuICAgIC5zbGlkZXJfX3RyaWdnZXIgaDQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIGNvbG9yOiAjZTc0YzNjO1xuICAgICAgZm9udDogNzAwIDEuOHJlbSAnT3BlbiBTYW5zJyxzYW5zLXNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5zbGlkZXJfX3RyaWdnZXIgcCB7XG4gICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICAgIGZvbnQ6IDEuNHJlbSBcIlNvdXJjZSBTYW5zIFByb1wiLHNhbnMtc2VyaWY7IH1cbiAgICAuc2xpZGVyX190cmlnZ2VyIC5zeW1ib2wge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0xMjlweDtcbiAgICAgIHRvcDogOXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmOTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAuc2xpZGVyX190cmlnZ2VyIC5zeW1ib2wge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICBtYXJnaW46IDNyZW0gYXV0bzsgfSB9XG4gICAgLnNsaWRlcl9fdHJpZ2dlcjpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZTc0YzNjOyB9XG4gICAgICAuc2xpZGVyX190cmlnZ2VyOmhvdmVyOm5vdCguYWN0aXZlKSBoNCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuc2xpZGVyX190cmlnZ2VyOmhvdmVyOm5vdCguYWN0aXZlKSAuc3ltYm9sIHtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNik7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgLnNsaWRlcl9fdHJpZ2dlcjpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgICAgIC5zbGlkZXJfX3RyaWdnZXI6aG92ZXI6bm90KC5hY3RpdmUpIGg0IHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9XG4gIC5zbGlkZXJfX3RyaWdnZXIuYWN0aXZlIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNlNzRjM2M7IH1cbiAgICAuc2xpZGVyX190cmlnZ2VyLmFjdGl2ZSBoNCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5zbGlkZXJfX3RyaWdnZXIuYWN0aXZlIC5zeW1ib2wge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U3NGMzYzsgfVxuICAgICAgLnNsaWRlcl9fdHJpZ2dlci5hY3RpdmUgLnN5bWJvbCBpIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuc2xpZGVyX190cmlnZ2VyLmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAuc2xpZGVyX190cmlnZ2VyLmFjdGl2ZSBoNCB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIC5zbGlkZXJfX3RyaWdnZXIuYWN0aXZlIC5zeW1ib2wge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAgICAgICAuc2xpZGVyX190cmlnZ2VyLmFjdGl2ZSAuc3ltYm9sIGkge1xuICAgICAgICAgICAgY29sb3I6ICNlNzRjM2M7IH0gfVxuICAuc2xpZGVyX190aXRsZSB7XG4gICAgZm9udDogNzAwIDMuNnJlbSBcIlNvdXJjZSBTYW5zIFByb1wiLHNhbnMtc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xuICAgIGNvbG9yOiAjZjRmNWY5O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgI2U3NGMzYzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5zbGlkZXJfX3RpdGxlIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDdyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkICNlNzRjM2M7IH0gfVxuICAuc2xpZGVyX19yZWVsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogLTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5zbGlkZXJfX3JlZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnNsaWRlcl9faW1nIHtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNTAlKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlcl9faW1nLmFjdGl2ZSB7XG4gICAgbGVmdDogMDsgfVxuICAuc2xpZGVyX19pbWcuc2xpZGluZyB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGdvUmlnaHQ7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOyB9XG5cbi5zdGF0cy1jb3VudGVyIHtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLnN0YXRzLWNvdW50ZXIgLnN5bWJvbCB7XG4gICAgd2lkdGg6IDEwcmVtO1xuICAgIGhlaWdodDogMTByZW07XG4gICAgbWFyZ2luOiAwIGF1dG8gNHJlbSBhdXRvOyB9XG4gICAgLnN0YXRzLWNvdW50ZXIgLnN5bWJvbCBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMi40cmVtOyB9XG4gIC5zdGF0cy1jb3VudGVyX19udW0ge1xuICAgIGZvbnQ6IDcwMCAyLjZyZW0gXCJTb3VyY2UgU2FucyBQcm9cIixzYW5zLXNlcmlmO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDsgfVxuXG4uZGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5kaXZpZGVyX19maWdfbGVmdCwgLmRpdmlkZXJfX2ZpZ19yaWdodCB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDhyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAuZGl2aWRlcl9fZmlnX21pZGRsZSB7XG4gICAgd2lkdGg6IC43cmVtO1xuICAgIGhlaWdodDogLjdyZW07XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzRjM2M7XG4gICAgbWFyZ2luOiAwIDEuNXJlbTsgfVxuICAuZGl2aWRlci0tZ3JheSAuZGl2aWRlcl9fZmlnX2xlZnQsIC5kaXZpZGVyLS1ncmF5IC5kaXZpZGVyX19maWdfcmlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk5OTk7IH1cblxuLmZlYXR1cmUtY2FyZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMyMjIyMjI7IH1cbiAgLmZlYXR1cmUtY2FyZCAqOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAuZmVhdHVyZS1jYXJkX19pY29uIHtcbiAgICBwYWRkaW5nOiAyLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2VkNzY2OTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuZmVhdHVyZS1jYXJkX19pY29uOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGdyYXk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC40czsgfVxuICAuZmVhdHVyZS1jYXJkX190aXRsZSB7XG4gICAgY29sb3I6ICM2YTZhNmE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7IH1cbiAgLmZlYXR1cmUtY2FyZCBociB7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5mZWF0dXJlLWNhcmQgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNhbnMgUHJvXCIsc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAuZmVhdHVyZS1jYXJkOmhvdmVyIC5mZWF0dXJlLWNhcmRfX2ljb246OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U3NGMzYzsgfVxuICAuZmVhdHVyZS1jYXJkOmhvdmVyIC5mZWF0dXJlLWNhcmRfX3RpdGxlIHtcbiAgICBjb2xvcjogI2U3NGMzYzsgfVxuXG4ucG9ydGZvbGlvTWl4IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBvcnRmb2xpb01peF9fY29udHJvbHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gIC5wb3J0Zm9saW9NaXhfX2RhdGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wb3J0Zm9saW9NaXhfX2RhdGEgPiBkaXYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxOS45JTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgLnBvcnRmb2xpb01peF9fZGF0YSA+IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgICAgZmxvYXQ6IHVuc2V0OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAgIC5wb3J0Zm9saW9NaXhfX2RhdGEgPiBkaXYge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgIGZsb2F0OiB1bnNldDsgfSB9XG4gIC5wb3J0Zm9saW9NaXhfX2RhdGEgLm1peCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucG9ydGZvbGlvTWl4X19kYXRhIC5taXhfX3RpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogNXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMjUlKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7IH1cbiAgICAgIC5wb3J0Zm9saW9NaXhfX2RhdGEgLm1peF9fdGl0bGUgaDUge1xuICAgICAgICBmb250OiA2MDAgMnJlbSBcIlNvdXJjZSBTYW5zIFByb1wiLHNhbnMtc2VyaWY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgIC5wb3J0Zm9saW9NaXhfX2RhdGEgLm1peF9fdGl0bGUgaDUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjU1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAuODVyZW07IH0gfVxuICAgICAgLnBvcnRmb2xpb01peF9fZGF0YSAubWl4X190aXRsZSBwIHtcbiAgICAgICAgZm9udDogNDAwIDEuM3JlbSBcIk9wZW4gU2Fuc1wiLHNhbnMtc2VyaWY7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgIC5wb3J0Zm9saW9NaXhfX2RhdGEgLm1peF9fdGl0bGUgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsgfSB9XG4gICAgICAgIC5wb3J0Zm9saW9NaXhfX2RhdGEgLm1peF9fdGl0bGUgcCBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgICAgICAgIGZvbnQ6IGluaGVyaXQ7IH1cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICAgICAgICAgICAucG9ydGZvbGlvTWl4X19kYXRhIC5taXhfX3RpdGxlIHAgc3BhbiB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTsgfSB9XG4gICAgICAgIC5wb3J0Zm9saW9NaXhfX2RhdGEgLm1peF9fdGl0bGUgcCBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtNDBkZWcpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDNweDsgfVxuICAgIC5wb3J0Zm9saW9NaXhfX2RhdGEgLm1peCBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnBvcnRmb2xpb01peF9fZGF0YSAubWl4OmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMxLCA3NiwgNjAsIDAuODYpOyB9XG4gICAgICAucG9ydGZvbGlvTWl4X19kYXRhIC5taXg6aG92ZXIgaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAucG9ydGZvbGlvTWl4X19kYXRhIC5taXg6aG92ZXIgLm1peF9fdGl0bGUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgLnBvcnRmb2xpb01peF9fYnV0dG9ucyB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQ6IDQwMCAxNHB4ICdPcGVuIFNhbnMnLHNhbnMtc2VyaWY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgLnBvcnRmb2xpb01peF9fYnV0dG9ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IHRhYi1wb3J0KSB7XG4gICAgICAucG9ydGZvbGlvTWl4X19idXR0b25zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9IH1cbiAgICAucG9ydGZvbGlvTWl4X19idXR0b25zOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gICAgICB0cmFuc2Zvcm06IHNrZXdYKC00MGRlZyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDsgfVxuXG4ubWl4aXR1cC1jb250cm9sLWFjdGl2ZSB7XG4gIGNvbG9yOiAjZTc0YzNjOyB9XG5cbi5wYXJ0bmVyLWxvZ28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDEwMHB4O1xuICBwYWRkaW5nOiAzLjJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzOyB9XG4gIC5wYXJ0bmVyLWxvZ286aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzRjM2M7IH1cbiAgLnBhcnRuZXItbG9nbzpob3ZlciBpbWcge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoMTAwJSkgc2VwaWEoMCUpIHNhdHVyYXRlKDc1MDAlKSBodWUtcm90YXRlKDI3NGRlZykgYnJpZ2h0bmVzcygxMDUlKSBjb250cmFzdCgxMDIlKTsgfVxuICAucGFydG5lci1sb2dvIGltZyB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmaWx0ZXI6IGludmVydCgwLjUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3M7IH1cblxuLmJsb2cge1xuICB3aWR0aDogNDkuNyU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU4LjEyNWVtKSB7XG4gICAgLmJsb2cge1xuICAgICAgZGlzcGxheTogdW5zZXQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U3NGMzYzsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgIC5ibG9nIHtcbiAgICAgIGRpc3BsYXk6IHVuc2V0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzRjM2M7IH0gfVxuICAuYmxvZzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgIC5ibG9nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuYmxvZzpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAuYmxvZzpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBvcmRlcjogMTsgfSB9XG4gIC5ibG9nLmJsb2ctLWltZ2xlZnQgLmJsb2dfX2ltZyB7XG4gICAgb3JkZXI6IDE7IH1cbiAgICAuYmxvZy5ibG9nLS1pbWdsZWZ0IC5ibG9nX19pbWcgLm92ZXJsYXkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5ibG9nLmJsb2ctLWltZ2xlZnQgLmJsb2dfX2Rlc2Mge1xuICAgIG9yZGVyOiAyOyB9XG4gICAgLmJsb2cuYmxvZy0taW1nbGVmdCAuYmxvZ19fZGVzYzo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNlNzRjM2M7XG4gICAgICBib3JkZXItd2lkdGg6IDMwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMzBweDsgfVxuICAuYmxvZy5ibG9nLS1pbWdyaWdodCAuYmxvZ19faW1nIHtcbiAgICBvcmRlcjogMjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgLmJsb2cuYmxvZy0taW1ncmlnaHQgLmJsb2dfX2ltZyB7XG4gICAgICAgIG9yZGVyOiB1bnNldDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IHRhYi1wb3J0KSB7XG4gICAgICAuYmxvZy5ibG9nLS1pbWdyaWdodCAuYmxvZ19faW1nIHtcbiAgICAgICAgb3JkZXI6IHVuc2V0OyB9IH1cbiAgICAuYmxvZy5ibG9nLS1pbWdyaWdodCAuYmxvZ19faW1nIC5vdmVybGF5IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmJsb2cuYmxvZy0taW1ncmlnaHQgLmJsb2dfX2Rlc2Mge1xuICAgIG9yZGVyOiAxOyB9XG4gICAgLmJsb2cuYmxvZy0taW1ncmlnaHQgLmJsb2dfX2Rlc2M6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI2U3NGMzYztcbiAgICAgIGJvcmRlci13aWR0aDogMzBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0zMHB4OyB9XG4gIC5ibG9nX19pbWcge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwZW0pIHtcbiAgICAgIC5ibG9nX19pbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgei1pbmRleDogOTk5OTk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgLmJsb2dfX2ltZyB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgei1pbmRleDogdW5zZXQ7XG4gICAgICAgIG1hcmdpbjogMnJlbSBhdXRvIDAgYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IHRhYi1wb3J0KSB7XG4gICAgICAuYmxvZ19faW1nIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICB6LWluZGV4OiB1bnNldDtcbiAgICAgICAgbWFyZ2luOiAycmVtIGF1dG8gMCBhdXRvOyB9IH1cbiAgICAuYmxvZ19faW1nIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5ibG9nX19pbWcgLm92ZXJsYXkge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMSwgNzYsIDYwLCAwLjc1KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2Utb3V0OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAgICAgLmJsb2dfX2ltZyAub3ZlcmxheSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAgICAgLmJsb2dfX2ltZyAub3ZlcmxheSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAuYmxvZ19faW1nIC5vdmVybGF5LmFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSAhaW1wb3J0YW50OyB9XG4gIC5ibG9nX19kZXNjIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzRjM2M7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDRyZW0gNnJlbTtcbiAgICB6LWluZGV4OiA5OTk7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAgIC5ibG9nX19kZXNjIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDNyZW07IH1cbiAgICAgICAgLmJsb2dfX2Rlc2M6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgICAgLmJsb2dfX2Rlc2Mge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogM3JlbTsgfVxuICAgICAgICAuYmxvZ19fZGVzYzo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgLmJsb2dfX2Rlc2MgPiAqOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAgICAgLmJsb2dfX2Rlc2MgPiAqOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IHRhYi1wb3J0KSB7XG4gICAgICAgIC5ibG9nX19kZXNjID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtOyB9IH1cbiAgLmJsb2dfX3RpdGxlIHtcbiAgICBmb250OiA3MDAgMi40cmVtIFwiU291cmNlIFNhbnMgUHJvXCIsc2Fucy1zZXJpZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAgIC5ibG9nX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC45cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAgIC5ibG9nX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC45cmVtOyB9IH1cbiAgICAuYmxvZ19fdGl0bGU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogNnJlbTtcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7IH1cbiAgLmJsb2dfX2NhdCB7XG4gICAgZm9udDogaXRhbGljIDYwMCAxLjRyZW0gXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmOyB9XG4gIC5ibG9nX190ZXh0IHtcbiAgICBmb250OiA0MDAgMS41cmVtIFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMjsgfVxuICAuYmxvZ19fcmVhZG1vcmUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGZvbnQ6IGl0YWxpYyA2MDAgMS42cmVtIFwiU291cmNlIFNhbnMgUHJvXCIsc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9XG4gICAgLmJsb2dfX3JlYWRtb3JlOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIj4+XCI7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwOyB9XG5cbi5mbGV4X193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi53b3JrZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE4MDBweCkge1xuICAgIC53b3JrZXJfX3dyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tdG9wOiAyMHJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgIC53b3JrZXJfX3dyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTJyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAud29ya2VyX193cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDEycmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE4MDBweCkge1xuICAgIC53b3JrZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgIHRvcDogdW5zZXQgIWltcG9ydGFudDsgfVxuICAgICAgLndvcmtlcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH0gfVxuICAud29ya2VyOmhvdmVyIC53b3JrZXJfX2ltZy0tb3ZlcmxheSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS40NSk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjQpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMzYpOyB9XG4gIC53b3JrZXI6aG92ZXIgLndvcmtlcl9fZGVzYyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyNSUpO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLndvcmtlcl9faW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAud29ya2VyX19pbWctLW92ZXJsYXkge1xuICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgaGVpZ2h0OiAxMHJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzRjM2M7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyOiA0cHggc29saWQgI2U3NGMzYztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE4MDBweCkge1xuICAgICAgICAud29ya2VyX19pbWctLW92ZXJsYXkge1xuICAgICAgICAgIHdpZHRoOiAxNHJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDE0cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgICAud29ya2VyX19pbWctLW92ZXJsYXkge1xuICAgICAgICAgIHdpZHRoOiA3cmVtO1xuICAgICAgICAgIGhlaWdodDogN3JlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAgICAgLndvcmtlcl9faW1nLS1vdmVybGF5IHtcbiAgICAgICAgICB3aWR0aDogN3JlbTtcbiAgICAgICAgICBoZWlnaHQ6IDdyZW07IH0gfVxuICAgICAgLndvcmtlcl9faW1nLS1vdmVybGF5IGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC53b3JrZXJfX2Rlc2Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1JSk7IH1cbiAgLndvcmtlcl9fbmFtZSB7XG4gICAgZm9udDogNjAwIDIuNHJlbSBcIk9wZW4gU2Fuc1wiLHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICNlNzRjM2M7IH1cbiAgLndvcmtlcl9fam9iZGVzYyB7XG4gICAgZm9udDogNjAwIDEuNXJlbSBcIlNvdXJjZSBTYW5zIFByb1wiLHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLndvcmtlcl9fcG9zMSB7XG4gICAgdG9wOiA0NzVweDsgfVxuICAud29ya2VyX19wb3MyIHtcbiAgICBsZWZ0OiA2MjBweDtcbiAgICB0b3A6IDQzMHB4OyB9XG4gIC53b3JrZXJfX3BvczMge1xuICAgIGxlZnQ6IDg4MHB4O1xuICAgIHRvcDogNDMwcHg7IH1cbiAgLndvcmtlcl9fcG9zNCB7XG4gICAgbGVmdDogMTE1MHB4O1xuICAgIHRvcDogNDcwcHg7IH1cbiAgLndvcmtlcl9fcG9zNSB7XG4gICAgbGVmdDogMTQwMHB4O1xuICAgIHRvcDogNDMwcHg7IH1cblxuLmNhcm91c2VsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDlyZW07XG4gIHdpZHRoOiA2Ni41cmVtO1xuICBwYWRkaW5nOiAxMHJlbSAwO1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgIC5jYXJvdXNlbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogdW5zZXQ7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgIC5jYXJvdXNlbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogdW5zZXQ7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAyNWVtKSB7XG4gICAgLmNhcm91c2VsIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNhcm91c2VsX19zbGlkZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy10b3A6IDJyZW07IH1cbiAgICAuY2Fyb3VzZWxfX3NsaWRlID4gKiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgLmNhcm91c2VsX19zbGlkZSBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAgIC5jYXJvdXNlbF9fc2xpZGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgICAgLmNhcm91c2VsX19zbGlkZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNXJlbTsgfSB9XG4gIC5jYXJvdXNlbCAuc3ltYm9sIHtcbiAgICBtYXJnaW46IDAgYXV0byA0cmVtIGF1dG87IH1cbiAgLmNhcm91c2VsX190aXRsZSB7XG4gICAgZm9udDogNjAwIDEuOHJlbSBcIk9wZW4gU2Fuc1wiLHNhbnMtc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGNvbG9yOiAjNmE2YTZhO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gICAgLmNhcm91c2VsX190aXRsZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXJlbTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZhNmE2YTtcbiAgICAgIGJvdHRvbTogLTMwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLmNhcm91c2VsX19wYXJhZ3JhcGgge1xuICAgIGZvbnQ6IDMwMCAxLjRyZW0gXCJTb3VyY2UgU2FucyBQcm9cIixzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfVxuXG4uZ2xpZGVfX2J1bGxldHMge1xuICBib3R0b206IDZyZW07IH1cblxuLmdsaWRlX19idWxsZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzNjOGRlOyB9XG4gIC5nbGlkZV9fYnVsbGV0LS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzRjM2M7IH1cblxuLnN5bWJvbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5zeW1ib2xfX3JvdW5kLCAuY2FyZF9fcHJpY2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogNnJlbTtcbiAgICBoZWlnaHQ6IDZyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnN5bWJvbF9fcm91bmQtLW91dGxpbmU6OmFmdGVyLCAuY2FyZF9fcHJpY2U6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICAuc3ltYm9sX19yb3VuZCBpLCAuY2FyZF9fcHJpY2UgaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDJyZW07IH1cbiAgLnN5bWJvbF9fZGlhbW9uZCB7XG4gICAgd2lkdGg6IDhyZW07XG4gICAgaGVpZ2h0OiA4cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLnN5bWJvbF9fZGlhbW9uZCBpIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5zeW1ib2xfX3JlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U3NGMzYztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuc3ltYm9sX193aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICAgIC5zeW1ib2xfX3doaXRlLS10eHRwcmltYXJ5IGkge1xuICAgICAgY29sb3I6ICNlNzRjM2M7IH1cbiAgLnN5bWJvbF9fdHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7IH1cblxuLndyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm5hdmlnYXRlLXRvcCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogOHJlbTtcbiAgYm90dG9tOiA2cmVtO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5uYXZpZ2F0ZS10b3AgaSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zczsgfVxuICAubmF2aWdhdGUtdG9wOmhvdmVyIGkge1xuICAgIGNvbG9yOiByZ2JhKDIzMSwgNzYsIDYwLCAwLjcpOyB9XG5cbi5hYm91dC11c19fdGl0bGUge1xuICBmb250LXNpemU6IDMuNnJlbTtcbiAgY29sb3I6ICM2YTZhNmE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLHNhbnMtc2VyaWY7XG4gIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAjZTc0YzNjO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogNXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAuYWJvdXQtdXNfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAuYWJvdXQtdXNfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuXG4uYWJvdXQtdXNfX3RleHQge1xuICBmb250OiAxNHB4IFwiU291cmNlIFNhbnMgUHJvXCIsc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM5OTk7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmFib3V0LXVzX190ZXh0IHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMnJlbSAwIDZyZW0gMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgLmFib3V0LXVzX190ZXh0IHNwYW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAgIC5hYm91dC11c19fdGV4dCBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG5cbi5hYm91dC11c19faW1nIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU4LjEyNWVtKSB7XG4gICAgLmFib3V0LXVzX19pbWcge1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAuYWJvdXQtdXNfX2ltZyB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi5zZXJ2aWNlcyB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnNlcnZpY2VzIC5yb3cge1xuICAgIG1heC13aWR0aDogNThyZW07IH1cblxuLnBvcnRmb2xpbyB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5jYXNlLXN0dWR5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmOTsgfVxuICAuY2FzZS1zdHVkeV9fc2hvd2Nhc2Uge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNhc2Utc3R1ZHlfX3Nob3djYXNlOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAuY2FzZS1zdHVkeSAucm93IHtcbiAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAuY2FzZS1zdHVkeSAucm93IHtcbiAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMjVlbSkge1xuICAgIC5jYXNlLXN0dWR5IC5yb3cge1xuICAgICAgcGFkZGluZzogMCAxcmVtOyB9IH1cbiAgLmNhc2Utc3R1ZHlfX2ltZyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAgIC5jYXNlLXN0dWR5X19pbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAgIC5jYXNlLXN0dWR5X19pbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnN0YXRpc3RpY3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDJyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU4LjEyNWVtKSB7XG4gICAgLnN0YXRpc3RpY3Mge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgIC5zdGF0aXN0aWNzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuc3RhdGlzdGljc19faG9sZGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc3RhdGlzdGljc19faG9sZGVyIC5zdGF0cy1jb3VudGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucGFyYWxsYXgge1xuICBtaW4taGVpZ2h0OiA0MnJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N0cmVldC5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7XG4gIHRvcDogMDtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7IH1cblxuLnByaWNpbmcgLmRpdmlkZXIge1xuICBtYXJnaW4tYm90dG9tOiA2cmVtOyB9XG5cbi5jb2xsYWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNWY5OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgIC5jb2xsYWIgLnJvdyB7XG4gICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IHRhYi1wb3J0KSB7XG4gICAgLmNvbGxhYiAucm93IHtcbiAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAuY29sbGFiIC5wYXJ0bmVycy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogNXJlbTsgfVxuICAgIC5jb2xsYWIgLnBhcnRuZXJzLXdyYXBwZXIgPiBkaXYge1xuICAgICAgZmxleDogMSAwIDI1JTtcbiAgICAgIG1hcmdpbjogMTBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU4LjEyNWVtKSB7XG4gICAgICAgIC5jb2xsYWIgLnBhcnRuZXJzLXdyYXBwZXIgPiBkaXYge1xuICAgICAgICAgIGZsZXg6IDEgMCAzMCU7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IHRhYi1wb3J0KSB7XG4gICAgICAgIC5jb2xsYWIgLnBhcnRuZXJzLXdyYXBwZXIgPiBkaXYge1xuICAgICAgICAgIGZsZXg6IDEgMCAzMCU7IH0gfVxuXG4uYmxvZy1ob21lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmOTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMnJlbSAwOyB9XG5cbi5jb250YWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmOTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAuY29udGFjdCAucm93IHtcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgIC5jb250YWN0IC5yb3cge1xuICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmN0YV9fYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Zvb3Rlci5wbmdcIik7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtaW4taGVpZ2h0OiA0NXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgIC5jdGFfX2JvdHRvbSB7XG4gICAgICBtaW4taGVpZ2h0OiAzMHJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBwaG9uZSkge1xuICAgIC5jdGFfX2JvdHRvbSB7XG4gICAgICBtaW4taGVpZ2h0OiAzMHJlbTsgfSB9XG4gIC5jdGFfX2JvdHRvbSAuY3RhX193cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAzcmVtOyB9XG4gICAgLmN0YV9fYm90dG9tIC5jdGFfX3dyYXBwZXIgaDMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250OiA0MDAgMi45cmVtIFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgICAgLmN0YV9fYm90dG9tIC5jdGFfX3dyYXBwZXIgaDMgc3BhbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY3RhX19ib3R0b20gLmN0YV9fd3JhcHBlciBwIHtcbiAgICAgIGZvbnQ6IDQwMCAxLjZyZW0gXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG5cbmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAyLjU2cmVtIDA7IH1cbiAgZm9vdGVyIC5mb290ZXJfX3NvY2lhbC0taXRlbSB7XG4gICAgZm9udC1zaXplOiAxLjlyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjJzIGVhc2U7IH1cbiAgICBmb290ZXIgLmZvb3Rlcl9fc29jaWFsLS1pdGVtOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGNvbG9yOiAjZTc0YzNjOyB9XG4gICAgZm9vdGVyIC5mb290ZXJfX3NvY2lhbC0taXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS42NXJlbTsgfVxuICBmb290ZXIgLmZvb3Rlcl9faW5mbyB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgZm9vdGVyIC5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgZm9vdGVyIC5yb3c6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiAxMTdyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDNyZW07IH1cbiAgLnJvdzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU4LjEyNWVtKSB7XG4gICAgICAucm93Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAgIC5yb3c6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAucm93IHtcbiAgICAgIG1heC13aWR0aDogNTByZW07XG4gICAgICBwYWRkaW5nOiAwIDNyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAucm93IHtcbiAgICAgIG1heC13aWR0aDogNTByZW07XG4gICAgICBwYWRkaW5nOiAwIDNyZW07IH0gfVxuICAucm93Om5vdCgucm93X19mbGV4KTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvd19fZmxleCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAucm93IFtjbGFzc149XCJjb2wtXCJdIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5yb3cgW2NsYXNzXj1cImNvbC1cIl06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDZyZW07IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICAgICAucm93IFtjbGFzc149XCJjb2wtXCJdOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiB0YWItcG9ydCkge1xuICAgICAgICAucm93IFtjbGFzc149XCJjb2wtXCJdOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAgIC5yb3cgW2NsYXNzXj1cImNvbC1cIl0ge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAgIC5yb3cgW2NsYXNzXj1cImNvbC1cIl0ge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cbiAgLnJvdyAuY29sLTEtb2YtMiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2cmVtKSAvIDIpOyB9XG4gIC5yb3cgLmNvbC0xLW9mLTMge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNnJlbSAqIDIpIC8gMyk7IH1cbiAgLnJvdyAuY29sLTItb2YtMyB7XG4gICAgd2lkdGg6IGNhbGMoIDIqICgoMTAwJSAtIDZyZW0gKiAyKSAvIDMpICsgNnJlbSk7IH1cbiAgLnJvdyAuY29sLTEtb2YtNCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2cmVtICogMykgLyA0KTsgfVxuICAucm93IC5jb2wtMi1vZi00IHtcbiAgICB3aWR0aDogY2FsYyggMiAqKCgxMDAlIC0gNnJlbSAqIDMpIC8gNCkgKyA2cmVtKTsgfVxuICAucm93IC5jb2wtMy1vZi00IHtcbiAgICB3aWR0aDogY2FsYyggMyAqKCgxMDAlIC0gNnJlbSAqIDMpIC8gNCkgKyA2cmVtICogMik7IH1cblxuLmhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyMTVkZWcsIHJnYmEoMCwgMCwgMCwgMC42KSAwJSwgcmdiYSg2NSwgNjUsIDY1LCAwLjUpIDc0JSksIHVybChcIi4uL2ltYWdlcy9iYWxsb29ucy5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcDtcbiAgaGVpZ2h0OiAxMTB2aDtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDgwJSwgNTAlIDEwMCUsIDAgODAlKTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgODAlLCA1MCUgMTAwJSwgMCA4MCUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU4LjEyNWVtKSB7XG4gICAgLmhlYWRlciB7XG4gICAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IHRhYi1wb3J0KSB7XG4gICAgLmhlYWRlciB7XG4gICAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cbiAgLmhlYWRlcl9fbmF2IHtcbiAgICBwYWRkaW5nOiAzcmVtIDIuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjZzO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5oZWFkZXJfX21pZGRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIC5oZWFkZXJfX21pZGRsZSAuZGl2aWRlciB7XG4gICAgICBtYXJnaW46IDMuNHJlbSAwOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLmhlYWRlcl9fbWlkZGxlIC5kaXZpZGVyIHtcbiAgICAgICAgICBtYXJnaW46IDEuNzVyZW0gMDsgfSB9XG4gICAgLmhlYWRlcl9fbWlkZGxlIC5jdGEtaG9sZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDRyZW07IH1cbiAgICAuaGVhZGVyX19taWRkbGUgLmN0YS1ob2xkZXIgLmJ0bjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogM3JlbTsgfVxuICAuaGVhZGVyX19zeW1ib2wge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAtNS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbnNlY3Rpb24ge1xuICBwYWRkaW5nOiAxMHJlbSAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgIHNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogNC41cmVtIDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICBzZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDQuNXJlbSAwOyB9IH1cblxuI2Fib3V0LXVzLXNlY3Rpb24ge1xuICBwYWRkaW5nOiAxNXJlbSAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSkge1xuICAgICNhYm91dC11cy1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDlyZW0gMDsgfVxuICAgICAgI2Fib3V0LXVzLXNlY3Rpb24gLnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogdGFiLXBvcnQpIHtcbiAgICAjYWJvdXQtdXMtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiA5cmVtIDA7IH1cbiAgICAgICNhYm91dC11cy1zZWN0aW9uIC5yb3cge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0OyB9IH1cblxuLm91ci10ZWFtIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDIxNWRlZywgcmdiYSgwLCAwLCAwLCAwLjYpIDAlLCByZ2JhKDY1LCA2NSwgNjUsIDAuNSkgNzQlKSwgdXJsKFwiLi4vaW1hZ2VzL3RlYW1iZy5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDgwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ0NHB4KSB7XG4gICAgLm91ci10ZWFtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTguMTI1ZW0pIHtcbiAgICAub3VyLXRlYW0ge1xuICAgICAgaGVpZ2h0OiA1NTBweDsgfVxuICAgICAgLm91ci10ZWFtIC5yb3cge1xuICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IHRhYi1wb3J0KSB7XG4gICAgLm91ci10ZWFtIHtcbiAgICAgIGhlaWdodDogNTUwcHg7IH1cbiAgICAgIC5vdXItdGVhbSAucm93IHtcbiAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIC5vdXItdGVhbSAuaGVhZGxpbmUtc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5vdXItdGVhbSAuaGVhZGxpbmUtc2Vjb25kYXJ5X19zdWIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLm91ci10ZWFtOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGFwZS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogODElOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDE4MDBweCkge1xuICAgICAgLm91ci10ZWFtOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1bnNldDsgfSB9XG4iLCJAaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1MYXRvOjMwMCw0MDAsNzAwLDcwMGl8T3BlbitTYW5zOjMwMCw0MDAsNjAwLDcwMCw3MDBpfFNvdXJjZStTYW5zK1BybzozMDAsNDAwLDYwMCw3MDBcIik7XHJcblxyXG5cclxuYm9keSB7XHJcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLmhlYWRsaW5lLW1haW4ge1xyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHdpZHRoOiA4MHJlbTtcclxuICBAaW5jbHVkZSByZXNwb25kKDgyMHB4KXtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gICZfX3NlY29uZGFyeSB7XHJcbiAgICBmb250OiAyLjJyZW0gJ1NvdXJjZSBTYW5zIFBybycsc2Fucy1zZXJpZjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kKDgyMHB4KXtcclxuICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX3ByaW1hcnkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250OiBib2xkIDYuNXJlbSAnT3BlbiBTYW5zJyxzYW5zLXNlcmlmO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAzLjJweDtcclxuICAgIG1hcmdpbjogMnJlbSAwO1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCg4MjBweCl7XHJcbiAgICAgIGZvbnQtc2l6ZTogMi43cmVtO1xyXG4gICAgICBtYXJnaW46IDEuNnJlbSAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAmX19wYXJhZ3JhcGgge1xyXG4gICAgZm9udDogMzAwIDEuNXJlbSAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiA3MCU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMCAyLjVyZW0gMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICBAaW5jbHVkZSByZXNwb25kKDgyMHB4KXtcclxuICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgIG1hcmdpbjogMCAwIDEuNzVyZW0gMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oZWFkbGluZS1zZWNvbmRhcnkge1xyXG4gIGZvbnQ6IDcwMCAzLjZyZW0gJ1NvdXJjZSBTYW5zIFBybycsc2Fucy1zZXJpZjtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY29sb3I6ICM2YTZhNmE7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgZm9udC1zaXplOiAyLjdyZW07XHJcbiAgfVxyXG4gICZfX3N1YiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMnJlbSBhdXRvO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBmb250OiA2MDAgMS40cmVtICdPcGVuIFNhbnMnLHNhbnMtc2VyaWY7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgIGNvbG9yOiAjOTk5OTk5O1xyXG4gIH1cclxuXHJcbn0iLCJAbWl4aW4gY2xlYXJmaXgge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE1FRElBIFFVRVJZIE1BTkFHRVJcclxuLypcclxuMCAtIDYwMHB4OiAgICAgICBQaG9uZVxyXG42MDAgLSA5MDBweDogICAgIFRhYmxldCBwb3J0cmFpdFxyXG45MDAgLSAxMjAwcHg6ICAgIFRhYmxldCBMYW5kc2NhcGVcclxuWzEyMDAgLSAxODAwcHhdICBpcyB3aGVyZSBvdXIgbm9ybWFsIHN0eWxlcyBhcHBseVxyXG4xODAwcHggKyA6ICAgICAgIEJpZyBkZXNrdG9wXHJcblxyXG5cclxuICRicmVha3BvaW50IGFyZ3VtZW50IGNob2ljZXM6XHJcblxyXG4gICAgLSBwaG9uZVxyXG4gICAgLSB0YWItcG9ydFxyXG4gICAgLSB0YWItbGFuZFxyXG4gICAgLSBiaWctZGVza3RvcFxyXG5cclxuXHJcbk9SREVSOiBCYXNlICsgdHlwb2dyYXBoeSA+IGdlbmVyYWwgbGF5b3V0ICsgZ3JpZCA+IHBhZ2UgbGF5b3V0ID4gY29tcG9uZW50c1xyXG5cclxuICAgIDFlbSA9IDE2cHg7XHJcbiovXHJcblxyXG5cclxuQG1peGluIHJlc3BvbmQoJGJyZWFrcG9pbnQpe1xyXG4gICAgQGlmICRicmVha3BvaW50ID09IHBob25lIHtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzcuNWVtKXsgICAvLyA2MDBweFxyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0gdGFiLXBvcnQge1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OC4xMjVlbSl7ICAgIC8vIDkzMHB4XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSB0YWItbGFuZCB7XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1ZW0peyAgIC8vIDEyMDBweFxyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0gYmlnLWRlc2t0b3Age1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMTIuNWVtKXsgICAvLyAxODAwcHhcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBwaG9uZS1zbSB7XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDI1ZW0peyAgIC8vIDQwMHB4XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJGJyZWFrcG9pbnQpeyAgIC8vIEN1c3RvbSB2YWx1ZVxyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyBHUklEXHJcblxyXG4kZ3JpZC13aWR0aDogMTE3cmVtO1xyXG4kZ3V0dGVyLXZlcnRpY2FsOiA4cmVtO1xyXG4kZ3V0dGVyLXZlcnRpY2FsLXNtYWxsOiA2cmVtO1xyXG4kZ3V0dGVyLWhvcml6b250YWw6IDZyZW07XHJcblxyXG5cclxuLy8gTkFWXHJcblxyXG4kbmF2LWd1dHRlci1ob3Jpem9udGFsOiAyLjZyZW07XHJcblxyXG4vLyBDT0xPUlNcclxuXHJcbiRjb2xvci1wcmltYXJ5OiAjZTc0YzNjO1xyXG4kY29sb3ItcHJpbWFyeS1kYXJrIDogZGFya2VuKCRjb2xvci1wcmltYXJ5LDMwJSk7XHJcbi8vJGNvbG9yLXByaW1hcnk6ICNjMWU0MWI7XHJcbiRjb2xvci13aGl0ZTogI2ZmZjtcclxuXHJcblxyXG4kYmctc2Vjb25kYXJ5OiAjZjRmNWY5O1xyXG5cclxuLy8gVFlQT0dSQVBIWSBDT0xPUlNcclxuXHJcbiR0ZXh0LWJsYWNrOiAjNmE2YTZhO1xyXG5cclxuIiwiQGtleWZyYW1lcyBnb1JpZ2h0IHtcclxuICAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMHB4LCAwcHgpO1xyXG4gIH1cclxufSIsIiosXHJcbio6OmFmdGVyLFxyXG4qOjpiZWZvcmUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gICAgLy8gdGhpcyBkZWZpbmVzIHdoYXQgMXJlbSBpc1xyXG4gICAgZm9udC1zaXplOiA2Mi41JTsgIC8vIDEgcmVtID0gMTBweDtcclxufVxyXG5cclxub2wsIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLy8gQnV0dG9uIHJlc2V0XHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbm9wdGdyb3VwLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXHJcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXHJcbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLnNlY3Rpb24tZGl2aWRlcntcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3gtc2hhZG93OiAxcHggMXJlbSAwIHJnYmEoMCwwLDAsLjEpO1xyXG59IiwiLmZsZXgge1xyXG5cclxuICAmX19qYy0tc2Ige1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIH1cclxuXHJcbiAgJl9fYWktLWZzIHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuLnBzLTMwIHtcclxuICBwYWRkaW5nOiAwIDNyZW07XHJcbn0iLCIuYnRuIHtcclxuICBmb250LXNpemU6IDEuNHJlbTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICBtaW4td2lkdGg6IDIycmVtO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAxO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcclxuICAgIGJveC1zaGFkb3c6IDAgMXJlbSAycmVtIHJnYmEoMCwwLDAsLjIpO1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxLjQpIHNjYWxlWSgxLjYpO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjphY3RpdmUsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcmVzcG9uZChwaG9uZSl7XHJcbiAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgJl9fbWFpbiB7XHJcbiAgICBwYWRkaW5nOiAxLjVyZW0gM3JlbTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZChwaG9uZSl7XHJcbiAgICAgIHBhZGRpbmc6IDEuM3JlbSAxLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJi0tc21hbGwge1xyXG4gICAgICBwYWRkaW5nOiAxLjJyZW0gM3JlbTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICBAaW5jbHVkZSByZXNwb25kKHBob25lKXtcclxuICAgICAgICBwYWRkaW5nOiAxLjNyZW0gMS41cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcbiAgJl9fcmVkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgfVxyXG5cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItcHJpbWFyeSwxMCUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG4gICZfX3RyYW5zcGFyZW50IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXdoaXRlLC4zKTtcclxuICAgIH1cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIuY2FyZCB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH1cclxuICAmOmhvdmVyIC5jYXJkX190b3AsJjpob3ZlciBidXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIC5jYXJkX19wcmljZS0tYW1vdW50IHtcclxuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgY29sb3I6ICM5OTkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgJl9fdG9wIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICBoZWlnaHQ6IDIwcmVtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgIGhlaWdodDogMTVyZW07XHJcbiAgICAgIHotaW5kZXg6IHVuc2V0O1xyXG4gICAgICBwYWRkaW5nLXRvcDogLjdyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX3RpdGxlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQ6IDYwMCAyLjRyZW0gXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgdG9wOiA0cmVtO1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgIHRvcDogdW5zZXQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYm9keSB7XHJcbiAgICBwYWRkaW5nOiAxNHJlbSAzcmVtIDEycmVtIDNyZW07XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTVyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNWY5O1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgcGFkZGluZy10b3A6IDEwcmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fcHJpY2Uge1xyXG4gICAgQGV4dGVuZCAuc3ltYm9sX19yb3VuZDtcclxuICAgIHdpZHRoOiAxNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRvcDogLTcuNXJlbTtcclxuICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgd2lkdGg6IDguNXJlbSFpbXBvcnRhbnQ7XHJcbiAgICAgIGhlaWdodDogOC41cmVtIWltcG9ydGFudDtcclxuICAgICAgdG9wOiAtMTFyZW07XHJcbiAgICB9XHJcbiAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgQGV4dGVuZCAuc3ltYm9sX19yb3VuZC0tb3V0bGluZTtcclxuXHJcbiAgICB3aWR0aDogMTVyZW0gIWltcG9ydGFudDtcclxuICAgICAgaGVpZ2h0OiAxNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3NiwxNzYsMTc2LC41KSFpbXBvcnRhbnQ7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSBzY2FsZSgxLjIpIWltcG9ydGFudDtcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgICAgd2lkdGg6IDguNXJlbSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiA4LjVyZW0haW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1hbW91bnQge1xyXG4gICAgICBmb250OiA3MDAgNHJlbSBcIlNvdXJjZSBTYW5zIFByb1wiLHNhbnMtc2VyaWY7XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgICAgfVxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IC4zNWVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2xpc3Qge1xyXG5cclxuICAgICYtLWl0ZW0ge1xyXG4gICAgICBmb250OiA2MDAgMS40cmVtIFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcclxuICAgICAgY29sb3I6ICM5OTk5OTk7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbToycmVtO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xyXG4gICAgYm90dG9tOiAzcmVtO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtM3B4KTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIubG9nbyB7XHJcbiAgLy9iYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlcjogNHB4IHNvbGlkIHdoaXRlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTRyZW07XHJcbiAgZm9udC1zaXplOiAzLjVyZW07XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLHNhbnMtc2VyaWY7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgei1pbmRleDogOTtcclxuICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTJweDtcclxuICAgIGxlZnQ6IDJyZW07XHJcbiAgfVxyXG4gICYgc3BhbiB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAuNnJlbTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcbiAgJl9fcHJpbV9lbHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgY29sb3I6IHJnYmEoMCwwLDAsLjgpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHdpZHRoOiAzNSU7XHJcbiAgfVxyXG4gICZfX3NlY29uZF9lbCB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHdpZHRoOiA2NSU7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gIH1cclxuXHJcbiAgLy8gaG92ZXIgb24gbG9nb1xyXG5cclxuICAmOmhvdmVye1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiLm5hdiB7XHJcblxyXG4gIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcclxuICAgIHotaW5kZXg6IDE1MDA7XHJcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC44cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAuNjUpO1xyXG4gIH1cclxuXHJcbiAgJl9fYmFja2dyb3VuZCB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgd2lkdGg6IDFyZW07XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoJGNvbG9yLXByaW1hcnksICRjb2xvci1wcmltYXJ5LWRhcmspO1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuOHMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xyXG5cclxuICAgICYub3BlbiB7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMzAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICAgdHJhbnNpdGlvbjogYWxsIC41NHMgZWFzZS1pbi1vdXQ7XHJcbiAgJi5vcGVuIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgJiB1bCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcblxyXG4gICAgJiBsaSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDAhaW1wb3J0YW50O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHdpZHRoOiAzMHJlbTtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJiBsaTpob3ZlciB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodHllbGxvdztcclxuICAgIH1cclxuXHJcbiAgICAmIGxpOmhvdmVyIGEge1xyXG4gICAgICBjb2xvcjogIzIyMjIyMjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYgbGkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZzogMS45NXJlbSAwO1xyXG4gICAgbWFyZ2luOjAgJG5hdi1ndXR0ZXItaG9yaXpvbnRhbDtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHJcbiAgfVxyXG4gICYgbGk6bGFzdC1jaGlsZHtcclxuICAgIG1hcmdpbjogMCAwIDAgJG5hdi1ndXR0ZXItaG9yaXpvbnRhbDtcclxuICB9XHJcbiAgJiBsaTpmaXJzdC1jaGlsZHtcclxuICAgIG1hcmdpbjogMCAkbmF2LWd1dHRlci1ob3Jpem9udGFsIDAgMDtcclxuICB9XHJcblxyXG5cclxuICAmIGxpOmhvdmVyIGEge1xyXG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gIH1cclxuICAmIGxpOmhvdmVyIHtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcclxuICB9XHJcbiAgJiBhIHtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLHNhbnMtc2VyaWY7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vLy8vLy8vLy8vLy8gQlVUVE9OXHJcblxyXG4gICZfX2J1dHRvbiB7XHJcbiAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgLy9kaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xyXG4gICAgbWluLWhlaWdodDogNDBweDtcclxuICAgIC8vcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAxMnB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgcmlnaHQ6IDNyZW07XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgei1pbmRleDogMjUwMDtcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICB0b3A6IDEycHg7XHJcbiAgICB9XHJcbiAgICAuZ2FtYnVyZ2VyICB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgJixcclxuICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgd2lkdGg6IDNyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgICAgIHdpZHRoOiAyLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6OmJlZm9yZSxcclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuXHJcbiAgICAgIH1cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICB0b3A6IC0uOHJlbTtcclxuICAgICAgfVxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgdG9wOiAuOHJlbTtcclxuICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAmLmFjdGl2ZSAuZ2FtYnVyZ2VyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSAuZ2FtYnVyZ2VyOjpiZWZvcmUge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSAuZ2FtYnVyZ2VyOjphZnRlciB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyICAuZ2FtYnVyZ2VyOjpiZWZvcmUge1xyXG4gICAgICB0b3A6IC0xcmVtO1xyXG4gICAgfVxyXG4gICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIgLmdhbWJ1cmdlcjo6YWZ0ZXIge1xyXG4gICAgICB0b3A6IDFyZW07XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcbiIsIi5jb250YWN0LWZvcm0ge1xyXG5cclxuXHJcbiAgLy8gY29udGFpbmVyXHJcbiAgJl9fd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLXRvcDogNnJlbTtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICAgICYgPiBkaXYge1xyXG4gICAgICBwYWRkaW5nOiA4cmVtIDkuNXJlbTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgICBwYWRkaW5nOiA2cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gbGVmdFxyXG4gICZfX2luZm8ge1xyXG4gICAgd2lkdGg6IDQwJTtcclxuICAgIC8vYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBoZWlnaHQ6IDQ1JTtcclxuICAgICAgd2lkdGg6IDEuNXB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgICAgaGVpZ2h0OiAxLjVweDtcclxuICAgICAgICB3aWR0aDogNDUlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB0b3A6IHVuc2V0O1xyXG4gICAgICAgIHJpZ2h0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYgPiBkaXY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuNXJlbTtcclxuICAgIH1cclxuICAgIGg1IHtcclxuICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICBmb250OiA2MDAgMi4ycmVtIFwiU291cmNlIFNhbnMgUHJvXCIsc2Fucy1zZXJpZjtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gICAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHtcclxuICAgICAgY29sb3I6ICM5OTk5OTk7XHJcbiAgICAgIGZvbnQ6IDQwMCAxLjZyZW0gXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmO1xyXG4gICAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3BhbntcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyByaWdodFxyXG4gICZfX2Zvcm0ge1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5mb3JtLWdyb3VwIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgJjpsYXN0LWNoaWxke1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiAxcmVtIDA7XHJcbiAgICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgICBmb250OiA1MDAgMS41cmVtIFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbjtcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwge1xyXG4gICAgICAvL29wYWNpdHk6IDA7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgZm9ybSB7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn0iLCIuc2xpZGVyIHtcclxuXHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgaGVpZ2h0OiA2MHJlbTtcclxuICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgIGhlaWdodDogdW5zZXQ7XHJcbiAgfVxyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjMjAyMDIwO1xyXG4gIC8vei1pbmRleDogLTI7XHJcbiAgJl9fcGFuZWwge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyMDIwO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIHBhZGRpbmc6IDEycmVtIDEwcmVtIDEycmVtIDRyZW07XHJcbiAgICBAaW5jbHVkZSByZXNwb25kKDEyMDBweCl7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IHVuc2V0O1xyXG4gICAgICBwYWRkaW5nOiA4cmVtIDRyZW07XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQoNjIwcHgpe1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdHJpZ2dlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjM2UzZTNlO1xyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQoMTIwMHB4KXtcclxuICAgICAgZmxleDogMTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB3aWR0aDogdW5zZXQ7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgY3Vyc29yOiB1bnNldDtcclxuICAgICAgcGFkZGluZzogMi41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIGg0IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICBmb250OiA3MDAgMS44cmVtICdPcGVuIFNhbnMnLHNhbnMtc2VyaWY7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIGNvbG9yOiAjOTk5OTk5O1xyXG4gICAgICBmb250OiAxLjRyZW0gXCJTb3VyY2UgU2FucyBQcm9cIixzYW5zLXNlcmlmO1xyXG4gICAgfVxyXG4gICAgLnN5bWJvbCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IC0xMjlweDtcclxuICAgICAgdG9wOiA5cHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY1Zjk7XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQoMTIwMHB4KXtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcmlnaHQ6IHVuc2V0O1xyXG4gICAgICAgIHRvcDogdW5zZXQ7XHJcbiAgICAgICAgbWFyZ2luOiAzcmVtIGF1dG87XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJjpob3Zlcjpub3QoLmFjdGl2ZSkge1xyXG4gICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICBoNCB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zeW1ib2wge1xyXG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQoMTIwMHB4KXtcclxuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICBoNCB7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICZfX3RyaWdnZXIuYWN0aXZlIHtcclxuXHJcblxyXG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcclxuXHJcbiAgICBoNCB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIC5zeW1ib2wge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuXHJcbiAgICAgIGkge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kKDEyMDBweCl7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgICYgaDQge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICAmIC5zeW1ib2wge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcclxuXHJcbiAgICAgICAgJiBpIHtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuICAmX190aXRsZSB7XHJcbiAgICBmb250OiA3MDAgMy42cmVtIFwiU291cmNlIFNhbnMgUHJvXCIsc2Fucy1zZXJpZjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIGxldHRlci1zcGFjaW5nOiA0cHg7XHJcbiAgICBjb2xvcjogI2Y0ZjVmOTtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcclxuICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgxMjAwcHgpe1xyXG4gICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogN3JlbTtcclxuICAgICAgcGFkZGluZy1yaWdodDowO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIC8vIHNsaWRlciBjb250YWluZXJcclxuXHJcbiAgJl9fcmVlbCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAtMjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7XHJcbiAgICBAaW5jbHVkZSByZXNwb25kKDEyMDBweCl7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBpbWFnZXNcclxuXHJcbiAgJl9faW1nIHtcclxuICAgIGZpbHRlcjogYnJpZ2h0bmVzcyg1MCUpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTEwMCU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAmX19pbWcuYWN0aXZlIHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICAmX19pbWcuc2xpZGluZyB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZ29SaWdodDtcclxuICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbDtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbiAgfVxyXG59IiwiLnN0YXRzLWNvdW50ZXIge1xyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcblxyXG4gIC5zeW1ib2wge1xyXG4gICAgd2lkdGg6IDEwcmVtO1xyXG4gICAgaGVpZ2h0OiAxMHJlbTtcclxuICAgIG1hcmdpbjogMCBhdXRvIDRyZW0gYXV0bztcclxuXHJcbiAgICBpIHtcclxuICAgICAgZm9udC1zaXplOiAyLjRyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX251bSB7XHJcbiAgICBmb250OiA3MDAgMi42cmVtIFwiU291cmNlIFNhbnMgUHJvXCIsc2Fucy1zZXJpZjtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gIH1cclxuXHJcbiAgJl9fdGl0bGUge1xyXG5cclxuICB9XHJcbn0iLCIuZGl2aWRlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICZfX2ZpZ19sZWZ0LCZfX2ZpZ19yaWdodHtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgd2lkdGg6IDhyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgfVxyXG4gICZfX2ZpZ19taWRkbGV7XHJcbiAgICB3aWR0aDogLjdyZW07XHJcbiAgICBoZWlnaHQ6IC43cmVtO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgbWFyZ2luOiAwIDEuNXJlbTtcclxuICB9XHJcbiAgJi0tZ3JheSB7XHJcbiAgICAuZGl2aWRlcl9fZmlnX2xlZnQsLmRpdmlkZXJfX2ZpZ19yaWdodHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIuZmVhdHVyZS1jYXJkIHtcclxuXHJcbiAgKjpub3QoOmxhc3QtY2hpbGQpe1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gIH1cclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY29sb3I6ICMyMjIyMjI7XHJcblxyXG4gICZfX2ljb24ge1xyXG4gICAgcGFkZGluZzogMi41cmVtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogbGlnaHRlbigkY29sb3ItcHJpbWFyeSwxMCUpO1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAvLyBib3JkZXJzXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190aXRsZSB7XHJcbiAgICBjb2xvcjogJHRleHQtYmxhY2s7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XHJcbiAgICAvLyBsaW5lXHJcblxyXG4gIH1cclxuICBociB7XHJcbiAgICB3aWR0aDogNXJlbTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIC8vbWFyZ2luLWJvdHRvbTogM3JlbTtcclxuICB9XHJcbiAgcCB7XHJcbiAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIixzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgY29sb3I6ICM5OTk7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICB9XHJcblxyXG5cclxuICAvLyBob3ZlclxyXG4gICY6aG92ZXIgJl9faWNvbjo6YWZ0ZXIge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyICZfX3RpdGxle1xyXG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gIH1cclxufSIsIi5wb3J0Zm9saW9NaXgge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAmX19jb250cm9scyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xyXG4gIH1cclxuXHJcbiAgJl9fZGF0YSB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgICAmID4gZGl2IHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIHdpZHRoOiAxOS45JTtcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiA0OSU7XHJcbiAgICAgICAgZmxvYXQ6IHVuc2V0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1peCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogNXJlbTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTI1JSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcztcclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICBmb250OiA2MDAgMnJlbSBcIlNvdXJjZSBTYW5zIFByb1wiLHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoMTQwMHB4KXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjU1cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC44NXJlbTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICBmb250OiA0MDAgMS4zcmVtIFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcclxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoMTQwMHB4KXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xyXG4gICAgICAgICAgICBmb250OiBpbmhlcml0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKDE0MDBweCl7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVye1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtNDBkZWcpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItcHJpbWFyeSwuODYpO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1peF9fdGl0bGUge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYnV0dG9ucyB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250OiA0MDAgMTRweCAnT3BlbiBTYW5zJyxzYW5zLXNlcmlmO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICM5OTk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAwIDJlbTtcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICB9XHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVye1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGhlaWdodDogMS43NXJlbTtcclxuICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtNDBkZWcpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBtaXhpdHVwIGNvbnRyb2xzXHJcblxyXG4ubWl4aXR1cC1jb250cm9sLWFjdGl2ZSB7XHJcbiAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG5cclxufSIsIi5wYXJ0bmVyLWxvZ28ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAvL3dpZHRoOiAxOCU7XHJcbiAgaGVpZ2h0OiAxMDBweDtcclxuICBwYWRkaW5nOiAzLjJyZW07XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIGltZyB7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDEwMCUpIHNlcGlhKDAlKSBzYXR1cmF0ZSg3NTAwJSkgaHVlLXJvdGF0ZSgyNzRkZWcpIGJyaWdodG5lc3MoMTA1JSkgY29udHJhc3QoMTAyJSlcclxuICB9XHJcbiAgaW1nIHtcclxuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlcmVkO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBmaWx0ZXI6IGludmVydCguNSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG5cclxuICB9XHJcbn0iLCIuYmxvZyB7XHJcbiAgd2lkdGg6IDQ5LjclO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICBkaXNwbGF5OiB1bnNldDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuICBAaW5jbHVkZSByZXNwb25kKDE1MDBweCl7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAmOm50aC1jaGlsZChvZGQpe1xyXG4gICAgICBvcmRlcjogMjtcclxuICAgIH1cclxuICAgICY6bnRoLWNoaWxkKGV2ZW4pe1xyXG4gICAgICBvcmRlcjogMTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5ibG9nLS1pbWdsZWZ0e1xyXG4gICAgLmJsb2dfX2ltZyB7XHJcbiAgICAgIC8vZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmxvZ19fZGVzYyB7XHJcbiAgICAgIC8vZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICBvcmRlcjogMjtcclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMzBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMzBweDtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5ibG9nLS1pbWdyaWdodCB7XHJcbiAgICAuYmxvZ19faW1nIHtcclxuICAgICAgb3JkZXI6IDI7XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgICAgIG9yZGVyOiB1bnNldDtcclxuICAgICAgfVxyXG4gICAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJsb2dfX2Rlc2Mge1xyXG4gICAgICBvcmRlcjogMTtcclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTMwcHg7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2ltZyB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQoNTBlbSl7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICByaWdodDogMTBweDtcclxuICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICB6LWluZGV4OiA5OTk5OTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgICBwb3NpdGlvbjogdW5zZXQ7XHJcbiAgICAgIHotaW5kZXg6IHVuc2V0O1xyXG4gICAgICBtYXJnaW46IDJyZW0gYXV0byAwIGF1dG87XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vQGluY2x1ZGUgcmVzcG9uZCgxNTAwcHgpe1xyXG4gICAgLy8gIHdpZHRoOiAzNSU7XHJcbiAgICAvL31cclxuXHJcbiAgICAvLyBPVkVSTEFZXHJcblxyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1wcmltYXJ5LC43NSk7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgdG9wOiAwO1xyXG5cclxuICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLW91dDtcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICZfX2Rlc2Mge1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDRyZW0gNnJlbTtcclxuICAgIHotaW5kZXg6IDk5OTtcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6M3JlbTtcclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJiA+ICo6bm90KDpsYXN0LWNoaWxkKXtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xyXG4gICAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9AaW5jbHVkZSByZXNwb25kKDE1MDBweCl7XHJcbiAgICAvLyAgd2lkdGg6IDY1JTtcclxuICAgIC8vfVxyXG5cclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGZvbnQ6IDcwMCAyLjRyZW0gXCJTb3VyY2UgU2FucyBQcm9cIixzYW5zLXNlcmlmO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgcGFkZGluZy1ib3R0b206IC45cmVtO1xyXG4gICAgfVxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICB3aWR0aDogNnJlbTtcclxuICAgICAgaGVpZ2h0OiAzcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19jYXQge1xyXG4gICAgZm9udDogaXRhbGljIDYwMCAxLjRyZW0gXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmO1xyXG4gIH1cclxuXHJcbiAgJl9fdGV4dCB7XHJcbiAgICBmb250OiA0MDAgMS41cmVtIFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcclxuICAgIGxpbmUtaGVpZ2h0OiAyO1xyXG4gIH1cclxuXHJcbiAgJl9fcmVhZG1vcmUge1xyXG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgZm9udDppdGFsaWMgNjAwIDEuNnJlbSBcIlNvdXJjZSBTYW5zIFByb1wiLHNhbnMtc2VyaWY7XHJcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCI+PlwiO1xyXG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxufVxyXG5cclxuLmZsZXhfX3dyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn0iLCIud29ya2VyIHtcclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAmX193cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQoMTgwMHB4KXtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEycmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcmVzcG9uZCgxODAwcHgpe1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGVmdDogdW5zZXQhaW1wb3J0YW50O1xyXG4gICAgLy90b3A6IDEyMHB4IWltcG9ydGFudDtcclxuICAgIHRvcDogdW5zZXQhaW1wb3J0YW50O1xyXG4gICAgLy9mbG9hdDogbGVmdDtcclxuXHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuICAvL0BpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gIC8vICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy8gIGxlZnQ6IHVuc2V0IWltcG9ydGFudDtcclxuICAvLyAgdG9wOiAxMjBweCFpbXBvcnRhbnQ7XHJcbiAgLy8gIGZsb2F0OiBsZWZ0O1xyXG4gIC8vXHJcbiAgLy8gICY6bm90KDpsYXN0LWNoaWxkKXtcclxuICAvLyAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcclxuICAvLyAgfVxyXG4gIC8vfVxyXG5cclxuICAmOmhvdmVyIC53b3JrZXJfX2ltZy0tb3ZlcmxheXtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS40NSk7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuNCksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zNik7XHJcblxyXG4gIH1cclxuXHJcbiAgJjpob3ZlciAud29ya2VyX19kZXNjIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjUlKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG4gICZfX2ltZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJi0tb3ZlcmxheSB7XHJcbiAgICAgIHdpZHRoOiAxMHJlbTtcclxuICAgICAgaGVpZ2h0OiAxMHJlbTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZCgxODAwcHgpe1xyXG4gICAgICAgIHdpZHRoOiAxNHJlbTtcclxuICAgICAgICBoZWlnaHQ6IDE0cmVtO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgICAgIHdpZHRoOiA3cmVtO1xyXG4gICAgICAgIGhlaWdodDogN3JlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAvL3RyYW5zZm9ybTogc2NhbGUoMS44NSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19kZXNjIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1JSk7XHJcbiAgfVxyXG5cclxuICAmX19uYW1lIHtcclxuICAgIGZvbnQ6IDYwMCAyLjRyZW0gXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmO1xyXG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gIH1cclxuXHJcbiAgJl9fam9iZGVzYyB7XHJcbiAgICBmb250OiA2MDAgMS41cmVtIFwiU291cmNlIFNhbnMgUHJvXCIsc2Fucy1zZXJpZjtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gcG9zaXRpb25zXHJcblxyXG4gICZfX3BvczEge1xyXG4gIHRvcDogNDc1cHg7XHJcbiAgfVxyXG5cclxuICAmX19wb3MyIHtcclxuICAgIGxlZnQ6IDYyMHB4O1xyXG4gICAgdG9wOiA0MzBweDtcclxuICB9XHJcblxyXG4gICZfX3BvczMge1xyXG4gICAgbGVmdDogODgwcHg7XHJcbiAgICB0b3A6IDQzMHB4O1xyXG4gIH1cclxuICAmX19wb3M0IHtcclxuICAgIGxlZnQ6IDExNTBweDtcclxuICAgIHRvcDogNDcwcHg7XHJcbiAgfVxyXG5cclxuICAmX19wb3M1IHtcclxuICAgIGxlZnQ6IDE0MDBweDtcclxuICAgIHRvcDogNDMwcHg7XHJcbiAgfVxyXG59IiwiLmNhcm91c2VsIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiA5cmVtO1xyXG4gIHdpZHRoOiA2Ni41cmVtO1xyXG4gIHBhZGRpbmc6IDEwcmVtIDA7XHJcbiAgei1pbmRleDogMTtcclxuICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IHVuc2V0O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSByZXNwb25kKHBob25lLXNtKXtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAmX19zbGlkZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogODAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcclxuICAgICYgPiAqIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnN5bWJvbCB7XHJcbiAgICBtYXJnaW46IDAgYXV0byA0cmVtIGF1dG87XHJcbiAgfVxyXG5cclxuICAmX190aXRsZSB7XHJcbiAgICBmb250OiA2MDAgMS44cmVtIFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gICAgY29sb3I6ICM2YTZhNmE7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgd2lkdGg6IDVyZW07XHJcbiAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZhNmE2YTtcclxuICAgICAgYm90dG9tOiAtMzBweDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICAmX19wYXJhZ3JhcGgge1xyXG4gICAgZm9udDogMzAwIDEuNHJlbSBcIlNvdXJjZSBTYW5zIFByb1wiLHNhbnMtc2VyaWY7XHJcbiAgICBjb2xvcjogIzk5OTk5OTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gIH1cclxuICBidXR0b24ge1xyXG5cclxuICB9XHJcbn1cclxuXHJcbi8vIEdMSURFIENVU1RPTSBDU1NcclxuXHJcbi5nbGlkZSB7XHJcblxyXG5cclxuXHJcbiAgJl9fdHJhY2sge1xyXG5cclxuICB9XHJcbiAgJl9fYnVsbGV0cyB7XHJcbiAgICBib3R0b206IDZyZW07XHJcbiAgfVxyXG4gICZfX2J1bGxldCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oI2Y0ZjVmOSwxNSUpO1xyXG4gICAgJi0tYWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLnN5bWJvbCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHJcblxyXG4gIC8vLy8vLy8vLy8vIFNIQVBFUyAvLy8vLy8vLy8vLy9cclxuICAmX19yb3VuZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogNnJlbTtcclxuICAgIGhlaWdodDo2cmVtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICYtLW91dGxpbmU6OmFmdGVyIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itd2hpdGUsLjMpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgfVxyXG4gICAgaXtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJl9fZGlhbW9uZCB7XHJcbiAgICB3aWR0aDogOHJlbTtcclxuICAgIGhlaWdodDo4cmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIGkge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvLy8vLy8vLy8vIENPTE9SUyAvLy8vLy8vLy8vXHJcblxyXG4gICZfX3JlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgfVxyXG5cclxuICAmX193aGl0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLXdoaXRlLDUlKTtcclxuXHJcbiAgICAmLS10eHRwcmltYXJ5IHtcclxuICAgICAgaSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJl9fdHJhbnNwYXJlbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxufVxyXG5cclxuLndyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufSIsIi5uYXZpZ2F0ZS10b3Age1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgcmlnaHQ6IDhyZW07XHJcbiAgYm90dG9tOiA2cmVtO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgaSB7XHJcbiAgICBmb250LXNpemU6IDRyZW07XHJcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwuNSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciBpIHtcclxuICAgIGNvbG9yOiByZ2JhKCRjb2xvci1wcmltYXJ5LC43KTtcclxuICB9XHJcbn0iLCIvLyBBYm91dCB1cyBzZWN0aW9uXHJcblxyXG4gIC5hYm91dC11cyB7XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICBmb250LXNpemU6IDMuNnJlbTtcclxuICAgICAgY29sb3I6ICR0ZXh0LWJsYWNrO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xyXG4gICAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIixzYW5zLXNlcmlmO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XHJcbiAgICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xyXG4gICAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGV4dCB7XHJcbiAgICBmb250OiAxNHB4IFwiU291cmNlIFNhbnMgUHJvXCIsc2Fucy1zZXJpZjtcclxuICAgICAgY29sb3I6ICM5OTk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcblxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDJyZW0gMCA2cmVtIDA7XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuLy8gU2VydmljZXMgc2VjdGlvblxyXG5cclxuICAuc2VydmljZXMge1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAucm93IHtcclxuICAgICAgbWF4LXdpZHRoOiA1OHJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wb3J0Zm9saW8ge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgfVxyXG5cclxuICAuY2FzZS1zdHVkeSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctc2Vjb25kYXJ5O1xyXG5cclxuICAgICZfX3Nob3djYXNlIHtcclxuICAgICAgcGFkZGluZy10b3A6IDRyZW07XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgICYgLnJvdyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZChwaG9uZS1zbSl7XHJcbiAgICAgICYgLnJvdyB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pbWcge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zdGF0aXN0aWNzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogNDJyZW07XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmX19ob2xkZXIge1xyXG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgLnN0YXRzLWNvdW50ZXIge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgLnBhcmFsbGF4IHtcclxuICAgIG1pbi1oZWlnaHQ6IDQycmVtO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N0cmVldC5wbmdcIik7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O1xyXG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5wcmljaW5nIHtcclxuICAgIC5kaXZpZGVyIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb2xsYWIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLXNlY29uZGFyeTtcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgLnBhcnRuZXJzLXdyYXBwZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgbWFyZ2luLXRvcDogNXJlbTtcclxuICAgICAgJiA+IGRpdiB7XHJcbiAgICAgICAgZmxleDogMSAwIDI1JTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgICAgICBmbGV4OiAxIDAgMzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5ibG9nLWhvbWUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLXNlY29uZGFyeTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAycmVtIDA7XHJcbiAgfVxyXG5cclxuICAuY29udGFjdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctc2Vjb25kYXJ5O1xyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgICAmIC5yb3cge1xyXG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdGFfX2JvdHRvbSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZm9vdGVyLnBuZ1wiKTtcclxuICAgLy8gYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDIxNWRlZywgcmdiYSgwLCAwLCAwLCAwLjYpIDAlLCByZ2JhKDY1LCA2NSwgNjUsIDAuNSkgNzQlKSwgdXJsKFwiLi4vLi4vaW1nL2Zvb3Rlci5wbmdcIik7O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNjUpOyAvLyBUaW50IGNvbG9yXHJcbiAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgbWluLWhlaWdodDogNDVyZW07XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZChwaG9uZSl7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDMwcmVtO1xyXG4gICAgfVxyXG4gICAgLmN0YV9fd3JhcHBlciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiAwIDNyZW07XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIGZvbnQ6IDQwMCAyLjlyZW0gXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBwIHtcclxuICAgICAgICBmb250OiA0MDAgMS42cmVtIFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvb3RlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyMDIwO1xyXG4gICAgY29sb3I6ICM5OTk7XHJcbiAgICBwYWRkaW5nOiAyLjU2cmVtIDA7XHJcblxyXG4gICAgLmZvb3Rlcl9fc29jaWFsLS1pdGVtIHtcclxuICAgICAgZm9udC1zaXplOiAxLjlyZW07XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycyBlYXNlO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICB9XHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNjVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9vdGVyX19pbmZvIHtcclxuICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnJvdyB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0iLCIucm93IHtcclxuICAgIG1heC13aWR0aDogJGdyaWQtd2lkdGg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDAgJGd1dHRlci1ob3Jpem9udGFsLzI7XHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItdmVydGljYWw7XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCAodGFiLXBvcnQpe1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyLXZlcnRpY2FsLXNtYWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQgKHRhYi1wb3J0KXtcclxuICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgM3JlbTtcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCgucm93X19mbGV4KXtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIH1cclxuXHJcblxyXG4vLyBGTEVYXHJcblxyXG4gICAgJl9fZmxleCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgW2NsYXNzXj1cImNvbC1cIl0ge1xyXG4gICAgICAgIFxyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlci1ob3Jpem9udGFsO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kICh0YWItcG9ydCl7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyLXZlcnRpY2FsLXNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCAodGFiLXBvcnQpe1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgfVxyXG4gICAgLmNvbC0xLW9mLTIge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gI3skZ3V0dGVyLWhvcml6b250YWx9KSAvIDIpO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmNvbC0xLW9mLTMge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gI3skZ3V0dGVyLWhvcml6b250YWx9ICogMikgLyAzKTtcclxuICAgIH1cclxuICAgIC5jb2wtMi1vZi0zIHtcclxuICAgICAgICB3aWR0aDogY2FsYyggMiogKCgxMDAlIC0gI3skZ3V0dGVyLWhvcml6b250YWx9ICogMikgLyAzKSArICN7JGd1dHRlci1ob3Jpem9udGFsfSk7XHJcbiAgICB9XHJcbiAgICAuY29sLTEtb2YtNCB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAjeyRndXR0ZXItaG9yaXpvbnRhbH0gKiAzKSAvIDQpO1xyXG4gICAgfVxyXG4gICAgLmNvbC0yLW9mLTQge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCAyICooKDEwMCUgLSAjeyRndXR0ZXItaG9yaXpvbnRhbH0gKiAzKSAvIDQpICsgI3skZ3V0dGVyLWhvcml6b250YWx9KTtcclxuICAgIH1cclxuICAgIC5jb2wtMy1vZi00IHtcclxuICAgICAgICB3aWR0aDogY2FsYyggMyAqKCgxMDAlIC0gI3skZ3V0dGVyLWhvcml6b250YWx9ICogMykgLyA0KSArICN7JGd1dHRlci1ob3Jpem9udGFsfSAqIDIpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB9XHJcblxyXG5cclxuLy8vLy8vLy8vIEZMRVhcclxuXHJcbiAgICAiLCIuaGVhZGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyMTVkZWcsIHJnYmEoIzAwMDAwMCwuNikgMCUsIHJnYmEoIzQxNDE0MSwuNSkgNzQlKSxcclxuICB1cmwoXCIuLi9pbWFnZXMvYmFsbG9vbnMuanBnXCIpO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XHJcbiAgaGVpZ2h0OiAxMTB2aDtcclxuICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgODAlLCA1MCUgMTAwJSwgMCA4MCUpO1xyXG4gIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDgwJSwgNTAlIDEwMCUsIDAgODAlKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgY2xpcC1wYXRoOiBub25lO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICB9XHJcblxyXG4gIC8vIG5hdmlnYXRpb25cclxuICAmX19uYXYge1xyXG4gICAgLy9AaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIHBhZGRpbmc6IDNyZW0gMi41cmVtO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC42cztcclxuICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuXHJcblxyXG4gIH1cclxuXHJcblxyXG5cclxuICAvLyBtaWRkbGVcclxuICAmX19taWRkbGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG5cclxuICAvLyBkZWNvcmF0aW9uXHJcbiAgICAuZGl2aWRlciB7XHJcbiAgICAgIG1hcmdpbjogMy40cmVtIDA7XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQoNzAwcHgpe1xyXG4gICAgICAgIG1hcmdpbjogMS43NXJlbSAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIEJ1dHRvbnNcclxuICAgIC5jdGEtaG9sZGVyIHtcclxuICAgICAgbWFyZ2luLXRvcDogNHJlbTtcclxuICAgIH1cclxuICAgIC5jdGEtaG9sZGVyIC5idG46bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcbiAgLy8gU3ltYm9sXHJcblxyXG4gICZfX3N5bWJvbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBib3R0b206IC01LjVyZW07XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG5cclxuICB9XHJcbn0iLCJzZWN0aW9uIHtcclxuICBwYWRkaW5nOiAxMHJlbSAwO1xyXG4gIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgcGFkZGluZzogNC41cmVtIDA7XHJcbiAgfVxyXG59XHJcblxyXG4jYWJvdXQtdXMtc2VjdGlvbiB7XHJcbiAgcGFkZGluZzogMTVyZW0gMDtcclxuICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgIHBhZGRpbmc6IDlyZW0gMDtcclxuXHJcbiAgICAmIC5yb3cge1xyXG4gICAgICBtYXgtd2lkdGg6IHVuc2V0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm91ci10ZWFtIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjE1ZGVnLCByZ2JhKDAsIDAsIDAsIDAuNikgMCUsIHJnYmEoNjUsIDY1LCA2NSwgMC41KSA3NCUpLFxyXG4gIHVybChcIi4uL2ltYWdlcy90ZWFtYmcucG5nXCIpO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogODAwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIEBpbmNsdWRlIHJlc3BvbmQoNDQ0cHgpe1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICBoZWlnaHQ6IDU1MHB4O1xyXG5cclxuICAgIC5yb3cge1xyXG4gICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICAuaGVhZGxpbmUtc2Vjb25kYXJ5IHtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAmX19zdWIge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3Jle1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgxODAwcHgpe1xyXG4gICAgICBjb250ZW50OiB1bnNldDtcclxuICAgIH1cclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoYXBlLnBuZ1wiKTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGhlaWdodDogODElO1xyXG4gIH1cclxufSJdfQ== */
