.barRoot {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: space-evenly; }

.monthLabel {
  font-size: 2rem;
  width: 15%;
  float: left; }

.yearLabel {
  font-size: 2rem;
  width: 10%;
  float: left; }

.progressBarOuter {
  width: 70%;
  height: 25px;
  border: 1px solid black;
  border-radius: 10px;
  float: right;
  clear: both; }

.progressBarInner {
  background-color: #add8e6;
  height: 100%;
  border-radius: 10px; }

.wallet {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  font-size: 3rem; }

.marketingMinigame {
  width: 100%;
  height: 100%; }

.balancingMinigame {
  width: 100%;
  height: 100%; }

.balanceScale {
  background-color: #add8e6;
  height: 20px;
  width: 100%;
  border-radius: 5px;
  margin-top: 8rem; }

.balanceActual {
  background-color: red;
  border-radius: 5px;
  position: relative;
  height: 20px;
  width: 10px; }

.balanceTarget {
  background-color: green;
  position: relative;
  border-radius: 5px;
  height: 20px;
  width: 10px;
  top: -20px; }

.btn {
  padding: 5px;
  margin: 5px;
  cursor: pointer; }

.designMinigame {
  height: 100%;
  width: 100%; }

.design-shape-red {
  filter: invert(12%) sepia(75%) saturate(7297%) hue-rotate(1deg) brightness(106%) contrast(117%); }

.design-shape-orange {
  filter: invert(44%) sepia(90%) saturate(1154%) hue-rotate(1deg) brightness(104%) contrast(105%); }

.design-shape-yellow {
  filter: invert(95%) sepia(76%) saturate(1692%) hue-rotate(355deg) brightness(105%) contrast(109%); }

.design-shape-green {
  filter: invert(62%) sepia(47%) saturate(5531%) hue-rotate(85deg) brightness(120%) contrast(124%); }

.design-shape-blue {
  filter: invert(8%) sepia(100%) saturate(7410%) hue-rotate(248deg) brightness(100%) contrast(143%); }

.design-shape-purple {
  filter: invert(11%) sepia(100%) saturate(5465%) hue-rotate(273deg) brightness(103%) contrast(125%); }

.designButtons {
  display: flex;
  flex-wrap: wrap;
  width: 60%;
  justify-content: space-between;
  margin: 50px auto; }
  .designButtons button {
    flex: 0 50%;
    height: 40px;
    margin-bottom: 10px;
    cursor: pointer; }

.bugfixingLanes {
  width: 90%;
  padding-left: 40px; }
  .bugfixingLanes img {
    float: left;
    margin-right: 5px;
    position: relative;
    left: -40px; }
  .bugfixingLanes .lane {
    position: relative;
    height: 20px;
    border-top: 1px solid #add8e6;
    border-bottom: 1px dashed #add8e6;
    margin-bottom: 20px; }
    .bugfixingLanes .lane .bug {
      height: 20px;
      width: 30px;
      position: absolute;
      background-color: red;
      background-size: 30px 20px;
      background-repeat: no-repeat; }

.locked {
  display: flex;
  align-items: center;
  height: 100%;
  flex-flow: column;
  justify-content: center; }

.eoyreport {
  margin: 2rem; }

