@charset "UTF-8";
/* breakpoints */
/* /breakpoints */
/* header */
/* /header */
body {
  font-family: 'PT Sans', sans-serif;
  font-size: 16px;
  color: #707070;
  overflow-y: scroll; }

.h1:not(.triptitle),
.h2:not(.triptitle),
.h3:not(.triptitle),
h2:not(.triptitle),
h3:not(.triptitle) {
  margin-top: 20px;
  margin-bottom: 10px; }

h1 {
  color: #e3000b;
  text-align: center;
  font-size: 2.25em;
  font-weight: 400;
  margin-top: 1.2em; }

h2 {
  font-size: 1.25rem;
  font-weight: bold; }

h3 {
  font-size: 1.125rem;
  font-weight: bold; }

.hide {
  display: none; }

.jmhome h3,
.jmreiseleiter h3 {
  font-size: 1.5em; }

h4 {
  font-size: 1.125em;
  color: #e3000b; }
  h4 i {
    color: #e3000b; }

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

dl,
ol,
ul {
  margin-top: 0; }

img {
  max-width: 100%;
  height: auto; }
  img.cropped {
    width: 100%;
    min-height: 300px; }

.redhr {
  border-color: #e3000b; }

.grey {
  background-color: #e5e5e5; }

a,
a:focus,
a:hover {
  color: inherit; }

#jumptop {
  position: fixed;
  z-index: 999;
  right: 2.2em;
  bottom: 0.3em;
  display: block;
  visibility: hidden; }
  #jumptop i {
    font-size: 1.37em;
    padding: .6em;
    transition: all .3s ease-in-out;
    vertical-align: text-top;
    color: #ffffffb3;
    border-radius: 2em;
    background-color: #0000004d; }

.main {
  padding-bottom: 2em; }

.lined {
  margin: 1em 0;
  padding: .5em 0;
  border-top: #575757 1px solid;
  border-bottom: #575757 1px solid; }

.zoom-container {
  position: relative;
  overflow: hidden;
  width: 100%; }
  .zoom-container .zoom-on-hover {
    transition: transform .2s;
    max-width: 100%;
    width: 100%; }
    .zoom-container .zoom-on-hover:hover {
      transform: scale(1.1); }

.shadow-on-hover {
  transition: box-shadow .2s; }
  .shadow-on-hover:hover {
    box-shadow: 0px 0px 9px 3px rgba(0, 0, 0, 0.27) !important; }

button.btn,
a.btn {
  display: inline-block;
  text-align: center;
  padding: 5px 10px;
  border: 1px solid #fff;
  border-radius: 0;
  text-decoration: none;
  transition: color .4s ease, background-color .4s ease; }
  button.btn:before,
  a.btn:before {
    color: inherit; }
  button.btn.grey,
  a.btn.grey {
    color: #575757;
    background-color: #e5e5e5; }
    button.btn.grey:hover,
    a.btn.grey:hover {
      background-color: #575757;
      border: 1px solid #707070;
      color: #ffffff; }
  button.btn.red,
  a.btn.red {
    color: #ffffff;
    background-color: #e3000b; }
    button.btn.red:hover,
    a.btn.red:hover {
      background-color: #e5e5e5;
      color: #575757; }

a[href^=http] {
  position: relative;
  padding-right: 24px; }
  a[href^=http] button:not(.ignore-ext)::after, a[href^=http]:not(.ignore-ext)::after {
    position: absolute;
    content: '\f35d';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    margin-left: 5px;
    font-size: .9em; }

.cc-remove {
  position: absolute;
  padding: .5em;
  right: 0;
  cursor: pointer; }

.cc-window {
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3); }

#backgroundPopup {
  background: none repeat scroll 0 0 rgba(0, 0, 0, 0.5);
  border: 1px solid #202020;
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1500; }

#popupContact {
  display: none;
  position: fixed;
  z-index: 9999999;
  max-width: 90%;
  min-height: 625px; }

#popupContentFrame {
  background: none repeat scroll 0 0 #FFFFFF;
  height: 100%; }

#popupContent {
  margin: 0;
  height: 100%;
  font-size: 16px;
  color: #575757; }
  #popupContent #home_preview {
    height: 100%;
    padding: 10px 15px; }
    #popupContent #home_preview img {
      display: block;
      margin: 0 auto 10px;
      float: none;
      width: 45%; }
    #popupContent #home_preview h3 {
      margin-top: 0;
      font-size: 20px;
      font-weight: bold; }
    #popupContent #home_preview a {
      float: none;
      display: block;
      margin: 20px auto 0;
      width: calc(200% / 3);
      font-size: 20px;
      white-space: inherit;
      border: none; }
      #popupContent #home_preview a.focus, #popupContent #home_preview a:focus, #popupContent #home_preview a:hover {
        text-decoration: none;
        outline: 0;
        box-shadow: none; }

#popupHeader {
  background: white;
  border-left: 1px solid #202020;
  border-right: 1px solid #202020;
  border-top: 1px solid #202020;
  display: block;
  height: 23px;
  position: relative;
  width: 627px; }
  #popupHeader b {
    color: #202020;
    font-size: 14px;
    font-weight: bold;
    left: 1em;
    position: absolute;
    top: 4px; }

@media only screen and (min-width: 576px) {
  #popupContact {
    min-height: unset; }
  #popupContent #home_preview {
    padding: 25px 50px; }
    #popupContent #home_preview img {
      margin: 0 0 0 auto;
      width: calc(100% / 3); }
    #popupContent #home_preview a {
      width: 45%; } }

.header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  text-align: center;
  background-color: #000000;
  box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.5);
  z-index: 150; }
  .header.fixed .nav > li {
    padding: 9px 1em; }
  .header a.logo {
    float: left; }
  .header .grey {
    position: fixed;
    z-index: 150;
    top: 0;
    right: 0;
    left: 0;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.75);
    box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.5); }
  .header .teaser {
    position: absolute;
    float: left;
    padding: 0 1em;
    transition: all 0.3s ease; }
  .header .menubar {
    margin: 0 auto;
    width: 100%;
    text-align: right;
    transition: text-align .2s ease;
    line-height: 51px;
    color: #ffffff; }
    .header .menubar .togglemenu:active, .header .menubar .togglemenu:focus, .header .menubar .togglemenu:hover {
      text-decoration: none; }
  .header .nav.menu {
    margin: 0;
    padding-left: 0;
    list-style: none; }
    .header .nav.menu > li:first-of-type {
      font-size: 1em;
      vertical-align: sub;
      text-rendering: auto; }
    .header .nav.menu > li a,
    .header .nav.menu > li span {
      color: #ffffff; }
  .header .nav > .deeper.parent > .nav-child {
    font-size: 1em;
    position: absolute;
    z-index: 150;
    top: 70px;
    left: 50%;
    visibility: hidden;
    min-width: 220px;
    margin-left: -110px;
    padding: .5em 0;
    transition: top .3s linear;
    text-align: left;
    border-radius: 5px;
    background-color: #ffffff;
    box-shadow: 0 5px 30px 0 rgba(0, 0, 0, 0.3); }
  .header .nav > li {
    display: inline-block;
    padding: 1.5em 1em;
    transition: padding .3s;
    vertical-align: middle; }
    .header .nav > li a {
      z-index: 10;
      display: block;
      transition: color .3s;
      padding: 9px 8px;
      color: inherit;
      text-transform: uppercase; }
      .header .nav > li a:hover {
        text-decoration: none;
        color: #e3000b; }
    .header .nav > li.active a {
      color: #e3000b; }
    .header .nav > li:first-of-type a {
      margin-top: 0.23em; }
  .header a.logo picture img {
    max-height: 60px; }
  .header .reserve {
    position: absolute;
    transition: right .2s ease;
    right: 2em;
    display: none; }
    .header .reserve a {
      transition: width .2s ease;
      padding: 12px 1em;
      width: 28px;
      display: block;
      height: 41px;
      overflow: hidden;
      text-transform: none;
      font-weight: 600;
      color: #e3000b;
      float: right; }
      .header .reserve a:hover {
        color: #e3000b;
        cursor: pointer;
        text-decoration: none; }
      .header .reserve a:before {
        content: "\f044";
        font-family: "Font Awesome 5 Free";
        padding-right: 1em; }
      .header .reserve a:focus {
        text-decoration: none; }

html .fade-in {
  z-index: 5;
  transition: opacity .5s;
  opacity: 0; }

html .fade-in.animate {
  opacity: 1; }

@media only screen and (max-width: 1199px) {
  .header ul.nav > li > a, .header ul.nav > li span {
    padding: 7px; }
  .header ul.nav li, .header ul.nav .reserve {
    padding: 1.5em 7px; }
  .header .teaser .logo {
    left: 15px; }
    .header .teaser .logo img {
      max-width: 160px; }
  .header .nav.menu {
    overflow: hidden; } }

@media only screen and (max-width: 991px) {
  body {
    padding-top: 51px; }
  .header .teaser .logo {
    top: 0;
    transform: translateY(25%); }
    .header .teaser .logo img {
      width: auto;
      height: 30px;
      margin-left: 5px; }
  .header .menubar {
    display: block;
    visibility: visible; }
  .header.fixed .nav > li {
    padding: 0 5%; }
  .header ul.nav {
    overflow: hidden;
    height: 0;
    margin-left: -4.6em; }
    .header ul.nav > li {
      position: static;
      width: 100%;
      padding: 0;
      text-align: left; } }

@media only screen and (max-width: 800px) {
  .main .forcefullwidth_wrapper_tp_banner .tparrows.tp-leftarrow:before, .main .forcefullwidth_wrapper_tp_banner .tparrows.tp-rightarrow:before {
    top: 0;
    font-size: 2em; } }

.header .reserve a, .header.fixed .reserve a {
  padding: 9px 8px;
  transition: padding .2s ease; }

.header .nav.menu {
  display: none; }

.header .menubar {
  display: block;
  padding-right: 2em;
  margin: 0 auto;
  width: 100%;
  text-align: right;
  line-height: 51px;
  color: #ffffff;
  transition: text-align .2s ease; }
  .header .menubar .togglemenu:active, .header .menubar .togglemenu:focus, .header .menubar .togglemenu:hover {
    text-decoration: none; }

.openmm .nav.menu {
  display: block !important; }

@media screen and (min-width: 576px) {
  .header .menubar {
    text-align: center; }
  .header .reserve {
    display: inline-block; }
    .header .reserve a {
      width: 180px; }
      .header .reserve a:focus, .header .reserve a:hover {
        text-decoration: underline; } }

@media screen and (min-width: 992px) {
  .header:not(.fixed) {
    background-color: rgba(0, 0, 0, 0.75); }
  .header .teaser {
    float: left;
    padding: 1.75em 2em; }
  .header.fixed .teaser {
    padding: .5em 2em; }
  .header.fixed .reserve a {
    padding: 12px 1em; }
  .header .menubar {
    display: none; }
  .header .nav.menu {
    display: block;
    margin: 0 auto; }
    .header .nav.menu li.item-150, .header .nav.menu li.item-151, .header .nav.menu li.item-152 {
      padding: 0; }
  .header .reserve a {
    padding: 33px 1em; } }

@media screen and (min-width: 1200px) {
  .header .teaser {
    padding: 21px 2em; } }

/**
 *
 */
.banner {
  height: 100vh;
  max-height: 300px;
  transition: max-height .2s ease;
  margin-right: 0;
  margin-left: 0; }
  .banner.none {
    margin-bottom: 50px; }
  .banner img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
    width: 100%; }

@media (min-width: 576px) {
  .banner {
    max-height: 408px; } }

@media (min-width: 768px) {
  .banner {
    max-height: 544px; } }

@media (min-width: 992px) {
  .banner {
    max-height: 703px; } }

@media (min-width: 1200px) {
  .banner {
    max-height: 850px; } }

.copyright {
  padding: 1em 0; }
  .copyright .row .col-md-6 span {
    font-size: .875em;
    color: #fff; }
  .copyright .row .col-md-6:first-of-type span {
    float: left; }
  .copyright .row .col-md-6:last-of-type span {
    float: right; }
  .copyright .row a {
    font-size: 1em; }

.btn-branded {
  margin-top: 10px;
  margin-left: auto;
  display: block;
  text-align: center;
  background-color: #575757;
  padding: 5px 10px;
  color: #fff;
  transition: color .4s;
  border: 1px solid #fff;
  width: 180px;
  margin: 10px auto;
  white-space: nowrap; }
  .btn-branded::before {
    content: "\f015";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    padding-right: 0.4em; }
  .btn-branded:hover {
    color: #707070;
    background-color: #fff;
    border: 1px solid #707070;
    text-decoration: none; }
  @media screen and (min-width: 768px) {
    .btn-branded {
      float: right;
      width: auto;
      margin: auto; } }

.darkgrey {
  color: #fff;
  background-color: #575757; }

.footer {
  padding: 1em 0;
  border-top: 1px #fff solid; }
  .footer .nav li {
    transition: padding .3s;
    display: block;
    width: 100%; }
    .footer .nav li a, .footer .nav li span {
      z-index: 10;
      transition: color .3s;
      padding: 10px 0;
      color: inherit; }
      .footer .nav li a:hover, .footer .nav li span:hover {
        text-decoration: underline; }
        .footer .nav li a:hover.separator, .footer .nav li span:hover.separator {
          cursor: default; }
    @media screen and (min-width: 992px) {
      .footer .nav li:not(:last-child)::after {
        content: ' |'; } }
    .footer .nav li.divider:hover {
      cursor: default; }
  .footer .col-md-2 a {
    float: none;
    width: 180px;
    margin: 15px auto; }

@media only screen and (max-width: 1500px) {
  .footer .nav {
    right: 15em; } }

@media only screen and (max-width: 1200px) {
  .footer .nav {
    right: 3em; } }

@media only screen and (max-width: 992px) {
  .copyright span {
    display: block;
    text-align: center; }
    .copyright span:last-of-type {
      float: unset; } }

@media only screen and (max-width: 870px) {
  .footer .nav {
    right: 2em; }
    .footer .nav li {
      padding: 0 3px; } }

@media only screen and (max-width: 768px) {
  .footer ul.nav {
    width: 100%;
    display: block;
    position: relative;
    right: 0;
    text-align: center; }
    .footer ul.nav li {
      padding: 0 8px; }
  .footer div.custom {
    width: 100%;
    text-align: center; } }

@media only screen and (max-width: 450px) {
  .footer ul.nav li {
    padding: 0 4px; }
    .footer ul.nav li.divider {
      display: none; } }

@media screen and (min-width: 992px) {
  .footer .nav {
    right: 2em;
    margin-top: 1.3em; }
    .footer .nav li {
      padding: 15px 3px;
      width: auto; } }

.forcefullwidth_wrapper_tp_banner {
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2); }
  .forcefullwidth_wrapper_tp_banner > div {
    margin-bottom: 1em; }
  .forcefullwidth_wrapper_tp_banner .tparrows.tp-leftarrow, .forcefullwidth_wrapper_tp_banner .tparrows.tp-rightarrow {
    background: 0 0; }
  .forcefullwidth_wrapper_tp_banner .tparrows.tp-leftarrow:before, .forcefullwidth_wrapper_tp_banner .tparrows.tp-rightarrow:before {
    content: "\f053";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    top: -24px;
    font-size: 3em;
    color: #fff;
    z-index: 1000;
    line-height: 1em;
    font-weight: 900; }
  .forcefullwidth_wrapper_tp_banner .tparrows.tp-rightarrow:before {
    content: "\f054"; }

.socials-right {
  display: none;
  position: fixed;
  top: 150px;
  z-index: 30;
  right: 0;
  text-align: right;
  font-size: 1.2em; }
  .socials-right.menu-open {
    z-index: 10; }
  .socials-right a {
    position: relative;
    display: block;
    background-color: #ffffff;
    padding: 5px 10px;
    width: 40px;
    color: #b5afa9;
    box-shadow: 0 5px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
    transition: color 0.3s ease;
    font-size: .8em; }
    .socials-right a i {
      font-size: .8em; }
    .socials-right a > .info {
      position: absolute;
      visibility: hidden;
      opacity: 0;
      right: 0;
      top: 0;
      transition: all 0.3s ease;
      white-space: nowrap;
      background-color: rgba(255, 255, 255, 0.8);
      padding: inherit;
      margin-right: 1.4em;
      z-index: -1;
      transform: translateX(100%); }
    .socials-right a:hover, .socials-right a.open {
      color: #e3000b; }
      .socials-right a:hover > .info, .socials-right a.open > .info {
        visibility: visible;
        opacity: 1;
        box-shadow: 0 5px 8px rgba(0, 0, 0, 0.1);
        transform: translateX(-0.7em); }

@media only screen and (min-width: 768px) {
  .socials-right {
    display: block; } }

@media only screen and (max-width: 768px) {
  .socials-right {
    display: block;
    font-size: 1em;
    z-index: 10; }
    .socials-right > .custom > div {
      display: none; }
    .socials-right > .custom > .mobilevis {
      display: block; } }

table .row0, table .odd,
table :not(thead) tr:nth-child(odd) {
  background-color: #e5e5e5; }

table .row1, table .even,
table :not(thead) tr:nth-child(even) {
  background-color: #ffffff; }

table thead {
  background-color: #575757;
  color: #ffffff; }
  table thead a {
    color: #ffffff; }

table.colors {
  margin-bottom: 50px; }
  table.colors a {
    display: block;
    color: grey; }
    table.colors a i {
      font-size: 1.3em; }
  table.colors h6 {
    margin-top: 0;
    font-weight: 400; }
  table.colors thead {
    font-size: 1.05em;
    table-layout: fixed; }
    table.colors thead :first-letter {
      text-transform: uppercase; }
    table.colors thead tr > td {
      text-align: center;
      padding: 12px 12px 12px 19px; }
      table.colors thead tr > td.text-left {
        text-align: left; }
      table.colors thead tr > td.text-right {
        text-align: right; }
      table.colors thead tr > td.padding-left {
        padding-left: 25px; }
      table.colors thead tr > td.padding-right {
        padding-right: 25px; }
      table.colors thead tr > td a {
        color: #ffffff; }
      table.colors thead tr > td:first-of-type {
        text-align: left; }
      table.colors thead tr > td:nth-of-type(2) {
        text-align: left; }
  table.colors tbody tr {
    border-bottom: 1px solid #707070; }
    table.colors tbody tr > td {
      text-align: center;
      border-top: none;
      vertical-align: middle;
      padding: 10px; }
      table.colors tbody tr > td:nth-of-type(2) {
        text-align: left; }
      table.colors tbody tr > td p {
        margin-bottom: 5px; }
      table.colors tbody tr > td .number.color {
        border-radius: 50%;
        width: 30px;
        height: 30px;
        color: #ffffff;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        text-align: center;
        -ms-flex-pack: center;
            justify-content: center; }
      table.colors tbody tr > td.middle {
        vertical-align: middle; }
      table.colors tbody tr > td.right {
        vertical-align: middle;
        padding-right: 0; }
      table.colors tbody tr > td.left {
        padding-left: 0;
        vertical-align: middle; }
      table.colors tbody tr > td.text-left {
        text-align: left; }
      table.colors tbody tr > td.text-right {
        text-align: right; }
      table.colors tbody tr > td.padding-left {
        padding-left: 25px; }
      table.colors tbody tr > td.padding-right {
        padding-right: 25px; }
      table.colors tbody tr > td .toggle-content {
        margin-top: 15px; }
    table.colors tbody tr.lbl {
      border-bottom: none; }
      table.colors tbody tr.lbl td {
        padding-bottom: 5px; }
    table.colors tbody tr.desc td {
      padding-top: 2px; }

@media only screen and (max-width: 991px) {
  .mobile-table-container {
    min-height: 17em;
    overflow-x: scroll; }
    .mobile-table-container .mobile-table {
      min-width: 940px; }
      .mobile-table-container .mobile-table .table {
        position: relative; }
        .mobile-table-container .mobile-table .table:before {
          content: url("/images/swipe-white.svg");
          position: absolute;
          z-index: 100;
          top: 100px;
          left: 100px;
          background-color: black;
          border-radius: 50%;
          padding: 5px;
          margin-bottom: 5em;
          opacity: 0.5;
          transition: all 0.4s ease; }
        .mobile-table-container .mobile-table .table:focus:before, .mobile-table-container .mobile-table .table:active:before, .mobile-table-container .mobile-table .table:hover:before {
          opacity: 0;
          z-index: -1; } }

.com_wgtrails.view-events hr.cat-separator {
  margin: 0 0 10px; }

#myModal {
  background: rgba(0, 0, 0, 0.35); }
  #myModal .modal-dialog {
    top: 30vh;
    max-width: 375px;
    margin: 10px auto; }
  #myModal .modal-content {
    background-color: #faf7f5; }
  #myModal .modal-header {
    border: 0;
    padding: 15px 15px 0 0; }
  #myModal .modal-body {
    border: 0;
    padding: 0 15px 15px 15px; }
  #myModal button.close {
    padding: 0 0 0 20px;
    font-size: 1.8em; }

/**
 * this is a fix for IE11 as suggested in https://github.com/ashleydw/lightbox/issues/277
 */
.ekko-lightbox .modal-dialog {
  -ms-flex: 100% !important;
      flex: 100% !important;
  margin-left: 0;
  margin-right: 0; }

.row.tripinfo .lower {
  text-align: center; }

@media screen and (max-width: 768px) {
  .row.tripinfo {
    -ms-flex-line-pack: end;
        align-content: end; } }

.row.tripinfo .infobox {
  margin-top: 1em; }
  .row.tripinfo .infobox a:hover {
    text-decoration: none; }
  .row.tripinfo .infobox a.readmore:hover {
    text-decoration: underline; }

.row.tripinfo h3 {
  font-size: 1.5em;
  font-weight: bold; }
  .row.tripinfo h3.triptitle {
    margin-bottom: .6em; }

.row.tripinfo a[href*="kundenreisen"]:hover hr {
  text-decoration: underline; }

.row.tripinfo .row.lower {
  position: relative; }
  @media screen and (min-width: 992px) {
    .row.tripinfo .row.lower {
      position: relative;
      bottom: 0; } }

.tripinfo {
  position: relative;
  margin: 2em 0; }
  .tripinfo .booking-on-hover {
    overflow: hidden; }
    .tripinfo .booking-on-hover:hover .booking-overlay {
      left: 0; }
  @media screen and (min-width: 768px) {
    .tripinfo .infobox {
      width: 50%;
      margin-left: auto;
      margin-right: auto;
      white-space: nowrap; } }
  @media screen and (min-width: 992px) {
    .tripinfo .infobox {
      font-size: 1.125em; } }
  @media screen and (min-width: 1200px) {
    .tripinfo .infobox {
      margin-left: 0; } }
  .tripinfo .infobox .booking-overlay {
    transition: left 0.5s;
    left: 100%;
    position: absolute;
    width: 100%;
    height: 100%;
    color: #fff;
    background-color: #e3000b;
    text-align: center;
    padding-top: 5px;
    text-decoration: none; }
    .tripinfo .infobox .booking-overlay:hover {
      color: #fff;
      text-decoration: none;
      cursor: pointer; }
  .tripinfo .infobox hr {
    margin: 0; }
  .tripinfo .infobox .grey {
    background-color: #e5e5e5; }
  .tripinfo .infobox .red {
    margin-top: 0.2em;
    background-color: #e3000b; }
    .tripinfo .infobox .red * {
      color: #fff; }
  .tripinfo .infobox i.fas {
    padding: 0.6em 0.5em;
    margin-left: -0.4em; }
    .tripinfo .infobox i.fas.fa-coins, .tripinfo .infobox i.fas.fa-info-circle {
      padding-right: 0.7em; }
  .tripinfo img {
    box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2); }
  .tripinfo h4 {
    margin-bottom: 0; }
  .tripinfo hr.redhr {
    margin-bottom: 0.7em;
    margin-top: 0; }
  .tripinfo .reisebegleiter {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
        align-items: flex-end;
    margin-left: -1em;
    margin-right: 1em; }
    .tripinfo .reisebegleiter p {
      margin-bottom: 0; }
    .tripinfo .reisebegleiter a:hover {
      text-decoration: none; }
  .tripinfo .ended img {
    opacity: 0.5; }
  .tripinfo .ended:before {
    content: url("/images/reise-durchgefuehrt.png");
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 260px;
    height: 121px;
    margin: auto auto; }
  .tripinfo .full:before {
    content: url("/images/ausgebucht.png");
    position: absolute;
    top: 1em;
    left: -3em;
    width: 195px;
    height: 141px;
    filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.3)); }
    @media screen and (max-width: 576px) {
      .tripinfo .full:before {
        top: -1.33em;
        transform: scale(0.66); } }
  .tripinfo a .rb-name {
    background-color: rgba(0, 0, 0, 0.7);
    font-size: 0.8125em;
    padding: 3px;
    color: #fff;
    text-align: center;
    z-index: 10;
    margin-bottom: 0;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none; }
    .tripinfo a .rb-name:hover {
      text-decoration: none; }
  .tripinfo .rb-image {
    z-index: 0; }
    @media screen and (max-width: 576px) {
      .tripinfo .rb-image {
        width: 100%;
        display: block; } }
  .tripinfo .begleiter-portrait {
    display: inline-block;
    position: relative;
    margin-top: 1em;
    max-width: 100%; }

.fa-calendar-check {
  padding: 0.6em 0.5em;
  margin-left: -0.4em; }

.moretrips {
  text-align: center;
  padding: 2em; }
  .moretrips button {
    font-size: 1.5em;
    padding: 0 1em; }
    .moretrips button a:hover {
      text-decoration: none; }

p.introtext {
  padding: 0 1.3em;
  margin-bottom: 2.2em; }

@media (max-width: 768px) {
  .lower img {
    margin: 0; } }

.jmkundenreisen-item form.wgforms a.btn {
  margin: 0 auto; }

.jmkundenreisen-item .followMeBar {
  padding: 10px; }

.jmkundenreisen-item img:not(.img-fluid), .jmkundenreisen-item img:not(.logo),
.jmkundenreisen-item iframe:not(.img-fluid),
.jmkundenreisen-item iframe:not(.logo) {
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2); }

.jmkundenreisen-item .header img {
  box-shadow: none; }

.jmkundenreisen-item h1 {
  font-weight: initial; }

.jmkundenreisen-item #detailoverview h1 {
  text-align: left;
  font-size: 1.625em; }

.jmkundenreisen-item #detailoverview h4 .kooperation span {
  white-space: nowrap;
  margin-left: 45px; }
  @media screen and (max-width: 576px) {
    .jmkundenreisen-item #detailoverview h4 .kooperation span {
      margin-left: 10px;
      display: inline-block;
      margin-bottom: 15px; } }

.jmkundenreisen-item #detailoverview .rmore {
  position: relative;
  max-height: 100px;
  overflow: hidden;
  transition: height 200ms; }
  .jmkundenreisen-item #detailoverview .rmore::before {
    content: '';
    display: block;
    box-shadow: inset 0px -10px 10px -2px white;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20px; }
  .jmkundenreisen-item #detailoverview .rmore[aria-expanded=true]::before {
    height: 0; }