.startNewYearBtn {
  border: 1px solid #add8e6;
  margin: 1rem;
  padding: 1rem;
  border-radius: 5px; }
  .startNewYearBtn:hover {
    cursor: pointer;
    background-color: #18414e; }

svg {
  margin: 0 auto;
  width: 100%;
  margin-top: 1rem; }

.prestige-upgrade-text {
  display: inline-block;
  font-size: 12px;
  color: #000000;
  line-height: 1.2;
  pointer-events: none;
  white-space: normal;
  word-wrap: normal; }

.prestige-upgrade-parent {
  box-sizing: border-box;
  font-size: 0;
  text-align: center; }

.prestige-upgrade-container {
  display: flex;
  align-items: unsafe center;
  justify-content: unsafe center;
  width: 78px;
  height: 1px; }

path {
  fill: #add8e6 !important;
  stroke: #add8e6 !important; }

ellipse {
  fill: #add8e6; }

ellipse:hover {
  fill: #2c701d; }

ellipse.prestige-upgrade-bought {
  fill: #4bdb2e; }

ellipse.prestige-upgrade-locked {
  fill: #2460e2; }

@font-face {
  font-family: WhiteRabbit;
  src: url(e4562896c1de13dd4ab7e83067680837.woff) format("woff"); }

* {
  font-family: WhiteRabbit, serif;
  color: #add8e6;
  margin: 0;
  padding: 0; }

/*
 * part of the style based on http://js13kgames.com/entries/lost-in-cyberspace
 */
body {
  background: #02110a; }

#menu {
  display: flex;
  align-items: center;
  height: 50px;
  cursor: pointer; }
  #menu .nav {
    flex-grow: 1;
    text-align: center;
    letter-spacing: 2px; }
  #menu .activeNav {
    text-decoration: underline; }

.hiddenPanel {
  display: none; }

.activePanel {
  display: block; }

#jobsPanel {
  display: flex;
  margin: 0 25px;
  flex-wrap: wrap;
  justify-content: space-between; }
  #jobsPanel .minigame {
    flex: 0 50%;
    margin-bottom: 10px;
    height: 400px;
    border: 1px solid #add8e6; }

a.btn {
  text-decoration: none;
  cursor: pointer;
  border-bottom: 1px solid #add8e6; }

.minigameProgress {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 5px; }

.minigameTask {
  width: 60%;
  float: left;
  text-align: center; }

.minigameUpgrades {
  width: 40%;
  float: right;
  text-align: center;
  overflow: auto;
  height: 80%; }

.upgrade {
  border: 1px solid #add8e6; }

.upgrade.upgrade-bought {
  background-color: #2b748c; }

.upgrade:hover {
  cursor: pointer;
  background-color: #18414e; }

/* The emerging W3C standard
   that is currently Firefox-only */
* {
  scrollbar-width: thin;
  scrollbar-color: blue orange; }

/* Works on Chrome/Edge/Safari */
*::-webkit-scrollbar {
  width: 10px; }

*::-webkit-scrollbar-track {
  background: #042013; }

*::-webkit-scrollbar-thumb {
  background-color: #add8e6; }

/* flicker animation taken from http://goonhub.com/secret */
.flicker {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(18, 16, 16, 0.2);
  opacity: 0;
  z-index: 1000;
  pointer-events: none;
  animation: flicker 10s infinite; }

@keyframes flicker {
  0% {
    opacity: 0.552; }
  5% {
    opacity: 0.48287; }
  10% {
    opacity: 0.59134; }
  15.0% {
    opacity: 0.79543; }
  20% {
    opacity: 0.75134; }
  25% {
    opacity: 0.1956; }
  30.0% {
    opacity: 0.90687; }
  35% {
    opacity: 0.122; }
  40% {
    opacity: 0.62254; }
  45% {
    opacity: 0.56977; }
  50% {
    opacity: 0.9925; }
  55.0% {
    opacity: 0.55487; }
  60.0% {
    opacity: 0.16607; }
  65% {
    opacity: 0.12353; }
  70% {
    opacity: 0.2214; }
  75% {
    opacity: 0.67908; }
  80% {
    opacity: 0.97163; }
  85.0% {
    opacity: 0.1275; }
  90% {
    opacity: 0.37186; }
  95% {
    opacity: 0.24475; }
  100% {
    opacity: 0.37221; } }

/* glow */
.terminal {
  text-shadow: 0 0.2rem 1rem #0c7b46; }

/* based on
https://blog.carbonfive.com/2015/01/07/vintage-terminal-effect-in-css3/
*/
.scanlines {
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.2) 70%, rgba(0, 0, 0, 0.6));
  background-size: 100% .13rem;
  position: fixed;
  pointer-events: none; }

.scanlines:before {
  position: absolute;
  top: 0px;
  width: 100%;
  height: 5px;
  background: #fff;
  background: linear-gradient(to bottom, rgba(255, 0, 0, 0) 0%, snow 50%, rgba(255, 255, 255, 0.98) 51%, rgba(255, 0, 0, 0) 100%);
  /* W3C */
  opacity: .1; }

.scanlines:after {
  box-shadow: 0 2px 6px rgba(25, 25, 25, 0.2), inset 0 1px rgba(50, 50, 50, 0.1), inset 0 3px rgba(50, 50, 50, 0.05), inset 0 3px 8px rgba(64, 64, 64, 0.05), inset 0 -5px 10px rgba(25, 25, 25, 0.1); }

#term:focus-within + .scanlines:before {
  content: '';
  animation: vline calc(var(--time, 2) * 1s) linear infinite; }

/*
* MS Edge don't support focus-within and css vars
* inside pseudo selector
*/
@supports (-ms-ime-align: auto) {
  .scanlines:before {
    content: '';
    animation: vline 3s linear infinite; } }

@keyframes vline {
  to {
    transform: translate(0, 100vh); } }

/* turn off animation */
.tv {
  height: 100vh;
  position: relative; }

.tv.collapse {
  animation: size 2s ease-out;
  animation-fill-mode: forwards; }

.tv.collapse:before {
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background: white;
  z-index: 1;
  opacity: 0;
  animation: opacity 2s ease-out;
  animation-fill-mode: forwards; }

@keyframes opacity {
  to {
    opacity: 1; } }

@keyframes size {
  50% {
    transform: scaleX(calc(1 / var(--width)));
    opacity: 1; }
  98% {
    transform: scaleX(calc(1 / var(--width))) scaleY(calc(1 / var(--height)));
    opacity: 1; }
  100% {
    transform: scaleX(calc(1 / var(--width))) scaleY(calc(1 / var(--height)));
    opacity: 0; } }

.customModal {
  width: 50%;
  left: 25%;
  top: 25%;
  text-align: center;
  height: auto;
  background-color: #02110a;
  position: absolute;
  z-index: 1000000;
  border-radius: 5px;
  border: 1px solid #add8e6;
  padding: 1rem;
  padding-top: 2rem;
  display: none; }
  .customModal h2 {
    font-family: WhiteRabbit, serif; }
  .customModal button {
    padding: 1rem;
    border: 1px solid #add8e6;
    border-radius: 5px;
    cursor: pointer;
    margin-top: 2rem;
    margin-bottom: 2rem; }

#settingsPanel {
  width: 60%;
  margin: 0 auto;
  margin-top: 20px;
  text-align: center; }
  #settingsPanel table, #settingsPanel tbody, #settingsPanel tr, #settingsPanel th, #settingsPanel thead {
    background-color: transparent !important;
    text-align: center; }
  #settingsPanel button {
    padding: 2rem;
    border: 1px solid #add8e6;
    border-radius: 5px; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvZmVhdHVyZXMveWVhcnRyYWNrZXIveWVhclRyYWNrZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvaW5kZXguc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvZmVhdHVyZXMvd2FsbGV0L3dhbGxldC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9mZWF0dXJlcy9taW5pZ2FtZXMvbWFya2V0aW5nL21hcmtldGluZy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9mZWF0dXJlcy9taW5pZ2FtZXMvYmFsYW5jaW5nL2JhbGFuY2luZy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9mZWF0dXJlcy9taW5pZ2FtZXMvZGVzaWduL2Rlc2lnbi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9mZWF0dXJlcy9taW5pZ2FtZXMvYnVnZml4aW5nL2J1Z0ZpeGluZy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9mZWF0dXJlcy9taW5pZ2FtZXMvbG9ja2VkL2xvY2tlZC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9mZWF0dXJlcy9taW5pZ2FtZXMvRW5kT2ZZZWFyUmVwb3J0L0VuZE9mWWVhclJlcG9ydC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9mZWF0dXJlcy9wcmVzdGlnZS9wcmVzdGlnZS5zY3NzIiwid2VicGFjazovLy9pbmRleC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksYUFBYTtFQUNiLFlBQVc7RUFDWCxtQkFBbUI7RUFDbkIsNkJBQTZCOztBQUdqQztFQUNJLGVBQWM7RUFDZCxVQUFTO0VBQ1QsV0FBVTs7QUFHZDtFQUNJLGVBQWM7RUFDZCxVQUFTO0VBQ1QsV0FBVTs7QUFLZDtFQUNJLFVBQVM7RUFDVCxZQUFXO0VBQ1gsdUJBQXNCO0VBQ3RCLG1CQUFtQjtFQUNuQixZQUFXO0VBQ1gsV0FBVTs7QUFHZDtFQUNJLHlCQzlCc0I7RUQrQnRCLFlBQVc7RUFFWCxtQkFBa0I7O0FFbEN0QjtFQUNJLFlBQVc7RUFDWCxhQUFZ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LCJzb3VyY2VzQ29udGVudCI6WyIuYmFyUm9vdHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDoxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG59XG5cbi5tb250aExhYmVsIHtcbiAgICBmb250LXNpemU6MnJlbTtcbiAgICB3aWR0aDoxNSU7XG4gICAgZmxvYXQ6bGVmdDtcbn1cblxuLnllYXJMYWJlbCB7XG4gICAgZm9udC1zaXplOjJyZW07XG4gICAgd2lkdGg6MTAlO1xuICAgIGZsb2F0OmxlZnQ7XG59XG5cblxuXG4ucHJvZ3Jlc3NCYXJPdXRlciB7XG4gICAgd2lkdGg6NzAlO1xuICAgIGhlaWdodDoyNXB4O1xuICAgIGJvcmRlcjoxcHggc29saWQgYmxhY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBmbG9hdDpyaWdodDtcbiAgICBjbGVhcjpib3RoO1xufVxuXG4ucHJvZ3Jlc3NCYXJJbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzQmFyQ29sb3I7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgLy8gdHJhbnNpdGlvbjogd2lkdGggLjNzO1xuICAgIGJvcmRlci1yYWRpdXM6MTBweDtcbn1cblxuIiwiJHRleHRDb2xvck1haW46ICNhZGQ4ZTY7XG4kcHJvZ3Jlc3NCYXJDb2xvcjogI2FkZDhlNjtcbiRob3ZlckNvbG9yOiAjMTg0MTRlO1xuJGJvdWdodENvbG9yOiAjMmI3NDhjO1xuJGRlZmF1bHRCYWNrZ3JvdW5kOiAjMDIxMTBhO1xuXG5AaW1wb3J0ICdmZWF0dXJlcy95ZWFydHJhY2tlci95ZWFyVHJhY2tlci5zY3NzJztcbkBpbXBvcnQgJ2ZlYXR1cmVzL3dhbGxldC93YWxsZXQuc2Nzcyc7XG5AaW1wb3J0ICdmZWF0dXJlcy9taW5pZ2FtZXMvbWFya2V0aW5nL21hcmtldGluZy5zY3NzJztcbkBpbXBvcnQgJ2ZlYXR1cmVzL21pbmlnYW1lcy9iYWxhbmNpbmcvYmFsYW5jaW5nLnNjc3MnO1xuQGltcG9ydCAnZmVhdHVyZXMvbWluaWdhbWVzL2Rlc2lnbi9kZXNpZ24uc2Nzcyc7XG5AaW1wb3J0ICdmZWF0dXJlcy9taW5pZ2FtZXMvYnVnZml4aW5nL2J1Z0ZpeGluZy5zY3NzJztcbkBpbXBvcnQgJ2ZlYXR1cmVzL21pbmlnYW1lcy9sb2NrZWQvbG9ja2VkLnNjc3MnO1xuQGltcG9ydCAnZmVhdHVyZXMvbWluaWdhbWVzL0VuZE9mWWVhclJlcG9ydC9FbmRPZlllYXJSZXBvcnQuc2Nzcyc7XG5AaW1wb3J0ICdmZWF0dXJlcy9wcmVzdGlnZS9wcmVzdGlnZS5zY3NzJztcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBXaGl0ZVJhYmJpdDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL3doaXRyYWJ0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuKiB7XG4gIGZvbnQtZmFtaWx5OiBXaGl0ZVJhYmJpdCwgc2VyaWY7XG4gIGNvbG9yOiAkdGV4dENvbG9yTWFpbjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogcGFydCBvZiB0aGUgc3R5bGUgYmFzZWQgb24gaHR0cDovL2pzMTNrZ2FtZXMuY29tL2VudHJpZXMvbG9zdC1pbi1jeWJlcnNwYWNlXG4gKi9cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAkZGVmYXVsdEJhY2tncm91bmQ7XG59XG5cblxuI21lbnUge1xuXG4gIGRpc3BsYXk6ZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OjUwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmIC5uYXYge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgfVxuXG4gICYgLmFjdGl2ZU5hdiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuXG4uaGlkZGVuUGFuZWwge1xuICBkaXNwbGF5Om5vbmU7XG59XG4uYWN0aXZlUGFuZWwge1xuICBkaXNwbGF5OmJsb2NrO1xufVxuXG4jam9ic1BhbmVsIHtcbiAgZGlzcGxheTpmbGV4O1xuICBtYXJnaW46MCAyNXB4O1xuICBmbGV4LXdyYXA6d3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICYgLm1pbmlnYW1lIHtcbiAgICBmbGV4OiAwIDUwJTtcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBib3JkZXI6MXB4IHNvbGlkICRwcm9ncmVzc0JhckNvbG9yO1xuICB9XG59XG5cblxuLy9idXR0b24gc3R5bGluZ1xuXG5hLmJ0biB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRleHRDb2xvck1haW47XG59XG5cblxuLm1pbmlnYW1lUHJvZ3Jlc3Mge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZToycmVtO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5taW5pZ2FtZVRhc2sge1xuICB3aWR0aDo2MCU7XG4gIGZsb2F0OmxlZnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1pbmlnYW1lVXBncmFkZXMge1xuICB3aWR0aDo0MCU7XG4gIGZsb2F0OnJpZ2h0O1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgLy8gVE9ETyhAQmFpbmUpIG1ha2UgcHJldHR5IHBsc1xuICBvdmVyZmxvdzphdXRvO1xuICBoZWlnaHQ6ODAlO1xufVxuXG4udXBncmFkZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0ZXh0Q29sb3JNYWluO1xufVxuXG4udXBncmFkZS51cGdyYWRlLWJvdWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib3VnaHRDb2xvcjtcbn1cblxuLnVwZ3JhZGU6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRob3ZlckNvbG9yO1xufVxuXG5cbi8vZm9yIHNjcm9sbGJhcnNcblxuLyogVGhlIGVtZXJnaW5nIFczQyBzdGFuZGFyZFxuICAgdGhhdCBpcyBjdXJyZW50bHkgRmlyZWZveC1vbmx5ICovXG4gICAqIHtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiBibHVlIG9yYW5nZTtcbiAgfVxuXG4gIC8qIFdvcmtzIG9uIENocm9tZS9FZGdlL1NhZmFyaSAqL1xuICAqOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDEwcHg7XG4gIH1cbiAgKjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICMwNDIwMTM7XG4gIH1cbiAgKjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzc0JhckNvbG9yO1xuICB9XG5cblxuLyogZmxpY2tlciBhbmltYXRpb24gdGFrZW4gZnJvbSBodHRwOi8vZ29vbmh1Yi5jb20vc2VjcmV0ICovXG4uZmxpY2tlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE4LCAxNiwgMTYsIDAuMik7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBhbmltYXRpb246IGZsaWNrZXIgMTBzIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGZsaWNrZXIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMC41NTI7XG4gIH1cblxuICA1JSB7XG4gICAgb3BhY2l0eTogMC40ODI4NztcbiAgfVxuXG4gIDEwJSB7XG4gICAgb3BhY2l0eTogMC41OTEzNDtcbiAgfVxuXG4gIDE1LjAlIHtcbiAgICBvcGFjaXR5OiAwLjc5NTQzO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAwLjc1MTM0O1xuICB9XG5cbiAgMjUlIHtcbiAgICBvcGFjaXR5OiAwLjE5NTY7XG4gIH1cblxuICAzMC4wJSB7XG4gICAgb3BhY2l0eTogMC45MDY4NztcbiAgfVxuXG4gIDM1JSB7XG4gICAgb3BhY2l0eTogMC4xMjI7XG4gIH1cblxuICA0MCUge1xuICAgIG9wYWNpdHk6IDAuNjIyNTQ7XG4gIH1cblxuICA0NSUge1xuICAgIG9wYWNpdHk6IDAuNTY5Nzc7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuOTkyNTtcbiAgfVxuXG4gIDU1LjAlIHtcbiAgICBvcGFjaXR5OiAwLjU1NDg3O1xuICB9XG5cbiAgNjAuMCUge1xuICAgIG9wYWNpdHk6IDAuMTY2MDc7XG4gIH1cblxuICA2NSUge1xuICAgIG9wYWNpdHk6IDAuMTIzNTM7XG4gIH1cblxuICA3MCUge1xuICAgIG9wYWNpdHk6IDAuMjIxNDtcbiAgfVxuXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMC42NzkwODtcbiAgfVxuXG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMC45NzE2MztcbiAgfVxuXG4gIDg1LjAlIHtcbiAgICBvcGFjaXR5OiAwLjEyNzU7XG4gIH1cblxuICA5MCUge1xuICAgIG9wYWNpdHk6IDAuMzcxODY7XG4gIH1cblxuICA5NSUge1xuICAgIG9wYWNpdHk6IDAuMjQ0NzU7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjM3MjIxO1xuICB9XG59XG5cbi8qIGdsb3cgKi9cbi50ZXJtaW5hbCB7XG4gIHRleHQtc2hhZG93OiAwIDAuMnJlbSAxcmVtICMwYzdiNDY7XG59XG5cbi8qIGJhc2VkIG9uXG5odHRwczovL2Jsb2cuY2FyYm9uZml2ZS5jb20vMjAxNS8wMS8wNy92aW50YWdlLXRlcm1pbmFsLWVmZmVjdC1pbi1jc3MzL1xuKi9cbi5zY2FubGluZXMge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sXG4gICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA1MCUsXG4gICAgICByZ2JhKDAsIDAsIDAsIC4yKSA3MCUsXG4gICAgICByZ2JhKDAsIDAsIDAsIC42KSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAuMTNyZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zY2FubGluZXM6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLFxuICAgICAgcmdiYSgyNTUsIDAsIDAsIDApIDAlLFxuICAgICAgcmdiYSgyNTUsIDI1MCwgMjUwLCAxKSA1MCUsXG4gICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTgpIDUxJSxcbiAgICAgIHJnYmEoMjU1LCAwLCAwLCAwKSAxMDAlKTtcbiAgLyogVzNDICovXG4gIG9wYWNpdHk6IC4xO1xufVxuXG4uc2NhbmxpbmVzOmFmdGVyIHtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMjUsIDI1LCAyNSwgMC4yKSxcbiAgICBpbnNldCAwIDFweCByZ2JhKDUwLCA1MCwgNTAsIDAuMSksXG4gICAgaW5zZXQgMCAzcHggcmdiYSg1MCwgNTAsIDUwLCAwLjA1KSxcbiAgICBpbnNldCAwIDNweCA4cHggcmdiYSg2NCwgNjQsIDY0LCAwLjA1KSxcbiAgICBpbnNldCAwIC01cHggMTBweCByZ2JhKDI1LCAyNSwgMjUsIDAuMSk7XG59XG5cbiN0ZXJtOmZvY3VzLXdpdGhpbisuc2NhbmxpbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBhbmltYXRpb246IHZsaW5lIGNhbGModmFyKC0tdGltZSwgMikgKiAxcykgbGluZWFyIGluZmluaXRlO1xufVxuXG4vKlxuKiBNUyBFZGdlIGRvbid0IHN1cHBvcnQgZm9jdXMtd2l0aGluIGFuZCBjc3MgdmFyc1xuKiBpbnNpZGUgcHNldWRvIHNlbGVjdG9yXG4qL1xuQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOmF1dG8pIHtcbiAgLnNjYW5saW5lczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGFuaW1hdGlvbjogdmxpbmUgM3MgbGluZWFyIGluZmluaXRlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdmxpbmUge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwdmgpXG4gIH1cbn1cblxuLyogdHVybiBvZmYgYW5pbWF0aW9uICovXG4udHYge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50di5jb2xsYXBzZSB7XG4gIGFuaW1hdGlvbjogc2l6ZSAycyBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG59XG5cbi50di5jb2xsYXBzZTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IG9wYWNpdHkgMnMgZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIG9wYWNpdHkge1xuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNpemUge1xuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKGNhbGMoMSAvIHZhcigtLXdpZHRoKSkpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA5OCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKGNhbGMoMSAvIHZhcigtLXdpZHRoKSkpIHNjYWxlWShjYWxjKDEgLyB2YXIoLS1oZWlnaHQpKSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKGNhbGMoMSAvIHZhcigtLXdpZHRoKSkpIHNjYWxlWShjYWxjKDEgLyB2YXIoLS1oZWlnaHQpKSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLy8gbW9kYWwgc3R5bGluZ1xuXG4uY3VzdG9tTW9kYWwge1xuICB3aWR0aDogNTAlO1xuICBsZWZ0OiAyNSU7XG4gIHRvcDoyNSU7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICBoZWlnaHQ6YXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjojMDIxMTBhO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDAwMDA7XG4gIGJvcmRlci1yYWRpdXM6NXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkcHJvZ3Jlc3NCYXJDb2xvcjtcbiAgcGFkZGluZzoxcmVtO1xuICBwYWRkaW5nLXRvcDoycmVtO1xuICBkaXNwbGF5Om5vbmU7XG5cbiAgJiBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFdoaXRlUmFiYml0LCBzZXJpZjtcbiAgfVxuXG4gICYgYnV0dG9uIHtcbiAgICBwYWRkaW5nOjFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHByb2dyZXNzQmFyQ29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIG1hcmdpbi10b3A6MnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOjJyZW07XG4gIH1cbn1cblxuLy9zZXR0aW5ncyBwYW5lbCBzdHlsaW5nXG5cbiNzZXR0aW5nc1BhbmVsIHtcbiAgd2lkdGg6NjAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDoyMHB4O1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgXG4gICYgdGFibGUsdGJvZHksdHIsdGgsdGhlYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBidXR0b24ge1xuICAgIHBhZGRpbmc6MnJlbTtcbiAgICBib3JkZXI6MXB4IHNvbGlkICRwcm9ncmVzc0JhckNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgfVxuXG59IiwiLndhbGxldCB7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgZm9udC1zaXplOjNyZW07XG59IiwiLm1hcmtldGluZ01pbmlnYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59IiwiLmJhbGFuY2luZ01pbmlnYW1lIHtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDoxMDAlO1xufVxuXG4uYmFsYW5jZVNjYWxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiRwcm9ncmVzc0JhckNvbG9yO1xuICAgIGhlaWdodDoyMHB4O1xuICAgIHdpZHRoOjEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIG1hcmdpbi10b3A6OHJlbTtcbn1cblxuLmJhbGFuY2VBY3R1YWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6cmVkO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OjIwcHg7XG4gICAgd2lkdGg6MTBweDtcbn1cbi5iYWxhbmNlVGFyZ2V0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOmdyZWVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOjVweDtcbiAgICBoZWlnaHQ6MjBweDtcbiAgICB3aWR0aDoxMHB4O1xuICAgIHRvcDotMjBweDtcbn1cblxuLmJ0biB7XG4gICAgcGFkZGluZzo1cHg7XG4gICAgbWFyZ2luOjVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4iLCIvLyBGaWx0ZXJzIGdlbmVyYXRlZCB1c2luZyBodHRwczovL2NvZGVwZW4uaW8vc29zdWtlL3Blbi9Qam9xcXBcblxuXG4uZGVzaWduTWluaWdhbWV7XG4gIGhlaWdodDoxMDAlO1xuICB3aWR0aDoxMDAlO1xufVxuXG4uZGVzaWduLXNoYXBlLXJlZCB7XG4gIGZpbHRlcjogaW52ZXJ0KDEyJSkgc2VwaWEoNzUlKSBzYXR1cmF0ZSg3Mjk3JSkgaHVlLXJvdGF0ZSgxZGVnKSBicmlnaHRuZXNzKDEwNiUpIGNvbnRyYXN0KDExNyUpO1xufVxuXG4uZGVzaWduLXNoYXBlLW9yYW5nZSB7XG4gIGZpbHRlcjogaW52ZXJ0KDQ0JSkgc2VwaWEoOTAlKSBzYXR1cmF0ZSgxMTU0JSkgaHVlLXJvdGF0ZSgxZGVnKSBicmlnaHRuZXNzKDEwNCUpIGNvbnRyYXN0KDEwNSUpO1xufVxuXG4uZGVzaWduLXNoYXBlLXllbGxvdyB7XG4gIGZpbHRlcjogaW52ZXJ0KDk1JSkgc2VwaWEoNzYlKSBzYXR1cmF0ZSgxNjkyJSkgaHVlLXJvdGF0ZSgzNTVkZWcpIGJyaWdodG5lc3MoMTA1JSkgY29udHJhc3QoMTA5JSk7XG59XG5cbi5kZXNpZ24tc2hhcGUtZ3JlZW4ge1xuICBmaWx0ZXI6IGludmVydCg2MiUpIHNlcGlhKDQ3JSkgc2F0dXJhdGUoNTUzMSUpIGh1ZS1yb3RhdGUoODVkZWcpIGJyaWdodG5lc3MoMTIwJSkgY29udHJhc3QoMTI0JSk7XG59XG5cbi5kZXNpZ24tc2hhcGUtYmx1ZSB7XG4gIGZpbHRlcjogaW52ZXJ0KDglKSBzZXBpYSgxMDAlKSBzYXR1cmF0ZSg3NDEwJSkgaHVlLXJvdGF0ZSgyNDhkZWcpIGJyaWdodG5lc3MoMTAwJSkgY29udHJhc3QoMTQzJSk7XG59XG5cbi5kZXNpZ24tc2hhcGUtcHVycGxlIHtcbiAgZmlsdGVyOiBpbnZlcnQoMTElKSBzZXBpYSgxMDAlKSBzYXR1cmF0ZSg1NDY1JSkgaHVlLXJvdGF0ZSgyNzNkZWcpIGJyaWdodG5lc3MoMTAzJSkgY29udHJhc3QoMTI1JSk7XG59XG5cblxuLmRlc2lnbkJ1dHRvbnN7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDYwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46NTBweCBhdXRvO1xuXG4gICYgYnV0dG9uIHtcbiAgICBmbGV4OiAwIDUwJTtcbiAgICBoZWlnaHQ6NDBweDtcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gIH1cbn1cbiIsIi5idWdmaXhpbmdMYW5lcyB7XG4gICAgd2lkdGg6OTAlO1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcblxuICAgICYgaW1nIHtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0Oi00MHB4O1xuICAgIH1cblxuICAgICYgLmxhbmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDoyMHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHByb2dyZXNzQmFyQ29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJHByb2dyZXNzQmFyQ29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MjBweDtcblxuICAgICAgICAmIC5idWcge1xuICAgICAgICAgICAgaGVpZ2h0OjIwcHg7XG4gICAgICAgICAgICB3aWR0aDozMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOjMwcHggMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5sb2NrZWQge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgZmxleC1mbG93OmNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn0iLCIuZW95cmVwb3J0IHtcbiAgICBtYXJnaW46IDJyZW07XG59XG5cbi5zdGFydE5ld1llYXJCdG4ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcm9ncmVzc0JhckNvbG9yO1xuICAgIG1hcmdpbjogMXJlbTtcbiAgICBwYWRkaW5nOjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICY6aG92ZXJ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE4NDE0ZTtcbiAgICB9XG59XG4iLCJzdmcge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5wcmVzdGlnZS11cGdyYWRlLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuLnByZXN0aWdlLXVwZ3JhZGUtcGFyZW50IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcmVzdGlnZS11cGdyYWRlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7XG4gIHdpZHRoOiA3OHB4O1xuICBoZWlnaHQ6IDFweDtcbn1cblxucGF0aCB7XG4gIGZpbGw6ICRwcm9ncmVzc0JhckNvbG9yICFpbXBvcnRhbnQ7XG4gIHN0cm9rZTogJHByb2dyZXNzQmFyQ29sb3IgIWltcG9ydGFudDtcbn1cblxuXG5lbGxpcHNlIHtcbiAgZmlsbDogJHRleHRDb2xvck1haW47XG59XG5cbmVsbGlwc2U6aG92ZXIge1xuICBmaWxsOiAjMmM3MDFkO1xufVxuXG5lbGxpcHNlLnByZXN0aWdlLXVwZ3JhZGUtYm91Z2h0IHtcbiAgZmlsbDogIzRiZGIyZTtcbn1cblxuZWxsaXBzZS5wcmVzdGlnZS11cGdyYWRlLWxvY2tlZCB7XG4gIGZpbGw6ICMyNDYwZTI7XG59XG4iLCIuYmFyUm9vdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cblxuLm1vbnRoTGFiZWwge1xuICBmb250LXNpemU6IDJyZW07XG4gIHdpZHRoOiAxNSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi55ZWFyTGFiZWwge1xuICBmb250LXNpemU6IDJyZW07XG4gIHdpZHRoOiAxMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5wcm9ncmVzc0Jhck91dGVyIHtcbiAgd2lkdGg6IDcwJTtcbiAgaGVpZ2h0OiAyNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjbGVhcjogYm90aDsgfVxuXG4ucHJvZ3Jlc3NCYXJJbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZGQ4ZTY7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4ud2FsbGV0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgZm9udC1zaXplOiAzcmVtOyB9XG5cbi5tYXJrZXRpbmdNaW5pZ2FtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmJhbGFuY2luZ01pbmlnYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uYmFsYW5jZVNjYWxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FkZDhlNjtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBtYXJnaW4tdG9wOiA4cmVtOyB9XG5cbi5iYWxhbmNlQWN0dWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMTBweDsgfVxuXG4uYmFsYW5jZVRhcmdldCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMTBweDtcbiAgdG9wOiAtMjBweDsgfVxuXG4uYnRuIHtcbiAgcGFkZGluZzogNXB4O1xuICBtYXJnaW46IDVweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5kZXNpZ25NaW5pZ2FtZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmRlc2lnbi1zaGFwZS1yZWQge1xuICBmaWx0ZXI6IGludmVydCgxMiUpIHNlcGlhKDc1JSkgc2F0dXJhdGUoNzI5NyUpIGh1ZS1yb3RhdGUoMWRlZykgYnJpZ2h0bmVzcygxMDYlKSBjb250cmFzdCgxMTclKTsgfVxuXG4uZGVzaWduLXNoYXBlLW9yYW5nZSB7XG4gIGZpbHRlcjogaW52ZXJ0KDQ0JSkgc2VwaWEoOTAlKSBzYXR1cmF0ZSgxMTU0JSkgaHVlLXJvdGF0ZSgxZGVnKSBicmlnaHRuZXNzKDEwNCUpIGNvbnRyYXN0KDEwNSUpOyB9XG5cbi5kZXNpZ24tc2hhcGUteWVsbG93IHtcbiAgZmlsdGVyOiBpbnZlcnQoOTUlKSBzZXBpYSg3NiUpIHNhdHVyYXRlKDE2OTIlKSBodWUtcm90YXRlKDM1NWRlZykgYnJpZ2h0bmVzcygxMDUlKSBjb250cmFzdCgxMDklKTsgfVxuXG4uZGVzaWduLXNoYXBlLWdyZWVuIHtcbiAgZmlsdGVyOiBpbnZlcnQoNjIlKSBzZXBpYSg0NyUpIHNhdHVyYXRlKDU1MzElKSBodWUtcm90YXRlKDg1ZGVnKSBicmlnaHRuZXNzKDEyMCUpIGNvbnRyYXN0KDEyNCUpOyB9XG5cbi5kZXNpZ24tc2hhcGUtYmx1ZSB7XG4gIGZpbHRlcjogaW52ZXJ0KDglKSBzZXBpYSgxMDAlKSBzYXR1cmF0ZSg3NDEwJSkgaHVlLXJvdGF0ZSgyNDhkZWcpIGJyaWdodG5lc3MoMTAwJSkgY29udHJhc3QoMTQzJSk7IH1cblxuLmRlc2lnbi1zaGFwZS1wdXJwbGUge1xuICBmaWx0ZXI6IGludmVydCgxMSUpIHNlcGlhKDEwMCUpIHNhdHVyYXRlKDU0NjUlKSBodWUtcm90YXRlKDI3M2RlZykgYnJpZ2h0bmVzcygxMDMlKSBjb250cmFzdCgxMjUlKTsgfVxuXG4uZGVzaWduQnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDYwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDUwcHggYXV0bzsgfVxuICAuZGVzaWduQnV0dG9ucyBidXR0b24ge1xuICAgIGZsZXg6IDAgNTAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uYnVnZml4aW5nTGFuZXMge1xuICB3aWR0aDogOTAlO1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cbiAgLmJ1Z2ZpeGluZ0xhbmVzIGltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MHB4OyB9XG4gIC5idWdmaXhpbmdMYW5lcyAubGFuZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2FkZDhlNjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNhZGQ4ZTY7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIC5idWdmaXhpbmdMYW5lcyAubGFuZSAuYnVnIHtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzMHB4IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5sb2NrZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uZW95cmVwb3J0IHtcbiAgbWFyZ2luOiAycmVtOyB9XG5cbi5zdGFydE5ld1llYXJCdG4ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWRkOGU2O1xuICBtYXJnaW46IDFyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAuc3RhcnROZXdZZWFyQnRuOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE4NDE0ZTsgfVxuXG5zdmcge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLnByZXN0aWdlLXVwZ3JhZGUtdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsOyB9XG5cbi5wcmVzdGlnZS11cGdyYWRlLXBhcmVudCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wcmVzdGlnZS11cGdyYWRlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7XG4gIHdpZHRoOiA3OHB4O1xuICBoZWlnaHQ6IDFweDsgfVxuXG5wYXRoIHtcbiAgZmlsbDogI2FkZDhlNiAhaW1wb3J0YW50O1xuICBzdHJva2U6ICNhZGQ4ZTYgIWltcG9ydGFudDsgfVxuXG5lbGxpcHNlIHtcbiAgZmlsbDogI2FkZDhlNjsgfVxuXG5lbGxpcHNlOmhvdmVyIHtcbiAgZmlsbDogIzJjNzAxZDsgfVxuXG5lbGxpcHNlLnByZXN0aWdlLXVwZ3JhZGUtYm91Z2h0IHtcbiAgZmlsbDogIzRiZGIyZTsgfVxuXG5lbGxpcHNlLnByZXN0aWdlLXVwZ3JhZGUtbG9ja2VkIHtcbiAgZmlsbDogIzI0NjBlMjsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFdoaXRlUmFiYml0O1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3doaXRyYWJ0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG4qIHtcbiAgZm9udC1mYW1pbHk6IFdoaXRlUmFiYml0LCBzZXJpZjtcbiAgY29sb3I6ICNhZGQ4ZTY7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKlxuICogcGFydCBvZiB0aGUgc3R5bGUgYmFzZWQgb24gaHR0cDovL2pzMTNrZ2FtZXMuY29tL2VudHJpZXMvbG9zdC1pbi1jeWJlcnNwYWNlXG4gKi9cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjMDIxMTBhOyB9XG5cbiNtZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA1MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgI21lbnUgLm5hdiB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4OyB9XG4gICNtZW51IC5hY3RpdmVOYXYge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5oaWRkZW5QYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFjdGl2ZVBhbmVsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI2pvYnNQYW5lbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMCAyNXB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAjam9ic1BhbmVsIC5taW5pZ2FtZSB7XG4gICAgZmxleDogMCA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZGQ4ZTY7IH1cblxuYS5idG4ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZGQ4ZTY7IH1cblxuLm1pbmlnYW1lUHJvZ3Jlc3Mge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5taW5pZ2FtZVRhc2sge1xuICB3aWR0aDogNjAlO1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5taW5pZ2FtZVVwZ3JhZGVzIHtcbiAgd2lkdGg6IDQwJTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBoZWlnaHQ6IDgwJTsgfVxuXG4udXBncmFkZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZGQ4ZTY7IH1cblxuLnVwZ3JhZGUudXBncmFkZS1ib3VnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI3NDhjOyB9XG5cbi51cGdyYWRlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTg0MTRlOyB9XG5cbi8qIFRoZSBlbWVyZ2luZyBXM0Mgc3RhbmRhcmRcbiAgIHRoYXQgaXMgY3VycmVudGx5IEZpcmVmb3gtb25seSAqL1xuKiB7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiBibHVlIG9yYW5nZTsgfVxuXG4vKiBXb3JrcyBvbiBDaHJvbWUvRWRnZS9TYWZhcmkgKi9cbio6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDEwcHg7IH1cblxuKjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjMDQyMDEzOyB9XG5cbio6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FkZDhlNjsgfVxuXG4vKiBmbGlja2VyIGFuaW1hdGlvbiB0YWtlbiBmcm9tIGh0dHA6Ly9nb29uaHViLmNvbS9zZWNyZXQgKi9cbi5mbGlja2VyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTgsIDE2LCAxNiwgMC4yKTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGFuaW1hdGlvbjogZmxpY2tlciAxMHMgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBmbGlja2VyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuNTUyOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAwLjQ4Mjg3OyB9XG4gIDEwJSB7XG4gICAgb3BhY2l0eTogMC41OTEzNDsgfVxuICAxNS4wJSB7XG4gICAgb3BhY2l0eTogMC43OTU0MzsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDAuNzUxMzQ7IH1cbiAgMjUlIHtcbiAgICBvcGFjaXR5OiAwLjE5NTY7IH1cbiAgMzAuMCUge1xuICAgIG9wYWNpdHk6IDAuOTA2ODc7IH1cbiAgMzUlIHtcbiAgICBvcGFjaXR5OiAwLjEyMjsgfVxuICA0MCUge1xuICAgIG9wYWNpdHk6IDAuNjIyNTQ7IH1cbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAwLjU2OTc3OyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC45OTI1OyB9XG4gIDU1LjAlIHtcbiAgICBvcGFjaXR5OiAwLjU1NDg3OyB9XG4gIDYwLjAlIHtcbiAgICBvcGFjaXR5OiAwLjE2NjA3OyB9XG4gIDY1JSB7XG4gICAgb3BhY2l0eTogMC4xMjM1MzsgfVxuICA3MCUge1xuICAgIG9wYWNpdHk6IDAuMjIxNDsgfVxuICA3NSUge1xuICAgIG9wYWNpdHk6IDAuNjc5MDg7IH1cbiAgODAlIHtcbiAgICBvcGFjaXR5OiAwLjk3MTYzOyB9XG4gIDg1LjAlIHtcbiAgICBvcGFjaXR5OiAwLjEyNzU7IH1cbiAgOTAlIHtcbiAgICBvcGFjaXR5OiAwLjM3MTg2OyB9XG4gIDk1JSB7XG4gICAgb3BhY2l0eTogMC4yNDQ3NTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjM3MjIxOyB9IH1cblxuLyogZ2xvdyAqL1xuLnRlcm1pbmFsIHtcbiAgdGV4dC1zaGFkb3c6IDAgMC4ycmVtIDFyZW0gIzBjN2I0NjsgfVxuXG4vKiBiYXNlZCBvblxuaHR0cHM6Ly9ibG9nLmNhcmJvbmZpdmUuY29tLzIwMTUvMDEvMDcvdmludGFnZS10ZXJtaW5hbC1lZmZlY3QtaW4tY3NzMy9cbiovXG4uc2NhbmxpbmVzIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDUwJSwgcmdiYSgwLCAwLCAwLCAwLjIpIDcwJSwgcmdiYSgwLCAwLCAwLCAwLjYpKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIC4xM3JlbTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc2NhbmxpbmVzOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDVweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDAsIDAsIDApIDAlLCBzbm93IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KSA1MSUsIHJnYmEoMjU1LCAwLCAwLCAwKSAxMDAlKTtcbiAgLyogVzNDICovXG4gIG9wYWNpdHk6IC4xOyB9XG5cbi5zY2FubGluZXM6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgyNSwgMjUsIDI1LCAwLjIpLCBpbnNldCAwIDFweCByZ2JhKDUwLCA1MCwgNTAsIDAuMSksIGluc2V0IDAgM3B4IHJnYmEoNTAsIDUwLCA1MCwgMC4wNSksIGluc2V0IDAgM3B4IDhweCByZ2JhKDY0LCA2NCwgNjQsIDAuMDUpLCBpbnNldCAwIC01cHggMTBweCByZ2JhKDI1LCAyNSwgMjUsIDAuMSk7IH1cblxuI3Rlcm06Zm9jdXMtd2l0aGluICsgLnNjYW5saW5lczpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgYW5pbWF0aW9uOiB2bGluZSBjYWxjKHZhcigtLXRpbWUsIDIpICogMXMpIGxpbmVhciBpbmZpbml0ZTsgfVxuXG4vKlxuKiBNUyBFZGdlIGRvbid0IHN1cHBvcnQgZm9jdXMtd2l0aGluIGFuZCBjc3MgdmFyc1xuKiBpbnNpZGUgcHNldWRvIHNlbGVjdG9yXG4qL1xuQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5zY2FubGluZXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBhbmltYXRpb246IHZsaW5lIDNzIGxpbmVhciBpbmZpbml0ZTsgfSB9XG5cbkBrZXlmcmFtZXMgdmxpbmUge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwdmgpOyB9IH1cblxuLyogdHVybiBvZmYgYW5pbWF0aW9uICovXG4udHYge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnR2LmNvbGxhcHNlIHtcbiAgYW5pbWF0aW9uOiBzaXplIDJzIGVhc2Utb3V0O1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuXG4udHYuY29sbGFwc2U6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgei1pbmRleDogMTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiBvcGFjaXR5IDJzIGVhc2Utb3V0O1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuXG5Aa2V5ZnJhbWVzIG9wYWNpdHkge1xuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgc2l6ZSB7XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoY2FsYygxIC8gdmFyKC0td2lkdGgpKSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA5OCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKGNhbGMoMSAvIHZhcigtLXdpZHRoKSkpIHNjYWxlWShjYWxjKDEgLyB2YXIoLS1oZWlnaHQpKSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWChjYWxjKDEgLyB2YXIoLS13aWR0aCkpKSBzY2FsZVkoY2FsYygxIC8gdmFyKC0taGVpZ2h0KSkpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uY3VzdG9tTW9kYWwge1xuICB3aWR0aDogNTAlO1xuICBsZWZ0OiAyNSU7XG4gIHRvcDogMjUlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAyMTEwYTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwMDAwO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZGQ4ZTY7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBhZGRpbmctdG9wOiAycmVtO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5jdXN0b21Nb2RhbCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFdoaXRlUmFiYml0LCBzZXJpZjsgfVxuICAuY3VzdG9tTW9kYWwgYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZGQ4ZTY7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuI3NldHRpbmdzUGFuZWwge1xuICB3aWR0aDogNjAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNzZXR0aW5nc1BhbmVsIHRhYmxlLCAjc2V0dGluZ3NQYW5lbCB0Ym9keSwgI3NldHRpbmdzUGFuZWwgdHIsICNzZXR0aW5nc1BhbmVsIHRoLCAjc2V0dGluZ3NQYW5lbCB0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI3NldHRpbmdzUGFuZWwgYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZGQ4ZTY7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4iXSwic291cmNlUm9vdCI6IiJ9*/