.jmkundenreisen-item #detailoverview .read-more,
.jmkundenreisen-item #detailoverview .read-less {
  color: #e3000b;
  cursor: pointer;
  margin: 0 1em 1em;
  float: right;
  text-decoration: none; }
  .jmkundenreisen-item #detailoverview .read-more:hover,
  .jmkundenreisen-item #detailoverview .read-less:hover {
    text-decoration: underline; }

.jmkundenreisen-item #detailnav {
  display: none;
  position: relative;
  background-color: #e5e5e5;
  z-index: 10; }
  @media screen and (min-width: 992px) {
    .jmkundenreisen-item #detailnav {
      display: block; } }
  .jmkundenreisen-item #detailnav .subnav {
    background-color: #e5e5e5;
    box-shadow: 0 8px 10px -8px rgba(0, 0, 0, 0.3);
    z-index: 10;
    padding-right: 0;
    padding-left: 0; }
    .jmkundenreisen-item #detailnav .subnav.fixed {
      position: fixed;
      top: 50.375px;
      box-sizing: border-box; }
    .jmkundenreisen-item #detailnav .subnav ul {
      margin: 0;
      width: 100%; }
      .jmkundenreisen-item #detailnav .subnav ul li {
        display: inline-block; }
        .jmkundenreisen-item #detailnav .subnav ul li:hover {
          text-decoration: none;
          color: #e3000b; }
          .jmkundenreisen-item #detailnav .subnav ul li:hover::after {
            color: #707070; }
        .jmkundenreisen-item #detailnav .subnav ul li::after {
          content: '|';
          padding-left: 1em; }
          .jmkundenreisen-item #detailnav .subnav ul li::after:hover {
            cursor: default; }
        .jmkundenreisen-item #detailnav .subnav ul li:last-of-type::after {
          content: '';
          padding-left: 0; }
        .jmkundenreisen-item #detailnav .subnav ul li a {
          padding: 10px 8px 10px 1em;
          text-transform: uppercase;
          display: inline-block; }
  @media screen and (max-width: 576px) {
    .jmkundenreisen-item #detailnav {
      display: none; } }

.jmkundenreisen-item .datepart {
  bottom: 0;
  width: 95%;
  margin-bottom: 1em;
  margin-top: 3em; }
  .jmkundenreisen-item .datepart i.fa-calendar-check {
    padding: .6em .65em;
    margin: 0; }
  .jmkundenreisen-item .datepart i.fa-users {
    padding: .6em .5em;
    margin: 0; }
  .jmkundenreisen-item .datepart i.fa-handshake {
    padding: .6em .5em;
    margin: 0; }
  .jmkundenreisen-item .datepart > div {
    position: relative; }
    .jmkundenreisen-item .datepart > div a {
      text-align: center;
      display: block;
      position: static;
      padding-right: 0;
      padding-top: 1em; }
      .jmkundenreisen-item .datepart > div a::after {
        content: '';
        margin: 0; }
      .jmkundenreisen-item .datepart > div a img {
        margin: 5px auto; }
        @media screen and (max-width: 576px) {
          .jmkundenreisen-item .datepart > div a img {
            position: relative;
            display: block; } }
  .jmkundenreisen-item .datepart .normalize {
    color: #707070;
    display: block;
    margin-left: 45px; }

.jmkundenreisen-item a.pdf {
  font-weight: 400; }

.jmkundenreisen-item .placeholder {
  height: 530px; }

.jmkundenreisen-item #detailmaps {
  padding-top: 1.5em;
  padding-bottom: 1.5em; }

.jmkundenreisen-item #detailleiterpic {
  margin-bottom: 1em; }
  .jmkundenreisen-item #detailleiterpic a {
    width: 100%; }
    .jmkundenreisen-item #detailleiterpic a img {
      width: 100%; }
  @media screen and (min-width: 992px) {
    .jmkundenreisen-item #detailleiterpic a {
      width: 49%; } }
  .jmkundenreisen-item #detailleiterpic .kontaktdaten a {
    width: 100%; }

.jmkundenreisen-item a.pdf {
  margin: 2em auto; }
  .jmkundenreisen-item a.pdf::before {
    content: '\f019';
    font-family: 'Font Awesome 5 Free';
    color: inherit;
    font-weight: 900;
    padding-right: .5em; }

.jmkundenreisen-item:hover {
  text-decoration: none; }

.mtop {
  margin-top: 1em; }

#detailpictures {
  text-align: center; }
  #detailpictures a {
    text-decoration: none; }
    #detailpictures a img {
      margin: .5em;
      max-width: 150px;
      max-height: 100px; }
      @media screen and (max-width: 576px) {
        #detailpictures a img {
          max-width: 100%;
          max-height: unset;
          display: block;
          margin: 15px 0; } }
    #detailpictures a.bigimg img {
      max-width: initial;
      max-height: initial;
      width: 100%;
      margin: 0; }

#detailprogramm {
  padding-bottom: 20px; }
  #detailprogramm div[class*="day-"] {
    padding-left: 20px; }
    #detailprogramm div[class*="day-"] ul {
      margin-left: 20px; }
      #detailprogramm div[class*="day-"] ul li {
        list-style: disc; }
  #detailprogramm div.programtext {
    margin-bottom: 0; }
    #detailprogramm div.programtext p.indent {
      padding-left: 50px;
      position: relative; }
      #detailprogramm div.programtext p.indent b {
        position: absolute;
        left: 0; }
    #detailprogramm div.programtext:first-of-type {
      margin-bottom: 1em; }

.container.pricetag {
  display: -ms-flexbox;
  display: flex;
  position: relative; }
  @media screen and (min-width: 576px) {
    .container.pricetag {
      display: block; } }
  .container.pricetag .detailprice {
    background-color: #e3000b;
    color: #ffffff;
    font-size: 1.5em;
    font-weight: bold;
    z-index: 11;
    border: 3px solid #ffffff;
    position: relative;
    display: inline-block;
    padding: .2em .8em;
    margin: 30px auto;
    text-align: center;
    transition: right .2s ease; }
    .container.pricetag .detailprice::before, .container.pricetag .detailprice::after {
      position: absolute;
      bottom: -3px;
      width: 43px;
      height: 68px;
      display: block;
      content: ""; }
    .container.pricetag .detailprice::before {
      background-image: url(/images/price-left.png);
      left: -46px; }
    .container.pricetag .detailprice::after {
      background-image: url(/images/price-right.png);
      right: -46px; }
    @media screen and (min-width: 576px) {
      .container.pricetag .detailprice {
        position: absolute;
        right: 50px;
        bottom: -55px; } }

.detailbannertext {
  background-color: #fff;
  opacity: .8;
  color: #e3000b;
  font-size: 1.5em;
  padding: .5em .8em;
  position: absolute;
  right: 64%;
  top: 23.5%;
  max-width: 11em;
  z-index: 11;
  box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.5); }

#detailnav + .followWrap {
  margin-top: 0; }

.followWrap {
  min-height: 50.375px;
  margin-top: 2em; }

.followMeBar {
  z-index: 2;
  text-transform: uppercase;
  background-color: #e5e5e5;
  font-size: 1.5em;
  position: relative;
  width: 100%;
  max-width: 1140px; }
  @media screen and (min-width: 992px) {
    .followMeBar {
      padding-right: 1em;
      padding-left: 1em; } }
  .followMeBar.fixed {
    position: fixed;
    top: 93.75px;
    box-shadow: 0 8px 10px -8px rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
    z-index: 1; }
  .followMeBar.fixed.absolute {
    position: absolute; }
  .followMeBar#uebersicht {
    margin-bottom: 0; }

hr#system-readmore {
  display: none; }

.detaildropdown {
  color: #707070;
  font-weight: bold; }
  .detaildropdown .more-infos-button {
    position: relative;
    display: inline-block;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    height: 1.25em;
    width: 1.25em;
    background-color: #707070;
    border-radius: 50px;
    font-size: 16px;
    vertical-align: text-top;
    margin-right: 10px;
    margin-top: 1px; }
    .detaildropdown .more-infos-button span {
      position: absolute;
      background-color: #fff;
      border-radius: 2em;
      left: calc(0.25em / 2);
      top: calc(1em / 2);
      transition: transform .25s ease; }
      .detaildropdown .more-infos-button span.plusLineHorizontal {
        width: 1em;
        height: 0.25em; }
      .detaildropdown .more-infos-button span.plusLineVertical {
        height: 1em;
        width: 0.25em;
        top: calc(0.25em / 2);
        left: calc(1em / 2); }
    .detaildropdown .more-infos-button p {
      margin-left: 25px; }
    .detaildropdown .more-infos-button.transformed span.plusLineVertical {
      transform: rotate(90deg); }

.detailleistungen.inclusive ul, .detailleistungen.exclusive ul, .detailleistungen.note ul {
  margin-left: 0; }
  .detailleistungen.inclusive ul li, .detailleistungen.exclusive ul li, .detailleistungen.note ul li {
    list-style-type: none;
    padding-left: 0; }
    .detailleistungen.inclusive ul li::before, .detailleistungen.exclusive ul li::before, .detailleistungen.note ul li::before {
      font-family: "Font Awesome 5 Free";
      margin-right: 1em;
      font-weight: 900; }

.detailleistungen.inclusive ul li::before {
  content: '\f058';
  color: #4BB543; }

.detailleistungen.exclusive ul li::before {
  content: '\f057';
  color: #e3000b; }

.detailleistungen.note ul li::before {
  content: '\f06a'; }

.detailleistungen ul {
  margin-left: 1.5em; }
  .detailleistungen ul li {
    padding-left: .5em;
    list-style-type: disc; }
    .detailleistungen ul li a {
      text-decoration: underline; }

.detailleistungen a:hover {
  text-decoration: underline;
  color: #000000; }

@media screen and (max-width: 576px) {
  margin-left: 2.5px; }

.jmreisebegleiter .item-page .container > .row {
  padding-top: 1rem;
  padding-bottom: 1rem; }

.jmreisebegleiter .container img {
  display: inline-block;
  width: 100%; }

.jmreisebegleiter .container .col-md-6 ul {
  list-style-type: disc;
  margin-left: 1em; }

.jmreisebegleiter .container .row.reisebegleiter .bordered {
  margin-top: 0; }
  @media screen and (min-width: 992px) {
    .jmreisebegleiter .container .row.reisebegleiter .bordered {
      width: 100%; }
      .jmreisebegleiter .container .row.reisebegleiter .bordered img {
        width: 49%; }
      .jmreisebegleiter .container .row.reisebegleiter .bordered .kontaktdaten {
        width: 49%; } }

.jmreisebegleiter .container .row.reisebegleiter h2 {
  margin-top: 15px; }
  .jmreisebegleiter .container .row.reisebegleiter h2::before {
    display: block;
    content: " ";
    /**
     * the negative margin-top and height value are calculated by the
     * .row.reisebegleiter's padding-top, the preceeding hr's margin-bottom pixel value
     * and the .header's height. keep in mind as soon as you scroll down, the .header shrinks.
     * right now that equals to roughly 44px for the .header and 32px combined for the .row's elements.
     */
    margin-top: -76px;
    height: 76px;
    visibility: hidden;
    pointer-events: none; }

.jmreisebegleiter h1, .jmreisebegleiter h2 {
  color: #e3000b;
  font-weight: 400; }

.jmreisebegleiter h3 {
  font-size: 1em; }

.bordered {
  margin: 1.5em auto 0;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
  width: 100%; }
  .bordered img {
    width: 100%; }
  @media screen and (max-width: 992px) {
    .bordered img {
      margin: 0 auto; } }
  @media screen and (min-width: 768px) {
    .bordered img {
      width: 49%; } }
  .bordered .kontaktdaten {
    display: block;
    text-align: center;
    width: 100%;
    margin: 10px 0; }
    .bordered .kontaktdaten h5 {
      font-weight: 900; }
    .bordered .kontaktdaten span.intro {
      position: static;
      display: block;
      margin-bottom: 15px; }
    .bordered .kontaktdaten .phone,
    .bordered .kontaktdaten .phonem,
    .bordered .kontaktdaten .mail {
      display: block;
      margin-bottom: .3em; }
    .bordered .kontaktdaten .phone::before {
      content: "\f095";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      padding-right: 0.5em;
      font-size: 0.9em; }
    .bordered .kontaktdaten .phone:hover {
      text-decoration: none; }
    .bordered .kontaktdaten .phonem::before {
      content: "\f3cd";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      padding: 0 .65em 0 .3em;
      font-size: 0.9em; }
    .bordered .kontaktdaten .phonem:hover {
      text-decoration: none; }
    .bordered .kontaktdaten .mail::before {
      content: "\f1d8";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      padding-right: 0.55em;
      font-size: 0.9em; }
    .bordered .kontaktdaten .mail:hover {
      text-decoration: none; }
    @media screen and (min-width: 992px) {
      .bordered .kontaktdaten {
        width: 49%; }
        .bordered .kontaktdaten a {
          margin: 0;
          text-align: center;
          width: 100%; } }
  .bordered span.intro {
    font-size: 13px;
    position: absolute;
    top: 3rem; }
  .bordered a {
    width: 100%; }
    .bordered a img {
      width: 100%; }

.jmueber-uns .ueber-uns {
  margin-bottom: 4em; }
  .jmueber-uns .ueber-uns .ruheout {
    float: right;
    background-color: #e3000b;
    color: #fff; }

.errorside img {
  margin-top: 10em; }

.errorside h2 {
  font-size: 1.8em;
  font-weight: normal;
  letter-spacing: 1px; }

.errorside p,
.errorside a {
  font-size: 1.6em; }

a.linkbutton.btn {
  margin: 1em;
  padding: 0.3em 1em;
  color: #ffffff;
  border-radius: 0;
  background-color: #e3000b; }

.notransition {
  transition: none !important; }

.wgforms .form-group > label.checkbox input[type=checkbox] {
  display: inline;
  height: 13px;
  width: 13px;
  position: relative;
  padding-right: 26px; }

.wgforms .form-group > label.checkbox[for=privacy] {
  font-size: 13px;
  font-weight: 400;
  padding-right: 26px; }
  .wgforms .form-group > label.checkbox[for=privacy] a {
    text-decoration: underline; }

.has-error .checkbox, .has-error .checkbox-inline, .has-error .control-label, .has-error .help-block, .has-error .radio, .has-error .radio-inline, .has-error.checkbox label, .has-error.checkbox-inline label, .has-error.radio label, .has-error.radio-inline label {
  color: #a94442; }

.wgforms .checkbox input[type=checkbox], .wgforms .checkbox-inline input[type=checkbox], .wgforms .radio input[type=radio], .wgforms .radio-inline input[type=radio] {
  margin-left: 0; }

.checkbox input[type=checkbox], .checkbox-inline input[type=checkbox], .radio input[type=radio], .radio-inline input[type=radio] {
  position: absolute;
  margin-left: -20px; }

.has-error .form-control {
  border-color: #a94442;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }

.has-error input + i.form-control-feedback,
.has-error textarea + i.form-control-feedback,
.has-error select + i.form-control-feedback {
  position: absolute;
  top: 2.6em;
  right: 1.5em;
  display: block; }

.btn-submit {
  padding-left: 1em; }

.wgforms fieldset {
  margin: 0;
  border: 0;
  padding: 0; }
  .wgforms fieldset label {
    display: block; }
  .wgforms fieldset.form-control {
    box-shadow: none;
    border: 0; }

.wgforms .radio input[type="radio"],
.wgforms .radio-inline input[type="radio"],
.wgforms .checkbox input[type="checkbox"],
.wgforms .checkbox-inline input[type="checkbox"] {
  margin-left: 0; }

.wgforms .field-calendar {
  padding-top: 4px;
  position: relative;
  padding: 0; }
  .wgforms .field-calendar .input-append input {
    width: calc(100% - 50px);
    border: 1px solid #ccc;
    padding: 6px 12px 6px 12px;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    border-right-width: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
    .wgforms .field-calendar .input-append input:focus {
      outline: none; }
  .wgforms .field-calendar .input-append button {
    border: 0;
    margin-top: 0;
    background-color: #e3000b;
    color: #ffffff;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 50px; }
  .wgforms .field-calendar .js-calendar {
    width: 100%; }
    .wgforms .field-calendar .js-calendar table.table {
      width: 100%;
      max-width: none; }
      .wgforms .field-calendar .js-calendar table.table td {
        padding: 7px 1px !important; }
        .wgforms .field-calendar .js-calendar table.table td.selected, .wgforms .field-calendar .js-calendar table.table td.day:hover, .wgforms .field-calendar .js-calendar table.table td.today:after {
          background-color: #e3000b; }
        .wgforms .field-calendar .js-calendar table.table td.time.time-title {
          background-image: none; }
          .wgforms .field-calendar .js-calendar table.table td.time.time-title:before {
            content: '\f017';
            font-family: "Font Awesome 5 Free";
            font-size: 24px;
            color: #e3000b;
            position: relative;
            top: 2px; }
        .wgforms .field-calendar .js-calendar table.table td.time.hours-select select, .wgforms .field-calendar .js-calendar table.table td.time.minutes-select select {
          border-color: #ccc;
          border-radius: 4px;
          padding: 2px 8px; }
  .wgforms .field-calendar .buttons-wrapper.btn-group {
    text-align: center; }
    .wgforms .field-calendar .buttons-wrapper.btn-group button {
      background: #e3000b;
      border: 0;
      padding: 6px 12px;
      color: #fff; }
      .wgforms .field-calendar .buttons-wrapper.btn-group button + button {
        margin-left: 5px; }

.wgforms .buttons .form-group {
  padding-left: 15px;
  padding-right: 0; }
  .wgforms .buttons .form-group.btn {
    padding: 0; }
  .wgforms .buttons .form-group button {
    display: inline-block;
    width: auto;
    height: auto;
    border-radius: 0; }
  .wgforms .buttons .form-group button.btn,
  .btn > .wgforms .buttons .form-group button {
    font-size: 1.125em;
    transition: all 450ms;
    transition: color .3s,background .3s;
    padding: 0 12px;
    border: 0;
    font-weight: 400;
    line-height: 43px;
    display: inline-block;
    width: 100%; }
    .wgforms .buttons .form-group button.btn.red,
    .btn > .wgforms .buttons .form-group button.red {
      color: #fff;
      background-color: #e3000b; }
    .wgforms .buttons .form-group button.btn.grey,
    .btn > .wgforms .buttons .form-group button.grey {
      background-color: #e5e5e5; }
    .wgforms .buttons .form-group button.btn:hover,
    .btn > .wgforms .buttons .form-group button:hover {
      background-color: #575757;
      color: #ffffff; }
    .wgforms .buttons .form-group button.btn:focus,
    .btn > .wgforms .buttons .form-group button:focus {
      box-shadow: 0 0;
      outline: -webkit-focus-ring-color auto 5px;
      outline-offset: -2px; }

input + i.form-control-feedback,
textarea + i.form-control-feedback,
select + i.form-control-feedback {
  position: absolute;
  top: 2.4em;
  right: 1em;
  display: none; }

.fa-exclamation-triangle:before, .fa-warning:before {
  content: "\f071"; }

.has-error .form-control-feedback {
  color: #e3000b; }

.pre-footer {
  margin: 1rem 0; }

@media (max-width: 991px) {
  .jmkontakt .main {
    padding-top: 44px !important; } }

.btn.grey {
  color: #575757; }

.wgforms.booking {
  margin-top: 2em;
  /*
  specific rules for the Form on the details-subpage
 */ }
  .wgforms.booking label:not([for=""]) {
    font-weight: normal; }
  .wgforms.booking .reisebegleiter p {
    margin-top: 1em; }
  .wgforms.booking .row.agb :nth-child(1) {
    margin-bottom: 5px; }
  .wgforms.booking .row.agb .form-control {
    padding: 0;
    margin-top: -5px;
    box-shadow: none;
    margin-bottom: 5px; }
  .wgforms.booking .row.agb label.checkbox {
    padding-right: 2em; }
    .wgforms.booking .row.agb label.checkbox + .fa-warning {
      position: absolute;
      top: 5px;
      right: 5px; }
  .wgforms.booking .row.additional :nth-child(2) {
    margin-bottom: 5px; }
  .wgforms.booking .row.additional :nth-child(4) {
    margin-bottom: 5px; }
  .wgforms.booking .row.guided a.btn {
    text-transform: none;
    font-size: 1rem; }
  .wgforms.booking .row.trip_data #trip_data_event_selection-lbl.note {
    margin-bottom: 5px; }
    .wgforms.booking .row.trip_data #trip_data_event_selection-lbl.note em {
      font-weight: normal;
      display: block; }
    .wgforms.booking .row.trip_data #trip_data_event_selection-lbl.note ~ span {
      padding: 7px 13px; }
  .wgforms.booking .row.attendee {
    padding: 0.5em 0; }
    .wgforms.booking .row.attendee .remarks span {
      font-size: .8em; }
    .wgforms.booking .row.attendee .btn:active {
      box-shadow: none; }
  .wgforms.booking .row.attendees > .form-group > label {
    font-size: 16px;
    white-space: nowrap; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .wgforms.booking .row.attendees > .form-group > label {
        font-size: 13px; } }
    @media only screen and (min-width: 1200px) {
      .wgforms.booking .row.attendees > .form-group > label {
        font-size: 14px; } }
  .wgforms.booking .row.attendees > .form-group.has-error:after {
    content: "\f071";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #a50000;
    position: absolute;
    right: 17px;
    bottom: 5px;
    display: block;
    pointer-events: none;
    font-size: inherit;
    background-color: #ffffff;
    padding-right: 5px; }
  .wgforms.booking .row.attendees > .form-group:nth-of-type(9) {
    position: relative; }
    .wgforms.booking .row.attendees > .form-group:nth-of-type(9) input {
      padding-right: 24px; }
    .wgforms.booking .row.attendees > .form-group:nth-of-type(9):after {
      content: '€';
      position: absolute;
      right: 19px;
      bottom: 6px;
      font-size: 14px;
      color: #555;
      pointer-events: none; }
  .wgforms.booking .row.attendees > .form-group:nth-of-type(10) {
    transition: padding-right 0.5s ease; }
    .wgforms.booking .row.attendees > .form-group:nth-of-type(10):after {
      content: "\f071";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      position: absolute;
      bottom: 5px;
      background-color: transparent;
      opacity: 0;
      right: -18px;
      transition: opacity 0.5s ease, right 0.5s ease, color 0.5s ease; }
    .wgforms.booking .row.attendees > .form-group:nth-of-type(10).has-error {
      padding-right: 40px; }
      .wgforms.booking .row.attendees > .form-group:nth-of-type(10).has-error:after {
        opacity: 1;
        right: 5px; }
      .wgforms.booking .row.attendees > .form-group:nth-of-type(10).has-error .btn.add {
        padding-right: 12px; }
  .wgforms.booking .row.privacy {
    padding-bottom: 50px; }
  .wgforms.booking #sum_costs {
    position: relative; }
    .wgforms.booking #sum_costs:before {
      content: "";
      position: absolute;
      display: block;
      top: 0;
      left: 5px;
      right: 5px;
      background-color: #707070;
      height: 1px; }
    @media only screen and (max-width: 1199px) {
      .wgforms.booking #sum_costs :first-child {
        text-align: left; } }
    .wgforms.booking #sum_costs div {
      padding-top: 20px;
      font-weight: bold; }
  .wgforms.booking .btn-group .btn {
    width: 50%; }
  .wgforms.booking select {
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 6px 22px 6px 12px; }
    .wgforms.booking select:not([readonly]):not([disabled]) {
      background: linear-gradient(45deg, #ffffff 50%, #000000 50%), linear-gradient(135deg, #000000 50%, #ffffff 50%), linear-gradient(to right, #ffffff, #ffffff);
      background-position: calc(100% - 11px) calc(1em + 2px), calc(100% - 6px) calc(1em + 2px), 0 0;
      background-size: 5px 5px, 5px 5px, 100%;
      background-repeat: no-repeat; }
  .wgforms.booking .btn.add {
    background-color: #128200;
    color: #fff; }
    .wgforms.booking .btn.add:hover, .wgforms.booking .btn.add.disabled {
      background-color: #b8dab3; }
  .wgforms.booking .btn.edit {
    margin-top: 2px;
    color: #575757; }
    .wgforms.booking .btn.edit:hover {
      color: #575757; }
  .wgforms.booking .btn.remove {
    color: #a50000; }
    .wgforms.booking .btn.remove:hover {
      color: #d28080; }
  .wgforms.booking .btn-addAttendee {
    width: 100%;
    margin: 0;
    padding: 7px; }
  .wgforms.booking label[for="agb_checkbox_accept"] {
    font-weight: normal; }
    .wgforms.booking label[for="agb_checkbox_accept"] input {
      margin-right: 10px; }
  .wgforms.booking label a {
    color: inherit;
    text-decoration: underline; }
  .wgforms.booking .radio label {
    display: block; }
  .wgforms.booking .radio input {
    left: 25px; }
  .wgforms.booking textarea {
    resize: vertical; }
  .wgforms.booking .section-divider {
    display: block;
    text-align: center;
    position: relative;
    padding-top: 2em;
    padding-bottom: 1em; }
    .wgforms.booking .section-divider em {
      font-size: 1.5em;
      line-height: 1.2;
      letter-spacing: 1px;
      text-transform: uppercase;
      background-color: #ffffff;
      padding: 0 1em;
      font-style: normal;
      font-weight: normal; }
      .wgforms.booking .section-divider em:before {
        content: '';
        height: 1px;
        background-color: #707070;
        position: absolute;
        top: calc(50% + 7px);
        left: 25%;
        right: 25%;
        z-index: -1; }
  .wgforms.booking span > b {
    display: inline-block; }
  .wgforms.booking label[for="agb_checkbox_accept"] {
    padding-left: 20px;
    padding-right: 35px; }
    .wgforms.booking label[for="agb_checkbox_accept"] i {
      right: 0; }
  .wgforms.booking label[for="privacy_checkbox_accept"] {
    padding-left: 20px;
    padding-right: 35px; }
    .wgforms.booking label[for="privacy_checkbox_accept"] i {
      right: 0; }
  .wgforms.booking #privacy_note_01-desc {
    font-size: 12px;
    line-height: 1.2; }
  .wgforms.booking #agb_checkbox_accept {
    position: absolute;
    margin-left: -20px; }
  .wgforms.booking #attendees_text_price {
    text-align: right; }
  .wgforms.booking .fieldset-group.buttons {
    padding-top: 20px;
    padding-bottom: 50px; }
  .wgforms.booking .fieldset-group.agb {
    padding-top: 50px; }
  @media only screen and (max-width: 991px) {
    .wgforms.booking .row.attendee span {
      display: block;
      text-align: right;
      position: relative; }
    .wgforms.booking .row.attendee span:before {
      position: absolute;
      left: 0; } }
  #detailformular > .wgforms.booking h1,
  #detailformular > .wgforms.booking h1 + hr {
    display: none; }
  #detailformular > .wgforms.booking #trip_data_trip_selection-lbl {
    display: none; }
  #detailformular > .wgforms.booking #trip_data_trip_selection {
    font-weight: initial;
    font-size: 1.5rem;
    color: #e3000b;
    background: 0;
    height: auto;
    border: 0;
    text-align: center;
    text-align-last: center;
    pointer-events: none;
    width: auto;
    max-width: 100%;
    margin: 20px auto 10px;
    white-space: normal; }
    #detailformular > .wgforms.booking #trip_data_trip_selection::-ms-expand {
      display: none; }
    #detailformular > .wgforms.booking #trip_data_trip_selection option {
      text-align: center; }
    @media screen and (max-width: 361px) {
      #detailformular > .wgforms.booking #trip_data_trip_selection {
        font-size: 1.1rem; } }

.ekko-lightbox {
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-right: 0 !important; }
  .ekko-lightbox iframe {
    width: 100%;
    height: 100%; }

.ekko-lightbox-container {
  position: relative; }

.ekko-lightbox-container > div.ekko-lightbox-item {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%; }

.ekko-lightbox-nav-overlay {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: flex; }

.ekko-lightbox-nav-overlay a {
  -ms-flex: 1;
  flex: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  opacity: 1;
  transition: opacity .5s;
  color: #fff;
  font-size: 30px;
  z-index: 1; }

.ekko-lightbox-nav-overlay a > * {
  -ms-flex-positive: 1;
  flex-grow: 1; }

.ekko-lightbox-nav-overlay a > :focus {
  outline: none; }

.ekko-lightbox-nav-overlay a span {
  padding: 0 30px; }

.ekko-lightbox-nav-overlay a:last-child span {
  text-align: right; }

.ekko-lightbox-nav-overlay a:hover {
  text-decoration: none; }

.ekko-lightbox-nav-overlay a:focus {
  outline: none; }

.ekko-lightbox-nav-overlay a.disabled {
  cursor: default;
  visibility: hidden; }

.ekko-lightbox a:hover {
  opacity: 1;
  text-decoration: none; }

.ekko-lightbox .modal-dialog {
  display: none; }

.ekko-lightbox .modal-footer {
  text-align: left; }

.ekko-lightbox-loader {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center; }

.ekko-lightbox-loader > div {
  width: 40px;
  height: 40px;
  position: relative;
  text-align: center; }

.ekko-lightbox-loader > div > div {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  opacity: .6;
  position: absolute;
  top: 0;
  left: 0;
  animation: a 2s infinite ease-in-out; }

.ekko-lightbox-loader > div > div:last-child {
  animation-delay: -1s; }

.modal-dialog .ekko-lightbox-loader > div > div {
  background-color: #333; }

@keyframes a {
  0%,
  to {
    transform: scale(0);
    -webkit-transform: scale(0); }
  50% {
    transform: scale(1);
    -webkit-transform: scale(1); } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiZ2VuZXJhbC9fdmFyaWFibGVzLnNjc3MiLCJnZW5lcmFsL19nZW5lcmFsLnNjc3MiLCJnZW5lcmFsL19leHRlcm5hbC1saW5rcy5zY3NzIiwiZ2VuZXJhbC9fY29va2llY29uc2VudC5zY3NzIiwiZ2VuZXJhbC9fcG9wdXAuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2Jhbm5lci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fc2xpZGVyLnNjc3MiLCJsYXlvdXQvX3NvY2lhbGJhci5zY3NzIiwibGF5b3V0L190YWJsZXMuc2NzcyIsImxheW91dC9fZXZlbnRzLnNjc3MiLCJsYXlvdXQvX2Vra28tbGlnaHRib3guc2NzcyIsInBhZ2VzL19rdW5kZW5yZWlzZW4uc2NzcyIsInBhZ2VzL19rdW5kZW5yZWlzZW4taXRlbS5zY3NzIiwiZ2VuZXJhbC9fbWl4aW5zLnNjc3MiLCJwYWdlcy9fcmVpc2ViZWdsZWl0ZXIuc2NzcyIsInBhZ2VzL191ZWJlcnVucy5zY3NzIiwicGFnZXMvXzQwNC1lcnJvci5zY3NzIiwiY29tX3dnZm9ybXMvX2dlbmVyYWwuc2NzcyIsImNvbV93Z2Zvcm1zL19ib29raW5nLnNjc3MiLCJ2ZW5kb3IvZWtrb2JveC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ3VDakIsaUJBQWlCO0FBV2pCLGtCQUFrQjtBQUVsQixZQUFZO0FBRVosYUFBYTtBQ3REYjtFQUNFLG1DQUFrQztFQUNsQyxnQkFBZTtFQUNmLGVER2lCO0VDRmpCLG1CQUFrQixFQUNuQjs7QUFFRDs7Ozs7RUFNSSxpQkFBZ0I7RUFDaEIsb0JBQW1CLEVBQ3BCOztBQUdIO0VBQ0UsZURkZ0I7RUNlaEIsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQixpQkFBZ0I7RUFDaEIsa0JBQWlCLEVBQ2xCOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLGtCQUFpQixFQUNsQjs7QUFFRDtFQUNFLG9C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ZWFrcG9pbnRzICovXG4vKiAvYnJlYWtwb2ludHMgKi9cbi8qIGhlYWRlciAqL1xuLyogL2hlYWRlciAqL1xuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAnUFQgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM3MDcwNzA7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4uaDE6bm90KC50cmlwdGl0bGUpLFxuLmgyOm5vdCgudHJpcHRpdGxlKSxcbi5oMzpub3QoLnRyaXB0aXRsZSksXG5oMjpub3QoLnRyaXB0aXRsZSksXG5oMzpub3QoLnRyaXB0aXRsZSkge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbmgxIHtcbiAgY29sb3I6ICNlMzAwMGI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyLjI1ZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi10b3A6IDEuMmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uam1ob21lIGgzLFxuLmptcmVpc2VsZWl0ZXIgaDMge1xuICBmb250LXNpemU6IDEuNWVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBjb2xvcjogI2UzMDAwYjsgfVxuICBoNCBpIHtcbiAgICBjb2xvcjogI2UzMDAwYjsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuZGwsXG5vbCxcbnVsIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuICBpbWcuY3JvcHBlZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMzAwcHg7IH1cblxuLnJlZGhyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTMwMDBiOyB9XG5cbi5ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsgfVxuXG5hLFxuYTpmb2N1cyxcbmE6aG92ZXIge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4janVtcHRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5O1xuICByaWdodDogMi4yZW07XG4gIGJvdHRvbTogMC4zZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgI2p1bXB0b3AgaSB7XG4gICAgZm9udC1zaXplOiAxLjM3ZW07XG4gICAgcGFkZGluZzogLjZlbTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgY29sb3I6ICNmZmZmZmZiMztcbiAgICBib3JkZXItcmFkaXVzOiAyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDRkOyB9XG5cbi5tYWluIHtcbiAgcGFkZGluZy1ib3R0b206IDJlbTsgfVxuXG4ubGluZWQge1xuICBtYXJnaW46IDFlbSAwO1xuICBwYWRkaW5nOiAuNWVtIDA7XG4gIGJvcmRlci10b3A6ICM1NzU3NTcgMXB4IHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAjNTc1NzU3IDFweCBzb2xpZDsgfVxuXG4uem9vbS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC56b29tLWNvbnRhaW5lciAuem9vbS1vbi1ob3ZlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuem9vbS1jb250YWluZXIgLnpvb20tb24taG92ZXI6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG5cbi5zaGFkb3ctb24taG92ZXIge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4yczsgfVxuICAuc2hhZG93LW9uLWhvdmVyOmhvdmVyIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggOXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMjcpICFpbXBvcnRhbnQ7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDlweCAzcHggcmdiYSgwLCAwLCAwLCAwLjI3KSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggOXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMjcpICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uLmJ0bixcbmEuYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIC40cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC40cyBlYXNlOyB9XG4gIGJ1dHRvbi5idG46YmVmb3JlLFxuICBhLmJ0bjpiZWZvcmUge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIGJ1dHRvbi5idG4uZ3JleSxcbiAgYS5idG4uZ3JleSB7XG4gICAgY29sb3I6ICM1NzU3NTc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsgfVxuICAgIGJ1dHRvbi5idG4uZ3JleTpob3ZlcixcbiAgICBhLmJ0bi5ncmV5OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NzU3NTc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzA3MDcwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgYnV0dG9uLmJ0bi5yZWQsXG4gIGEuYnRuLnJlZCB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UzMDAwYjsgfVxuICAgIGJ1dHRvbi5idG4ucmVkOmhvdmVyLFxuICAgIGEuYnRuLnJlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xuICAgICAgY29sb3I6ICM1NzU3NTc7IH1cblxuYVtocmVmXj1odHRwXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMjRweDsgfVxuICBhW2hyZWZePWh0dHBdIGJ1dHRvbjpub3QoLmlnbm9yZS1leHQpOjphZnRlciwgYVtocmVmXj1odHRwXTpub3QoLmlnbm9yZS1leHQpOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICdcXGYzNWQnO1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGZvbnQtc2l6ZTogLjllbTsgfVxuXG4uY2MtcmVtb3ZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAuNWVtO1xuICByaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5jYy13aW5kb3cge1xuICBib3gtc2hhZG93OiAwIDAgMTVweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4jYmFja2dyb3VuZFBvcHVwIHtcbiAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyMDIwMjA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxNTAwOyB9XG5cbiNwb3B1cENvbnRhY3Qge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG4gIG1heC13aWR0aDogOTAlO1xuICBtaW4taGVpZ2h0OiA2MjVweDsgfVxuXG4jcG9wdXBDb250ZW50RnJhbWUge1xuICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICNGRkZGRkY7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4jcG9wdXBDb250ZW50IHtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM1NzU3NTc7IH1cbiAgI3BvcHVwQ29udGVudCAjaG9tZV9wcmV2aWV3IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCAxNXB4OyB9XG4gICAgI3BvcHVwQ29udGVudCAjaG9tZV9wcmV2aWV3IGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiA0NSU7IH1cbiAgICAjcG9wdXBDb250ZW50ICNob21lX3ByZXZpZXcgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgI3BvcHVwQ29udGVudCAjaG9tZV9wcmV2aWV3IGEge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XG4gICAgICB3aWR0aDogY2FsYygyMDAlIC8gMyk7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgI3BvcHVwQ29udGVudCAjaG9tZV9wcmV2aWV3IGEuZm9jdXMsICNwb3B1cENvbnRlbnQgI2hvbWVfcHJldmlldyBhOmZvY3VzLCAjcG9wdXBDb250ZW50ICNob21lX3ByZXZpZXcgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4jcG9wdXBIZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMjAyMDIwO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMjAyMDIwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzIwMjAyMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNjI3cHg7IH1cbiAgI3BvcHVwSGVhZGVyIGIge1xuICAgIGNvbG9yOiAjMjAyMDIwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsZWZ0OiAxZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNHB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgI3BvcHVwQ29udGFjdCB7XG4gICAgbWluLWhlaWdodDogdW5zZXQ7IH1cbiAgI3BvcHVwQ29udGVudCAjaG9tZV9wcmV2aWV3IHtcbiAgICBwYWRkaW5nOiAyNXB4IDUwcHg7IH1cbiAgICAjcG9wdXBDb250ZW50ICNob21lX3ByZXZpZXcgaW1nIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgfVxuICAgICNwb3B1cENvbnRlbnQgI2hvbWVfcHJldmlldyBhIHtcbiAgICAgIHdpZHRoOiA0NSU7IH0gfVxuXG4uaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHotaW5kZXg6IDE1MDsgfVxuICAuaGVhZGVyLmZpeGVkIC5uYXYgPiBsaSB7XG4gICAgcGFkZGluZzogOXB4IDFlbTsgfVxuICAuaGVhZGVyIGEubG9nbyB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmhlYWRlciAuZ3JleSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDE1MDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDIwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMjBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAuaGVhZGVyIC50ZWFzZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gIC5oZWFkZXIgLm1lbnViYXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHRyYW5zaXRpb246IHRleHQtYWxpZ24gLjJzIGVhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDUxcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuaGVhZGVyIC5tZW51YmFyIC50b2dnbGVtZW51OmFjdGl2ZSwgLmhlYWRlciAubWVudWJhciAudG9nZ2xlbWVudTpmb2N1cywgLmhlYWRlciAubWVudWJhciAudG9nZ2xlbWVudTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmhlYWRlciAubmF2Lm1lbnUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5oZWFkZXIgLm5hdi5tZW51ID4gbGk6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgfVxuICAgIC5oZWFkZXIgLm5hdi5tZW51ID4gbGkgYSxcbiAgICAuaGVhZGVyIC5uYXYubWVudSA+IGxpIHNwYW4ge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmhlYWRlciAubmF2ID4gLmRlZXBlci5wYXJlbnQgPiAubmF2LWNoaWxkIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTUwO1xuICAgIHRvcDogNzBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMTBweDtcbiAgICBwYWRkaW5nOiAuNWVtIDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiB0b3AgLjNzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiB0b3AgLjNzIGxpbmVhcjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG4gIC5oZWFkZXIgLm5hdiA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMS41ZW0gMWVtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogcGFkZGluZyAuM3M7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAuM3M7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5oZWFkZXIgLm5hdiA+IGxpIGEge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgLjNzO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzO1xuICAgICAgcGFkZGluZzogOXB4IDhweDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgLmhlYWRlciAubmF2ID4gbGkgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICNlMzAwMGI7IH1cbiAgICAuaGVhZGVyIC5uYXYgPiBsaS5hY3RpdmUgYSB7XG4gICAgICBjb2xvcjogI2UzMDAwYjsgfVxuICAgIC5oZWFkZXIgLm5hdiA+IGxpOmZpcnN0LW9mLXR5cGUgYSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjIzZW07IH1cbiAgLmhlYWRlciBhLmxvZ28gcGljdHVyZSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDYwcHg7IH1cbiAgLmhlYWRlciAucmVzZXJ2ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IHJpZ2h0IC4ycyBlYXNlO1xuICAgIHJpZ2h0OiAyZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5oZWFkZXIgLnJlc2VydmUgYSB7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZTtcbiAgICAgIHBhZGRpbmc6IDEycHggMWVtO1xuICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNDFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogI2UzMDAwYjtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLmhlYWRlciAucmVzZXJ2ZSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNlMzAwMGI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuaGVhZGVyIC5yZXNlcnZlIGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYwNDRcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07IH1cbiAgICAgIC5oZWFkZXIgLnJlc2VydmUgYTpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5odG1sIC5mYWRlLWluIHtcbiAgei1pbmRleDogNTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC41cztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXM7XG4gIG9wYWNpdHk6IDA7IH1cblxuaHRtbCAuZmFkZS1pbi5hbmltYXRlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuaGVhZGVyIHVsLm5hdiA+IGxpID4gYSwgLmhlYWRlciB1bC5uYXYgPiBsaSBzcGFuIHtcbiAgICBwYWRkaW5nOiA3cHg7IH1cbiAgLmhlYWRlciB1bC5uYXYgbGksIC5oZWFkZXIgdWwubmF2IC5yZXNlcnZlIHtcbiAgICBwYWRkaW5nOiAxLjVlbSA3cHg7IH1cbiAgLmhlYWRlciAudGVhc2VyIC5sb2dvIHtcbiAgICBsZWZ0OiAxNXB4OyB9XG4gICAgLmhlYWRlciAudGVhc2VyIC5sb2dvIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDE2MHB4OyB9XG4gIC5oZWFkZXIgLm5hdi5tZW51IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICBib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogNTFweDsgfVxuICAuaGVhZGVyIC50ZWFzZXIgLmxvZ28ge1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUlKTsgfVxuICAgIC5oZWFkZXIgLnRlYXNlciAubG9nbyBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIC5oZWFkZXIgLm1lbnViYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmhlYWRlci5maXhlZCAubmF2ID4gbGkge1xuICAgIHBhZGRpbmc6IDAgNSU7IH1cbiAgLmhlYWRlciB1bC5uYXYge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtNC42ZW07IH1cbiAgICAuaGVhZGVyIHVsLm5hdiA+IGxpIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAubWFpbiAuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIgLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpiZWZvcmUsIC5tYWluIC5mb3JjZWZ1bGx3aWR0aF93cmFwcGVyX3RwX2Jhbm5lciAudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBmb250LXNpemU6IDJlbTsgfSB9XG5cbi5oZWFkZXIgLnJlc2VydmUgYSwgLmhlYWRlci5maXhlZCAucmVzZXJ2ZSBhIHtcbiAgcGFkZGluZzogOXB4IDhweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAuMnMgZWFzZTsgfVxuXG4uaGVhZGVyIC5uYXYubWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhlYWRlciAubWVudWJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiA1MXB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogdGV4dC1hbGlnbiAuMnMgZWFzZTsgfVxuICAuaGVhZGVyIC5tZW51YmFyIC50b2dnbGVtZW51OmFjdGl2ZSwgLmhlYWRlciAubWVudWJhciAudG9nZ2xlbWVudTpmb2N1cywgLmhlYWRlciAubWVudWJhciAudG9nZ2xlbWVudTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5vcGVubW0gLm5hdi5tZW51IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaGVhZGVyIC5tZW51YmFyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmhlYWRlciAucmVzZXJ2ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmhlYWRlciAucmVzZXJ2ZSBhIHtcbiAgICAgIHdpZHRoOiAxODBweDsgfVxuICAgICAgLmhlYWRlciAucmVzZXJ2ZSBhOmZvY3VzLCAuaGVhZGVyIC5yZXNlcnZlIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXI6bm90KC5maXhlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cbiAgLmhlYWRlciAudGVhc2VyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAxLjc1ZW0gMmVtOyB9XG4gIC5oZWFkZXIuZml4ZWQgLnRlYXNlciB7XG4gICAgcGFkZGluZzogLjVlbSAyZW07IH1cbiAgLmhlYWRlci5maXhlZCAucmVzZXJ2ZSBhIHtcbiAgICBwYWRkaW5nOiAxMnB4IDFlbTsgfVxuICAuaGVhZGVyIC5tZW51YmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXIgLm5hdi5tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5oZWFkZXIgLm5hdi5tZW51IGxpLml0ZW0tMTUwLCAuaGVhZGVyIC5uYXYubWVudSBsaS5pdGVtLTE1MSwgLmhlYWRlciAubmF2Lm1lbnUgbGkuaXRlbS0xNTIge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuaGVhZGVyIC5yZXNlcnZlIGEge1xuICAgIHBhZGRpbmc6IDMzcHggMWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXIgLnRlYXNlciB7XG4gICAgcGFkZGluZzogMjFweCAyZW07IH0gfVxuXG4vKipcbiAqXG4gKi9cbi5iYW5uZXIge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuMnMgZWFzZTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYmFubmVyLm5vbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmJhbm5lciBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmJhbm5lciB7XG4gICAgbWF4LWhlaWdodDogNDA4cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJhbm5lciB7XG4gICAgbWF4LWhlaWdodDogNTQ0cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmJhbm5lciB7XG4gICAgbWF4LWhlaWdodDogNzAzcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5iYW5uZXIge1xuICAgIG1heC1oZWlnaHQ6IDg1MHB4OyB9IH1cblxuLmNvcHlyaWdodCB7XG4gIHBhZGRpbmc6IDFlbSAwOyB9XG4gIC5jb3B5cmlnaHQgLnJvdyAuY29sLW1kLTYgc3BhbiB7XG4gICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmNvcHlyaWdodCAucm93IC5jb2wtbWQtNjpmaXJzdC1vZi10eXBlIHNwYW4ge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb3B5cmlnaHQgLnJvdyAuY29sLW1kLTY6bGFzdC1vZi10eXBlIHNwYW4ge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29weXJpZ2h0IC5yb3cgYSB7XG4gICAgZm9udC1zaXplOiAxZW07IH1cblxuLmJ0bi1icmFuZGVkIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NzU3NTc7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjRzO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICB3aWR0aDogMTgwcHg7XG4gIG1hcmdpbjogMTBweCBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5idG4tYnJhbmRlZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjAxNVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNGVtOyB9XG4gIC5idG4tYnJhbmRlZDpob3ZlciB7XG4gICAgY29sb3I6ICM3MDcwNzA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzA3MDcwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5idG4tYnJhbmRlZCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5kYXJrZ3JleSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTc1NzU3OyB9XG5cbi5mb290ZXIge1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgYm9yZGVyLXRvcDogMXB4ICNmZmYgc29saWQ7IH1cbiAgLmZvb3RlciAubmF2IGxpIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IHBhZGRpbmcgLjNzO1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgLjNzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZvb3RlciAubmF2IGxpIGEsIC5mb290ZXIgLm5hdiBsaSBzcGFuIHtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAuM3M7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3M7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLmZvb3RlciAubmF2IGxpIGE6aG92ZXIsIC5mb290ZXIgLm5hdiBsaSBzcGFuOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgLmZvb3RlciAubmF2IGxpIGE6aG92ZXIuc2VwYXJhdG9yLCAuZm9vdGVyIC5uYXYgbGkgc3Bhbjpob3Zlci5zZXBhcmF0b3Ige1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuZm9vdGVyIC5uYXYgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnIHwnOyB9IH1cbiAgICAuZm9vdGVyIC5uYXYgbGkuZGl2aWRlcjpob3ZlciB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLmZvb3RlciAuY29sLW1kLTIgYSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDE4MHB4O1xuICAgIG1hcmdpbjogMTVweCBhdXRvOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gIC5mb290ZXIgLm5hdiB7XG4gICAgcmlnaHQ6IDE1ZW07IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyIC5uYXYge1xuICAgIHJpZ2h0OiAzZW07IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5jb3B5cmlnaHQgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNvcHlyaWdodCBzcGFuOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBmbG9hdDogdW5zZXQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg3MHB4KSB7XG4gIC5mb290ZXIgLm5hdiB7XG4gICAgcmlnaHQ6IDJlbTsgfVxuICAgIC5mb290ZXIgLm5hdiBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDNweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3RlciB1bC5uYXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZm9vdGVyIHVsLm5hdiBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDhweDsgfVxuICAuZm9vdGVyIGRpdi5jdXN0b20ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgLmZvb3RlciB1bC5uYXYgbGkge1xuICAgIHBhZGRpbmc6IDAgNHB4OyB9XG4gICAgLmZvb3RlciB1bC5uYXYgbGkuZGl2aWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZvb3RlciAubmF2IHtcbiAgICByaWdodDogMmVtO1xuICAgIG1hcmdpbi10b3A6IDEuM2VtOyB9XG4gICAgLmZvb3RlciAubmF2IGxpIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggM3B4O1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIge1xuICBib3gtc2hhZG93OiAwIDAgMC41cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIgPiBkaXYge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIgLnRwYXJyb3dzLnRwLWxlZnRhcnJvdywgLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIC50cGFycm93cy50cC1yaWdodGFycm93IHtcbiAgICBiYWNrZ3JvdW5kOiAwIDA7IH1cbiAgLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIC50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlLCAuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIgLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjRweDtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuICAuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIgLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiOyB9XG5cbi5zb2NpYWxzLXJpZ2h0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDE1MHB4O1xuICB6LWluZGV4OiAzMDtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6IDEuMmVtOyB9XG4gIC5zb2NpYWxzLXJpZ2h0Lm1lbnUtb3BlbiB7XG4gICAgei1pbmRleDogMTA7IH1cbiAgLnNvY2lhbHMtcmlnaHQgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgY29sb3I6ICNiNWFmYTk7XG4gICAgYm94LXNoYWRvdzogMCA1cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xuICAgIGZvbnQtc2l6ZTogLjhlbTsgfVxuICAgIC5zb2NpYWxzLXJpZ2h0IGEgaSB7XG4gICAgICBmb250LXNpemU6IC44ZW07IH1cbiAgICAuc29jaWFscy1yaWdodCBhID4gLmluZm8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgICBwYWRkaW5nOiBpbmhlcml0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjRlbTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gICAgLnNvY2lhbHMtcmlnaHQgYTpob3ZlciwgLnNvY2lhbHMtcmlnaHQgYS5vcGVuIHtcbiAgICAgIGNvbG9yOiAjZTMwMDBiOyB9XG4gICAgICAuc29jaWFscy1yaWdodCBhOmhvdmVyID4gLmluZm8sIC5zb2NpYWxzLXJpZ2h0IGEub3BlbiA+IC5pbmZvIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0wLjdlbSk7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc29jaWFscy1yaWdodCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zb2NpYWxzLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5zb2NpYWxzLXJpZ2h0ID4gLmN1c3RvbSA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNvY2lhbHMtcmlnaHQgPiAuY3VzdG9tID4gLm1vYmlsZXZpcyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbnRhYmxlIC5yb3cwLCB0YWJsZSAub2RkLFxudGFibGUgOm5vdCh0aGVhZCkgdHI6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1OyB9XG5cbnRhYmxlIC5yb3cxLCB0YWJsZSAuZXZlbixcbnRhYmxlIDpub3QodGhlYWQpIHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxudGFibGUgdGhlYWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTc1NzU3O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICB0YWJsZSB0aGVhZCBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG50YWJsZS5jb2xvcnMge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIHRhYmxlLmNvbG9ycyBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogZ3JleTsgfVxuICAgIHRhYmxlLmNvbG9ycyBhIGkge1xuICAgICAgZm9udC1zaXplOiAxLjNlbTsgfVxuICB0YWJsZS5jb2xvcnMgaDYge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICB0YWJsZS5jb2xvcnMgdGhlYWQge1xuICAgIGZvbnQtc2l6ZTogMS4wNWVtO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICB0YWJsZS5jb2xvcnMgdGhlYWQgOmZpcnN0LWxldHRlciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgdGFibGUuY29sb3JzIHRoZWFkIHRyID4gdGQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMTJweCAxMnB4IDEycHggMTlweDsgfVxuICAgICAgdGFibGUuY29sb3JzIHRoZWFkIHRyID4gdGQudGV4dC1sZWZ0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgdGFibGUuY29sb3JzIHRoZWFkIHRyID4gdGQudGV4dC1yaWdodCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICB0YWJsZS5jb2xvcnMgdGhlYWQgdHIgPiB0ZC5wYWRkaW5nLWxlZnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAgIHRhYmxlLmNvbG9ycyB0aGVhZCB0ciA+IHRkLnBhZGRpbmctcmlnaHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4OyB9XG4gICAgICB0YWJsZS5jb2xvcnMgdGhlYWQgdHIgPiB0ZCBhIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIHRhYmxlLmNvbG9ycyB0aGVhZCB0ciA+IHRkOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICB0YWJsZS5jb2xvcnMgdGhlYWQgdHIgPiB0ZDpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUuY29sb3JzIHRib2R5IHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzcwNzA3MDsgfVxuICAgIHRhYmxlLmNvbG9ycyB0Ym9keSB0ciA+IHRkIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgICAgdGFibGUuY29sb3JzIHRib2R5IHRyID4gdGQ6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICB0YWJsZS5jb2xvcnMgdGJvZHkgdHIgPiB0ZCBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgICB0YWJsZS5jb2xvcnMgdGJvZHkgdHIgPiB0ZCAubnVtYmVyLmNvbG9yIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgdGFibGUuY29sb3JzIHRib2R5IHRyID4gdGQubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgdGFibGUuY29sb3JzIHRib2R5IHRyID4gdGQucmlnaHQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICB0YWJsZS5jb2xvcnMgdGJvZHkgdHIgPiB0ZC5sZWZ0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICB0YWJsZS5jb2xvcnMgdGJvZHkgdHIgPiB0ZC50ZXh0LWxlZnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICB0YWJsZS5jb2xvcnMgdGJvZHkgdHIgPiB0ZC50ZXh0LXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIHRhYmxlLmNvbG9ycyB0Ym9keSB0ciA+IHRkLnBhZGRpbmctbGVmdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgICAgdGFibGUuY29sb3JzIHRib2R5IHRyID4gdGQucGFkZGluZy1yaWdodCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7IH1cbiAgICAgIHRhYmxlLmNvbG9ycyB0Ym9keSB0ciA+IHRkIC50b2dnbGUtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICB0YWJsZS5jb2xvcnMgdGJvZHkgdHIubGJsIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgIHRhYmxlLmNvbG9ycyB0Ym9keSB0ci5sYmwgdGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG4gICAgdGFibGUuY29sb3JzIHRib2R5IHRyLmRlc2MgdGQge1xuICAgICAgcGFkZGluZy10b3A6IDJweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5tb2JpbGUtdGFibGUtY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAxN2VtO1xuICAgIG92ZXJmbG93LXg6IHNjcm9sbDsgfVxuICAgIC5tb2JpbGUtdGFibGUtY29udGFpbmVyIC5tb2JpbGUtdGFibGUge1xuICAgICAgbWluLXdpZHRoOiA5NDBweDsgfVxuICAgICAgLm1vYmlsZS10YWJsZS1jb250YWluZXIgLm1vYmlsZS10YWJsZSAudGFibGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLm1vYmlsZS10YWJsZS1jb250YWluZXIgLm1vYmlsZS10YWJsZSAudGFibGU6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCIvaW1hZ2VzL3N3aXBlLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICAgIHRvcDogMTAwcHg7XG4gICAgICAgICAgbGVmdDogMTAwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1ZW07XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7IH1cbiAgICAgICAgLm1vYmlsZS10YWJsZS1jb250YWluZXIgLm1vYmlsZS10YWJsZSAudGFibGU6Zm9jdXM6YmVmb3JlLCAubW9iaWxlLXRhYmxlLWNvbnRhaW5lciAubW9iaWxlLXRhYmxlIC50YWJsZTphY3RpdmU6YmVmb3JlLCAubW9iaWxlLXRhYmxlLWNvbnRhaW5lciAubW9iaWxlLXRhYmxlIC50YWJsZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgei1pbmRleDogLTE7IH0gfVxuXG4uY29tX3dndHJhaWxzLnZpZXctZXZlbnRzIGhyLmNhdC1zZXBhcmF0b3Ige1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG5cbiNteU1vZGFsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjM1KTsgfVxuICAjbXlNb2RhbCAubW9kYWwtZGlhbG9nIHtcbiAgICB0b3A6IDMwdmg7XG4gICAgbWF4LXdpZHRoOiAzNzVweDtcbiAgICBtYXJnaW46IDEwcHggYXV0bzsgfVxuICAjbXlNb2RhbCAubW9kYWwtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZjdmNTsgfVxuICAjbXlNb2RhbCAubW9kYWwtaGVhZGVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDAgMDsgfVxuICAjbXlNb2RhbCAubW9kYWwtYm9keSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4IDE1cHg7IH1cbiAgI215TW9kYWwgYnV0dG9uLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44ZW07IH1cblxuLyoqXG4gKiB0aGlzIGlzIGEgZml4IGZvciBJRTExIGFzIHN1Z2dlc3RlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vYXNobGV5ZHcvbGlnaHRib3gvaXNzdWVzLzI3N1xuICovXG4uZWtrby1saWdodGJveCAubW9kYWwtZGlhbG9nIHtcbiAgZmxleDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5yb3cudHJpcGluZm8gLmxvd2VyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5yb3cudHJpcGluZm8ge1xuICAgIGFsaWduLWNvbnRlbnQ6IGVuZDsgfSB9XG5cbi5yb3cudHJpcGluZm8gLmluZm9ib3gge1xuICBtYXJnaW4tdG9wOiAxZW07IH1cbiAgLnJvdy50cmlwaW5mbyAuaW5mb2JveCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnJvdy50cmlwaW5mbyAuaW5mb2JveCBhLnJlYWRtb3JlOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ucm93LnRyaXBpbmZvIGgzIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLnJvdy50cmlwaW5mbyBoMy50cmlwdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IC42ZW07IH1cblxuLnJvdy50cmlwaW5mbyBhW2hyZWYqPVwia3VuZGVucmVpc2VuXCJdOmhvdmVyIGhyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnJvdy50cmlwaW5mbyAucm93Lmxvd2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnJvdy50cmlwaW5mbyAucm93Lmxvd2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvdHRvbTogMDsgfSB9XG5cbi50cmlwaW5mbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAyZW0gMDsgfVxuICAudHJpcGluZm8gLmJvb2tpbmctb24taG92ZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAudHJpcGluZm8gLmJvb2tpbmctb24taG92ZXI6aG92ZXIgLmJvb2tpbmctb3ZlcmxheSB7XG4gICAgICBsZWZ0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRyaXBpbmZvIC5pbmZvYm94IHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC50cmlwaW5mbyAuaW5mb2JveCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAudHJpcGluZm8gLmluZm9ib3gge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAudHJpcGluZm8gLmluZm9ib3ggLmJvb2tpbmctb3ZlcmxheSB7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjVzO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTMwMDBiO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC50cmlwaW5mbyAuaW5mb2JveCAuYm9va2luZy1vdmVybGF5OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC50cmlwaW5mbyAuaW5mb2JveCBociB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC50cmlwaW5mbyAuaW5mb2JveCAuZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsgfVxuICAudHJpcGluZm8gLmluZm9ib3ggLnJlZCB7XG4gICAgbWFyZ2luLXRvcDogMC4yZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UzMDAwYjsgfVxuICAgIC50cmlwaW5mbyAuaW5mb2JveCAucmVkICoge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLnRyaXBpbmZvIC5pbmZvYm94IGkuZmFzIHtcbiAgICBwYWRkaW5nOiAwLjZlbSAwLjVlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNGVtOyB9XG4gICAgLnRyaXBpbmZvIC5pbmZvYm94IGkuZmFzLmZhLWNvaW5zLCAudHJpcGluZm8gLmluZm9ib3ggaS5mYXMuZmEtaW5mby1jaXJjbGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMC43ZW07IH1cbiAgLnRyaXBpbmZvIGltZyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAuNXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgLnRyaXBpbmZvIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC50cmlwaW5mbyBoci5yZWRociB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43ZW07XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAudHJpcGluZm8gLnJlaXNlYmVnbGVpdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTsgfVxuICAgIC50cmlwaW5mbyAucmVpc2ViZWdsZWl0ZXIgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnRyaXBpbmZvIC5yZWlzZWJlZ2xlaXRlciBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAudHJpcGluZm8gLmVuZGVkIGltZyB7XG4gICAgb3BhY2l0eTogMC41OyB9XG4gIC50cmlwaW5mbyAuZW5kZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiB1cmwoXCIvaW1hZ2VzL3JlaXNlLWR1cmNoZ2VmdWVocnQucG5nXCIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDI2MHB4O1xuICAgIGhlaWdodDogMTIxcHg7XG4gICAgbWFyZ2luOiBhdXRvIGF1dG87IH1cbiAgLnRyaXBpbmZvIC5mdWxsOmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKFwiL2ltYWdlcy9hdXNnZWJ1Y2h0LnBuZ1wiKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxZW07XG4gICAgbGVmdDogLTNlbTtcbiAgICB3aWR0aDogMTk1cHg7XG4gICAgaGVpZ2h0OiAxNDFweDtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMykpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgIC50cmlwaW5mbyAuZnVsbDpiZWZvcmUge1xuICAgICAgICB0b3A6IC0xLjMzZW07XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH0gfVxuICAudHJpcGluZm8gYSAucmItbmFtZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgcGFkZGluZzogM3B4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC50cmlwaW5mbyBhIC5yYi1uYW1lOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAudHJpcGluZm8gLnJiLWltYWdlIHtcbiAgICB6LWluZGV4OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgIC50cmlwaW5mbyAucmItaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAudHJpcGluZm8gLmJlZ2xlaXRlci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5mYS1jYWxlbmRhci1jaGVjayB7XG4gIHBhZGRpbmc6IDAuNmVtIDAuNWVtO1xuICBtYXJnaW4tbGVmdDogLTAuNGVtOyB9XG5cbi5tb3JldHJpcHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDJlbTsgfVxuICAubW9yZXRyaXBzIGJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBwYWRkaW5nOiAwIDFlbTsgfVxuICAgIC5tb3JldHJpcHMgYnV0dG9uIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbnAuaW50cm90ZXh0IHtcbiAgcGFkZGluZzogMCAxLjNlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5sb3dlciBpbWcge1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi5qbWt1bmRlbnJlaXNlbi1pdGVtIGZvcm0ud2dmb3JtcyBhLmJ0biB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5qbWt1bmRlbnJlaXNlbi1pdGVtIC5mb2xsb3dNZUJhciB7XG4gIHBhZGRpbmc6IDEwcHg7IH1cblxuLmpta3VuZGVucmVpc2VuLWl0ZW0gaW1nOm5vdCguaW1nLWZsdWlkKSwgLmpta3VuZGVucmVpc2VuLWl0ZW0gaW1nOm5vdCgubG9nbyksXG4uam1rdW5kZW5yZWlzZW4taXRlbSBpZnJhbWU6bm90KC5pbWctZmx1aWQpLFxuLmpta3VuZGVucmVpc2VuLWl0ZW0gaWZyYW1lOm5vdCgubG9nbykge1xuICBib3gtc2hhZG93OiAwIDAgMC41cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4uam1rdW5kZW5yZWlzZW4taXRlbSAuaGVhZGVyIGltZyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmpta3VuZGVucmVpc2VuLWl0ZW0gaDEge1xuICBmb250LXdlaWdodDogaW5pdGlhbDsgfVxuXG4uam1rdW5kZW5yZWlzZW4taXRlbSAjZGV0YWlsb3ZlcnZpZXcgaDEge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDEuNjI1ZW07IH1cblxuLmpta3VuZGVucmVpc2VuLWl0ZW0gI2RldGFpbG92ZXJ2aWV3IGg0IC5rb29wZXJhdGlvbiBzcGFuIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IDQ1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAuam1rdW5kZW5yZWlzZW4taXRlbSAjZGV0YWlsb3ZlcnZpZXcgaDQgLmtvb3BlcmF0aW9uIHNwYW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cblxuLmpta3VuZGVucmVpc2VuLWl0ZW0gI2RldGFpbG92ZXJ2aWV3IC5ybW9yZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LWhlaWdodDogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAyMDBtczsgfVxuICAuam1rdW5kZW5yZWlzZW4taXRlbSAjZGV0YWlsb3ZlcnZpZXcgLnJtb3JlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMHB4IC0xMHB4IDEwcHggLTJweCB3aGl0ZTtcbiAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDBweCAtMTBweCAxMHB4IC0ycHggd2hpdGU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0xMHB4IDEwcHggLTJweCB3aGl0ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyMHB4OyB9XG4gIC5qbWt1bmRlbnJlaXNlbi1pdGVtICNkZXRhaWxvdmVydmlldyAucm1vcmVbYXJpYS1leHBhbmRlZD10cnVlXTo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDA7IH1cblxuLmpta3VuZGVucmVpc2VuLWl0ZW0gI2RldGFpbG92ZXJ2aWV3IC5yZWFkLW1vcmUsXG4uam1rdW5kZW5yZWlzZW4taXRlbSAjZGV0YWlsb3ZlcnZpZXcgLnJlYWQtbGVzcyB7XG4gIGNvbG9yOiAjZTMwMDBiO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbjogMCAxZW0gMWVtO1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuam1rdW5kZW5yZWlzZW4taXRlbSAjZGV0YWlsb3ZlcnZpZXcgLnJlYWQtbW9yZTpob3ZlcixcbiAgLmpta3VuZGVucmVpc2VuLWl0ZW0gI2RldGFpbG92ZXJ2aWV3IC5yZWFkLWxlc3M6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5qbWt1bmRlbnJlaXNlbi1pdGVtICNkZXRhaWxuYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmpta3VuZGVucmVpc2VuLWl0ZW0gI2RldGFpbG5hdiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5qbWt1bmRlbnJlaXNlbi1pdGVtICNkZXRhaWxuYXYgLnN1Ym5hdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxMHB4IC04cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLmpta3VuZGVucmVpc2VuLWl0ZW0gI2RldGFpbG5hdiAuc3VibmF2LmZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogNTAuMzc1cHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgLmpta3VuZGVucmVpc2VuLWl0ZW0gI2RldGFpbG5hdiAuc3VibmF2IHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuam1rdW5kZW5yZWlzZW4taXRlbSAjZGV0YWlsbmF2IC5zdWJuYXYgdWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgLmpta3VuZGVucmVpc2VuLWl0ZW0gI2RldGFpbG5hdiAuc3VibmF2IHVsIGxpOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICNlMzAwMGI7IH1cbiAgICAgICAgICAuam1rdW5kZW5yZWlzZW4taXRlbSAjZGV0YWlsbmF2IC5zdWJuYXYgdWwgbGk6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNzA3MDcwOyB9XG4gICAgICAgIC5qbWt1bmRlbnJlaXNlbi1pdGVtICNkZXRhaWxuYXYgLnN1Ym5hdiB1bCBsaTo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTsgfVxuICAgICAgICAgIC5qbWt1bmRlbnJlaXNlbi1pdGVtICNkZXRhaWxuYXYgLnN1Ym5hdiB1bCBsaTo6YWZ0ZXI6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICAgIC5qbWt1bmRlbnJlaXNlbi1pdGVtICNkZXRhaWxuYXYgLnN1Ym5hdiB1bCBsaTpsYXN0LW9mLXR5cGU6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgLmpta3VuZGVucmVpc2VuLWl0ZW0gI2RldGFpbG5hdiAuc3VibmF2IHVsIGxpIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggOHB4IDEwcHggMWVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgLmpta3VuZGVucmVpc2VuLWl0ZW0gI2RldGFpbG5hdiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmpta3VuZGVucmVpc2VuLWl0ZW0gLmRhdGVwYXJ0IHtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogOTUlO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIG1hcmdpbi10b3A6IDNlbTsgfVxuICAuam1rdW5kZW5yZWlzZW4taXRlbSAuZGF0ZXBhcnQgaS5mYS1jYWxlbmRhci1jaGVjayB7XG4gICAgcGFkZGluZzogLjZlbSAuNjVlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmpta3VuZGVucmVpc2VuLWl0ZW0gLmRhdGVwYXJ0IGkuZmEtdXNlcnMge1xuICAgIHBhZGRpbmc6IC42ZW0gLjVlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmpta3VuZGVucmVpc2VuLWl0ZW0gLmRhdGVwYXJ0IGkuZmEtaGFuZHNoYWtlIHtcbiAgICBwYWRkaW5nOiAuNmVtIC41ZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5qbWt1bmRlbnJlaXNlbi1pdGVtIC5kYXRlcGFydCA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmpta3VuZGVucmVpc2VuLWl0ZW0gLmRhdGVwYXJ0ID4gZGl2IGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07IH1cbiAgICAgIC5qbWt1bmRlbnJlaXNlbi1pdGVtIC5kYXRlcGFydCA+IGRpdiBhOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5qbWt1bmRlbnJlaXNlbi1pdGVtIC5kYXRlcGFydCA+IGRpdiBhIGltZyB7XG4gICAgICAgIG1hcmdpbjogNXB4IGF1dG87IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAuam1rdW5kZW5yZWlzZW4taXRlbSAuZGF0ZXBhcnQgPiBkaXYgYSBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuam1rdW5kZW5yZWlzZW4taXRlbSAuZGF0ZXBhcnQgLm5vcm1hbGl6ZSB7XG4gICAgY29sb3I6ICM3MDcwNzA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDQ1cHg7IH1cblxuLmpta3VuZGVucmVpc2VuLWl0ZW0gYS5wZGYge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5qbWt1bmRlbnJlaXNlbi1pdGVtIC5wbGFjZWhvbGRlciB7XG4gIGhlaWdodDogNTMwcHg7IH1cblxuLmpta3VuZGVucmVpc2VuLWl0ZW0gI2RldGFpbG1hcHMge1xuICBwYWRkaW5nLXRvcDogMS41ZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVlbTsgfVxuXG4uam1rdW5kZW5yZWlzZW4taXRlbSAjZGV0YWlsbGVpdGVycGljIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5qbWt1bmRlbnJlaXNlbi1pdGVtICNkZXRhaWxsZWl0ZXJwaWMgYSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuam1rdW5kZW5yZWlzZW4taXRlbSAjZGV0YWlsbGVpdGVycGljIGEgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmpta3VuZGVucmVpc2VuLWl0ZW0gI2RldGFpbGxlaXRlcnBpYyBhIHtcbiAgICAgIHdpZHRoOiA0OSU7IH0gfVxuICAuam1rdW5kZW5yZWlzZW4taXRlbSAjZGV0YWlsbGVpdGVycGljIC5rb250YWt0ZGF0ZW4gYSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmpta3VuZGVucmVpc2VuLWl0ZW0gYS5wZGYge1xuICBtYXJnaW46IDJlbSBhdXRvOyB9XG4gIC5qbWt1bmRlbnJlaXNlbi1pdGVtIGEucGRmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGYwMTknO1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNWVtOyB9XG5cbi5qbWt1bmRlbnJlaXNlbi1pdGVtOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5tdG9wIHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbiNkZXRhaWxwaWN0dXJlcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjZGV0YWlscGljdHVyZXMgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgI2RldGFpbHBpY3R1cmVzIGEgaW1nIHtcbiAgICAgIG1hcmdpbjogLjVlbTtcbiAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgI2RldGFpbHBpY3R1cmVzIGEgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAxNXB4IDA7IH0gfVxuICAgICNkZXRhaWxwaWN0dXJlcyBhLmJpZ2ltZyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgbWF4LWhlaWdodDogaW5pdGlhbDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbiNkZXRhaWxwcm9ncmFtbSB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICNkZXRhaWxwcm9ncmFtbSBkaXZbY2xhc3MqPVwiZGF5LVwiXSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gICAgI2RldGFpbHByb2dyYW1tIGRpdltjbGFzcyo9XCJkYXktXCJdIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gICAgICAjZGV0YWlscHJvZ3JhbW0gZGl2W2NsYXNzKj1cImRheS1cIl0gdWwgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBkaXNjOyB9XG4gICNkZXRhaWxwcm9ncmFtbSBkaXYucHJvZ3JhbXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAjZGV0YWlscHJvZ3JhbW0gZGl2LnByb2dyYW10ZXh0IHAuaW5kZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI2RldGFpbHByb2dyYW1tIGRpdi5wcm9ncmFtdGV4dCBwLmluZGVudCBiIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgI2RldGFpbHByb2dyYW1tIGRpdi5wcm9ncmFtdGV4dDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG4uY29udGFpbmVyLnByaWNldGFnIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgLmNvbnRhaW5lci5wcmljZXRhZyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jb250YWluZXIucHJpY2V0YWcgLmRldGFpbHByaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTMwMDBiO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgei1pbmRleDogMTE7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZmZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IC4yZW0gLjhlbTtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogcmlnaHQgLjJzIGVhc2U7IH1cbiAgICAuY29udGFpbmVyLnByaWNldGFnIC5kZXRhaWxwcmljZTo6YmVmb3JlLCAuY29udGFpbmVyLnByaWNldGFnIC5kZXRhaWxwcmljZTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgd2lkdGg6IDQzcHg7XG4gICAgICBoZWlnaHQ6IDY4cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAuY29udGFpbmVyLnByaWNldGFnIC5kZXRhaWxwcmljZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL3ByaWNlLWxlZnQucG5nKTtcbiAgICAgIGxlZnQ6IC00NnB4OyB9XG4gICAgLmNvbnRhaW5lci5wcmljZXRhZyAuZGV0YWlscHJpY2U6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL3ByaWNlLXJpZ2h0LnBuZyk7XG4gICAgICByaWdodDogLTQ2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgLmNvbnRhaW5lci5wcmljZXRhZyAuZGV0YWlscHJpY2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICBib3R0b206IC01NXB4OyB9IH1cblxuLmRldGFpbGJhbm5lcnRleHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBvcGFjaXR5OiAuODtcbiAgY29sb3I6ICNlMzAwMGI7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHBhZGRpbmc6IC41ZW0gLjhlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNjQlO1xuICB0b3A6IDIzLjUlO1xuICBtYXgtd2lkdGg6IDExZW07XG4gIHotaW5kZXg6IDExO1xuICBib3gtc2hhZG93OiAwIDVweCAyMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbiNkZXRhaWxuYXYgKyAuZm9sbG93V3JhcCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmZvbGxvd1dyYXAge1xuICBtaW4taGVpZ2h0OiA1MC4zNzVweDtcbiAgbWFyZ2luLXRvcDogMmVtOyB9XG5cbi5mb2xsb3dNZUJhciB7XG4gIHotaW5kZXg6IDI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTE0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmZvbGxvd01lQmFyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMWVtOyB9IH1cbiAgLmZvbGxvd01lQmFyLmZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA5My43NXB4O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggLThweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5mb2xsb3dNZUJhci5maXhlZC5hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5mb2xsb3dNZUJhciN1ZWJlcnNpY2h0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmhyI3N5c3RlbS1yZWFkbW9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRldGFpbGRyb3Bkb3duIHtcbiAgY29sb3I6ICM3MDcwNzA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5kZXRhaWxkcm9wZG93biAubW9yZS1pbmZvcy1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGhlaWdodDogMS4yNWVtO1xuICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcwNzA3MDtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDFweDsgfVxuICAgIC5kZXRhaWxkcm9wZG93biAubW9yZS1pbmZvcy1idXR0b24gc3BhbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMmVtO1xuICAgICAgbGVmdDogY2FsYygwLjI1ZW0gLyAyKTtcbiAgICAgIHRvcDogY2FsYygxZW0gLyAyKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2U7IH1cbiAgICAgIC5kZXRhaWxkcm9wZG93biAubW9yZS1pbmZvcy1idXR0b24gc3Bhbi5wbHVzTGluZUhvcml6b250YWwge1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDAuMjVlbTsgfVxuICAgICAgLmRldGFpbGRyb3Bkb3duIC5tb3JlLWluZm9zLWJ1dHRvbiBzcGFuLnBsdXNMaW5lVmVydGljYWwge1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgd2lkdGg6IDAuMjVlbTtcbiAgICAgICAgdG9wOiBjYWxjKDAuMjVlbSAvIDIpO1xuICAgICAgICBsZWZ0OiBjYWxjKDFlbSAvIDIpOyB9XG4gICAgLmRldGFpbGRyb3Bkb3duIC5tb3JlLWluZm9zLWJ1dHRvbiBwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4OyB9XG4gICAgLmRldGFpbGRyb3Bkb3duIC5tb3JlLWluZm9zLWJ1dHRvbi50cmFuc2Zvcm1lZCBzcGFuLnBsdXNMaW5lVmVydGljYWwge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG5cbi5kZXRhaWxsZWlzdHVuZ2VuLmluY2x1c2l2ZSB1bCwgLmRldGFpbGxlaXN0dW5nZW4uZXhjbHVzaXZlIHVsLCAuZGV0YWlsbGVpc3R1bmdlbi5ub3RlIHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmRldGFpbGxlaXN0dW5nZW4uaW5jbHVzaXZlIHVsIGxpLCAuZGV0YWlsbGVpc3R1bmdlbi5leGNsdXNpdmUgdWwgbGksIC5kZXRhaWxsZWlzdHVuZ2VuLm5vdGUgdWwgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAuZGV0YWlsbGVpc3R1bmdlbi5pbmNsdXNpdmUgdWwgbGk6OmJlZm9yZSwgLmRldGFpbGxlaXN0dW5nZW4uZXhjbHVzaXZlIHVsIGxpOjpiZWZvcmUsIC5kZXRhaWxsZWlzdHVuZ2VuLm5vdGUgdWwgbGk6OmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLmRldGFpbGxlaXN0dW5nZW4uaW5jbHVzaXZlIHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDU4JztcbiAgY29sb3I6ICM0QkI1NDM7IH1cblxuLmRldGFpbGxlaXN0dW5nZW4uZXhjbHVzaXZlIHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDU3JztcbiAgY29sb3I6ICNlMzAwMGI7IH1cblxuLmRldGFpbGxlaXN0dW5nZW4ubm90ZSB1bCBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjA2YSc7IH1cblxuLmRldGFpbGxlaXN0dW5nZW4gdWwge1xuICBtYXJnaW4tbGVmdDogMS41ZW07IH1cbiAgLmRldGFpbGxlaXN0dW5nZW4gdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogLjVlbTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cbiAgICAuZGV0YWlsbGVpc3R1bmdlbiB1bCBsaSBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5kZXRhaWxsZWlzdHVuZ2VuIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgbWFyZ2luLWxlZnQ6IDIuNXB4OyB9XG5cbi5qbXJlaXNlYmVnbGVpdGVyIC5pdGVtLXBhZ2UgLmNvbnRhaW5lciA+IC5yb3cge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cblxuLmptcmVpc2ViZWdsZWl0ZXIgLmNvbnRhaW5lciBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5qbXJlaXNlYmVnbGVpdGVyIC5jb250YWluZXIgLmNvbC1tZC02IHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICBtYXJnaW4tbGVmdDogMWVtOyB9XG5cbi5qbXJlaXNlYmVnbGVpdGVyIC5jb250YWluZXIgLnJvdy5yZWlzZWJlZ2xlaXRlciAuYm9yZGVyZWQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmptcmVpc2ViZWdsZWl0ZXIgLmNvbnRhaW5lciAucm93LnJlaXNlYmVnbGVpdGVyIC5ib3JkZXJlZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmptcmVpc2ViZWdsZWl0ZXIgLmNvbnRhaW5lciAucm93LnJlaXNlYmVnbGVpdGVyIC5ib3JkZXJlZCBpbWcge1xuICAgICAgICB3aWR0aDogNDklOyB9XG4gICAgICAuam1yZWlzZWJlZ2xlaXRlciAuY29udGFpbmVyIC5yb3cucmVpc2ViZWdsZWl0ZXIgLmJvcmRlcmVkIC5rb250YWt0ZGF0ZW4ge1xuICAgICAgICB3aWR0aDogNDklOyB9IH1cblxuLmptcmVpc2ViZWdsZWl0ZXIgLmNvbnRhaW5lciAucm93LnJlaXNlYmVnbGVpdGVyIGgyIHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAuam1yZWlzZWJlZ2xlaXRlciAuY29udGFpbmVyIC5yb3cucmVpc2ViZWdsZWl0ZXIgaDI6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgLyoqXG4gICAgICogdGhlIG5lZ2F0aXZlIG1hcmdpbi10b3AgYW5kIGhlaWdodCB2YWx1ZSBhcmUgY2FsY3VsYXRlZCBieSB0aGVcbiAgICAgKiAucm93LnJlaXNlYmVnbGVpdGVyJ3MgcGFkZGluZy10b3AsIHRoZSBwcmVjZWVkaW5nIGhyJ3MgbWFyZ2luLWJvdHRvbSBwaXhlbCB2YWx1ZVxuICAgICAqIGFuZCB0aGUgLmhlYWRlcidzIGhlaWdodC4ga2VlcCBpbiBtaW5kIGFzIHNvb24gYXMgeW91IHNjcm9sbCBkb3duLCB0aGUgLmhlYWRlciBzaHJpbmtzLlxuICAgICAqIHJpZ2h0IG5vdyB0aGF0IGVxdWFscyB0byByb3VnaGx5IDQ0cHggZm9yIHRoZSAuaGVhZGVyIGFuZCAzMnB4IGNvbWJpbmVkIGZvciB0aGUgLnJvdydzIGVsZW1lbnRzLlxuICAgICAqL1xuICAgIG1hcmdpbi10b3A6IC03NnB4O1xuICAgIGhlaWdodDogNzZweDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmptcmVpc2ViZWdsZWl0ZXIgaDEsIC5qbXJlaXNlYmVnbGVpdGVyIGgyIHtcbiAgY29sb3I6ICNlMzAwMGI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmptcmVpc2ViZWdsZWl0ZXIgaDMge1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4uYm9yZGVyZWQge1xuICBtYXJnaW46IDEuNWVtIGF1dG8gMDtcbiAgYm94LXNoYWRvdzogMCAwIDAuNXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5ib3JkZXJlZCBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgLmJvcmRlcmVkIGltZyB7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmJvcmRlcmVkIGltZyB7XG4gICAgICB3aWR0aDogNDklOyB9IH1cbiAgLmJvcmRlcmVkIC5rb250YWt0ZGF0ZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgIC5ib3JkZXJlZCAua29udGFrdGRhdGVuIGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7IH1cbiAgICAuYm9yZGVyZWQgLmtvbnRha3RkYXRlbiBzcGFuLmludHJvIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAuYm9yZGVyZWQgLmtvbnRha3RkYXRlbiAucGhvbmUsXG4gICAgLmJvcmRlcmVkIC5rb250YWt0ZGF0ZW4gLnBob25lbSxcbiAgICAuYm9yZGVyZWQgLmtvbnRha3RkYXRlbiAubWFpbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IC4zZW07IH1cbiAgICAuYm9yZGVyZWQgLmtvbnRha3RkYXRlbiAucGhvbmU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA5NVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICAgICAgZm9udC1zaXplOiAwLjllbTsgfVxuICAgIC5ib3JkZXJlZCAua29udGFrdGRhdGVuIC5waG9uZTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYm9yZGVyZWQgLmtvbnRha3RkYXRlbiAucGhvbmVtOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYzY2RcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBwYWRkaW5nOiAwIC42NWVtIDAgLjNlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07IH1cbiAgICAuYm9yZGVyZWQgLmtvbnRha3RkYXRlbiAucGhvbmVtOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5ib3JkZXJlZCAua29udGFrdGRhdGVuIC5tYWlsOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxZDhcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjU1ZW07XG4gICAgICBmb250LXNpemU6IDAuOWVtOyB9XG4gICAgLmJvcmRlcmVkIC5rb250YWt0ZGF0ZW4gLm1haWw6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5ib3JkZXJlZCAua29udGFrdGRhdGVuIHtcbiAgICAgICAgd2lkdGg6IDQ5JTsgfVxuICAgICAgICAuYm9yZGVyZWQgLmtvbnRha3RkYXRlbiBhIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmJvcmRlcmVkIHNwYW4uaW50cm8ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzcmVtOyB9XG4gIC5ib3JkZXJlZCBhIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5ib3JkZXJlZCBhIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4uam11ZWJlci11bnMgLnVlYmVyLXVucyB7XG4gIG1hcmdpbi1ib3R0b206IDRlbTsgfVxuICAuam11ZWJlci11bnMgLnVlYmVyLXVucyAucnVoZW91dCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMzAwMGI7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLmVycm9yc2lkZSBpbWcge1xuICBtYXJnaW4tdG9wOiAxMGVtOyB9XG5cbi5lcnJvcnNpZGUgaDIge1xuICBmb250LXNpemU6IDEuOGVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMXB4OyB9XG5cbi5lcnJvcnNpZGUgcCxcbi5lcnJvcnNpZGUgYSB7XG4gIGZvbnQtc2l6ZTogMS42ZW07IH1cblxuYS5saW5rYnV0dG9uLmJ0biB7XG4gIG1hcmdpbjogMWVtO1xuICBwYWRkaW5nOiAwLjNlbSAxZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTMwMDBiOyB9XG5cbi5ub3RyYW5zaXRpb24ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tcy10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIC1vLXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi53Z2Zvcm1zIC5mb3JtLWdyb3VwID4gbGFiZWwuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGhlaWdodDogMTNweDtcbiAgd2lkdGg6IDEzcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMjZweDsgfVxuXG4ud2dmb3JtcyAuZm9ybS1ncm91cCA+IGxhYmVsLmNoZWNrYm94W2Zvcj1wcml2YWN5XSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZy1yaWdodDogMjZweDsgfVxuICAud2dmb3JtcyAuZm9ybS1ncm91cCA+IGxhYmVsLmNoZWNrYm94W2Zvcj1wcml2YWN5XSBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uaGFzLWVycm9yIC5jaGVja2JveCwgLmhhcy1lcnJvciAuY2hlY2tib3gtaW5saW5lLCAuaGFzLWVycm9yIC5jb250cm9sLWxhYmVsLCAuaGFzLWVycm9yIC5oZWxwLWJsb2NrLCAuaGFzLWVycm9yIC5yYWRpbywgLmhhcy1lcnJvciAucmFkaW8taW5saW5lLCAuaGFzLWVycm9yLmNoZWNrYm94IGxhYmVsLCAuaGFzLWVycm9yLmNoZWNrYm94LWlubGluZSBsYWJlbCwgLmhhcy1lcnJvci5yYWRpbyBsYWJlbCwgLmhhcy1lcnJvci5yYWRpby1pbmxpbmUgbGFiZWwge1xuICBjb2xvcjogI2E5NDQ0MjsgfVxuXG4ud2dmb3JtcyAuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sIC53Z2Zvcm1zIC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0sIC53Z2Zvcm1zIC5yYWRpbyBpbnB1dFt0eXBlPXJhZGlvXSwgLndnZm9ybXMgLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9dLCAucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7IH1cblxuLmhhcy1lcnJvciAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTk0NDQyO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cblxuLmhhcy1lcnJvciBpbnB1dCArIGkuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmhhcy1lcnJvciB0ZXh0YXJlYSArIGkuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmhhcy1lcnJvciBzZWxlY3QgKyBpLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyLjZlbTtcbiAgcmlnaHQ6IDEuNWVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYnRuLXN1Ym1pdCB7XG4gIHBhZGRpbmctbGVmdDogMWVtOyB9XG5cbi53Z2Zvcm1zIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLndnZm9ybXMgZmllbGRzZXQgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC53Z2Zvcm1zIGZpZWxkc2V0LmZvcm0tY29udHJvbCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDA7IH1cblxuLndnZm9ybXMgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi53Z2Zvcm1zIC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLndnZm9ybXMgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi53Z2Zvcm1zIC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLndnZm9ybXMgLmZpZWxkLWNhbGVuZGFyIHtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwOyB9XG4gIC53Z2Zvcm1zIC5maWVsZC1jYWxlbmRhciAuaW5wdXQtYXBwZW5kIGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nOiA2cHggMTJweCA2cHggMTJweDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgIC53Z2Zvcm1zIC5maWVsZC1jYWxlbmRhciAuaW5wdXQtYXBwZW5kIGlucHV0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLndnZm9ybXMgLmZpZWxkLWNhbGVuZGFyIC5pbnB1dC1hcHBlbmQgYnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTMwMDBiO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNTBweDsgfVxuICAud2dmb3JtcyAuZmllbGQtY2FsZW5kYXIgLmpzLWNhbGVuZGFyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC53Z2Zvcm1zIC5maWVsZC1jYWxlbmRhciAuanMtY2FsZW5kYXIgdGFibGUudGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAgIC53Z2Zvcm1zIC5maWVsZC1jYWxlbmRhciAuanMtY2FsZW5kYXIgdGFibGUudGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nOiA3cHggMXB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLndnZm9ybXMgLmZpZWxkLWNhbGVuZGFyIC5qcy1jYWxlbmRhciB0YWJsZS50YWJsZSB0ZC5zZWxlY3RlZCwgLndnZm9ybXMgLmZpZWxkLWNhbGVuZGFyIC5qcy1jYWxlbmRhciB0YWJsZS50YWJsZSB0ZC5kYXk6aG92ZXIsIC53Z2Zvcm1zIC5maWVsZC1jYWxlbmRhciAuanMtY2FsZW5kYXIgdGFibGUudGFibGUgdGQudG9kYXk6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMzAwMGI7IH1cbiAgICAgICAgLndnZm9ybXMgLmZpZWxkLWNhbGVuZGFyIC5qcy1jYWxlbmRhciB0YWJsZS50YWJsZSB0ZC50aW1lLnRpbWUtdGl0bGUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgICAgICAgICAud2dmb3JtcyAuZmllbGQtY2FsZW5kYXIgLmpzLWNhbGVuZGFyIHRhYmxlLnRhYmxlIHRkLnRpbWUudGltZS10aXRsZTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAxNyc7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBjb2xvcjogI2UzMDAwYjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMnB4OyB9XG4gICAgICAgIC53Z2Zvcm1zIC5maWVsZC1jYWxlbmRhciAuanMtY2FsZW5kYXIgdGFibGUudGFibGUgdGQudGltZS5ob3Vycy1zZWxlY3Qgc2VsZWN0LCAud2dmb3JtcyAuZmllbGQtY2FsZW5kYXIgLmpzLWNhbGVuZGFyIHRhYmxlLnRhYmxlIHRkLnRpbWUubWludXRlcy1zZWxlY3Qgc2VsZWN0IHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDJweCA4cHg7IH1cbiAgLndnZm9ybXMgLmZpZWxkLWNhbGVuZGFyIC5idXR0b25zLXdyYXBwZXIuYnRuLWdyb3VwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAud2dmb3JtcyAuZmllbGQtY2FsZW5kYXIgLmJ1dHRvbnMtd3JhcHBlci5idG4tZ3JvdXAgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlMzAwMGI7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAud2dmb3JtcyAuZmllbGQtY2FsZW5kYXIgLmJ1dHRvbnMtd3JhcHBlci5idG4tZ3JvdXAgYnV0dG9uICsgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4ud2dmb3JtcyAuYnV0dG9ucyAuZm9ybS1ncm91cCB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuICAud2dmb3JtcyAuYnV0dG9ucyAuZm9ybS1ncm91cC5idG4ge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLndnZm9ybXMgLmJ1dHRvbnMgLmZvcm0tZ3JvdXAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLndnZm9ybXMgLmJ1dHRvbnMgLmZvcm0tZ3JvdXAgYnV0dG9uLmJ0bixcbiAgLmJ0biA+IC53Z2Zvcm1zIC5idXR0b25zIC5mb3JtLWdyb3VwIGJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgIHRyYW5zaXRpb246IGFsbCA0NTBtcztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MsYmFja2dyb3VuZCAuM3M7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiA0M3B4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC53Z2Zvcm1zIC5idXR0b25zIC5mb3JtLWdyb3VwIGJ1dHRvbi5idG4ucmVkLFxuICAgIC5idG4gPiAud2dmb3JtcyAuYnV0dG9ucyAuZm9ybS1ncm91cCBidXR0b24ucmVkIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UzMDAwYjsgfVxuICAgIC53Z2Zvcm1zIC5idXR0b25zIC5mb3JtLWdyb3VwIGJ1dHRvbi5idG4uZ3JleSxcbiAgICAuYnRuID4gLndnZm9ybXMgLmJ1dHRvbnMgLmZvcm0tZ3JvdXAgYnV0dG9uLmdyZXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsgfVxuICAgIC53Z2Zvcm1zIC5idXR0b25zIC5mb3JtLWdyb3VwIGJ1dHRvbi5idG46aG92ZXIsXG4gICAgLmJ0biA+IC53Z2Zvcm1zIC5idXR0b25zIC5mb3JtLWdyb3VwIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTc1NzU3O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAud2dmb3JtcyAuYnV0dG9ucyAuZm9ybS1ncm91cCBidXR0b24uYnRuOmZvY3VzLFxuICAgIC5idG4gPiAud2dmb3JtcyAuYnV0dG9ucyAuZm9ybS1ncm91cCBidXR0b246Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwO1xuICAgICAgb3V0bGluZTogLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIGF1dG8gNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuaW5wdXQgKyBpLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbnRleHRhcmVhICsgaS5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG5zZWxlY3QgKyBpLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyLjRlbTtcbiAgcmlnaHQ6IDFlbTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlLCAuZmEtd2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MVwiOyB9XG5cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiAjZTMwMDBiOyB9XG5cbi5wcmUtZm9vdGVyIHtcbiAgbWFyZ2luOiAxcmVtIDA7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5qbWtvbnRha3QgLm1haW4ge1xuICAgIHBhZGRpbmctdG9wOiA0NHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4uYnRuLmdyZXkge1xuICBjb2xvcjogIzU3NTc1NzsgfVxuXG4ud2dmb3Jtcy5ib29raW5nIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICAvKlxuICBzcGVjaWZpYyBydWxlcyBmb3IgdGhlIEZvcm0gb24gdGhlIGRldGFpbHMtc3VicGFnZVxuICovIH1cbiAgLndnZm9ybXMuYm9va2luZyBsYWJlbDpub3QoW2Zvcj1cIlwiXSkge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLndnZm9ybXMuYm9va2luZyAucmVpc2ViZWdsZWl0ZXIgcCB7XG4gICAgbWFyZ2luLXRvcDogMWVtOyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgLnJvdy5hZ2IgOm50aC1jaGlsZCgxKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgLnJvdy5hZ2IgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgLnJvdy5hZ2IgbGFiZWwuY2hlY2tib3gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTsgfVxuICAgIC53Z2Zvcm1zLmJvb2tpbmcgLnJvdy5hZ2IgbGFiZWwuY2hlY2tib3ggKyAuZmEtd2FybmluZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIHJpZ2h0OiA1cHg7IH1cbiAgLndnZm9ybXMuYm9va2luZyAucm93LmFkZGl0aW9uYWwgOm50aC1jaGlsZCgyKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgLnJvdy5hZGRpdGlvbmFsIDpudGgtY2hpbGQoNCkge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAud2dmb3Jtcy5ib29raW5nIC5yb3cuZ3VpZGVkIGEuYnRuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLndnZm9ybXMuYm9va2luZyAucm93LnRyaXBfZGF0YSAjdHJpcF9kYXRhX2V2ZW50X3NlbGVjdGlvbi1sYmwubm90ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgLndnZm9ybXMuYm9va2luZyAucm93LnRyaXBfZGF0YSAjdHJpcF9kYXRhX2V2ZW50X3NlbGVjdGlvbi1sYmwubm90ZSBlbSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAud2dmb3Jtcy5ib29raW5nIC5yb3cudHJpcF9kYXRhICN0cmlwX2RhdGFfZXZlbnRfc2VsZWN0aW9uLWxibC5ub3RlIH4gc3BhbiB7XG4gICAgICBwYWRkaW5nOiA3cHggMTNweDsgfVxuICAud2dmb3Jtcy5ib29raW5nIC5yb3cuYXR0ZW5kZWUge1xuICAgIHBhZGRpbmc6IDAuNWVtIDA7IH1cbiAgICAud2dmb3Jtcy5ib29raW5nIC5yb3cuYXR0ZW5kZWUgLnJlbWFya3Mgc3BhbiB7XG4gICAgICBmb250LXNpemU6IC44ZW07IH1cbiAgICAud2dmb3Jtcy5ib29raW5nIC5yb3cuYXR0ZW5kZWUgLmJ0bjphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAud2dmb3Jtcy5ib29raW5nIC5yb3cuYXR0ZW5kZWVzID4gLmZvcm0tZ3JvdXAgPiBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAud2dmb3Jtcy5ib29raW5nIC5yb3cuYXR0ZW5kZWVzID4gLmZvcm0tZ3JvdXAgPiBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC53Z2Zvcm1zLmJvb2tpbmcgLnJvdy5hdHRlbmRlZXMgPiAuZm9ybS1ncm91cCA+IGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLndnZm9ybXMuYm9va2luZyAucm93LmF0dGVuZGVlcyA+IC5mb3JtLWdyb3VwLmhhcy1lcnJvcjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYwNzFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBjb2xvcjogI2E1MDAwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE3cHg7XG4gICAgYm90dG9tOiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgLnJvdy5hdHRlbmRlZXMgPiAuZm9ybS1ncm91cDpudGgtb2YtdHlwZSg5KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLndnZm9ybXMuYm9va2luZyAucm93LmF0dGVuZGVlcyA+IC5mb3JtLWdyb3VwOm50aC1vZi10eXBlKDkpIGlucHV0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7IH1cbiAgICAud2dmb3Jtcy5ib29raW5nIC5yb3cuYXR0ZW5kZWVzID4gLmZvcm0tZ3JvdXA6bnRoLW9mLXR5cGUoOSk6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ+KCrCc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTlweDtcbiAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICM1NTU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAud2dmb3Jtcy5ib29raW5nIC5yb3cuYXR0ZW5kZWVzID4gLmZvcm0tZ3JvdXA6bnRoLW9mLXR5cGUoMTApIHtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXJpZ2h0IDAuNXMgZWFzZTsgfVxuICAgIC53Z2Zvcm1zLmJvb2tpbmcgLnJvdy5hdHRlbmRlZXMgPiAuZm9ybS1ncm91cDpudGgtb2YtdHlwZSgxMCk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGYwNzFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHJpZ2h0OiAtMThweDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCByaWdodCAwLjVzIGVhc2UsIGNvbG9yIDAuNXMgZWFzZTsgfVxuICAgIC53Z2Zvcm1zLmJvb2tpbmcgLnJvdy5hdHRlbmRlZXMgPiAuZm9ybS1ncm91cDpudGgtb2YtdHlwZSgxMCkuaGFzLWVycm9yIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cbiAgICAgIC53Z2Zvcm1zLmJvb2tpbmcgLnJvdy5hdHRlbmRlZXMgPiAuZm9ybS1ncm91cDpudGgtb2YtdHlwZSgxMCkuaGFzLWVycm9yOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcmlnaHQ6IDVweDsgfVxuICAgICAgLndnZm9ybXMuYm9va2luZyAucm93LmF0dGVuZGVlcyA+IC5mb3JtLWdyb3VwOm50aC1vZi10eXBlKDEwKS5oYXMtZXJyb3IgLmJ0bi5hZGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgLnJvdy5wcml2YWN5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfVxuICAud2dmb3Jtcy5ib29raW5nICNzdW1fY29zdHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC53Z2Zvcm1zLmJvb2tpbmcgI3N1bV9jb3N0czpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgcmlnaHQ6IDVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3MDcwNzA7XG4gICAgICBoZWlnaHQ6IDFweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAud2dmb3Jtcy5ib29raW5nICNzdW1fY29zdHMgOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLndnZm9ybXMuYm9va2luZyAjc3VtX2Nvc3RzIGRpdiB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgLmJ0bi1ncm91cCAuYnRuIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgc2VsZWN0IHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIHBhZGRpbmc6IDZweCAyMnB4IDZweCAxMnB4OyB9XG4gICAgLndnZm9ybXMuYm9va2luZyBzZWxlY3Q6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICNmZmZmZmYgNTAlLCAjMDAwMDAwIDUwJSksIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDAwMDAgNTAlLCAjZmZmZmZmIDUwJSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmZmZmZiwgI2ZmZmZmZik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxMXB4KSBjYWxjKDFlbSArIDJweCksIGNhbGMoMTAwJSAtIDZweCkgY2FsYygxZW0gKyAycHgpLCAwIDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCA1cHgsIDVweCA1cHgsIDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgLmJ0bi5hZGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgyMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAud2dmb3Jtcy5ib29raW5nIC5idG4uYWRkOmhvdmVyLCAud2dmb3Jtcy5ib29raW5nIC5idG4uYWRkLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOGRhYjM7IH1cbiAgLndnZm9ybXMuYm9va2luZyAuYnRuLmVkaXQge1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBjb2xvcjogIzU3NTc1NzsgfVxuICAgIC53Z2Zvcm1zLmJvb2tpbmcgLmJ0bi5lZGl0OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNTc1NzU3OyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgLmJ0bi5yZW1vdmUge1xuICAgIGNvbG9yOiAjYTUwMDAwOyB9XG4gICAgLndnZm9ybXMuYm9va2luZyAuYnRuLnJlbW92ZTpob3ZlciB7XG4gICAgICBjb2xvcjogI2QyODA4MDsgfVxuICAud2dmb3Jtcy5ib29raW5nIC5idG4tYWRkQXR0ZW5kZWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA3cHg7IH1cbiAgLndnZm9ybXMuYm9va2luZyBsYWJlbFtmb3I9XCJhZ2JfY2hlY2tib3hfYWNjZXB0XCJdIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLndnZm9ybXMuYm9va2luZyBsYWJlbFtmb3I9XCJhZ2JfY2hlY2tib3hfYWNjZXB0XCJdIGlucHV0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAud2dmb3Jtcy5ib29raW5nIGxhYmVsIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgLnJhZGlvIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAud2dmb3Jtcy5ib29raW5nIC5yYWRpbyBpbnB1dCB7XG4gICAgbGVmdDogMjVweDsgfVxuICAud2dmb3Jtcy5ib29raW5nIHRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsOyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgLnNlY3Rpb24tZGl2aWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07IH1cbiAgICAud2dmb3Jtcy5ib29raW5nIC5zZWN0aW9uLWRpdmlkZXIgZW0ge1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC53Z2Zvcm1zLmJvb2tpbmcgLnNlY3Rpb24tZGl2aWRlciBlbTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3MDcwNzA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSArIDdweCk7XG4gICAgICAgIGxlZnQ6IDI1JTtcbiAgICAgICAgcmlnaHQ6IDI1JTtcbiAgICAgICAgei1pbmRleDogLTE7IH1cbiAgLndnZm9ybXMuYm9va2luZyBzcGFuID4gYiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC53Z2Zvcm1zLmJvb2tpbmcgbGFiZWxbZm9yPVwiYWdiX2NoZWNrYm94X2FjY2VwdFwiXSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7IH1cbiAgICAud2dmb3Jtcy5ib29raW5nIGxhYmVsW2Zvcj1cImFnYl9jaGVja2JveF9hY2NlcHRcIl0gaSB7XG4gICAgICByaWdodDogMDsgfVxuICAud2dmb3Jtcy5ib29raW5nIGxhYmVsW2Zvcj1cInByaXZhY3lfY2hlY2tib3hfYWNjZXB0XCJdIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDsgfVxuICAgIC53Z2Zvcm1zLmJvb2tpbmcgbGFiZWxbZm9yPVwicHJpdmFjeV9jaGVja2JveF9hY2NlcHRcIl0gaSB7XG4gICAgICByaWdodDogMDsgfVxuICAud2dmb3Jtcy5ib29raW5nICNwcml2YWN5X25vdGVfMDEtZGVzYyB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgLndnZm9ybXMuYm9va2luZyAjYWdiX2NoZWNrYm94X2FjY2VwdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDsgfVxuICAud2dmb3Jtcy5ib29raW5nICNhdHRlbmRlZXNfdGV4dF9wcmljZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLndnZm9ybXMuYm9va2luZyAuZmllbGRzZXQtZ3JvdXAuYnV0dG9ucyB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgLndnZm9ybXMuYm9va2luZyAuZmllbGRzZXQtZ3JvdXAuYWdiIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLndnZm9ybXMuYm9va2luZyAucm93LmF0dGVuZGVlIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC53Z2Zvcm1zLmJvb2tpbmcgLnJvdy5hdHRlbmRlZSBzcGFuOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwOyB9IH1cbiAgI2RldGFpbGZvcm11bGFyID4gLndnZm9ybXMuYm9va2luZyBoMSxcbiAgI2RldGFpbGZvcm11bGFyID4gLndnZm9ybXMuYm9va2luZyBoMSArIGhyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNkZXRhaWxmb3JtdWxhciA+IC53Z2Zvcm1zLmJvb2tpbmcgI3RyaXBfZGF0YV90cmlwX3NlbGVjdGlvbi1sYmwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2RldGFpbGZvcm11bGFyID4gLndnZm9ybXMuYm9va2luZyAjdHJpcF9kYXRhX3RyaXBfc2VsZWN0aW9uIHtcbiAgICBmb250LXdlaWdodDogaW5pdGlhbDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogI2UzMDAwYjtcbiAgICBiYWNrZ3JvdW5kOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDIwcHggYXV0byAxMHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgICAjZGV0YWlsZm9ybXVsYXIgPiAud2dmb3Jtcy5ib29raW5nICN0cmlwX2RhdGFfdHJpcF9zZWxlY3Rpb246Oi1tcy1leHBhbmQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNkZXRhaWxmb3JtdWxhciA+IC53Z2Zvcm1zLmJvb2tpbmcgI3RyaXBfZGF0YV90cmlwX3NlbGVjdGlvbiBvcHRpb24ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzYxcHgpIHtcbiAgICAgICNkZXRhaWxmb3JtdWxhciA+IC53Z2Zvcm1zLmJvb2tpbmcgI3RyaXBfZGF0YV90cmlwX3NlbGVjdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9IH1cblxuLmVra28tbGlnaHRib3gge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAuZWtrby1saWdodGJveCBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4uZWtrby1saWdodGJveC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmVra28tbGlnaHRib3gtY29udGFpbmVyID4gZGl2LmVra28tbGlnaHRib3gtaXRlbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSB7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhIHtcbiAgLW1zLWZsZXg6IDE7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cztcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgei1pbmRleDogMTsgfVxuXG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhID4gKiB7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICBmbGV4LWdyb3c6IDE7IH1cblxuLmVra28tbGlnaHRib3gtbmF2LW92ZXJsYXkgYSA+IDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmVra28tbGlnaHRib3gtbmF2LW92ZXJsYXkgYSBzcGFuIHtcbiAgcGFkZGluZzogMCAzMHB4OyB9XG5cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGE6bGFzdC1jaGlsZCBzcGFuIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmVra28tbGlnaHRib3gtbmF2LW92ZXJsYXkgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmVra28tbGlnaHRib3ggYTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZWtrby1saWdodGJveCAubW9kYWwtZGlhbG9nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZWtrby1saWdodGJveCAubW9kYWwtZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZWtrby1saWdodGJveC1sb2FkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uZWtrby1saWdodGJveC1sb2FkZXIgPiBkaXYge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZWtrby1saWdodGJveC1sb2FkZXIgPiBkaXYgPiBkaXYge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG9wYWNpdHk6IC42O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYW5pbWF0aW9uOiBhIDJzIGluZmluaXRlIGVhc2UtaW4tb3V0OyB9XG5cbi5la2tvLWxpZ2h0Ym94LWxvYWRlciA+IGRpdiA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMXM7IH1cblxuLm1vZGFsLWRpYWxvZyAuZWtrby1saWdodGJveC1sb2FkZXIgPiBkaXYgPiBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XG5cbkBrZXlmcmFtZXMgYSB7XG4gIDAlLFxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG4iLCIvLyBjb252ZXJ0cyByZ2JhIHRvIGEgbm9uLXRyYW5zcGFyZW50IHJnYlxuQGZ1bmN0aW9uIHJnYmEtdG8tcmdiKCRyZ2JhLCAkYmFzZTogI2ZmZikge1xuICBAcmV0dXJuIG1peChyZ2IocmVkKCRyZ2JhKSwgZ3JlZW4oJHJnYmEpLCBibHVlKCRyZ2JhKSksICRiYXNlLCBhbHBoYSgkcmdiYSkgKiAxMDAlKVxufVxuXG4kcnVoZS1yZWQ6ICNlMzAwMGI7XG4kcnVoZS1ncmV5OiAjNzA3MDcwO1xuJHJ1aGUtZ3JleS1ob3ZlcjogIzU3NTc1NztcbiRydWhlLWxpZ2h0Z3JleTogI2U1ZTVlNTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiRibGFjazogIzAwMDAwMDtcblxuJGNvcnJlY3Q6ICMxMjgyMDA7XG4kY29ycmVjdC1ob3ZlcjogcmdiYS10by1yZ2IocmdiYSgkY29ycmVjdCwgLjMwKSk7XG4kZmFsc2U6ICNhNTAwMDA7XG4kZmFsc2UtaG92ZXI6IHJnYmEtdG8tcmdiKHJnYmEoJGZhbHNlLCAuNTApKTtcblxuXG4kdHJhbnNpdGlvbi10aW1lLWZhc3Q6IDAuM3M7XG4kdHJhbnNpdGlvbi10aW1lLWltYWdlLWJveDogMC40cztcbiR0cmFuc2l0aW9uLXRpbWUtbm9ybWFsOiAwLjVzO1xuJHRyYW5zaXRpb24tdGltZS1zbG93OiAwLjdzO1xuJHRyYW5zaXRpb24tdGltZS12ZXJ5LXNsb3c6IDEuMHM7XG5cbi8vIGZvcm0tdmFyaWFibGVzXG4kZm9ybS1sYWJlbC13aWR0aDogMjI1cHg7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDMwcHg7XG5cbi8vdmFyaWFibGVzIGZvciB0aGUgbW9yZS1pbmZvcy1idXR0b25cbiRwbHVzSG9yaXpvbnRhbEhlaWdodDogMC4yNWVtOyAvL2hlaWdodCBvZiB0aGUgaG9yaXpvbnRhbCBsaW5lIGZyb20gdGhlIHBsdXMgaW4gdGhlIGJ1dHRvblxuJHBsdXNIb3Jpem9udGFsV2lkdGg6IDFlbTsgLy93aWR0aCBvZiB0aGUgaG9yaXpvbnRhbCBsaW5lIGZyb20gdGhlIHBsdXMgaW4gdGhlIGJ1dHRvblxuJGJ0bldpZHRoOiAkcGx1c0hvcml6b250YWxXaWR0aCArICRwbHVzSG9yaXpvbnRhbEhlaWdodDsgLy93aWR0aCBvZiB0aGUgYnV0dG9uXG4kYnRuUGFkZGluZzogY2FsYygjeyRwbHVzSG9yaXpvbnRhbEhlaWdodH0gLyAyKTsgLy9zcGFjaW5nIGJldHdlZW4gdGhlIGJ1dHRvbiBhbmQgdGhlIHNxdWFyZSBkcmF3biBieSB0aGUgcGx1c1xuJGJ0blBhcmFsbGVsTGluZVBhZGRpbmc6IGNhbGMoI3skcGx1c0hvcml6b250YWxXaWR0aH0gLyAyKTsgLy9zcGFjaW5nIGJldHdlZW4gdGhlIGJ1dHRvbiBhbmQgdGhlIHdpZHRoIG9mIHRoZSBwbHVzIGxpbmVzXG5cbi8vIHNvY2lhbGJhclxuJHBhZGRpbmctc29jaWFsczogNXB4IDEwcHg7XG4kZm9udC1zZWl6ZS1zb2NpYWxzOiAxLjJlbTtcblxuLyogYnJlYWtwb2ludHMgKi9cbiRzY3JlZW4tc206IDU3NnB4O1xuJHNjcmVlbi1tZDogNzY4cHg7XG4kc2NyZWVuLWxnOiA5OTJweDtcbiRzY3JlZW4teGw6IDEyMDBweDtcblxuXG4kc2NyZWVuLXhzLW1heDogJHNjcmVlbi1zbSAtIDE7XG4kc2NyZWVuLXNtLW1heDogJHNjcmVlbi1tZCAtIDE7XG4kc2NyZWVuLW1kLW1heDogJHNjcmVlbi1sZyAtIDE7XG4kc2NyZWVuLWxnLW1heDogJHNjcmVlbi14bCAtIDE7XG4vKiAvYnJlYWtwb2ludHMgKi9cblxuLyogaGVhZGVyICovXG4kbW9iaWxlSGVhZGVyTGluZUhlaWdodDogNTFweDtcbi8qIC9oZWFkZXIgKi8iLCJib2R5IHtcbiAgZm9udC1mYW1pbHk6ICdQVCBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogJHJ1aGUtZ3JleTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4uaDEsXG4uaDIsXG4uaDMsXG5oMixcbmgzIHtcbiAgJjpub3QoLnRyaXB0aXRsZSkge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG5oMSB7XG4gIGNvbG9yOiAkcnVoZS1yZWQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyLjI1ZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi10b3A6IDEuMmVtO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmptaG9tZSxcbi5qbXJlaXNlbGVpdGVyIHtcblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxufVxuXG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBjb2xvcjogJHJ1aGUtcmVkO1xuXG4gIGkge1xuICAgIGNvbG9yOiAkcnVoZS1yZWQ7XG4gIH1cbn1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5kbCxcbm9sLFxudWwge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcblxuICAmLmNyb3BwZWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgIC8vb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLnJlZGhyIHtcbiAgYm9yZGVyLWNvbG9yOiAkcnVoZS1yZWQ7XG59XG5cbi5ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTtcbn1cblxuYSxcbmE6Zm9jdXMsXG5hOmhvdmVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbiNqdW1wdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk7XG4gIHJpZ2h0OiAyLjJlbTtcbiAgYm90dG9tOiAwLjNlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBpIHtcbiAgICBmb250LXNpemU6IDEuMzdlbTtcbiAgICBwYWRkaW5nOiAuNmVtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICBjb2xvcjogI2ZmZmZmZmIzO1xuICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwNGQ7XG4gIH1cbn1cblxuLm1haW4ge1xuICBwYWRkaW5nLWJvdHRvbTogMmVtO1xufVxuXG4ubGluZWQge1xuICBtYXJnaW46IDFlbSAwO1xuICBwYWRkaW5nOiAuNWVtIDA7XG4gIGJvcmRlci10b3A6ICM1NzU3NTcgMXB4IHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAjNTc1NzU3IDFweCBzb2xpZDtcbn1cblxuLnpvb20tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcblxuICAuem9vbS1vbi1ob3ZlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xMCk7XG4gICAgfVxuICB9XG59XG5cbi5zaGFkb3ctb24taG92ZXIge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycztcblxuICAmOmhvdmVyIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggOXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMjcpICFpbXBvcnRhbnQ7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDlweCAzcHggcmdiYSgwLCAwLCAwLCAwLjI3KSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggOXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMjcpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYnV0dG9uLFxuYSB7XG4gICYuYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjRzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjRzIGVhc2UgO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJi5ncmV5IHtcbiAgICAgIGNvbG9yOiAkcnVoZS1ncmV5LWhvdmVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ1aGUtbGlnaHRncmV5O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ1aGUtZ3JleS1ob3ZlcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHJ1aGUtZ3JleTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6aG92ZXI6YmVmb3JlIHtcblxuICAgICAgfVxuICAgIH1cblxuICAgICYucmVkIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVoZS1yZWQ7XG5cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydWhlLWxpZ2h0Z3JleTtcbiAgICAgICAgY29sb3I6ICRydWhlLWdyZXktaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLy8gZXh0ZXJuYWwgbGlua3MgZGVjbGFyYXRpb24gdmlhIGZvbnRhd2Vzb21lIGljb25cbmFbaHJlZl49aHR0cF0ge1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcblxuICBidXR0b246bm90KC5pZ25vcmUtZXh0KTo6YWZ0ZXIsXG4gICY6bm90KC5pZ25vcmUtZXh0KTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnXFxmMzVkJztcbiAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBmb250LXNpemU6IC45ZW07XG4gIH1cbn0iLCIuY2MtcmVtb3ZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAuNWVtO1xuICByaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2Mtd2luZG93IHtcbiAgYm94LXNoYWRvdzogMCAwIDE1cHggMCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59IiwiI2JhY2tncm91bmRQb3B1cCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjAyMDIwO1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTUwMDtcbn1cbiNwb3B1cENvbnRhY3Qge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG4gIG1heC13aWR0aDogOTAlO1xuICBtaW4taGVpZ2h0OiA2MjVweDtcbn1cblxuI3BvcHVwQ29udGVudEZyYW1lIHtcbiAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAjRkZGRkZGO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiNwb3B1cENvbnRlbnQge1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzU3NTc1NztcblxuXG4gICNob21lX3ByZXZpZXcge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogNDUlO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDIwcHggYXV0byAwO1xuICAgICAgd2lkdGg6IGNhbGMoMjAwJSAvIDMpO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICYuZm9jdXMsICY6Zm9jdXMsICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNwb3B1cEhlYWRlciB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMyMDIwMjA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMyMDIwMjA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMjAyMDIwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA2MjdweDtcblxuICBiIHtcbiAgICBjb2xvcjogIzIwMjAyMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGVmdDogMWVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDRweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgI3BvcHVwQ29udGFjdCB7XG4gICAgbWluLWhlaWdodDogdW5zZXQ7XG4gIH1cbiAgI3BvcHVwQ29udGVudCAjaG9tZV9wcmV2aWV3IHtcbiAgICBwYWRkaW5nOiAyNXB4IDUwcHg7XG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICB9XG4gIH1cbn0iLCIuaGVhZGVyIHtcbiAgJi5maXhlZCB7XG4gICAgLm5hdiA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDlweCAxZW07XG4gICAgfVxuICB9XG5cbiAgYS5sb2dvIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgYm94LXNoYWRvdzogMCA1cHggMjBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcblxuICB6LWluZGV4OiAxNTA7XG5cbiAgLmdyZXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxNTA7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjc1KTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDIwcHggLTVweCByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICBib3gtc2hhZG93OiAwIDVweCAyMHB4IC01cHggcmdiYSgwLCAwLCAwLCAuNSk7XG4gIH1cblxuICAudGVhc2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMCAxZW07XG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLXRpbWUtZmFzdCBlYXNlO1xuICB9XG5cbiAgLm1lbnViYXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHRyYW5zaXRpb246IHRleHQtYWxpZ24gLjJzIGVhc2U7XG4gICAgbGluZS1oZWlnaHQ6ICRtb2JpbGVIZWFkZXJMaW5lSGVpZ2h0O1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAudG9nZ2xlbWVudSB7XG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXYubWVudSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgPiBsaSB7XG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgICAgICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgICB9XG4gICAgICBhLFxuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdiA+IC5kZWVwZXIucGFyZW50ID4gLm5hdi1jaGlsZCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE1MDtcbiAgICB0b3A6IDcwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTEwcHg7XG4gICAgcGFkZGluZzogLjVlbSAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdG9wIC4zcyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogdG9wIC4zcyBsaW5lYXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCAwIHJnYmEoMCwgMCwgMCwgLjMpO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggMCByZ2JhKDAsIDAsIDAsIC4zKTtcbiAgfVxuXG4gIC5uYXYgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEuNWVtIDFlbTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IHBhZGRpbmcgLjNzO1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgLjNzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICBhIHtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIC4zcztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcztcbiAgICAgIHBhZGRpbmc6IDlweCA4cHg7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkcnVoZS1yZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkcnVoZS1yZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjIzZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYS5sb2dvIHBpY3R1cmUgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICB9XG5cbiAgLnJlc2VydmUge1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IHJpZ2h0IC4ycyBlYXNlO1xuICAgIHJpZ2h0OiAyZW07XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgYSB7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZTtcbiAgICAgIHBhZGRpbmc6IDEycHggMWVtO1xuICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNDFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJHJ1aGUtcmVkO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRydWhlLXJlZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYwNDRcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmh0bWwgLmZhZGUtaW4ge1xuICB6LWluZGV4OiA1O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjVzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cztcbiAgb3BhY2l0eTogMDtcbn1cblxuaHRtbCAuZmFkZS1pbi5hbmltYXRlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLWxnLW1heCkge1xuICAuaGVhZGVyIHtcbiAgICB1bCB7XG4gICAgICAmLm5hdiB7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgPiBhLCBzcGFuIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaSwgLnJlc2VydmUge1xuICAgICAgICAgIHBhZGRpbmc6IDEuNWVtIDdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudGVhc2VyIHtcbiAgICAgIC5sb2dvIHtcbiAgICAgICAgbGVmdDogMTVweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm5hdi5tZW51IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgYm9keSB7XG4gICAgcGFkZGluZy10b3A6ICRtb2JpbGVIZWFkZXJMaW5lSGVpZ2h0O1xuICB9XG5cbiAgLmhlYWRlciB7XG4gICAgLnRlYXNlciB7XG4gICAgICAubG9nbyB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1JSk7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubWVudWJhciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5maXhlZCB7XG4gICAgICAubmF2IHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMCA1JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICYubmF2IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTQuNmVtO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLm1haW4ge1xuICAgIC5mb3JjZWZ1bGx3aWR0aF93cmFwcGVyX3RwX2Jhbm5lciB7XG4gICAgICAudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSwgLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlciB7XG4gICYsXG4gICYuZml4ZWQge1xuICAgIC5yZXNlcnZlIHtcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiA5cHggOHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIC4ycyBlYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXYubWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubWVudWJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkbW9iaWxlSGVhZGVyTGluZUhlaWdodDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRyYW5zaXRpb246IHRleHQtYWxpZ24gLjJzIGVhc2U7XG5cbiAgICAudG9nZ2xlbWVudSB7XG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ub3Blbm1tIHtcbiAgLm5hdi5tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgLmhlYWRlciB7XG4gICAgLm1lbnViYXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5yZXNlcnZlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgYSB7XG4gICAgICAgIHdpZHRoOiAxODBweDtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAuaGVhZGVyIHtcbiAgICAmOm5vdCguZml4ZWQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjc1KTtcbiAgICB9XG5cbiAgICAudGVhc2VyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogMS43NWVtIDJlbTtcbiAgICB9XG5cbiAgICAmLmZpeGVkIHtcbiAgICAgIC50ZWFzZXIge1xuICAgICAgICBwYWRkaW5nOiAuNWVtIDJlbTtcbiAgICAgIH1cblxuICAgICAgLnJlc2VydmUge1xuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMnB4IDFlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51YmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5hdi5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgIGxpIHtcbiAgICAgICAgLy8gdGhlIG51bWJlcnMgYXJlIHRoZSBtZW51LWl0ZW0taWQncyBpbiB0aGUgam9vbWxhLWJhY2stZW5kXG4gICAgICAgICYuaXRlbS0xNTAsXG4gICAgICAgICYuaXRlbS0xNTEsXG4gICAgICAgICYuaXRlbS0xNTIge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmVzZXJ2ZSB7XG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogMzNweCAxZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAuaGVhZGVyIHtcbiAgICAudGVhc2VyIHtcbiAgICAgIHBhZGRpbmc6IDIxcHggMmVtO1xuICAgIH1cbiAgfVxufSIsIi8qKlxuICpcbiAqL1xuXG4uYmFubmVyIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjJzIGVhc2U7XG5cblxuICBtYXJnaW4tcmlnaHQ6IDAgO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICAmLm5vbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cblxuICBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBTbWFsbCBkZXZpY2VzIChsYW5kc2NhcGUgcGhvbmVzLCA1NzZweCBhbmQgdXApXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmJhbm5lciB7XG4gICAgbWF4LWhlaWdodDogNDA4cHg7XG4gIH1cbn1cblxuLy8gTWVkaXVtIGRldmljZXMgKHRhYmxldHMsIDc2OHB4IGFuZCB1cClcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYmFubmVyIHtcbiAgICBtYXgtaGVpZ2h0OiA1NDRweDtcbiAgfVxufVxuXG4vLyBMYXJnZSBkZXZpY2VzIChkZXNrdG9wcywgOTkycHggYW5kIHVwKVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5iYW5uZXIge1xuICAgIG1heC1oZWlnaHQ6IDcwM3B4O1xuICB9XG59XG5cbi8vIEV4dHJhIGxhcmdlIGRldmljZXMgKGxhcmdlIGRlc2t0b3BzLCAxMjAwcHggYW5kIHVwKVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYmFubmVyIHtcbiAgICBtYXgtaGVpZ2h0OiA4NTBweDtcbiAgfVxufVxuIiwiLmNvcHlyaWdodCB7XG4gIHBhZGRpbmc6IDFlbSAwO1xuXG4gIC5yb3cge1xuXG4gICAgLmNvbC1tZC02IHtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjg3NWVtO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuICB9XG59XG4uYnRuLWJyYW5kZWR7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVoZS1ncmV5LWhvdmVyO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGNvbG9yIC40cztcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgd2lkdGg6MTgwcHg7XG4gIG1hcmdpbjoxMHB4IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjAxNVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNGVtO1xuICB9XG5cbiAgJjpob3ZlcntcbiAgICBjb2xvcjokcnVoZS1ncmV5O1xuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcbiAgICBib3JkZXI6MXB4IHNvbGlkICRydWhlLWdyZXk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDokc2NyZWVuLW1kKXtcbiAgICBmbG9hdDpyaWdodDtcbiAgICB3aWR0aDphdXRvO1xuICAgIG1hcmdpbjphdXRvO1xuICB9XG59XG5cblxuXG4uZGFya2dyZXkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU3NTc1Nztcbn1cblxuLmZvb3RlciB7XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBib3JkZXItdG9wOiAxcHggI2ZmZiBzb2xpZDtcblxuICAubmF2IHtcblxuICAgIGxpIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogcGFkZGluZyAuM3M7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIC4zcztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JHNjcmVlbi1zbSl7XG5cbiAgICAgIH1cblxuXG4gICAgICBhLCBzcGFuIHtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgLjNzO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3M7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAmLnNlcGFyYXRvciB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiRzY3JlZW4tbGcpe1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgICBjb250ZW50OicgfCc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmRpdmlkZXIge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNvbC1tZC0ye1xuICAgIGF7XG4gICAgICBmbG9hdDpub25lO1xuICAgICAgd2lkdGg6MTgwcHg7XG4gICAgICBtYXJnaW46MTVweCBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAuZm9vdGVyIHtcbiAgICAubmF2IHtcbiAgICAgIHJpZ2h0OiAxNWVtO1xuICAgIH1cbiAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXIge1xuICAgIC5uYXYge1xuICAgICAgcmlnaHQ6IDNlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuY29weXJpZ2h0IHtcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGZsb2F0OiB1bnNldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NzBweCkge1xuICAuZm9vdGVyIHtcbiAgICAubmF2IHtcbiAgICAgIHJpZ2h0OiAyZW07XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogMCAzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3RlciB7XG4gICAgdWwubmF2IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nOiAwIDhweDtcblxuICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5jdXN0b20ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgLmNvcHlyaWdodCB7XG4gICAgc3BhbiB7XG5cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuICAuZm9vdGVyIHtcbiAgICB1bC5uYXYge1xuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcblxuICAgICAgICAmLmRpdmlkZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG5cbiAgLmZvb3RlciB7XG4gICAgLm5hdiB7XG4gICAgICByaWdodDogMmVtO1xuICAgICAgbWFyZ2luLXRvcDogMS4zZW07XG4gICAgICBsaSB7XG5cbiAgICAgICAgcGFkZGluZzogMTVweCAzcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59IiwiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAuNXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG5cbiAgPiBkaXYge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuXG4gIC50cGFycm93cy50cC1sZWZ0YXJyb3csIC50cGFycm93cy50cC1yaWdodGFycm93IHtcbiAgICBiYWNrZ3JvdW5kOiAwIDA7XG4gICAgLy90b3A6IDQyNXB4ICFpbXBvcnRhbnQ7ICB3aHkgamFubmlzXG4gIH1cblxuICAudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSwgLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjRweDtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgfVxuXG4gIC50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbiAgfVxuXG59XG4iLCIuc29jaWFscy1yaWdodCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxNTBweDtcbiAgei1pbmRleDogMzA7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1zaXplOiAxLjJlbTtcblxuICAmLm1lbnUtb3BlbiB7XG4gICAgei1pbmRleDogMTA7XG4gIH1cblxuICBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGNvbG9yOiAjYjVhZmE5O1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLXRpbWUtZmFzdCBlYXNlO1xuICAgIGZvbnQtc2l6ZTogLjhlbTtcblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgIH1cblxuICAgID4gLmluZm8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLXRpbWUtZmFzdCBlYXNlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgIHBhZGRpbmc6IGluaGVyaXQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNGVtO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cblxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJi5vcGVuIHtcbiAgICAgIGNvbG9yOiAkcnVoZS1yZWQ7XG5cbiAgICAgID4gLmluZm8ge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBib3gtc2hhZG93OiAwIDVweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLS43ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zb2NpYWxzLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zb2NpYWxzLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgID4gLmN1c3RvbSB7XG4gICAgICA+IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgID4gLm1vYmlsZXZpcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIlxudGFibGUge1xuICAucm93MCwgLm9kZCxcbiAgOm5vdCh0aGVhZCkgdHI6bnRoLWNoaWxkKG9kZCl7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJ1aGUtbGlnaHRncmV5O1xuICB9XG4gIC5yb3cxLCAuZXZlbixcbiAgOm5vdCh0aGVhZCkgdHI6bnRoLWNoaWxkKGV2ZW4pe1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVoZS1ncmV5LWhvdmVyO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG50YWJsZS5jb2xvcnMge1xuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogZ3JleTtcbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgfVxuICB9XG5cbiAgaDYge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB0aGVhZCB7XG4gICAgZm9udC1zaXplOiAxLjA1ZW07XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICA6Zmlyc3QtbGV0dGVyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIHRyIHtcbiAgICAgID4gdGQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTJweCAxMnB4IDE5cHg7XG4gICAgICAgICYudGV4dC1sZWZ0IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgICYudGV4dC1yaWdodCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5wYWRkaW5nLWxlZnR7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICB9XG4gICAgICAgICYucGFkZGluZy1yaWdodHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgfVxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG4gIH1cbiAgdGJvZHkge1xuXG4gICAgdHIge1xuXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHJ1aGUtZ3JleTtcbiAgICAgID4gdGQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgJi5jb2xvciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLm1pZGRsZSB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICAmLnRleHQtbGVmdCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICAmLnRleHQtcmlnaHQge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYucGFkZGluZy1sZWZ0e1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgfVxuICAgICAgICAmLnBhZGRpbmctcmlnaHR7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLnRvZ2dsZS1jb250ZW50IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubGJsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgdGQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuZGVzYyB7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1sZyAtIDEpIHtcbiAgLm1vYmlsZS10YWJsZS1jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDE3ZW07XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIC5tb2JpbGUtdGFibGUge1xuICAgICAgbWluLXdpZHRoOiA5NDBweDtcbiAgICAgIC50YWJsZXtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogdXJsKFwiL2ltYWdlcy9zd2lwZS13aGl0ZS5zdmdcIik7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICAgIGxlZnQ6IDEwMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMSk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1ZW07XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi10aW1lLWltYWdlLWJveCBlYXNlO1xuXG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn0iLCIuY29tX3dndHJhaWxzLnZpZXctZXZlbnRzIGhyLmNhdC1zZXBhcmF0b3Ige1xuICBtYXJnaW46IDAgMCAxMHB4O1xufVxuXG4jbXlNb2RhbCB7XG4gIC8vb3BhY2l0eTogLjk1O1xuXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zNSk7XG4gIC5tb2RhbC1kaWFsb2cge1xuXG4gICAgdG9wOjMwdmg7XG4gICAgbWF4LXdpZHRoOiAzNzVweDtcbiAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmN2Y1O1xuICB9XG4gIC5tb2RhbC1oZWFkZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMCAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwIDE1cHggMTVweCAxNXB4O1xuICB9XG5cbiAgYnV0dG9uLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gIH1cblxufVxuIiwiLyoqXG4gKiB0aGlzIGlzIGEgZml4IGZvciBJRTExIGFzIHN1Z2dlc3RlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vYXNobGV5ZHcvbGlnaHRib3gvaXNzdWVzLzI3N1xuICovXG4uZWtrby1saWdodGJveCAubW9kYWwtZGlhbG9nIHtcbiAgZmxleDogMTAwJSFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59IiwiLnJvdy50cmlwaW5mbyB7XG5cbiAgLmxvd2VyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRzY3JlZW4tbWQpe1xuICAgIGFsaWduLWNvbnRlbnQ6ZW5kO1xuICB9XG5cbiAgLmluZm9ib3h7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIGF7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgICAgJi5yZWFkbW9yZXtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAmLnRyaXB0aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNmVtO1xuICAgIH1cbiAgfVxuXG4gIGFbaHJlZio9XCJrdW5kZW5yZWlzZW5cIl17XG4gICAgJjpob3ZlciB7XG4gICAgICBocntcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJvdyB7XG4gICAgJi5sb3dlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLWxnKXtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRyaXBpbmZvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDJlbSAwO1xuICAuYm9va2luZy1vbi1ob3ZlcntcbiAgICBvdmVyZmxvdzpoaWRkZW47XG5cbiAgICAmOmhvdmVye1xuICAgICAgLmJvb2tpbmctb3ZlcmxheXtcbiAgICAgICAgbGVmdDowO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaW5mb2JveCB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiRzY3JlZW4tbWQpe1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiRzY3JlZW4tbGcpe1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiRzY3JlZW4teGwpe1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmJvb2tpbmctb3ZlcmxheXtcbiAgICAgIHRyYW5zaXRpb246IGxlZnQgMC41cztcbiAgICAgIGxlZnQ6MTAwJTtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgY29sb3I6I2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JHJ1aGUtcmVkO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDo1cHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIGhyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuZ3JleSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVoZS1saWdodGdyZXk7XG4gICAgfVxuXG4gICAgLnJlZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydWhlLXJlZDtcblxuICAgICAgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cblxuICAgIGkuZmFzIHtcbiAgICAgIHBhZGRpbmc6IDAuNmVtIDAuNWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjRlbTtcblxuICAgICAgJi5mYS1jb2lucyxcbiAgICAgICYuZmEtaW5mby1jaXJjbGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjdlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwLjVyZW0gcmdiYSgwLCAwLCAwLCAuMik7XG4gIH1cblxuICBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGhyLnJlZGhyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLnJlaXNlYmVnbGVpdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVuZGVkIHtcbiAgICBpbWcge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi9pbWFnZXMvcmVpc2UtZHVyY2hnZWZ1ZWhydC5wbmdcIik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMjYwcHg7XG4gICAgICBoZWlnaHQ6IDEyMXB4O1xuICAgICAgbWFyZ2luOiBhdXRvIGF1dG87XG4gICAgfVxuICB9XG5cbiAgLmZ1bGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiB1cmwoXCIvaW1hZ2VzL2F1c2dlYnVjaHQucG5nXCIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFlbTtcbiAgICBsZWZ0OiAtM2VtO1xuICAgIHdpZHRoOiAxOTVweDtcbiAgICBoZWlnaHQ6IDE0MXB4O1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgLjMpKTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRzY3JlZW4tc20pe1xuICAgICAgdG9wOi0xLjMzZW07XG4gICAgICB0cmFuc2Zvcm06c2NhbGUoLjY2KTtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICAucmItbmFtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDowO1xuICAgICAgYm90dG9tOjA7XG4gICAgICBsZWZ0OjA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmItaW1hZ2Uge1xuICAgIHotaW5kZXg6IDA7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDokc2NyZWVuLXNtKXtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAvL21hcmdpbjoxNXB4IGF1dG87IG1hY2h0IHdhcyBrYXB1dHRcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmJlZ2xlaXRlci1wb3J0cmFpdHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIGllIGZpeFxuXG4gIH1cblxufVxuXG4uZmEtY2FsZW5kYXItY2hlY2sge1xuICBwYWRkaW5nOiAwLjZlbSAwLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjRlbTtcbn1cblxuLm1vcmV0cmlwcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMmVtO1xuXG4gIGJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBwYWRkaW5nOiAwIDFlbTtcblxuICAgIGEge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxucC5pbnRyb3RleHQge1xuICBwYWRkaW5nOiAwIDEuM2VtO1xuICBtYXJnaW4tYm90dG9tOiAyLjJlbTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5sb3dlciB7XG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5qbWt1bmRlbnJlaXNlbi1pdGVtIHtcblxuXG4gIGZvcm0ud2dmb3JtcyB7XG4gICAgYS5idG4ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG5cbiAgLmZvbGxvd01lQmFyIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG5cbiAgaW1nLFxuICBpZnJhbWUge1xuICAgICY6bm90KC5pbWctZmx1aWQpLFxuICAgICY6bm90KC5sb2dvKSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgLjVyZW0gcmdiYSgwLCAwLCAwLCAuMik7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlciB7XG4gICAgaW1nIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtd2VpZ2h0OiBpbml0aWFsO1xuICB9XG5cbiAgI2RldGFpbG92ZXJ2aWV3IHtcbiAgICBoMSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAxLjYyNWVtO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIC5rb29wZXJhdGlvbiB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5ybW9yZSB7XG4gICAgICBAaW5jbHVkZSByZWFkLW1vcmUtc2hhZG93KCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvLyBtYXgtaGVpZ3QgZGVmaW5lcyB0aGUgc3RhbmRhcmQgaGVpZ2h0IGlmIHRoZSBjb250ZW50IGlzIGNvbGxhcHNlZFxuICAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDIwMG1zO1xuICAgIH1cblxuICAgIC5yZWFkLW1vcmUsXG4gICAgLnJlYWQtbGVzcyB7XG4gICAgICBjb2xvcjogJHJ1aGUtcmVkO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiAwIDFlbSAxZW07XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNkZXRhaWxuYXYge1xuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRydWhlLWxpZ2h0Z3JleTtcbiAgICB6LWluZGV4OiAxMDtcblxuXG4gICAgLnN1Ym5hdiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVoZS1saWdodGdyZXk7XG4gICAgICBib3gtc2hhZG93OiAwIDhweCAxMHB4IC04cHggcmdiYSgwLCAwLCAwLCAuMyk7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICYuZml4ZWQge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogNTAuMzc1cHg7XG5cbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRydWhlLXJlZDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJHJ1aGUtZ3JleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnfCc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDhweCAxMHB4IDFlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZGF0ZXBhcnQge1xuICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBtYXJnaW4tdG9wOiAzZW07IC8vIHdlZ2VuIHJlYWRtb3JlXG5cbiAgICBpIHtcbiAgICAgICYuZmEtY2FsZW5kYXItY2hlY2sge1xuICAgICAgICBwYWRkaW5nOiAuNmVtIC42NWVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgICYuZmEtdXNlcnMge1xuICAgICAgICBwYWRkaW5nOiAuNmVtIC41ZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgJi5mYS1oYW5kc2hha2Uge1xuICAgICAgICBwYWRkaW5nOiAuNmVtIC41ZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgICYgPiBkaXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBhIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXJnaW46IDVweCBhdXRvO1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5vcm1hbGl6ZSB7XG4gICAgICBjb2xvcjogJHJ1aGUtZ3JleTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG5cbiAgICB9XG5cbiAgICBidXR0b24ucGRmIHtcblxuICAgIH1cbiAgfVxuXG5cbiAgYS5wZGYge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICAucGxhY2Vob2xkZXIge1xuICAgIGhlaWdodDogNTMwcHg7XG4gIH1cblxuICAjZGV0YWlsbWFwcyB7XG4gICAgcGFkZGluZy10b3A6IDEuNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbiAgfVxuXG4gICNkZXRhaWxsZWl0ZXJwaWMge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgIGEge1xuICAgICAgICB3aWR0aDogNDklO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5rb250YWt0ZGF0ZW4ge1xuICAgICAgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEuYnRuLnJlZCB7XG5cbiAgfVxuXG4gIGEge1xuXG4gICAgJi5wZGYge1xuICAgICAgbWFyZ2luOiAyZW0gYXV0bztcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjAxOSc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNWVtO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLm10b3Age1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbiNkZXRhaWxwaWN0dXJlcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luOiAuNWVtO1xuICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5iaWdpbWcge1xuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICBtYXgtaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNkZXRhaWxwcm9ncmFtbSB7XG5cbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgZGl2W2NsYXNzKj1cImRheS1cIl0ge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGl2LnByb2dyYW10ZXh0IHtcblxuICAgIHAuaW5kZW50IHtcblxuICAgICAgcGFkZGluZy1sZWZ0OjUwcHg7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcblxuICAgICAgYntcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuXG4gIH1cblxufVxuXG4uY29udGFpbmVyIHtcbiAgJi5wcmljZXRhZyB7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5kZXRhaWxwcmljZSB7XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydWhlLXJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB6LWluZGV4OiAxMTtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IC4yZW0gLjhlbTtcbiAgICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICB0cmFuc2l0aW9uOiByaWdodCAuMnMgZWFzZTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTNweDtcbiAgICAgICAgd2lkdGg6IDQzcHg7XG4gICAgICAgIGhlaWdodDogNjhweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL3ByaWNlLWxlZnQucG5nKTtcbiAgICAgICAgbGVmdDogLTQ2cHg7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvcHJpY2UtcmlnaHQucG5nKTtcbiAgICAgICAgcmlnaHQ6IC00NnB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDUwcHg7XG4gICAgICAgIGJvdHRvbTogLTU1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kZXRhaWxiYW5uZXJ0ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogLjg7XG4gIGNvbG9yOiAkcnVoZS1yZWQ7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG5cbiAgcGFkZGluZzogLjVlbSAuOGVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA2NCU7XG4gIHRvcDogMjMuNSU7XG4gIG1heC13aWR0aDogMTFlbTtcbiAgei1pbmRleDogMTE7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggLTVweCByZ2JhKDAsIDAsIDAsIC41KTtcbn1cblxuI2RldGFpbG5hdiArIC5mb2xsb3dXcmFwIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmZvbGxvd1dyYXAge1xuICBtaW4taGVpZ2h0OiA1MC4zNzVweDtcbiAgbWFyZ2luLXRvcDogMmVtO1xufVxuXG4uZm9sbG93TWVCYXIge1xuICB6LWluZGV4OiAyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVoZS1saWdodGdyZXk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgfVxuXG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTE0MHB4O1xuXG4gICYuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDkzLjc1cHg7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMTBweCAtOHB4IHJnYmEoMCwgMCwgMCwgLjMpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgJi5maXhlZC5hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJiN1ZWJlcnNpY2h0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbmhyIHtcbiAgJiNzeXN0ZW0tcmVhZG1vcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmRldGFpbGRyb3Bkb3duIHtcbiAgY29sb3I6ICRydWhlLWdyZXk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gIC5tb3JlLWluZm9zLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgaGVpZ2h0OiAkYnRuV2lkdGg7XG4gICAgd2lkdGg6ICRidG5XaWR0aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVoZS1ncmV5O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMmVtO1xuXG5cbiAgICAgIGxlZnQ6ICRidG5QYWRkaW5nO1xuICAgICAgdG9wOiAkYnRuUGFyYWxsZWxMaW5lUGFkZGluZztcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2U7XG5cbiAgICAgICYucGx1c0xpbmVIb3Jpem9udGFsIHtcbiAgICAgICAgd2lkdGg6ICRwbHVzSG9yaXpvbnRhbFdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRwbHVzSG9yaXpvbnRhbEhlaWdodDtcbiAgICAgIH1cblxuICAgICAgJi5wbHVzTGluZVZlcnRpY2FsIHtcbiAgICAgICAgaGVpZ2h0OiAkcGx1c0hvcml6b250YWxXaWR0aDtcbiAgICAgICAgd2lkdGg6ICRwbHVzSG9yaXpvbnRhbEhlaWdodDtcbiAgICAgICAgdG9wOiAkYnRuUGFkZGluZztcbiAgICAgICAgbGVmdDogJGJ0blBhcmFsbGVsTGluZVBhZGRpbmc7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIH1cblxuICAgICYudHJhbnNmb3JtZWQge1xuICAgICAgc3BhbiB7XG4gICAgICAgICYucGx1c0xpbmVWZXJ0aWNhbCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kZXRhaWxsZWlzdHVuZ2VuIHtcblxuICAmLmluY2x1c2l2ZSxcbiAgJi5leGNsdXNpdmUsXG4gICYubm90ZSB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaW5jbHVzaXZlIHtcbiAgICB1bCB7XG5cbiAgICAgIGxpIHtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNTgnO1xuICAgICAgICAgIGNvbG9yOiAjNEJCNTQzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5leGNsdXNpdmUge1xuICAgIHVsIHtcblxuICAgICAgbGkge1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcZjA1Nyc7XG4gICAgICAgICAgY29sb3I6ICRydWhlLXJlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubm90ZSB7XG4gICAgdWwge1xuXG4gICAgICBsaSB7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFxmMDZhJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVlbTtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogLjVlbTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcblxuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gIG1hcmdpbi1sZWZ0OiAyLjVweDtcbn1cblxuIiwiQG1peGluIHJlYWQtbW9yZS1zaGFkb3coKSB7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggLTEwcHggMTBweCAtMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwcHggLTEwcHggMTBweCAtMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0xMHB4IDEwcHggLTJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gIH1cbiAgJlthcmlhLWV4cGFuZGVkPXRydWVdOjpiZWZvcmUge1xuICAgIGhlaWdodDogMDtcbiAgfVxufVxuXG5cbkBtaXhpbiBhbmNob3Itc2Nyb2xsLWZpeCgkYW1vdW50KXtcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICAvKipcbiAgICAgKiB0aGUgbmVnYXRpdmUgbWFyZ2luLXRvcCBhbmQgaGVpZ2h0IHZhbHVlIGFyZSBjYWxjdWxhdGVkIGJ5IHRoZVxuICAgICAqIC5yb3cucmVpc2ViZWdsZWl0ZXIncyBwYWRkaW5nLXRvcCwgdGhlIHByZWNlZWRpbmcgaHIncyBtYXJnaW4tYm90dG9tIHBpeGVsIHZhbHVlXG4gICAgICogYW5kIHRoZSAuaGVhZGVyJ3MgaGVpZ2h0LiBrZWVwIGluIG1pbmQgYXMgc29vbiBhcyB5b3Ugc2Nyb2xsIGRvd24sIHRoZSAuaGVhZGVyIHNocmlua3MuXG4gICAgICogcmlnaHQgbm93IHRoYXQgZXF1YWxzIHRvIHJvdWdobHkgNDRweCBmb3IgdGhlIC5oZWFkZXIgYW5kIDMycHggY29tYmluZWQgZm9yIHRoZSAucm93J3MgZWxlbWVudHMuXG4gICAgICovXG4gICAgbWFyZ2luLXRvcDogLSRhbW91bnQ7XG4gICAgaGVpZ2h0OiAkYW1vdW50O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufSIsIi5qbXJlaXNlYmVnbGVpdGVyIHtcblxuICAuaXRlbS1wYWdle1xuICAgIC5jb250YWluZXIgPiAucm93e1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG5cbiAgICAuY29sLW1kLTYge1xuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5yb3cucmVpc2ViZWdsZWl0ZXIge1xuXG4gICAgICAuYm9yZGVyZWQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiRzY3JlZW4tbGcpe1xuICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgaW1ne1xuICAgICAgICAgICAgd2lkdGg6NDklO1xuICAgICAgICAgIH1cbiAgICAgICAgICAua29udGFrdGRhdGVue1xuICAgICAgICAgICAgd2lkdGg6NDklO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGFuY2hvci1zY3JvbGwtZml4KDc2cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOjE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDEsIGgyIHtcbiAgICBjb2xvcjogJHJ1aGUtcmVkO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cblxuLmJvcmRlcmVkIHtcbiAgbWFyZ2luOiAxLjVlbSBhdXRvIDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjVyZW0gcmdiYSgwLCAwLCAwLCAuMik7XG4gIHdpZHRoOjEwMCU7XG4gIGltZ3tcbiAgICB3aWR0aDoxMDAlO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JHNjcmVlbi1sZyl7XG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiRzY3JlZW4tbWQpe1xuICAgIGltZ3tcbiAgICAgIHdpZHRoOjQ5JTtcbiAgICB9XG4gIH1cblxuICAua29udGFrdGRhdGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGg1IHtcbiAgICAgIC8vZm9udC1zaXplOiAxZW07XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgIH1cbiAgICBzcGFuLmludHJve1xuICAgICAgcG9zaXRpb246c3RhdGljO1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206MTVweDtcbiAgICB9XG4gICAgLnBob25lLFxuICAgIC5waG9uZW0sXG4gICAgLm1haWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuM2VtO1xuICAgIH1cblxuICAgIC5waG9uZSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA5NVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5waG9uZW0ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYzY2RcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBwYWRkaW5nOiAwIC42NWVtIDAgLjNlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjFkOFwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNTVlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBtYXJnaW46MTBweCAwO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JHNjcmVlbi1sZyl7XG4gICAgICB3aWR0aDo0OSU7XG4gICAgICBhe1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuXG4gICAgc3BhbiB7XG4gICAgICAmLmludHJvIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgYXtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBpbWd7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuXG4iLCIuam11ZWJlci11bnMge1xuICAudWViZXItdW5zIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0ZW07XG5cbiAgICAucnVoZW91dCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVoZS1yZWQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn0iLCIuZXJyb3JzaWRlIHtcbiAgaW1nIHtcbiAgICBtYXJnaW4tdG9wOiAxMGVtO1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIH1cblxuICBwLFxuICBhIHtcbiAgICBmb250LXNpemU6IDEuNmVtO1xuICB9XG59XG5cbmEge1xuICAmLmxpbmtidXR0b24ge1xuICAgICYuYnRuIHtcbiAgICAgIG1hcmdpbjogMWVtO1xuICAgICAgcGFkZGluZzogMC4zZW0gMWVtO1xuXG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydWhlLXJlZDtcbiAgICB9XG4gIH1cbn1cblxuLm5vdHJhbnNpdGlvbiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgLW1zLXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgLW8tdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIud2dmb3JtcyAuZm9ybS1ncm91cCA+IGxhYmVsLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBoZWlnaHQ6IDEzcHg7XG4gIHdpZHRoOiAxM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDI2cHg7XG59XG5cbi53Z2Zvcm1zIC5mb3JtLWdyb3VwID4gbGFiZWwuY2hlY2tib3hbZm9yPXByaXZhY3ldIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nLXJpZ2h0OiAyNnB4O1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbi5oYXMtZXJyb3IgLmNoZWNrYm94LCAuaGFzLWVycm9yIC5jaGVja2JveC1pbmxpbmUsIC5oYXMtZXJyb3IgLmNvbnRyb2wtbGFiZWwsIC5oYXMtZXJyb3IgLmhlbHAtYmxvY2ssIC5oYXMtZXJyb3IgLnJhZGlvLCAuaGFzLWVycm9yIC5yYWRpby1pbmxpbmUsIC5oYXMtZXJyb3IuY2hlY2tib3ggbGFiZWwsIC5oYXMtZXJyb3IuY2hlY2tib3gtaW5saW5lIGxhYmVsLCAuaGFzLWVycm9yLnJhZGlvIGxhYmVsLCAuaGFzLWVycm9yLnJhZGlvLWlubGluZSBsYWJlbCB7XG4gIGNvbG9yOiAjYTk0NDQyO1xufVxuXG4ud2dmb3JtcyAuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sIC53Z2Zvcm1zIC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0sIC53Z2Zvcm1zIC5yYWRpbyBpbnB1dFt0eXBlPXJhZGlvXSwgLndnZm9ybXMgLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sIC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0sIC5yYWRpbyBpbnB1dFt0eXBlPXJhZGlvXSwgLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xufVxuXG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICNhOTQ0NDI7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpO1xufVxuXG4uaGFzLWVycm9yIHtcbiAgaW5wdXQsXG4gIHRleHRhcmVhLFxuICBzZWxlY3Qge1xuICAgICYgKyBpLmZvcm0tY29udHJvbC1mZWVkYmFja3tcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMi42ZW07XG4gICAgICByaWdodDogMS41ZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLmJ0bi1zdWJtaXQge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuXG4ud2dmb3JtcyB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmZvcm0tY29udHJvbCB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZmllbGQtY2FsZW5kYXIge1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAuaW5wdXQtYXBwZW5kIHtcbiAgICAgIGlucHV0IHtcblxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhZGRpbmc6IDZweCAxMnB4IDZweCAxMnB4O1xuXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuXG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ1aGUtcmVkO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1jYWxlbmRhciB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgdGFibGUudGFibGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiA3cHggMXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAmLnNlbGVjdGVkLFxuICAgICAgICAgICYuZGF5OmhvdmVyLFxuICAgICAgICAgICYudG9kYXk6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ1aGUtcmVkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYudGltZSB7XG4gICAgICAgICAgICAmLnRpbWUtdGl0bGUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDE3JztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRydWhlLXJlZDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5ob3Vycy1zZWxlY3QsXG4gICAgICAgICAgICAmLm1pbnV0ZXMtc2VsZWN0IHtcbiAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9ucy13cmFwcGVyLmJ0bi1ncm91cCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRydWhlLXJlZDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgJiArIGJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAuYnV0dG9ucyB7XG4gICAgLmZvcm0tZ3JvdXAge1xuXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAmLmJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiB7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgfVxuXG4gICAgICBidXR0b24ge1xuICAgICAgICAmLmJ0bixcbiAgICAgICAgLmJ0biA+ICYge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNDUwbXM7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzLGJhY2tncm91bmQgLjNzO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDNweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAmLnJlZCB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydWhlLXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5ncmV5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydWhlLWxpZ2h0Z3JleTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydWhlLWdyZXktaG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwO1xuICAgICAgICAgICAgb3V0bGluZTogLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIGF1dG8gNXB4O1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICAmICsgaS5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIuNGVtO1xuICAgIHJpZ2h0OiAxZW07XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlLCAuZmEtd2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MVwiO1xufVxuXG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBjb2xvcjogJHJ1aGUtcmVkO1xufVxuXG4ucHJlLWZvb3RlcntcbiAgbWFyZ2luOiAxcmVtIDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuam1rb250YWt0IHtcbiAgICAubWFpbiB7XG4gICAgICBwYWRkaW5nLXRvcDogNDRweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi5idG4uZ3JleSB7XG4gICAgY29sb3I6IHJnYig4NywgODcsIDg3KTtcbn0iLCIud2dmb3Jtcy5ib29raW5nIHtcblxuICBtYXJnaW4tdG9wOiAyZW07XG4gIGxhYmVsOm5vdChbZm9yPVwiXCJdKXtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLnJlaXNlYmVnbGVpdGVyIHtcbiAgICBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICB9XG4gIH1cblxuXG4gIC5yb3cge1xuICAgIC8vIHRoZXNlIGFyZSBmb3IgcmVtb3Zpbmcgc3BhY2VzIGJldHdlZW4gbm90ZXMgYW5kIGFjdHVhbCBmaWVsZHMuXG4gICAgLy8gd2UncmUga2luZCBvZiBmYWtpbmcgbGFiZWxzIGhlcmVcbiAgICAmLmFnYntcbiAgICAgIDpudGgtY2hpbGQoMSl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cbiAgICAgIC5mb3JtLWNvbnRyb2x7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cblxuICAgICAgbGFiZWwuY2hlY2tib3gge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgICAgICYgKyAuZmEtd2FybmluZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFkZGl0aW9uYWwge1xuICAgICAgOm50aC1jaGlsZCgyKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuXG4gICAgICA6bnRoLWNoaWxkKDQpe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJvdyB7XG5cblxuICAgICYuZ3VpZGVkIGEuYnRuIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgICYudHJpcF9kYXRhIHtcblxuICAgICAgI3RyaXBfZGF0YV9ldmVudF9zZWxlY3Rpb24tbGJsLm5vdGUge1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgZW0ge1xuXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAmIH4gc3BhbiB7XG4gICAgICAgICAgcGFkZGluZzogN3B4IDEzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYuYXR0ZW5kZWUge1xuXG4gICAgICBwYWRkaW5nOiAwLjVlbSAwO1xuXG4gICAgICAucmVtYXJrcyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgfVxuXG4gICAgICAuYnRuOmFjdGl2ZXtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJiArIC5yb3cuYXR0ZW5kZWUge1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYXR0ZW5kZWVze1xuXG4gICAgICAmID4gLmZvcm0tZ3JvdXAge1xuICAgICAgICAmID4gbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1sZykgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teGwgLSAxKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4teGwpe1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhhcy1lcnJvcjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcXGYwNzFcIjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICBjb2xvcjogJGZhbHNlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMTdweDtcbiAgICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgICAgICAgICAvLyBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGZvciBjb3ZlcmluZ1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1vZi10eXBlKDkpIHtcbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICfigqwnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDE5cHg7XG4gICAgICAgICAgICBib3R0b206IDZweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtb2YtdHlwZSgxMCkge1xuICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmctcmlnaHQgJHRyYW5zaXRpb24tdGltZS1ub3JtYWwgZWFzZTtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgLy9pdCBuZWVkcyB0aGlzIHJ1bGUtYmxvY2ssIHRvIGRpc3BsYXkgdGhlIHRyYW5zaXRpb24tZWZmZWN0IGNvcnJlY3RseVxuICAgICAgICAgICAgY29udGVudDogXCJcXGYwNzFcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgICAgIC8vXG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMThweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCByaWdodCAwLjVzIGVhc2UsIGNvbG9yIDAuNXMgZWFzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmhhcy1lcnJvciB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0bi5hZGQge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYucHJpdmFjeSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB9XG4gIH1cblxuICAjc3VtX2Nvc3RzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOjA7XG4gICAgICBsZWZ0OiA1cHg7XG4gICAgICByaWdodDo1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVoZS1ncmV5IDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgIH1cblxuICAgIDpmaXJzdC1jaGlsZHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14bCAtIDEpe1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIGRpdiB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgfVxuXG4gIH1cblxuICAuYnRuLWdyb3VwIHtcbiAgICAuYnRuIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0IHtcbiAgICAmOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkge1xuXG4gICAgICAvL2JhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgJHdoaXRlIDUwJSwgcmVkIDUwJSksIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGdyZWVuIDUwJSwgJHdoaXRlIDUwJSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHdoaXRlLCAkd2hpdGUpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAkd2hpdGUgNTAlLCAkYmxhY2sgNTAlKSwgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJGJsYWNrIDUwJSwgJHdoaXRlIDUwJSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHdoaXRlLCAkd2hpdGUpO1xuICAgICAgLy9iYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxMXB4KSBjYWxjKDFlbSArIDJweCksIGNhbGMoMTAwJSAtIDZweCkgY2FsYygxZW0gKyAycHgpLCAwIDA7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxMXB4KSBjYWxjKDFlbSArIDJweCksIGNhbGMoMTAwJSAtIDZweCkgY2FsYygxZW0gKyAycHgpLCAwIDA7XG4gICAgICAvL2JhY2tncm91bmQtc2l6ZTogNXB4IDVweCwgNXB4IDVweCwgMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweCwgNXB4IDVweCwgMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIHBhZGRpbmc6IDZweCAyMnB4IDZweCAxMnB4O1xuICB9XG5cbiAgLmJ0biB7XG5cbiAgICAmLmFkZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29ycmVjdDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgJjpob3ZlcixcbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29ycmVjdC1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmVkaXQge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuXG4gICAgICBjb2xvcjogJHJ1aGUtZ3JleS1ob3ZlcjtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiAkcnVoZS1ncmV5LWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYucmVtb3ZlIHtcbiAgICAgIGNvbG9yOiAkZmFsc2U7XG4gICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogJGZhbHNlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idG4tYWRkQXR0ZW5kZWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA3cHg7XG4gIH1cblxuICBsYWJlbCB7XG4gICAgLy93aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJltmb3I9XCJhZ2JfY2hlY2tib3hfYWNjZXB0XCJdIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAucmFkaW8ge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICBsZWZ0OiAyNXB4XG4gICAgfVxuICB9XG5cbiAgdGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gIH1cblxuICAuc2VjdGlvbi1kaXZpZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuXG4gICAgZW0ge1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBwYWRkaW5nOiAwIDFlbTtcblxuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuXG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDoxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydWhlLWdyZXk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gdG9kbzogZmluZCBvdXQgYSBiZXR0ZXIgdG9wLXBvc2l0aW9uXG4gICAgICAgIHRvcDogY2FsYyg1MCUgKyA3cHgpO1xuICAgICAgICBsZWZ0OjI1JTtcbiAgICAgICAgcmlnaHQ6MjUlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIHNwYW4gPiBiIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICBsYWJlbFtmb3I9XCJhZ2JfY2hlY2tib3hfYWNjZXB0XCJde1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICAgIGl7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbiAgbGFiZWxbZm9yPVwicHJpdmFjeV9jaGVja2JveF9hY2NlcHRcIl17XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gICAgaXtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gICNwcml2YWN5X25vdGVfMDEtZGVzY3tcbiAgICBmb250LXNpemU6MTJweDtcbiAgICBsaW5lLWhlaWdodDoxLjI7XG4gIH1cblxuICAjYWdiX2NoZWNrYm94X2FjY2VwdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgfVxuXG4gICNhdHRlbmRlZXNfdGV4dF9wcmljZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuZmllbGRzZXQtZ3JvdXB7XG4gICAgJi5idXR0b25zIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgfVxuICAgICYuYWdiIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpe1xuICAgIC5yb3cuYXR0ZW5kZWUgc3BhbntcblxuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAucm93LmF0dGVuZGVlIHNwYW46YmVmb3Jle1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICBsZWZ0OjA7XG4gICAgfVxuICB9XG5cbiAgLypcbiAgc3BlY2lmaWMgcnVsZXMgZm9yIHRoZSBGb3JtIG9uIHRoZSBkZXRhaWxzLXN1YnBhZ2VcbiAqL1xuXG4gIC8vIG5vdCB0aGUgYm9va2luZy1mb3JtIG9uIHRoZSBkZXRhaWwtc3VicGFnZVxuICBkaXY6bm90KCNkZXRhaWxmb3JtdWxhcikgPiAmIHtcbiAgICAvL21hcmdpbi10b3A6IDJlbTtcbiAgfVxuXG4gICNkZXRhaWxmb3JtdWxhciA+ICYge1xuICAgIGgxLFxuICAgIGgxICsgaHIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAjdHJpcF9kYXRhX3RyaXBfc2VsZWN0aW9uLWxibCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICN0cmlwX2RhdGFfdHJpcF9zZWxlY3Rpb24ge1xuICAgICAgLy8gZm9yIElFIHRvIGNoYW5nZSAnY29sb3InIGFuZCBoaWRlIHRoZSBkcm9wLWRvd24tYXJyb3dcbiAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBmb250LXdlaWdodDogaW5pdGlhbDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgY29sb3I6ICNlMzAwMGI7XG4gICAgICBiYWNrZ3JvdW5kOiAwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7IC8vIGZvciBjaHJvbWUsIHRvIGNlbnRlciB0aGUgc2VsZWN0ZWQgb3B0aW9uXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHdpZHRoOmF1dG87XG4gICAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICAgIG1hcmdpbjogMjBweCBhdXRvIDEwcHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgb3B0aW9ue1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MzYxcHgpe1xuICAgICAgICBmb250LXNpemU6MS4xcmVtO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIuZWtrby1saWdodGJveCB7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuXG4gIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlXG4gIH1cbn1cblxuLmVra28tbGlnaHRib3gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlXG59XG5cbi5la2tvLWxpZ2h0Ym94LWNvbnRhaW5lcj5kaXYuZWtrby1saWdodGJveC1pdGVtIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlXG59XG5cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4XG59XG5cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGEge1xuICAtbXMtZmxleDogMTtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAzMHB4O1xuICB6LWluZGV4OiAxXG59XG5cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGE+KiB7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICBmbGV4LWdyb3c6IDFcbn1cblxuLmVra28tbGlnaHRib3gtbmF2LW92ZXJsYXkgYT46Zm9jdXMge1xuICBvdXRsaW5lOiBub25lXG59XG5cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGEgc3BhbiB7XG4gIHBhZGRpbmc6IDAgMzBweFxufVxuXG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhOmxhc3QtY2hpbGQgc3BhbiB7XG4gIHRleHQtYWxpZ246IHJpZ2h0XG59XG5cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmVcbn1cblxuLmVra28tbGlnaHRib3gtbmF2LW92ZXJsYXkgYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmVcbn1cblxuLmVra28tbGlnaHRib3gtbmF2LW92ZXJsYXkgYS5kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuXG59XG5cbi5la2tvLWxpZ2h0Ym94IGE6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmVcbn1cblxuLmVra28tbGlnaHRib3ggLm1vZGFsLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cblxuLmVra28tbGlnaHRib3ggLm1vZGFsLWZvb3RlciB7XG4gIHRleHQtYWxpZ246IGxlZnRcbn1cblxuLmVra28tbGlnaHRib3gtbG9hZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXJcbn1cblxuLmVra28tbGlnaHRib3gtbG9hZGVyPmRpdiB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyXG59XG5cbi5la2tvLWxpZ2h0Ym94LWxvYWRlcj5kaXY+ZGl2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBvcGFjaXR5OiAuNjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGFuaW1hdGlvbjogYSAycyBpbmZpbml0ZSBlYXNlLWluLW91dFxufVxuXG4uZWtrby1saWdodGJveC1sb2FkZXI+ZGl2PmRpdjpsYXN0LWNoaWxkIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMXNcbn1cblxuLm1vZGFsLWRpYWxvZyAuZWtrby1saWdodGJveC1sb2FkZXI+ZGl2PmRpdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzNcbn1cblxuQGtleWZyYW1lcyBhIHtcbiAgMCUsXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKVxuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKVxuICB9XG5cbn1cbiJdfQ== */
