@charset "UTF-8";
/*
@import "https://ifkn.org/themes/custom/cires_bootstrap/css/menu-color";
$bodyHeight: 54px;
$subTitle: block;
$brand: 5px;
$search: 0px;
*/
.sub-title {
  background-color: #FFF;
  display: none;
  clear: both;
}

.navbar-btn {
  margin-top: 0px;
  margin-bottom: 0px;
}

.navbar-brand {
  margin-top: 0px;
  padding-right: 10px;
}

.navbar .logo {
  padding-right: 0px !important;
}

.button.navbar-toggle {
  color: #0b6e5b;
}

.navbar-default .navbar-toggle {
  background-color: #FFF;
  color: #ecf0f1;
}
.navbar-nav {
  padding-top: 10px;
}

#navbar {
  height: 100px;
  padding: 15px;
  background-color: #FFF;
  -webkit-box-shadow: -1px 3px 18px -9px rgb(163, 163, 163);
  box-shadow: -1px 3px 18px -9px rgb(163, 163, 163);
}
#navbar .navbar-toggle .icon-bar {
  color: #0b6e5b !important;
}
#navbar a {
  color: #5a5a5a;
}
#navbar a:hover {
  background-color: #FFF;
  color: #0b6e5b;
}
#navbar a .is-active {
  background-color: #FFF;
  color: #0b6e5b;
}
#navbar a.dropdown-toggle a.is-active {
  background-color: rgb(15.6363636364, 156.3636363636, 129.3553719008);
}
#navbar a.is-active {
  background-color: #FFF;
  color: #0b6e5b;
}
#navbar .navbar-collapse {
  background-color: #FFF;
}
#navbar .dropdown-menu {
  margin-top: 15px;
  background-color: #FFF;
  opacity: 0.9;
  border: none;
  -webkit-box-shadow: -1px 3px 18px -9px rgb(163, 163, 163);
  box-shadow: -1px 3px 18px -9px rgb(163, 163, 163);
}
#navbar .dropdown-menu a:hover {
  background-color: rgb(15.6363636364, 156.3636363636, 129.3553719008);
  color: #FFF;
}
#navbar .input-group {
  max-width: 200px;
  padding-top: 10px;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active,
.navbar-default .navbar-nav > .active {
  background-color: #FFF;
  color: #0b6e5b;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #FFF;
  color: #0b6e5b;
}

.navbar-default .navbar-text {
  color: #FFF !important;
  font-size: 24px;
}

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2017 Daniel Eden
 */
.animated {
  -webkit-animation-duration: 1s;
       -o-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
       -o-animation-fill-mode: both;
          animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
       -o-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
       -o-animation-duration: 2s;
          animation-duration: 2s;
}

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: 0.75s;
       -o-animation-duration: 0.75s;
          animation-duration: 0.75s;
}

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
            transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
            transform: translate3d(0, -4px, 0);
  }
}

@-o-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
       animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -o-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
       animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -o-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
       animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    transform: translate3d(0, -4px, 0);
  }
}

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
         -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
         -o-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
         -o-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
            transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
            transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  -webkit-animation-name: bounce;
       -o-animation-name: bounce;
          animation-name: bounce;
  -webkit-transform-origin: center bottom;
       -o-transform-origin: center bottom;
          transform-origin: center bottom;
}

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}

@-o-keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}

@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  -webkit-animation-name: flash;
       -o-animation-name: flash;
          animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
@-o-keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
.pulse {
  -webkit-animation-name: pulse;
       -o-animation-name: pulse;
          animation-name: pulse;
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}

@-o-keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  -webkit-animation-name: rubberBand;
       -o-animation-name: rubberBand;
          animation-name: rubberBand;
}

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0);
  }
}

@-o-keyframes shake {
  from, to {
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}

@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0);
  }
}
.shake {
  -webkit-animation-name: shake;
       -o-animation-name: shake;
          animation-name: shake;
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
            transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
            transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
            transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
            transform: translateX(2px) rotateY(3deg);
  }
  50% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@-o-keyframes headShake {
  0% {
    -o-transform: translateX(0);
       transform: translateX(0);
  }
  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    -o-transform: translateX(0);
       transform: translateX(0);
  }
}

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
         -o-transform: translateX(0);
            transform: translateX(0);
  }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
            transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
            transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
            transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
            transform: translateX(2px) rotateY(3deg);
  }
  50% {
    -webkit-transform: translateX(0);
         -o-transform: translateX(0);
            transform: translateX(0);
  }
}
.headShake {
  -webkit-animation-timing-function: ease-in-out;
       -o-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
       -o-animation-name: headShake;
          animation-name: headShake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
            transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
            transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
            transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
            transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
}

@-o-keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
            transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
            transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
            transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
            transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  -webkit-transform-origin: top center;
       -o-transform-origin: top center;
          transform-origin: top center;
  -webkit-animation-name: swing;
       -o-animation-name: swing;
          animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
            transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
            transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
            transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}

@-o-keyframes tada {
  from {
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
            transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
            transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
            transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
.tada {
  -webkit-animation-name: tada;
       -o-animation-name: tada;
          animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
            transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
            transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
            transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
            transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
            transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
            transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: none;
            transform: none;
  }
}
@-o-keyframes wobble {
  from {
    -o-transform: none;
       transform: none;
  }
  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -o-transform: none;
       transform: none;
  }
}
@keyframes wobble {
  from {
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
            transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
            transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
            transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
            transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
            transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.wobble {
  -webkit-animation-name: wobble;
       -o-animation-name: wobble;
          animation-name: wobble;
}

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
            transform: none;
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
            transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
            transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
            transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
            transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
            transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
            transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
            transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

@-o-keyframes jello {
  from, 11.1%, to {
    -o-transform: none;
       transform: none;
  }
  22.2% {
    -o-transform: skewX(-12.5deg) skewY(-12.5deg);
       transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -o-transform: skewX(6.25deg) skewY(6.25deg);
       transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -o-transform: skewX(-3.125deg) skewY(-3.125deg);
       transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -o-transform: skewX(1.5625deg) skewY(1.5625deg);
       transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -o-transform: skewX(-0.78125deg) skewY(-0.78125deg);
       transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -o-transform: skewX(0.390625deg) skewY(0.390625deg);
       transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -o-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
       transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
         -o-transform: skewX(-12.5deg) skewY(-12.5deg);
            transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
         -o-transform: skewX(6.25deg) skewY(6.25deg);
            transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
         -o-transform: skewX(-3.125deg) skewY(-3.125deg);
            transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
         -o-transform: skewX(1.5625deg) skewY(1.5625deg);
            transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
         -o-transform: skewX(-0.78125deg) skewY(-0.78125deg);
            transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
         -o-transform: skewX(0.390625deg) skewY(0.390625deg);
            transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
         -o-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
            transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  -webkit-animation-name: jello;
       -o-animation-name: jello;
          animation-name: jello;
  -webkit-transform-origin: center;
       -o-transform-origin: center;
          transform-origin: center;
}

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
            transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
            transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}

@-o-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
       animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
         -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
            transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
            transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
.bounceIn {
  -webkit-animation-name: bounceIn;
       -o-animation-name: bounceIn;
          animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
            transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
            transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
            transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: none;
            transform: none;
  }
}

@-o-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
       animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    -o-transform: none;
       transform: none;
  }
}

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
         -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
            transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
            transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
            transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
       -o-animation-name: bounceInDown;
          animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
            transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
            transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
            transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: none;
            transform: none;
  }
}

@-o-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
       animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    -o-transform: none;
       transform: none;
  }
}

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
         -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
            transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
            transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
            transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
       -o-animation-name: bounceInLeft;
          animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
            transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
            transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
            transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: none;
            transform: none;
  }
}

@-o-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
       animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -o-transform: none;
       transform: none;
  }
}

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
         -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
            transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
            transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
            transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.bounceInRight {
  -webkit-animation-name: bounceInRight;
       -o-animation-name: bounceInRight;
          animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
            transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
            transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@-o-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
       animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
         -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
            transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
            transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  -webkit-animation-name: bounceInUp;
       -o-animation-name: bounceInUp;
          animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
}

@-o-keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  -webkit-animation-name: bounceOut;
       -o-animation-name: bounceOut;
          animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0);
  }
}

@-o-keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
       -o-animation-name: bounceOutDown;
          animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
            transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0);
  }
}

@-o-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
            transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
       -o-animation-name: bounceOutLeft;
          animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
            transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0);
  }
}

@-o-keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
            transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
       -o-animation-name: bounceOutRight;
          animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0);
  }
}

@-o-keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
       -o-animation-name: bounceOutUp;
          animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-o-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
       -o-animation-name: fadeIn;
          animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@-o-keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -o-transform: none;
       transform: none;
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
       -o-animation-name: fadeInDown;
          animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@-o-keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -o-transform: none;
       transform: none;
  }
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
       -o-animation-name: fadeInDownBig;
          animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@-o-keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -o-transform: none;
       transform: none;
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
       -o-animation-name: fadeInLeft;
          animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@-o-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -o-transform: none;
       transform: none;
  }
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
       -o-animation-name: fadeInLeftBig;
          animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@-o-keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -o-transform: none;
       transform: none;
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
       -o-animation-name: fadeInRight;
          animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@-o-keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -o-transform: none;
       transform: none;
  }
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
       -o-animation-name: fadeInRightBig;
          animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@-o-keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -o-transform: none;
       transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
       -o-animation-name: fadeInUp;
          animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@-o-keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -o-transform: none;
       transform: none;
  }
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
       -o-animation-name: fadeInUpBig;
          animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@-o-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
       -o-animation-name: fadeOut;
          animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
}

@-o-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
       -o-animation-name: fadeOutDown;
          animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0);
  }
}

@-o-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
       -o-animation-name: fadeOutDownBig;
          animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@-o-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
       -o-animation-name: fadeOutLeft;
          animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0);
  }
}

@-o-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
       -o-animation-name: fadeOutLeftBig;
          animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
}

@-o-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
       -o-animation-name: fadeOutRight;
          animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0);
  }
}

@-o-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
       -o-animation-name: fadeOutRightBig;
          animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
}

@-o-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
       -o-animation-name: fadeOutUp;
          animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0);
  }
}

@-o-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
       -o-animation-name: fadeOutUpBig;
          animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
            transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
            transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
            transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
}

@-o-keyframes flip {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -o-animation-timing-function: ease-out;
       animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -o-animation-timing-function: ease-out;
       animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -o-animation-timing-function: ease-in;
       animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -o-animation-timing-function: ease-in;
       animation-timing-function: ease-in;
  }
  to {
    transform: perspective(400px);
    -o-animation-timing-function: ease-in;
       animation-timing-function: ease-in;
  }
}

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
         -o-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
            transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
         -o-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
            transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
         -o-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
            transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
         -o-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
         -o-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
}
.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
       -o-animation-name: flip;
          animation-name: flip;
}

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
  }
}

@-o-keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -o-animation-timing-function: ease-in;
       animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -o-animation-timing-function: ease-in;
       animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
         -o-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
         -o-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
       -o-animation-name: flipInX;
          animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
            transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
            transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
  }
}

@-o-keyframes flipInY {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -o-animation-timing-function: ease-in;
       animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -o-animation-timing-function: ease-in;
       animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
            transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
         -o-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
         -o-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
            transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
       -o-animation-name: flipInY;
          animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@-o-keyframes flipOutX {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  -webkit-animation-name: flipOutX;
       -o-animation-name: flipOutX;
          animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
            transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

@-o-keyframes flipOutY {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
            transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
       -o-animation-name: flipOutY;
          animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
            transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
            transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
            transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}

@-o-keyframes lightSpeedIn {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -o-transform: skewX(20deg);
       transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -o-transform: skewX(-5deg);
       transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -o-transform: none;
       transform: none;
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
            transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
         -o-transform: skewX(20deg);
            transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
         -o-transform: skewX(-5deg);
            transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
    opacity: 1;
  }
}
.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
       -o-animation-name: lightSpeedIn;
          animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
       -o-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
            transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@-o-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
            transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
       -o-animation-name: lightSpeedOut;
          animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
       -o-animation-timing-function: ease-in;
          animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
            transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}

@-o-keyframes rotateIn {
  from {
    -o-transform-origin: center;
       transform-origin: center;
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -o-transform-origin: center;
       transform-origin: center;
    -o-transform: none;
       transform: none;
    opacity: 1;
  }
}

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
         -o-transform-origin: center;
            transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
            transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
         -o-transform-origin: center;
            transform-origin: center;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
    opacity: 1;
  }
}
.rotateIn {
  -webkit-animation-name: rotateIn;
       -o-animation-name: rotateIn;
          animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}

@-o-keyframes rotateInDownLeft {
  from {
    -o-transform-origin: left bottom;
       transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -o-transform-origin: left bottom;
       transform-origin: left bottom;
    -o-transform: none;
       transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
         -o-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
         -o-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
    opacity: 1;
  }
}
.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
       -o-animation-name: rotateInDownLeft;
          animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}

@-o-keyframes rotateInDownRight {
  from {
    -o-transform-origin: right bottom;
       transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -o-transform-origin: right bottom;
       transform-origin: right bottom;
    -o-transform: none;
       transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
         -o-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
         -o-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
    opacity: 1;
  }
}
.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
       -o-animation-name: rotateInDownRight;
          animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}

@-o-keyframes rotateInUpLeft {
  from {
    -o-transform-origin: left bottom;
       transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -o-transform-origin: left bottom;
       transform-origin: left bottom;
    -o-transform: none;
       transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
         -o-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
         -o-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
    opacity: 1;
  }
}
.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
       -o-animation-name: rotateInUpLeft;
          animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
            transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}

@-o-keyframes rotateInUpRight {
  from {
    -o-transform-origin: right bottom;
       transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -o-transform-origin: right bottom;
       transform-origin: right bottom;
    -o-transform: none;
       transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
         -o-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
            transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
         -o-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
    opacity: 1;
  }
}
.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
       -o-animation-name: rotateInUpRight;
          animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
            transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
            transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@-o-keyframes rotateOut {
  from {
    -o-transform-origin: center;
       transform-origin: center;
    opacity: 1;
  }
  to {
    -o-transform-origin: center;
       transform-origin: center;
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
         -o-transform-origin: center;
            transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
         -o-transform-origin: center;
            transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
            transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  -webkit-animation-name: rotateOut;
       -o-animation-name: rotateOut;
          animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@-o-keyframes rotateOutDownLeft {
  from {
    -o-transform-origin: left bottom;
       transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -o-transform-origin: left bottom;
       transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
         -o-transform-origin: left bottom;
            transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
         -o-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
       -o-animation-name: rotateOutDownLeft;
          animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@-o-keyframes rotateOutDownRight {
  from {
    -o-transform-origin: right bottom;
       transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -o-transform-origin: right bottom;
       transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
         -o-transform-origin: right bottom;
            transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
         -o-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
       -o-animation-name: rotateOutDownRight;
          animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@-o-keyframes rotateOutUpLeft {
  from {
    -o-transform-origin: left bottom;
       transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -o-transform-origin: left bottom;
       transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
         -o-transform-origin: left bottom;
            transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
         -o-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
       -o-animation-name: rotateOutUpLeft;
          animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
            transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@-o-keyframes rotateOutUpRight {
  from {
    -o-transform-origin: right bottom;
       transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -o-transform-origin: right bottom;
       transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
         -o-transform-origin: right bottom;
            transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
         -o-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
            transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
       -o-animation-name: rotateOutUpRight;
          animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
            transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
            transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
            transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@-o-keyframes hinge {
  0% {
    -o-transform-origin: top left;
       transform-origin: top left;
    -o-animation-timing-function: ease-in-out;
       animation-timing-function: ease-in-out;
  }
  20%, 60% {
    transform: rotate3d(0, 0, 1, 80deg);
    -o-transform-origin: top left;
       transform-origin: top left;
    -o-animation-timing-function: ease-in-out;
       animation-timing-function: ease-in-out;
  }
  40%, 80% {
    transform: rotate3d(0, 0, 1, 60deg);
    -o-transform-origin: top left;
       transform-origin: top left;
    -o-animation-timing-function: ease-in-out;
       animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
         -o-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
         -o-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
            transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
         -o-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
         -o-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
            transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
         -o-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
         -o-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
            transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  -webkit-animation-name: hinge;
       -o-animation-name: hinge;
          animation-name: hinge;
}

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
            transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
  }
  50% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
  70% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@-o-keyframes jackInTheBox {
  from {
    opacity: 0;
    -o-transform: scale(0.1) rotate(30deg);
       transform: scale(0.1) rotate(30deg);
    -o-transform-origin: center bottom;
       transform-origin: center bottom;
  }
  50% {
    -o-transform: rotate(-10deg);
       transform: rotate(-10deg);
  }
  70% {
    -o-transform: rotate(3deg);
       transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -o-transform: scale(1);
       transform: scale(1);
  }
}

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
         -o-transform: scale(0.1) rotate(30deg);
            transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
         -o-transform-origin: center bottom;
            transform-origin: center bottom;
  }
  50% {
    -webkit-transform: rotate(-10deg);
         -o-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
  70% {
    -webkit-transform: rotate(3deg);
         -o-transform: rotate(3deg);
            transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
         -o-transform: scale(1);
            transform: scale(1);
  }
}
.jackInTheBox {
  -webkit-animation-name: jackInTheBox;
       -o-animation-name: jackInTheBox;
          animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
            transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@-o-keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -o-transform: none;
       transform: none;
  }
}
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
            transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
         -o-transform: none;
            transform: none;
  }
}
.rollIn {
  -webkit-animation-name: rollIn;
       -o-animation-name: rollIn;
          animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
            transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@-o-keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
            transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  -webkit-animation-name: rollOut;
       -o-animation-name: rollOut;
          animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

@-o-keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  -webkit-animation-name: zoomIn;
       -o-animation-name: zoomIn;
          animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-o-keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -o-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
       animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -o-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
       animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
         -o-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
         -o-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  -webkit-animation-name: zoomInDown;
       -o-animation-name: zoomInDown;
          animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-o-keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -o-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
       animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -o-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
       animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
         -o-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
         -o-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
       -o-animation-name: zoomInLeft;
          animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-o-keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -o-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
       animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -o-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
       animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
         -o-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
         -o-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  -webkit-animation-name: zoomInRight;
       -o-animation-name: zoomInRight;
          animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-o-keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -o-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
       animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -o-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
       animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
         -o-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
         -o-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  -webkit-animation-name: zoomInUp;
       -o-animation-name: zoomInUp;
          animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

@-o-keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  -webkit-animation-name: zoomOut;
       -o-animation-name: zoomOut;
          animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-o-keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -o-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
       animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -o-transform-origin: center bottom;
       transform-origin: center bottom;
    -o-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
       animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
         -o-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
         -o-transform-origin: center bottom;
            transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
         -o-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
       -o-animation-name: zoomOutDown;
          animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
            transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
}

@-o-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -o-transform-origin: left center;
       transform-origin: left center;
  }
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
            transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
         -o-transform-origin: left center;
            transform-origin: left center;
  }
}
.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
       -o-animation-name: zoomOutLeft;
          animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
            transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
}

@-o-keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -o-transform-origin: right center;
       transform-origin: right center;
  }
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
            transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
         -o-transform-origin: right center;
            transform-origin: right center;
  }
}
.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
       -o-animation-name: zoomOutRight;
          animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-o-keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -o-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
       animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -o-transform-origin: center bottom;
       transform-origin: center bottom;
    -o-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
       animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
         -o-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
         -o-transform-origin: center bottom;
            transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
         -o-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
       -o-animation-name: zoomOutUp;
          animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@-o-keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  -webkit-animation-name: slideInDown;
       -o-animation-name: slideInDown;
          animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@-o-keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  -webkit-animation-name: slideInLeft;
       -o-animation-name: slideInLeft;
          animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@-o-keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  -webkit-animation-name: slideInRight;
       -o-animation-name: slideInRight;
          animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@-o-keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  -webkit-animation-name: slideInUp;
       -o-animation-name: slideInUp;
          animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
}

@-o-keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  -webkit-animation-name: slideOutDown;
       -o-animation-name: slideOutDown;
          animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@-o-keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
       -o-animation-name: slideOutLeft;
          animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
}

@-o-keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  -webkit-animation-name: slideOutRight;
       -o-animation-name: slideOutRight;
          animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
}

@-o-keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  -webkit-animation-name: slideOutUp;
       -o-animation-name: slideOutUp;
          animation-name: slideOutUp;
}

#pgraph {
  padding: 10px;
  border: 1px solid #0b6e5b;
  border-radius: 6px;
  margin: 10px 0px;
  background-color: #0b6e5b;
  color: #FFF;
}

.p-tip .fontawesome-icons {
  font-size: 3em;
  padding: 20px;
  border-radius: 50px;
  background-color: #0b6e5b;
}
.p-tip .field--name-field-tip-title {
  font-size: 2em;
  font-weight: bold;
}
.p-tip .field--name-field-tip-body p {
  color: #FFF;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  color: #0b6e5b;
}

#turnkey-credit {
  display: none;
}

@media (min-width: 1200px) {
  .auto-clear .col-lg-1:nth-child(12n+1) {
    clear: left;
  }
  .auto-clear .col-lg-2:nth-child(6n+1) {
    clear: left;
  }
  .auto-clear .col-lg-3:nth-child(4n+1) {
    clear: left;
  }
  .auto-clear .col-lg-4:nth-child(3n+1) {
    clear: left;
  }
  .auto-clear .col-lg-6:nth-child(odd) {
    clear: left;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .auto-clear .col-md-1:nth-child(12n+1) {
    clear: left;
  }
  .auto-clear .col-md-2:nth-child(6n+1) {
    clear: left;
  }
  .auto-clear .col-md-3:nth-child(4n+1) {
    clear: left;
  }
  .auto-clear .col-md-4:nth-child(3n+1) {
    clear: left;
  }
  .auto-clear .col-md-6:nth-child(odd) {
    clear: left;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .auto-clear .col-sm-1:nth-child(12n+1) {
    clear: left;
  }
  .auto-clear .col-sm-2:nth-child(6n+1) {
    clear: left;
  }
  .auto-clear .col-sm-3:nth-child(4n+1) {
    clear: left;
  }
  .auto-clear .col-sm-4:nth-child(3n+1) {
    clear: left;
  }
  .auto-clear .col-sm-6:nth-child(odd) {
    clear: left;
  }
  .horz-row-front .news-thumb {
    display: none;
  }
}
@media (max-width: 767px) {
  .auto-clear .col-xs-1:nth-child(12n+1) {
    clear: left;
  }
  .auto-clear .col-xs-2:nth-child(6n+1) {
    clear: left;
  }
  .auto-clear .col-xs-3:nth-child(4n+1) {
    clear: left;
  }
  .auto-clear .col-xs-4:nth-child(3n+1) {
    clear: left;
  }
  .auto-clear .col-xs-6:nth-child(odd) {
    clear: left;
  }
}
.block-views-blockduplicate-of-front-categories-block-1 {
  margin-top: 4%;
}

@media only screen and (max-width: 768px) {
  .grid {
    height: auto;
  }
  .sub-title {
    display: none !important;
  }
  .category-block .img-responsive {
    max-width: 65%;
  }
  .slide .carousel-caption {
    height: auto;
  }
  .slide .carousel-caption p {
    font-size: 1em !important;
  }
  .slide .carousel-caption h2 {
    font-size: 2em !important;
    font-weight: bold;
  }
  .highlighted {
    margin-top: 8px;
  }
  .highlighted .img-responsive {
    height: 400px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  ul.header-options {
    display: none;
  }
  .bar-default .navbar-text {
    display: none;
  }
  .navbar-is-fixed-top {
    margin-top: 100px !important;
  }
  .region-content-front-left .img-responsive {
    display: none;
  }
  .page-node-type-page .region-content {
    padding: 0px;
  }
}
.video-responsive {
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
}

.video-responsive iframe {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}

@media only screen and (min-width: 769px) and (max-width: 992px) {
  .grid {
    height: auto;
  }
  .navbar-default .navbar-text {
    display: none;
  }
  #block-cires-bootstrap-search {
    display: none;
  }
  ul.header-options {
    display: none;
  }
  .slide .carousel-caption {
    height: auto;
  }
  .slide .carousel-caption p {
    font-size: 1em !important;
  }
  .slide .carousel-caption h2 {
    font-size: 2em !important;
    font-weight: bold;
  }
}
@media only screen and (min-width: 993px) {
  .grid {
    height: 300px;
  }
  .navbar-default .navbar-text {
    display: none;
  }
  #matt-search .form-search.form-control {
    width: 100%;
    color: #fff !important;
  }
}
#primary-holder {
  background-color: #0b6e5b;
  color: #fff;
  margin-bottom: 3%;
  border-bottom: 2px solid rgb(6.3636363636, 63.6363636364, 52.6446280992);
}
#primary-holder h1 {
  color: #fff;
  font-size: 2.5em;
  margin-bottom: 0px;
  margin-top: 0px;
  padding: 10px 0px;
  text-align: center;
}

.center-content {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.path-frontpage h1.page-header {
  display: none;
}

.page-header {
  display: none;
}

.fa {
  padding: 10px;
}
.fa:hover {
  background-color: #ecf0f1;
  padding: 10px;
  border-radius: 25px;
}
.fa:active {
  -webkit-transform: scale(0.95);
       -o-transform: scale(0.95);
          transform: scale(0.95);
}

.footer i.fa:hover {
  background-color: none;
  padding: 10px;
  border-radius: 25px;
}

.fa-tag {
  padding-right: 3px;
}

.fa.fa-tag:hover {
  background-color: none;
}

.tooltip-arrow,
+ .tooltip > .tooltip-inner {
  background-color: #0b6e5b;
}

.tooltip-inner {
  background-color: #0b6e5b;
  color: #fff;
}

.tooltip.top .tooltip-arrow {
  border-top-color: #0b6e5b;
}

.tooltip.right .tooltip-arrow {
  border-right-color: #0b6e5b;
}

.tooltip.bottom .tooltip-arrow {
  border-bottom-color: #0b6e5b;
}

.tooltip.left .tooltip-arrow {
  border-left-color: #0b6e5b;
}

h1.page-header {
  font-size: 4rem;
  margin-left: 0px;
  margin-top: 20px;
}

.page-header {
  border-bottom: none;
}

.path-frontpage .region-content {
  padding: 0px !important;
}

.fatfont {
  color: #777777;
  font-size: 2rem;
}

.category-tag {
  -webkit-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  min-height: 140px;
  padding: 20px;
  border-radius: 6px;
}
.category-tag .h4 {
  font-weight: bold;
}
.category-tag p {
  font-size: 12px;
}
.category-tag:hover {
  background-color: #ecf0f1;
}

.region-content .field--name-body a:link,
.region-content .field--name-body a:visited,
.region-content .field--name-body p a:link {
  color: #676767;
  -webkit-box-shadow: inset 0 -1px 0 #0b6e5b;
          box-shadow: inset 0 -1px 0 #0b6e5b;
  padding: 0px 2px 0px 2px;
}
.region-content .field--name-body .btn-primary {
  color: #fff;
  background-color: #0b6e5b;
  border: none;
}
.region-content .field--name-body .btn-primary:hover {
  background-color: rgb(15.6363636364, 156.3636363636, 129.3553719008);
}

img.desk-img {
  width: 50%;
}

p {
  color: #676767;
  font-size: 26px;
  font-size: 1.625rem;
}

a:link,
a:visited {
  color: #0b6e5b;
  font-weight: 350;
  text-decoration: none !important;
}

a:hover {
  font-weight: 350;
}

.date-stamp,
.date-stamp p,
time {
  font-size: 1.2rem;
  color: rgb(94.1818181818, 121.0909090909, 127.8181818182);
  text-transform: uppercase;
  font-weight: bold;
}

h1 {
  font-size: 96px;
  font-size: 6rem;
}

.page-intro {
  margin-bottom: 5%;
  margin-left: 2%;
  font-size: 32px;
  font-size: 2rem;
  color: rgb(118.5454545455, 147.2727272727, 154.4545454545);
  font-weight: 300;
}

h1 {
  font-weight: 300;
}

.read-more {
  -webkit-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  border-bottom: none;
}

.read-more:after {
  content: "➞";
  color: #0b6e5b;
  padding-left: 5px;
  -webkit-transition: all 0.4s 0.4s;
  -o-transition: all 0.4s 0.4s;
  transition: all 0.4s 0.4s;
  position: relative;
  -webkit-transition: all 0.256s ease-in-out;
  -o-transition: all 0.256s ease-in-out;
  transition: all 0.256s ease-in-out;
  border-bottom: none;
}

.read-more:hover:after {
  right: -2px;
  border-bottom: none;
}

.slide .carousel-caption {
  padding-bottom: 60px;
}
.slide .carousel-caption h2 {
  color: #fff;
  font-size: 70px;
  font-size: 4.375rem;
  text-shadow: 0px 0px 12px rgba(0, 0, 0, 0.8);
}
.slide .carousel-caption p {
  color: #fff;
  text-shadow: 0px 0px 12px rgba(0, 0, 0, 0.8);
}
.slide .slide-button {
  padding: 8px 20px 8px 20px;
  border-radius: 20px;
  border: 1px solid #fff;
  color: #fff;
  background-color: none;
  margin-top: 5px;
  display: inline-block;
}
.slide .slide-button:hover {
  background-color: #fff;
  color: #0b6e5b;
  text-decoration: none;
}
.slide .slide-button a {
  color: #fff;
}

.slide-credit {
  position: absolute;
  left: 15px;
  bottom: 25px;
  font-style: italic;
  font-size: 0.95em;
  color: #fff;
}

.sub-title {
  background-color: rgb(6.3636363636, 63.6363636364, 52.6446280992);
  display: none;
  clear: both;
}
.sub-title p {
  color: #fff;
  padding: 4px;
  margin-top: 4px;
  font-size: 22px;
  font-size: 1.375rem;
}

.navbar-brand {
  margin-top: 0px;
  display: none;
}

header#navbar.navbar.navbar-default.navbar-static-top {
  margin-bottom: 0px;
  margin: 0px;
}

.header-options {
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
  list-style: none;
  float: right;
  padding-bottom: 3px;
  margin-top: 10px;
}
.header-options li {
  display: inline-block;
  text-align: center;
  margin: 0px auto;
  padding-right: 5px;
}
.header-options fa {
  background-color: #ecf0f1;
}
.header-options fa:hover {
  background-color: white !important;
}
.header-options:hover {
  background-color: #ecf0f1;
  border-radius: 12px;
}

.header-options:active .fa {
  -webkit-transform: scale(0.9, 0.9);
       -o-transform: scale(0.9, 0.9);
          transform: scale(0.9, 0.9);
}

.modal {
  text-align: center;
  padding: 0 !important;
}

.modal:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -4px; /* Adjusts for spacing */
}

.modal-dialog {
  display: inline-block;
  text-align: left;
  vertical-align: middle;
}

#edit-keys--2,
#edit-keys {
  background: none;
  border-radius: 0px;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  height: 65px;
  font-size: 4rem;
  font-weight: 200;
  overflow: visible;
  width: 100%;
}

div.input-group {
  width: 100%;
}

.toggle-search-close .glyphicon {
  cursor: pointer;
}

.toggle-search-close .glyphicon span:hover {
  color: #0b6e5b;
  cursor: pointer;
}

#mission-block {
  background-color: #efefef;
  padding: 5%;
  overflow: auto;
  position: relative;
  top: -40px;
}
#mission-block p {
  color: #474747;
}
#mission-block h2 {
  color: #474747;
}

#cta-block {
  background-color: rgb(213.5, 213.5, 213.5);
  overflow: auto;
  margin-bottom: 3%;
  margin-bottom: 30px;
  border-bottom: 2px solid rgb(200.75, 200.75, 200.75);
  position: relative;
  top: -40px;
  padding-bottom: 30px;
}
#cta-block .region-cta {
  text-align: center;
  margin-top: 40px;
}
#cta-block .region-cta h3 {
  margin-top: 0px;
}
.foot-one {
  color: #474747;
  background-color: #efefef;
  height: auto;
  margin: 0px auto;
  text-align: center;
  padding: 3%;
  border-top: 2px solid rgb(213.5, 213.5, 213.5);
}
.foot-one p {
  color: #474747;
}

.front-category {
  min-height: 120px;
  margin-bottom: 30px;
}

.front-spacer {
  margin: 2% 0px 2% 0px;
}

.main-container {
  background-color: #fff;
  padding-bottom: 10%;
}

.region-content .not-front {
  padding-bottom: 10%;
}

body p,
body h1,
body h2,
body h3 {
  color: #353535;
}
body img.align-center {
  width: 100%;
  height: auto;
}
body.navbar-is-fixed-top {
  margin-top: 100px;
}

a.logo.navbar-btn.pull-left img {
  width: 100px;
}
a.logo.navbar-btn.pull-left img:hover {
  fill: #0b6e5b;
}

.made-with {
  color: rgb(6.8272727273, 68.2727272727, 56.4801652893);
  font-size: 0.95rem;
  -webkit-transition: all 5s;
  -o-transition: all 5s;
  transition: all 5s;
}
.made-with:hover {
  color: #fff;
}
.made-with:hover > .fa-heart {
  color: red !important;
  background-color: #0b6e5b;
  border-radius: none !important;
  padding: none;
  -webkit-transition: all 5s;
  -o-transition: all 5s;
  transition: all 5s;
}
.made-with .fa-heart {
  padding: 0px !important;
  color: rgb(6.8272727273, 68.2727272727, 56.4801652893) !important;
}

.copyright {
  color: #fff;
  font-size: 1rem;
}

#Layer_0 img {
  fill: #0b6e5b;
}

.container.foot {
  background: #0b6e5b;
}

.footer {
  background: #0b6e5b;
  bottom: 0px;
  text-align: center;
  border: none;
  border-bottom: none;
  border-top: 2px solid rgb(6.3636363636, 63.6363636364, 52.6446280992);
}
.footer .nav {
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.footer .nav > li > a {
  padding: 10px;
  margin: 5px;
  position: relative;
  display: inline;
}
.footer .nav > li > a:hover {
  background-color: none;
  border-radius: 6px;
  color: #0b6e5b;
}
.footer .col-md-12 {
  margin-bottom: 30px;
}
.footer h3 {
  color: #fff;
  padding-bottom: 5px;
}
.footer .social-icons {
  text-align: center;
}
.footer .social-icons li {
  display: inline-block;
  list-style: none;
  padding: 10px;
}
.footer .social-icons li:hover {
  border-radius: 6px;
  background-color: #0b6e5b;
}
.footer .social-icons a {
  text-decoration: underline;
  margin: 10px;
}
.footer .social-icons a:hover {
  border-radius: 6px;
  background-color: #0b6e5b;
}
.footer ul {
  margin: 0px auto !important;
  padding: 0px;
}
.footer .fa {
  color: #fff;
}
.footer a {
  color: #fff;
  text-decoration: none;
}
.footer p {
  color: #fff;
}
.footer h2 {
  color: #fff;
}

.footer {
  margin-top: 0px;
}

.footer.footer.container {
  background: #0b6e5b;
  width: 100%;
}

.indented {
  margin-left: 10px;
  border-left: 3px solid #0b6e5b;
}
.indented .comment-box {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.comment-box {
  background-color: #f9f9f9;
  border-radius: 6px;
  border: 1px solid #ecf0f1;
  padding: 10px;
  margin-bottom: 10px;
}
.comment-box h3 {
  color: #000;
  border-bottom: 1px solid #ecf0f1;
}
.comment-box:hover {
  background-color: #ededed;
}
.comment-box ul.links.list-inline {
  border-top: 1px solid #ecf0f1;
  padding-top: 15px;
}
.comment-box .comment__author {
  float: right;
}
.comment-box .data-comment-timestamp {
  color: red;
}

.context-event {
  margin: 20px 0px 20px 0px;
  border-top: #ecf0f1 solid 1px;
  text-align: center;
}

#cal-day {
  padding: 10px;
  border-radius: 6px;
  border: 1px solid #ecf0f1;
  overflow: hidden;
  display: block;
  background-color: #0b6e5b;
  border-bottom: rgb(8.6818181818, 86.8181818182, 71.8223140496);
  color: #fff;
  text-align: center;
  font-size: 2rem;
}
#cal-day .field {
  background-color: none !important;
  border-bottom: none;
}
#cal-day .field:hover {
  background-color: none !important;
  border-bottom: none;
}
#cal-day .month {
  background-color: #0b6e5b;
  border-bottom: rgb(8.6818181818, 86.8181818182, 71.8223140496);
  color: #fff;
  width: 120%;
  position: relative;
  right: 10%;
  top: -10px;
  text-align: center;
}
#cal-day .month p {
  left: 10px;
}
#cal-day .month:hover {
  background-color: #0b6e5b;
}
#cal-day .day {
  color: #0b6e5b;
  text-align: center;
  font-size: 4rem;
  padding-top: 20px;
}

.sidebar {
  color: darken #ecf0f1, 5%;
  font-size: 22px;
  font-size: 1.375rem;
}
.sidebar .field {
  padding: 10px 0px 10px 0px;
  border-bottom: 1px solid #ecf0f1;
}
.sidebar .field:hover {
  background-color: rgb(250.6818181818, 251.5909090909, 251.8181818182);
}
.sidebar p {
  margin-left: 10px;
}
.sidebar .field--name-field-tag {
  border-bottom: none;
}

.full-profile-pill {
  border-radius: 6px;
  padding: 5px;
  background-color: rgb(238.9363636364, 242.3181818182, 243.1636363636);
  float: right;
}
.full-profile-pill:hover {
  background-color: rgb(244.8090909091, 246.9545454545, 247.4909090909);
}

.explode-row {
  margin-bottom: 40px;
  padding-bottom: 40px;
}

.member-info {
  padding: 20px;
  font-weight: bold;
  background-color: #fff;
}

.projects-views-row {
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.image-round-300 {
  border-radius: 150px;
  margin: 0px auto;
  text-align: center;
}
.image-round-300 img {
  border-radius: 150px;
  margin: 0px auto;
}
.image-round-300:active {
  -webkit-transform: scale(0.98);
       -o-transform: scale(0.98);
          transform: scale(0.98);
}

.image-round-150 {
  border-radius: 75px;
  margin: 0px auto;
  text-align: center;
}
.image-round-150 .field:hover {
  background-color: none;
}
.image-round-150 img {
  border-radius: 75px;
  margin: 0px auto;
}
.image-round-150:active {
  -webkit-transform: scale(0.98);
       -o-transform: scale(0.98);
          transform: scale(0.98);
}

.image-round-100 {
  border-radius: 50px;
  margin: 0px auto;
  text-align: center;
}
.image-round-100 .field:hover {
  background-color: none;
}
.image-round-100 img {
  border-radius: 75px;
  margin: 0px auto;
}
.image-round-100:active {
  -webkit-transform: scale(0.98);
       -o-transform: scale(0.98);
          transform: scale(0.98);
}

.chu-row {
  text-align: center;
}

.horz-row {
  border-bottom: 1px solid #ecf0f1;
  padding: 2.5% 0 2.5% 0;
  margin-top: 1%;
}
.horz-row .info-bar {
  background-color: #ecf0f1;
  border-radius: 6px;
  padding: 6px;
}
.horz-row .date-stamp {
  font-size: 45px;
  font-size: 2.8125rem;
  padding-top: 20px !important;
}
.horz-row .title {
  font-size: 3rem;
  padding-bottom: 10px;
}
.horz-row .title a:link {
  color: #0b6e5b;
}
.horz-row a:link {
  color: #0b6e5b;
}
.horz-row .news-thumb img {
  padding: 0px;
  border-radius: 16px;
}
.horz-row .news-thumb img:hover {
  padding: 1px;
  background-color: #fff;
}
.horz-row .news-thumb img:active {
  -webkit-transform: scale(0.98);
       -o-transform: scale(0.98);
          transform: scale(0.98);
}
.horz-row .fatfont {
  font-size: 38px;
  font-size: 2.375rem;
  color: rgb(72.5454545455, 93.2727272727, 98.4545454545);
}

.news-thumb img {
  padding: 0px;
  border-radius: 16px;
}
.news-thumb img:hover {
  padding: 1px;
  background-color: #0b6e5b;
}

.rounded-corner img {
  padding: 0px;
  border-radius: 16px;
}

.news-thumb-front img {
  padding: 0px;
  border-radius: 16px;
  width: 75%;
  height: auto;
}
.news-thumb-front img:hover {
  background-color: #0b6e5b;
}

.vid-thumb img {
  padding: 0px;
  border-radius: 6px;
  overflow: hidden;
}
.vid-thumb img:hover {
  background-color: #fff;
  cursor: pointer;
}
.vid-thumb img:active {
  -webkit-transform: scale(0.98);
       -o-transform: scale(0.98);
          transform: scale(0.98);
}

.horz-row-sm {
  border-bottom: 1px solid #ecf0f1;
  padding: 1% 0 1% 0;
  clear: both;
  display: block;
  margin-bottom: 10px;
}
.horz-row-sm:hover {
  background-color: white;
}
.horz-row-sm h3 {
  border-bottom: none !important;
  padding: 0px !important;
}

.grid {
  width: 100%;
  margin: 4%;
  padding: 20px;
  background-color: none;
}
.grid:hover {
  border-radius: 6px;
  background-color: rgb(247.7454545455, 249.2727272727, 249.6545454545);
}
.grid .grid-image .img-responsive {
  width: 100%;
  border-radius: 6px;
}
.grid .grid-info {
  height: 100%;
  padding: 10px;
}
.grid .grid-title {
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 500;
  color: #636363;
}
.grid .grid-tag {
  width: 100%;
  display: block;
  color: #0b6e5b;
  border-top: 1px solid #ecf0f1;
  margin-top: 5px;
}
.grid a:hover {
  text-decoration: none;
}
.grid a:visited,
.grid a:link {
  color: #0b6e5b;
}

.member-grid {
  padding-top: 20px;
  padding-bottom: 20px;
  text-align: center;
}
.member-grid:hover {
  background-color: rgb(247.7454545455, 249.2727272727, 249.6545454545);
}
.member-grid .mem-title {
  font-size: 1.1em;
}
.member-grid .mem-info {
  font-size: 0.9em;
  color: #686868;
  display: block;
  height: 30px;
}
.member-grid img {
  max-width: 100px;
  height: auto;
  padding: 10px;
}

.grid-clean {
  width: 100%;
  margin: 2%;
  overflow: hidden;
  background-color: none;
  min-height: 280px;
  padding-top: 10px;
  border-radius: 6px;
  vertical-align: middle;
}
.grid-clean:hover {
  background-color: rgb(247.7454545455, 249.2727272727, 249.6545454545);
}
.grid-clean .grid-info {
  padding: 10px;
  top: 5%;
  margin: 0px auto;
  text-align: center;
  min-height: 70px;
  padding: 0 5% 0 5%;
}
.grid-clean .grid-title {
  font-size: 34px;
  font-size: 2.125rem;
  overflow: hidden;
  width: 100%;
}
.grid-clean .grid-title a {
  color: rgb(72.5454545455, 93.2727272727, 98.4545454545) !important;
}
.grid-clean .grid-email {
  font-size: 20px;
  font-size: 1.25rem;
  text-transform: uppercase;
  color: rgb(118.5454545455, 147.2727272727, 154.4545454545) !important;
}
.grid-clean .grid-tag {
  width: 100%;
  display: block;
  color: #0b6e5b;
  border-top: 1px solid #ecf0f1;
  margin-top: 5px;
}
.grid-clean a:hover {
  text-decoration: none;
}
.grid-clean a:visited,
.grid-clean a:link {
  color: #0b6e5b;
}
.view-content h3 {
  width: 100%;
  display: block;
  font-size: 60px;
  font-size: 3.75rem;
  border-bottom: 1px solid #ecf0f1;
  float: left;
  margin: 20px 0 20px 0;
  font-weight: 300;
  color: #686868;
}

.committee {
  font-size: 26px;
  font-size: 1.625rem;
}

.view-content h3 {
  padding: 15px;
}

.highlighted-interior .slide-credit {
  position: absolute;
  left: 15px;
  top: 150px;
  font-style: italic;
  font-size: 0.95em;
  color: #fff;
}
.highlighted-interior img.img-responsive {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 202px;
}

.highlighted {
  margin-right: auto;
  margin-left: auto;
}
.highlighted img.img-responsive {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 350px;
}

.owl-pagination {
  position: relative;
  top: -50px;
}

.chimp .campaign {
  border-bottom: 1px solid #ecf0f1;
  padding: 25px 10px 25px 10px;
  min-height: 100px;
  overflow: hidden;
}
.chimp .campaign:last-child {
  border-bottom: none;
}
.chimp .campaign:hover {
  background-color: rgb(250.6818181818, 251.5909090909, 251.8181818182);
  border-radius: 6px;
}

.horz-row-front {
  border-bottom: 1px solid #ecf0f1;
  padding: 25px 10px 25px 10px;
  min-height: 100px;
  overflow: hidden;
}
.horz-row-front:last-child {
  border-bottom: none;
}
.horz-row-front:hover {
  background-color: rgb(244.8090909091, 246.9545454545, 247.4909090909);
  border-radius: 6px;
}
.horz-row-front .title {
  font-weight: 300;
  font-size: 1.5em;
  clear: right;
}

.tag ul,
.tag {
  list-style: none;
  margin-top: 5px;
  margin-bottom: 5px;
  margin-left: 0px;
  padding-left: 0px;
}
.tag ul li,
.tag ul .field--item,
.tag li,
.tag .field--item {
  border: 1px solid #474747;
  color: #474747;
  padding: 5px;
  font-size: 0.8em;
  border-radius: 12px;
  padding-right: 5px;
  float: left;
  margin-right: 5px;
}

.label {
  border: 1px solid #474747;
  color: #474747;
  padding: 5px;
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: 0.9em;
  border-radius: 12px;
}

.front-block {
  margin-top: 10px;
  padding-bottom: 10px;
}
.front-block h2 {
  text-align: left;
  font-weight: 250;
  font-size: 40px;
  font-size: 2.5rem;
}
.front-block .date-stamp {
  font-size: 0.9em;
  color: #474747;
  text-transform: uppercase;
}

.front-block-right {
  margin-top: 10px;
  padding-bottom: 10px;
}
.front-block-right a {
  color: #0b6e5b;
}
.front-block-right .label {
  background-color: #0b6e5b;
  color: #fff;
}
a.btn.btn-primary {
  color: #fff;
  background-color: #0b6e5b;
  border: none;
}
a.btn.btn-primary:hover {
  background-color: rgb(15.6363636364, 156.3636363636, 129.3553719008);
}

a.btn.btn-primary.pull-right {
  color: #fff;
}

a.btn.btn-primary {
  color: #fff;
}

.slide-responsive {
  width: 100%;
  height: auto;
}

.partner-img {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 6px;
  -webkit-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  text-align: center;
  color: #474747;
  margin: 0px auto;
  margin: 0px auto;
}
.partner-img img {
  padding: 30px;
}
.partner-img .views-field-title {
  padding-top: 15px;
}
.partner-img:hover {
  background-color: #ecf0f1;
}

.event-block {
  overflow: hidden;
  width: 100%;
  height: auto;
}
.event-block img {
  width: 100%;
  height: auto;
}
.event-block .event-block-overlay {
  position: relative;
  top: -50px;
  background-color: #0b6e5b;
  height: 50px;
}

.flex-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
}
.card {
  border-radius: 6px;
  background-color: #0b6e5b;
  overflow: hidden;
  text-align: center;
  -webkit-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  color: #fff;
  margin-top: 3%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.card a {
  color: #fff;
}
.card .card-img-top {
  height: 200px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.card .card-img-top img {
  width: 100%;
}
.card .card-icon {
  text-align: center;
  font-size: 2em;
  color: #0b6e5b;
  border-radius: 75px;
  border: 1px solid #0b6e5b;
  background-color: #fff;
  width: 75px;
  height: 75px;
  margin: 0px auto;
  margin-top: 20px;
  margin-bottom: 10px;
  -webkit-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  top: 150px;
  position: absolute;
}
.card .card-icon .fontawesome-icon {
  padding-top: 15px;
}
.card .card-block {
  padding: 10px;
  padding-top: 40px;
  min-height: 200px;
}
.card .card-title {
  color: #fff;
  font-size: 2em;
  font-weight: bold;
}
.card .card-text p {
  color: #fff;
  padding-top: 10px;
}
.card .card-action {
  border-top: 1px solid rgb(8.6818181818, 86.8181818182, 71.8223140496);
  padding-top: 5px;
  margin-top: 5px;
  background-color: rgb(6.3636363636, 63.6363636364, 52.6446280992);
  -webkit-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  min-height: 50px;
  padding-top: 5px;
  display: block;
  width: 100%;
}
.card .card-action a {
  display: block;
  margin-top: 5px;
  font-size: 1.5em;
  font-weight: bold;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
.card .card-action:hover {
  background-color: rgb(1.7272727273, 17.2727272727, 14.2892561983);
}

.category-block {
  margin: 0px auto;
  text-align: center;
  overflow: hidden !important;
}
.category-block .cat-img-bg {
  position: absolute;
}
.category-block .cat-icon {
  text-align: center;
  font-size: 2em;
  color: #0b6e5b;
  border-radius: 75px;
  border: 1px solid #0b6e5b;
  background-color: #fff;
  width: 75px;
  height: 75px;
  margin: 0px auto;
  margin-top: 20px;
  margin-bottom: 10px;
  -webkit-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.category-block .fontawesome-icon {
  padding-top: 5px;
}
.category-block .category-block-text {
  padding: 5px;
  border: 1px solid #0b6e5b;
  border-radius: 6px;
  background-color: #0b6e5b;
  padding: 10px;
  margin-top: 30px;
  color: #fff;
  min-height: 200px;
  overflow: hidden;
}
.category-block .category-block-text a {
  color: #fff;
  font-size: 1.5em;
}
.category-block .category-block-text:hover {
  background-color: #0b6e5b;
  color: #fff;
}
.category-block .category-block-text:hover h3 {
  color: #fff;
}
.category-block .category-block-text:hover .fontawesome-icon {
  -webkit-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: scale(1.1, 1.1);
       -o-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
}
.category-block .category-block-text:hover .cat-icon {
  -webkit-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-box-shadow: 0px 2px 18px 0px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 2px 18px 0px rgba(0, 0, 0, 0.75);
}
.category-block h3 {
  border: none;
  border-bottom: none;
  margin-bottom: 0px;
  margin-top: 0px;
  color: #fff;
}
.category-block h3 a {
  color: #fff;
  border-bottom: none;
  font-weight: 500;
}

.front-news {
  background-color: #0b6e5b;
  margin: 10px 0px 20px 0px;
  height: 400px;
  color: #fff;
  padding: 20px 20px 20px 20px;
  overflow: hidden;
}
.front-news p {
  color: #fff;
  padding-top: 5px;
}
.front-news img {
  padding-top: 30px;
  width: 100%;
  height: auto;
}
.front-news h2 {
  font-size: 72px;
  font-size: 4.5rem;
  padding-top: 30px;
}

@media only screen and (max-width: 992px) {
  .front-news {
    text-align: center;
    height: 600px;
  }
  .front-news img {
    margin: 0px auto;
    width: 80%;
  }
  .front-news h2 {
    padding-top: 0px;
  }
}
.event-type {
  font-size: 1.25rem;
  color: rgb(20.2727272727, 202.7272727273, 167.7107438017);
}

ul.sponsor-list {
  text-align: center;
}
ul.sponsor-list li {
  list-style: none;
  display: inline-block;
}
ul.sponsor-list li:hover {
  border-radius: 6px;
  background-color: #0b6e5b;
}
ul.sponsor-list img {
  margin: 10px;
  text-align: center;
}

::-webkit-input-placeholder {
  color: red;
}

:-moz-placeholder {
  /* Firefox 18- */
  color: red;
}

::-moz-placeholder {
  /* Firefox 19+ */
  color: red;
}

:-ms-input-placeholder {
  color: red;
}

h2 {
  font-weight: 300;
}

@media screen and (max-width: 995px) {
  .toggle-search-close .glyphicon {
    float: right;
    cursor: pointer;
    top: -60px;
  }
}
#toggle-search {
  text-align: center;
}
#toggle-search .glyphicon {
  padding: 15px;
  color: #0b6e5b;
  cursor: pointer;
  text-align: center;
}

#matt-search {
  background-color: rgb(13.3181818182, 133.1818181818, 110.1776859504);
  -webkit-box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.1);
  color: #fff !important;
  position: absolute;
  left: 0px;
  width: 100%;
  height: 100px;
  top: -190px;
  z-index: 99999;
  margin: 0px;
  padding-top: 10px;
  -webkit-transition: all 600ms;
  -o-transition: all 600ms;
  transition: all 600ms;
}
#matt-search glyphicon {
  color: #000;
}
#matt-search .form-search.form-control {
  width: 100%;
  width: 600px;
  color: #fff !important;
  overflow-x: hidden;
}
#matt-search span.input-group-btn {
  display: none;
}

#edit-keys--2,
#edit-keys {
  background: none;
  border-radius: 0px;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  height: 65px;
  font-size: 4rem;
  font-weight: 200;
  overflow: visible;
  width: 100%;
}

div.input-group {
  width: 100%;
}

.toggle-search-close .glyphicon {
  float: right;
  margin-top: 8px;
  cursor: pointer;
}

.toggle-search-close .glyphicon span:hover {
  color: #0b6e5b;
  cursor: pointer;
}

.dropdown-submenu {
  position: relative;
}

.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  padding: 0px;
}

.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}

.dropdown-submenu > a:after {
  content: "\e080";
  display: inline-block;
  font-family: "Glyphicons Halflings";
  font-style: normal;
  font-size: 10px;
  float: right;
  margin-top: 5px;
}

.dropdown-submenu:hover > a:after {
  border-left-color: #fff;
}

.dropdown-submenu.pull-left {
  float: none;
}

.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
  border-radius: 6px 0 6px 6px;
}

.navbar-nav li:last-child > .dropdown-menu {
  left: auto;
  right: 0px;
}

.navbar-nav li:last-child > .dropdown-menu .dropdown-submenu > a:after {
  float: left;
  content: "\e079";
}

.navbar-nav li:last-child > .dropdown-menu .dropdown-submenu > .dropdown-menu {
  left: -100%;
}

#player {
  border-radius: 6px;
}

.media-grid {
  display: block;
  margin: 10px 0 10px 0;
}
#off-white {
  background-color: #efefef;
  color: #474747;
}

#stream {
  overflow: hidden;
}
#stream h2 {
  padding-left: 10px;
}
#stream .stream-row {
  overflow: hidden;
  border-radius: 6px;
  min-height: 300px;
  padding: 20px;
  margin: 10px;
  vertical-align: middle;
  -webkit-box-shadow: -1px 2px 10px 2px rgb(212, 212, 212);
  box-shadow: -1px 2px 10px 2px rgb(212, 212, 212);
  background-color: #fff;
}
#stream img {
  position: static;
  -webkit-transform: scale(1.25);
       -o-transform: scale(1.25);
          transform: scale(1.25);
  overflow: hidden;
}
#stream .stream-title {
  font-size: 2.25rem;
}
#publications-list {
  width: 100%;
  margin-bottom: 20px;
}
#publications-list ul {
  padding: 0;
  list-style-type: none;
}
#publications-list li {
  border-bottom: 1px solid #ecf0f1;
  padding: 10px;
  min-height: 75px;
  overflow-x: hidden;
  width: 100%;
  padding-left: 10px;
  padding-right: 10px;
}
#publications-list li:nth-child(even) {
  background-color: white;
}
#publications-list::before {
  display: none;
}
#publications-list::after {
  display: none;
}
#publications-list a {
  font-weight: bold;
  text-decoration: underline;
}
#publications-list .panel-body::before {
  display: none;
}
#publications-list .panel-body::after {
  display: none;
}

#publications-list li:hover {
  background-color: white;
}

.resource-card {
  overflow: hidden;
  border-radius: 6px;
  min-height: 200px;
  padding: 20px;
  margin: 10px;
  vertical-align: middle;
  -webkit-box-shadow: -1px 2px 10px 2px rgb(212, 212, 212);
  box-shadow: -1px 2px 10px 2px rgb(212, 212, 212);
  background-color: #fff;
}
.resource-card .tags {
  margin-top: 5px;
  padding-left: 0px;
}
.resource-card .tags ul {
  padding-left: 0em;
  list-style: none;
}
.resource-card .tags ul li {
  font-size: 0.75em;
  border: 1px solid #0b6e5b;
  color: #0b6e5b;
  padding: 5px;
  border-radius: 6px;
  width: -webkit-fit-content;
  float: left;
  margin-right: 5px;
}

/* ACCORDIONS 





#accordion .panel-heading { padding: 0;}
#accordion .panel-title > a {
	display: block;
	padding: 0.4em 0.6em;
    outline: none;
    font-weight:bold;
    text-decoration: none;
}

#views-bootstrap-accordion .panel-title > a.accordion-toggle::after, #views-bootstrap-accordion a[data-toggle="collapse"]::after  {
    content:"\e113";
    float: right;
    font-family: 'Glyphicons Halflings';
	margin-right :1em;

	&:active {
		background-color: $color-gray;
		padding: 10px;
		border-radius: 6px;
	}

}

#views-bootstrap-accordion panel-title > a.accordion-toggle.collapsed::after, #views-bootstrap-accordion a.collapsed[data-toggle="collapse"]::after  {
    content:"\e114";
}


#accordion .panel-title > a.accordion-toggle::after, #accordion a[data-toggle="collapse"]::after  {
    content:"\e113";
    float: right;
    font-family: 'Glyphicons Halflings';
	margin-right :1em;

	&:active {
		background-color: $color-gray;
		padding: 10px;
		border-radius: 6px;
	}

}
#accordion .panel-title > a.accordion-toggle.collapsed::after, #accordion a.collapsed[data-toggle="collapse"]::after  {
    content:"\e114";
      -moz-transform:rotate(180deg)!important;
    -webkit-transform:rotate(180deg)!important;
    transform:rotate(180deg)!important;
}

#accordion {
	padding: 10px 5px 10px 5px;
	border-bottom: 1px solid $color-gray;

	div.accordion-heading {
		font-size: 1.5rem;
	}

	.accordion-inner {
		padding: 10px 0px;
	}

}


.panel-group {

	border-color: #FFF !important;
	transition: all .4s transform ease-in-out;
	padding: 10px 5px 10px 8px;
	&:hover {
		//background-color: #f4f4f4;
	}


	.panel-heading {
		background-color: #FFF !important;

	}


	.panel {
		border-radius: none !important;	
	}

	.panel-default{
		border-color: #FFF !important;
	}

	h4.panel-title {
		font-size: 1.5rem;
		font-weight: 250;
		border-color: #FFF !important;
		border-bottom: none !important;
		padding: 2% 0% 2% 0;
	}

}

.accordion-toggle {
	transition: all .4s transform ease-in-out;
	 -moz-transition: all 2s linear;
    -webkit-transition: all 2s linear;
    transition: all .4s transform ease-in-out;

}

.accordion-toggle:after {
    font-family: 'FontAwesome';
    content: "\f063";    
    float: right;
    font-weight: 200;
 }

.accordion-opened .accordion-toggle {
	transition: all .4s transform ease-in-out;
}

.accordion-opened .accordion-toggle:after {    
    content: "\f063" !important;   
    font-weight: 200;
    -moz-transform:rotate(180deg)!important;
    -webkit-transform:rotate(180deg)!important;
    transform:rotate(180deg)!important;
}

*/
.doc-row {
  border: 1px solid #ecf0f1;
  padding: 20px;
  margin-top: 30px;
  border-radius: 6px;
  text-align: center;
  width: 400px;
}
.doc-row a {
  color: #474747;
  text-decoration: none;
}
.doc-row .h3 a {
  text-decoration: none;
}
.doc-row .fa-file {
  font-size: 2.5em;
  margin-top: 10px;
}

.photo-gallery .img-responsive {
  max-width: 250px;
  float: left;
  padding: 20px;
}

.slide {
  position: relative !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCJfbWVudS13aGl0ZS5zY3NzIiwiX2FuaW1hdGUuc2NzcyIsIl9wYXJhZ3JhcGhzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDZWhCOzs7Ozs7Q0FBQTtBQ1pBO0VBQ0ksc0JBQUE7RUFDQSxhQUFBO0VBQ0EsV0FBQTtBRk1KOztBRUhBO0VBQ0ksZUFBQTtFQUNBLGtCQUFBO0FGTUo7O0FFSEE7RUFDSSxlQUFBO0VBQ0EsbUJBQUE7QUZNSjs7QUVGQTtFQUNJLDZCQUFBO0FGS0o7O0FFRkE7RUFDSSxjRHZCWTtBRDRCaEI7O0FFRkE7RUFDSSxzQkFBQTtFQUNBLGNEMUJTO0FEK0JiO0FFSUE7RUFDSSxpQkFBQTtBRkZKOztBRUtBO0VBQ0ksYUFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUVBLHlEQUFBO0VBRUEsaURBQUE7QUZISjtBRVFJO0VBQ0kseUJBQUE7QUZOUjtBRVFJO0VBQ0ksY0FBQTtBRk5SO0FFT1E7RUFHSSxzQkFBQTtFQUNBLGNEOURJO0FEdURoQjtBRVNRO0VBQ0ksc0JBQUE7RUFDQSxjRGxFSTtBRDJEaEI7QUVVSTtFQUNJLG9FQUFBO0FGUlI7QUVXSTtFQUdJLHNCQUFBO0VBQ0EsY0Q3RVE7QURrRWhCO0FFYUk7RUFDSSxzQkFBQTtBRlhSO0FFYUk7RUFDSSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFDQSx5REFBQTtFQUVBLGlEQUFBO0FGWFI7QUVhWTtFQUNJLG9FQUFBO0VBQ0EsV0FBQTtBRlhoQjtBRWVJO0VBQ0ksZ0JBQUE7RUFDQSxpQkFBQTtBRmJSOztBRWtCQTs7O0VBSUksc0JBQUE7RUFDQSxjRDdHWTtBRDZGaEI7QUV1QkE7OztFQUlJLHNCQUFBO0VBQ0EsY0R6SFk7QURtR2hCOztBRTJCQTtFQUNJLHNCQUFBO0VBQ0EsZUFBQTtBRnhCSjs7QUd4R0E7Ozs7OztFQUFBO0FBUUE7RUFDRSw4QkFBQTtPQUFBLHlCQUFB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QUE7RUFFQSxhQUFBO0VBQ0EsWUFBQTtFQUVBLHNCQUFBO0VBQ0Esd0RBQUE7RUFFQSxnREFBQTtFQUNBLHNCQUFBO0FEMjZCRjtBQ3o2QkU7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7QUQyNkJKO0FDejZCSTtFQUNFLGlCQUFBO0VBQ0EsZ0JBQUE7QUQyNkJOO0FDejZCTTtFQUNFLGlCQUFBO0VBQ0EseUJBQUE7RUFDQSxjQW53RVE7RUFvd0VSLFlBQUE7RUFDQSxrQkFBQTtFQUNBLDBCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0FEMjZCUjs7QUNyNkJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFvSUE7RUFDRSx5QkFBQTtFQUNBLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0FEdTZCRjtBQ3I2QkU7RUFDRSxjQXQ1RWE7RUF1NUViLHFCQUFBO0FEdTZCSjtBQ3A2QkU7RUFDRSxxQkFBQTtBRHM2Qko7QUNuNkJFO0VBQ0UsZ0JBQUE7RUFDQSxnQkFBQTtBRHE2Qko7O0FDaDZCRTtFQUNFLGdCQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7QURtNkJKOztBQy81QkE7RUFDRSw2QkFBQTtBRGs2QkYiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLypcbkBpbXBvcnQgXCJtZW51LWNvbG9yXCI7XG4kYm9keUhlaWdodDogNTRweDtcbiRzdWJUaXRsZTogYmxvY2s7XG4kYnJhbmQ6IDVweDtcbiRzZWFyY2g6IDBweDtcbiovXG4uc3ViLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgZGlzcGxheTogbm9uZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5uYXZiYXItYnRuIHtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi5uYXZiYXItYnJhbmQge1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi5uYXZiYXIgLmxvZ28ge1xuICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbi5uYXZiYXItdG9nZ2xlIHtcbiAgY29sb3I6ICMwYjZlNWI7XG59XG5cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIGNvbG9yOiAjZWNmMGYxO1xufVxuLm5hdmJhci1uYXYge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuI25hdmJhciB7XG4gIGhlaWdodDogMTAwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAzcHggMThweCAtOXB4IHJnYigxNjMsIDE2MywgMTYzKTtcbiAgLW1vei1ib3gtc2hhZG93OiAtMXB4IDNweCAxOHB4IC05cHggcmdiKDE2MywgMTYzLCAxNjMpO1xuICBib3gtc2hhZG93OiAtMXB4IDNweCAxOHB4IC05cHggcmdiKDE2MywgMTYzLCAxNjMpO1xufVxuI25hdmJhciAubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIge1xuICBjb2xvcjogIzBiNmU1YiAhaW1wb3J0YW50O1xufVxuI25hdmJhciBhIHtcbiAgY29sb3I6ICM1YTVhNWE7XG59XG4jbmF2YmFyIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICBjb2xvcjogIzBiNmU1Yjtcbn1cbiNuYXZiYXIgYSAuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgY29sb3I6ICMwYjZlNWI7XG59XG4jbmF2YmFyIGEuZHJvcGRvd24tdG9nZ2xlIGEuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1LjYzNjM2MzYzNjQsIDE1Ni4zNjM2MzYzNjM2LCAxMjkuMzU1MzcxOTAwOCk7XG59XG4jbmF2YmFyIGEuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgY29sb3I6ICMwYjZlNWI7XG59XG4jbmF2YmFyIC5uYXZiYXItY29sbGFwc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xufVxuI25hdmJhciAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIG9wYWNpdHk6IDAuOTtcbiAgYm9yZGVyOiBub25lO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IC0xcHggM3B4IDE4cHggLTlweCByZ2IoMTYzLCAxNjMsIDE2Myk7XG4gIC1tb3otYm94LXNoYWRvdzogLTFweCAzcHggMThweCAtOXB4IHJnYigxNjMsIDE2MywgMTYzKTtcbiAgYm94LXNoYWRvdzogLTFweCAzcHggMThweCAtOXB4IHJnYigxNjMsIDE2MywgMTYzKTtcbn1cbiNuYXZiYXIgLmRyb3Bkb3duLW1lbnUgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNS42MzYzNjM2MzY0LCAxNTYuMzYzNjM2MzYzNiwgMTI5LjM1NTM3MTkwMDgpO1xuICBjb2xvcjogI0ZGRjtcbn1cbiNuYXZiYXIgLmlucHV0LWdyb3VwIHtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSxcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICBjb2xvcjogIzBiNmU1Yjtcbn1cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5vcGVuID4gYSxcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpob3Zlcixcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIGNvbG9yOiAjMGI2ZTViO1xufVxuXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10ZXh0IHtcbiAgY29sb3I6ICNGRkYgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4vKiFcbiAqIGFuaW1hdGUuY3NzIC1odHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlXG4gKiBWZXJzaW9uIC0gMy41LjJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcgRGFuaWVsIEVkZW5cbiAqL1xuLmFuaW1hdGVkIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5hbmltYXRlZC5oaW5nZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG59XG5cbi5hbmltYXRlZC5mbGlwT3V0WCxcbi5hbmltYXRlZC5mbGlwT3V0WSxcbi5hbmltYXRlZC5ib3VuY2VJbixcbi5hbmltYXRlZC5ib3VuY2VPdXQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sIDIwJSwgNTMlLCA4MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIDQwJSwgNDMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuICA3MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcbiAgfVxufVxuLmJvdW5jZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5cbkBrZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLCA1MCUsIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uZmxhc2gge1xuICBhbmltYXRpb24tbmFtZTogZmxhc2g7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4ucHVsc2Uge1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG59XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuICA2NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4ucnViYmVyQmFuZCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSwgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgNi41JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICB9XG4gIDE4LjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG4gIDMxLjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cbiAgNDMuNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi5oZWFkU2hha2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcbn1cblxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cbi5zd2luZyB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuQGtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG4gIDEwJSwgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLnRhZGEge1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi53b2JibGUge1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSwgMTEuMSUsIHRvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMjIuMiUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuICAzMy4zJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuICA0NC40JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cbiAgNTUuNSUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG4gIDY2LjYlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gIH1cbiAgNzcuNyUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuICA4OC44JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuLmplbGxvIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLCAyMCUsIDQwJSwgNjAlLCA4MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbi5ib3VuY2VJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5ib3VuY2VJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLmJvdW5jZUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uYm91bmNlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5ib3VuY2VJblVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cbiAgNTAlLCA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxufVxuLmJvdW5jZU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cbi5ib3VuY2VPdXREb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5ib3VuY2VPdXRMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG4uYm91bmNlT3V0UmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuLmJvdW5jZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5mYWRlSW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLmZhZGVJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLmZhZGVJbkRvd25CaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5MZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uZmFkZUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5SaWdodEJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLmZhZGVJblVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uZmFkZU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG4uZmFkZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuLmZhZGVPdXREb3duQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuLmZhZGVPdXRMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG4uZmFkZU91dExlZnRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG4uZmFkZU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmZhZGVPdXRSaWdodEJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuLmZhZGVPdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG4uZmFkZU91dFVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbn1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuLmFuaW1hdGVkLmZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG4uZmxpcEluWCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG4uZmxpcEluWSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uZmxpcE91dFgge1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmxpZ2h0U3BlZWRJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4ubGlnaHRTcGVlZE91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4ucm90YXRlSW4ge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluRG93bkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5yb3RhdGVJbkRvd25SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4ucm90YXRlSW5VcExlZnQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5yb3RhdGVJblVwUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5yb3RhdGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLnJvdGF0ZU91dERvd25MZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4ucm90YXRlT3V0VXBMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG4gIDIwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICA0MCUsIDgwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmhpbmdlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xufVxuXG5Aa2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG4uamFja0luVGhlQm94IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4ucm9sbEluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuLnJvbGxPdXQge1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDtcbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi56b29tSW4ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uem9vbUluRG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uem9vbUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLnpvb21JblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLnpvb21JblVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi56b29tT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uem9vbU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuLnpvb21PdXRMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuLnpvb21PdXRSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLnpvb21PdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uc2xpZGVJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uc2xpZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uc2xpZGVJblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5zbGlkZUluVXAge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG4uc2xpZGVPdXREb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cbi5zbGlkZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlT3V0UmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG4uc2xpZGVPdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xufVxuXG4jcGdyYXBoIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzBiNmU1YjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBtYXJnaW46IDEwcHggMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI2ZTViO1xuICBjb2xvcjogI0ZGRjtcbn1cblxuLnAtdGlwIC5mb250YXdlc29tZS1pY29ucyB7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI2ZTViO1xufVxuLnAtdGlwIC5maWVsZC0tbmFtZS1maWVsZC10aXAtdGl0bGUge1xuICBmb250LXNpemU6IDJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ucC10aXAgLmZpZWxkLS1uYW1lLWZpZWxkLXRpcC1ib2R5IHAge1xuICBjb2xvcjogI0ZGRjtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMGI2ZTViO1xufVxuXG4jdHVybmtleS1jcmVkaXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5hdXRvLWNsZWFyIC5jb2wtbGctMTpudGgtY2hpbGQoMTJuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLWxnLTI6bnRoLWNoaWxkKDZuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLWxnLTM6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLWxnLTQ6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLWxnLTY6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmF1dG8tY2xlYXIgLmNvbC1tZC0xOm50aC1jaGlsZCgxMm4rMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtbWQtMjpudGgtY2hpbGQoNm4rMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtbWQtMzpudGgtY2hpbGQoNG4rMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtbWQtNDpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtbWQtNjpudGgtY2hpbGQob2RkKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5hdXRvLWNsZWFyIC5jb2wtc20tMTpudGgtY2hpbGQoMTJuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLXNtLTI6bnRoLWNoaWxkKDZuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLXNtLTM6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLXNtLTQ6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLXNtLTY6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5ob3J6LXJvdy1mcm9udCAubmV3cy10aHVtYiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hdXRvLWNsZWFyIC5jb2wteHMtMTpudGgtY2hpbGQoMTJuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLXhzLTI6bnRoLWNoaWxkKDZuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLXhzLTM6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLXhzLTQ6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLXhzLTY6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG59XG4uYmxvY2stdmlld3MtYmxvY2tkdXBsaWNhdGUtb2YtZnJvbnQtY2F0ZWdvcmllcy1ibG9jay0xIHtcbiAgbWFyZ2luLXRvcDogNCU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmdyaWQge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuc3ViLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNhdGVnb3J5LWJsb2NrIC5pbWctcmVzcG9uc2l2ZSB7XG4gICAgbWF4LXdpZHRoOiA2NSU7XG4gIH1cbiAgLnNsaWRlIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLnNsaWRlIC5jYXJvdXNlbC1jYXB0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMWVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNsaWRlIC5jYXJvdXNlbC1jYXB0aW9uIGgyIHtcbiAgICBmb250LXNpemU6IDJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5oaWdobGlnaHRlZCB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG4gIC5oaWdobGlnaHRlZCAuaW1nLXJlc3BvbnNpdmUge1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbiAgdWwuaGVhZGVyLW9wdGlvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmJhci1kZWZhdWx0IC5uYXZiYXItdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWlzLWZpeGVkLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHggIWltcG9ydGFudDtcbiAgfVxuICAucmVnaW9uLWNvbnRlbnQtZnJvbnQtbGVmdCAuaW1nLXJlc3BvbnNpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnBhZ2Utbm9kZS10eXBlLXBhZ2UgLnJlZ2lvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gIH1cbn1cbi52aWRlby1yZXNwb25zaXZlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG59XG5cbi52aWRlby1yZXNwb25zaXZlIGlmcmFtZSB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLmdyaWQge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICNibG9jay1jaXJlcy1ib290c3RyYXAtc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHVsLmhlYWRlci1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5zbGlkZSAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5zbGlkZSAuY2Fyb3VzZWwtY2FwdGlvbiBwIHtcbiAgICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zbGlkZSAuY2Fyb3VzZWwtY2FwdGlvbiBoMiB7XG4gICAgZm9udC1zaXplOiAyZW0gIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTNweCkge1xuICAuZ3JpZCB7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgfVxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICNtYXR0LXNlYXJjaCAuZm9ybS1zZWFyY2guZm9ybS1jb250cm9sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICB9XG59XG4jcHJpbWFyeS1ob2xkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI2ZTViO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMyU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2IoNi4zNjM2MzYzNjM2LCA2My42MzYzNjM2MzY0LCA1Mi42NDQ2MjgwOTkyKTtcbn1cbiNwcmltYXJ5LWhvbGRlciBoMSB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDIuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgcGFkZGluZzogMTBweCAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNlbnRlci1jb250ZW50IHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucGF0aC1mcm9udHBhZ2UgaDEucGFnZS1oZWFkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFnZS1oZWFkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmEge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuLmZhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZjBmMTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbn1cbi5mYTphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xufVxuXG4uZm9vdGVyIGkuZmE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xufVxuXG4uZmEtdGFnIHtcbiAgcGFkZGluZy1yaWdodDogM3B4O1xufVxuXG4uZmEuZmEtdGFnOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbn1cblxuLnRvb2x0aXAtYXJyb3csXG4rIC50b29sdGlwID4gLnRvb2x0aXAtaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI2ZTViO1xufVxuXG4udG9vbHRpcC1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYjZlNWI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udG9vbHRpcC50b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMGI2ZTViO1xufVxuXG4udG9vbHRpcC5yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzBiNmU1Yjtcbn1cblxuLnRvb2x0aXAuYm90dG9tIC50b29sdGlwLWFycm93IHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzBiNmU1Yjtcbn1cblxuLnRvb2x0aXAubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMGI2ZTViO1xufVxuXG5oMS5wYWdlLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnBhdGgtZnJvbnRwYWdlIC5yZWdpb24tY29udGVudCB7XG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uZmF0Zm9udCB7XG4gIGNvbG9yOiAjNzc3Nzc3O1xuICBmb250LXNpemU6IDJyZW07XG59XG5cbi5jYXRlZ29yeS10YWcge1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgbWluLWhlaWdodDogMTQwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbi5jYXRlZ29yeS10YWcgLmg0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uY2F0ZWdvcnktdGFnIHAge1xuICBmb250LXNpemU6IDEycHg7XG59XG4uY2F0ZWdvcnktdGFnOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZjBmMTtcbn1cblxuLnJlZ2lvbi1jb250ZW50IC5maWVsZC0tbmFtZS1ib2R5IGE6bGluayxcbi5yZWdpb24tY29udGVudCAuZmllbGQtLW5hbWUtYm9keSBhOnZpc2l0ZWQsXG4ucmVnaW9uLWNvbnRlbnQgLmZpZWxkLS1uYW1lLWJvZHkgcCBhOmxpbmsge1xuICBjb2xvcjogIzY3Njc2NztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgIzBiNmU1YjtcbiAgcGFkZGluZzogMHB4IDJweCAwcHggMnB4O1xufVxuLnJlZ2lvbi1jb250ZW50IC5maWVsZC0tbmFtZS1ib2R5IC5idG4tcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI2ZTViO1xuICBib3JkZXI6IG5vbmU7XG59XG4ucmVnaW9uLWNvbnRlbnQgLmZpZWxkLS1uYW1lLWJvZHkgLmJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1LjYzNjM2MzYzNjQsIDE1Ni4zNjM2MzYzNjM2LCAxMjkuMzU1MzcxOTAwOCk7XG59XG5cbmltZy5kZXNrLWltZyB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbnAge1xuICBjb2xvcjogIzY3Njc2NztcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xufVxuXG5hOmxpbmssXG5hOnZpc2l0ZWQge1xuICBjb2xvcjogIzBiNmU1YjtcbiAgZm9udC13ZWlnaHQ6IDM1MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmE6aG92ZXIge1xuICBmb250LXdlaWdodDogMzUwO1xufVxuXG4uZGF0ZS1zdGFtcCxcbi5kYXRlLXN0YW1wIHAsXG50aW1lIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGNvbG9yOiByZ2IoOTQuMTgxODE4MTgxOCwgMTIxLjA5MDkwOTA5MDksIDEyNy44MTgxODE4MTgyKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiA5NnB4O1xuICBmb250LXNpemU6IDZyZW07XG59XG5cbi5wYWdlLWludHJvIHtcbiAgbWFyZ2luLWJvdHRvbTogNSU7XG4gIG1hcmdpbi1sZWZ0OiAyJTtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGNvbG9yOiByZ2IoMTE4LjU0NTQ1NDU0NTUsIDE0Ny4yNzI3MjcyNzI3LCAxNTQuNDU0NTQ1NDU0NSk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbmgxIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLnJlYWQtbW9yZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5yZWFkLW1vcmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIuKenlwiO1xuICBjb2xvcjogIzBiNmU1YjtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIDAuNHM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNTZzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjI1NnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjI1NnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1NnMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5yZWFkLW1vcmU6aG92ZXI6YWZ0ZXIge1xuICByaWdodDogLTJweDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnNsaWRlIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG59XG4uc2xpZGUgLmNhcm91c2VsLWNhcHRpb24gaDIge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiA3MHB4O1xuICBmb250LXNpemU6IDQuMzc1cmVtO1xuICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi5zbGlkZSAuY2Fyb3VzZWwtY2FwdGlvbiBwIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiAwcHggMHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLnNsaWRlIC5zbGlkZS1idXR0b24ge1xuICBwYWRkaW5nOiA4cHggMjBweCA4cHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnNsaWRlIC5zbGlkZS1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzBiNmU1YjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnNsaWRlIC5zbGlkZS1idXR0b24gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2xpZGUtY3JlZGl0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxNXB4O1xuICBib3R0b206IDI1cHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAwLjk1ZW07XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc3ViLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDYuMzYzNjM2MzYzNiwgNjMuNjM2MzYzNjM2NCwgNTIuNjQ0NjI4MDk5Mik7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNsZWFyOiBib3RoO1xufVxuLnN1Yi10aXRsZSBwIHtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDRweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG59XG5cbi5uYXZiYXItYnJhbmQge1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmhlYWRlciNuYXZiYXIubmF2YmFyLm5hdmJhci1kZWZhdWx0Lm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBtYXJnaW46IDBweDtcbn1cblxuLmhlYWRlci1vcHRpb25zIHtcbiAgdHJhbnNpdGlvbjogYWxsIDFzO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4uaGVhZGVyLW9wdGlvbnMgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuLmhlYWRlci1vcHRpb25zIGZhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZjBmMTtcbn1cbi5oZWFkZXItb3B0aW9ucyBmYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uaGVhZGVyLW9wdGlvbnM6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNmMGYxO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xufVxuXG4uaGVhZGVyLW9wdGlvbnM6YWN0aXZlIC5mYSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45LCAwLjkpO1xufVxuXG4ubW9kYWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLm1vZGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IC00cHg7IC8qIEFkanVzdHMgZm9yIHNwYWNpbmcgKi9cbn1cblxuLm1vZGFsLWRpYWxvZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuI2VkaXQta2V5cy0tMixcbiNlZGl0LWtleXMge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgaGVpZ2h0OiA2NXB4O1xuICBmb250LXNpemU6IDRyZW07XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuZGl2LmlucHV0LWdyb3VwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b2dnbGUtc2VhcmNoLWNsb3NlIC5nbHlwaGljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50b2dnbGUtc2VhcmNoLWNsb3NlIC5nbHlwaGljb24gc3Bhbjpob3ZlciB7XG4gIGNvbG9yOiAjMGI2ZTViO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNtaXNzaW9uLWJsb2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgcGFkZGluZzogNSU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTQwcHg7XG59XG4jbWlzc2lvbi1ibG9jayBwIHtcbiAgY29sb3I6ICM0NzQ3NDc7XG59XG4jbWlzc2lvbi1ibG9jayBoMiB7XG4gIGNvbG9yOiAjNDc0NzQ3O1xufVxuXG4jY3RhLWJsb2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxMy41LCAyMTMuNSwgMjEzLjUpO1xuICBvdmVyZmxvdzogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMyU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2IoMjAwLjc1LCAyMDAuNzUsIDIwMC43NSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG59XG4jY3RhLWJsb2NrIC5yZWdpb24tY3RhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuI2N0YS1ibG9jayAucmVnaW9uLWN0YSBoMyB7XG4gIG1hcmdpbi10b3A6IDBweDtcbn1cbi5mb290LW9uZSB7XG4gIGNvbG9yOiAjNDc0NzQ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMyU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2IoMjEzLjUsIDIxMy41LCAyMTMuNSk7XG59XG4uZm9vdC1vbmUgcCB7XG4gIGNvbG9yOiAjNDc0NzQ3O1xufVxuXG4uZnJvbnQtY2F0ZWdvcnkge1xuICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmZyb250LXNwYWNlciB7XG4gIG1hcmdpbjogMiUgMHB4IDIlIDBweDtcbn1cblxuLm1haW4tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZy1ib3R0b206IDEwJTtcbn1cblxuLnJlZ2lvbi1jb250ZW50IC5ub3QtZnJvbnQge1xuICBwYWRkaW5nLWJvdHRvbTogMTAlO1xufVxuXG5ib2R5IHAsXG5ib2R5IGgxLFxuYm9keSBoMixcbmJvZHkgaDMge1xuICBjb2xvcjogIzM1MzUzNTtcbn1cbmJvZHkgaW1nLmFsaWduLWNlbnRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5ib2R5Lm5hdmJhci1pcy1maXhlZC10b3Age1xuICBtYXJnaW4tdG9wOiAxMDBweDtcbn1cblxuYS5sb2dvLm5hdmJhci1idG4ucHVsbC1sZWZ0IGltZyB7XG4gIHdpZHRoOiAxMDBweDtcbn1cbmEubG9nby5uYXZiYXItYnRuLnB1bGwtbGVmdCBpbWc6aG92ZXIge1xuICBmaWxsOiAjMGI2ZTViO1xufVxuXG4ubWFkZS13aXRoIHtcbiAgY29sb3I6IHJnYig2LjgyNzI3MjcyNzMsIDY4LjI3MjcyNzI3MjcsIDU2LjQ4MDE2NTI4OTMpO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIHRyYW5zaXRpb246IGFsbCA1cztcbn1cbi5tYWRlLXdpdGg6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5tYWRlLXdpdGg6aG92ZXIgPiAuZmEtaGVhcnQge1xuICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYjZlNWI7XG4gIGJvcmRlci1yYWRpdXM6IG5vbmUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDVzO1xufVxuLm1hZGUtd2l0aCAuZmEtaGVhcnQge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYig2LjgyNzI3MjcyNzMsIDY4LjI3MjcyNzI3MjcsIDU2LjQ4MDE2NTI4OTMpICFpbXBvcnRhbnQ7XG59XG5cbi5jb3B5cmlnaHQge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4jTGF5ZXJfMCBpbWcge1xuICBmaWxsOiAjMGI2ZTViO1xufVxuXG4uY29udGFpbmVyLmZvb3Qge1xuICBiYWNrZ3JvdW5kOiAjMGI2ZTViO1xufVxuXG4uZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzBiNmU1YjtcbiAgYm90dG9tOiAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItdG9wOiAycHggc29saWQgcmdiKDYuMzYzNjM2MzYzNiwgNjMuNjM2MzYzNjM2NCwgNTIuNjQ0NjI4MDk5Mik7XG59XG4uZm9vdGVyIC5uYXYge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cbi5mb290ZXIgLm5hdiA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbjogNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi5mb290ZXIgLm5hdiA+IGxpID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY29sb3I6ICMwYjZlNWI7XG59XG4uZm9vdGVyIC5jb2wtbWQtMTIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLmZvb3RlciBoMyB7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuLmZvb3RlciAuc29jaWFsLWljb25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZvb3RlciAuc29jaWFsLWljb25zIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuLmZvb3RlciAuc29jaWFsLWljb25zIGxpOmhvdmVyIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI2ZTViO1xufVxuLmZvb3RlciAuc29jaWFsLWljb25zIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgbWFyZ2luOiAxMHB4O1xufVxuLmZvb3RlciAuc29jaWFsLWljb25zIGE6aG92ZXIge1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYjZlNWI7XG59XG4uZm9vdGVyIHVsIHtcbiAgbWFyZ2luOiAwcHggYXV0byAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwcHg7XG59XG4uZm9vdGVyIC5mYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmZvb3RlciBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5mb290ZXIgcCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmZvb3RlciBoMiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuXG4uZm9vdGVyLmZvb3Rlci5jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjMGI2ZTViO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmluZGVudGVkIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzBiNmU1Yjtcbn1cbi5pbmRlbnRlZCAuY29tbWVudC1ib3gge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbn1cblxuLmNvbW1lbnQtYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWNmMGYxO1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmNvbW1lbnQtYm94IGgzIHtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWNmMGYxO1xufVxuLmNvbW1lbnQtYm94OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbn1cbi5jb21tZW50LWJveCB1bC5saW5rcy5saXN0LWlubGluZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWNmMGYxO1xuICBwYWRkaW5nLXRvcDogMTVweDtcbn1cbi5jb21tZW50LWJveCAuY29tbWVudF9fYXV0aG9yIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmNvbW1lbnQtYm94IC5kYXRhLWNvbW1lbnQtdGltZXN0YW1wIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuLmNvbnRleHQtZXZlbnQge1xuICBtYXJnaW46IDIwcHggMHB4IDIwcHggMHB4O1xuICBib3JkZXItdG9wOiAjZWNmMGYxIHNvbGlkIDFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jY2FsLWRheSB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VjZjBmMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYjZlNWI7XG4gIGJvcmRlci1ib3R0b206IHJnYig4LjY4MTgxODE4MTgsIDg2LjgxODE4MTgxODIsIDcxLjgyMjMxNDA0OTYpO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDJyZW07XG59XG4jY2FsLWRheSAuZmllbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4jY2FsLWRheSAuZmllbGQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4jY2FsLWRheSAubW9udGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI2ZTViO1xuICBib3JkZXItYm90dG9tOiByZ2IoOC42ODE4MTgxODE4LCA4Ni44MTgxODE4MTgyLCA3MS44MjIzMTQwNDk2KTtcbiAgY29sb3I6ICNmZmY7XG4gIHdpZHRoOiAxMjAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiAxMCU7XG4gIHRvcDogLTEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNjYWwtZGF5IC5tb250aCBwIHtcbiAgbGVmdDogMTBweDtcbn1cbiNjYWwtZGF5IC5tb250aDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYjZlNWI7XG59XG4jY2FsLWRheSAuZGF5IHtcbiAgY29sb3I6ICMwYjZlNWI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLnNpZGViYXIge1xuICBjb2xvcjogZGFya2VuICNlY2YwZjEsIDUlO1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG59XG4uc2lkZWJhciAuZmllbGQge1xuICBwYWRkaW5nOiAxMHB4IDBweCAxMHB4IDBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlY2YwZjE7XG59XG4uc2lkZWJhciAuZmllbGQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUwLjY4MTgxODE4MTgsIDI1MS41OTA5MDkwOTA5LCAyNTEuODE4MTgxODE4Mik7XG59XG4uc2lkZWJhciBwIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG4uc2lkZWJhciAuZmllbGQtLW5hbWUtZmllbGQtdGFnIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmZ1bGwtcHJvZmlsZS1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzguOTM2MzYzNjM2NCwgMjQyLjMxODE4MTgxODIsIDI0My4xNjM2MzYzNjM2KTtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmZ1bGwtcHJvZmlsZS1waWxsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0NC44MDkwOTA5MDkxLCAyNDYuOTU0NTQ1NDU0NSwgMjQ3LjQ5MDkwOTA5MDkpO1xufVxuXG4uZXhwbG9kZS1yb3cge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLm1lbWJlci1pbmZvIHtcbiAgcGFkZGluZzogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5wcm9qZWN0cy12aWV3cy1yb3cge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuLmltYWdlLXJvdW5kLTMwMCB7XG4gIGJvcmRlci1yYWRpdXM6IDE1MHB4O1xuICBtYXJnaW46IDBweCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaW1hZ2Utcm91bmQtMzAwIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDE1MHB4O1xuICBtYXJnaW46IDBweCBhdXRvO1xufVxuLmltYWdlLXJvdW5kLTMwMDphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xufVxuXG4uaW1hZ2Utcm91bmQtMTUwIHtcbiAgYm9yZGVyLXJhZGl1czogNzVweDtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmltYWdlLXJvdW5kLTE1MCAuZmllbGQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xufVxuLmltYWdlLXJvdW5kLTE1MCBpbWcge1xuICBib3JkZXItcmFkaXVzOiA3NXB4O1xuICBtYXJnaW46IDBweCBhdXRvO1xufVxuLmltYWdlLXJvdW5kLTE1MDphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xufVxuXG4uaW1hZ2Utcm91bmQtMTAwIHtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmltYWdlLXJvdW5kLTEwMCAuZmllbGQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xufVxuLmltYWdlLXJvdW5kLTEwMCBpbWcge1xuICBib3JkZXItcmFkaXVzOiA3NXB4O1xuICBtYXJnaW46IDBweCBhdXRvO1xufVxuLmltYWdlLXJvdW5kLTEwMDphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xufVxuXG4uY2h1LXJvdyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhvcnotcm93IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlY2YwZjE7XG4gIHBhZGRpbmc6IDIuNSUgMCAyLjUlIDA7XG4gIG1hcmdpbi10b3A6IDElO1xufVxuLmhvcnotcm93IC5pbmZvLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2YwZjE7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNnB4O1xufVxuLmhvcnotcm93IC5kYXRlLXN0YW1wIHtcbiAgZm9udC1zaXplOiA0NXB4O1xuICBmb250LXNpemU6IDIuODEyNXJlbTtcbiAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcbn1cbi5ob3J6LXJvdyAudGl0bGUge1xuICBmb250LXNpemU6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuLmhvcnotcm93IC50aXRsZSBhOmxpbmsge1xuICBjb2xvcjogIzBiNmU1Yjtcbn1cbi5ob3J6LXJvdyBhOmxpbmsge1xuICBjb2xvcjogIzBiNmU1Yjtcbn1cbi5ob3J6LXJvdyAubmV3cy10aHVtYiBpbWcge1xuICBwYWRkaW5nOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG59XG4uaG9yei1yb3cgLm5ld3MtdGh1bWIgaW1nOmhvdmVyIHtcbiAgcGFkZGluZzogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLmhvcnotcm93IC5uZXdzLXRodW1iIGltZzphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xufVxuLmhvcnotcm93IC5mYXRmb250IHtcbiAgZm9udC1zaXplOiAzOHB4O1xuICBmb250LXNpemU6IDIuMzc1cmVtO1xuICBjb2xvcjogcmdiKDcyLjU0NTQ1NDU0NTUsIDkzLjI3MjcyNzI3MjcsIDk4LjQ1NDU0NTQ1NDUpO1xufVxuXG4ubmV3cy10aHVtYiBpbWcge1xuICBwYWRkaW5nOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG59XG4ubmV3cy10aHVtYiBpbWc6aG92ZXIge1xuICBwYWRkaW5nOiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYjZlNWI7XG59XG5cbi5yb3VuZGVkLWNvcm5lciBpbWcge1xuICBwYWRkaW5nOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG59XG5cbi5uZXdzLXRodW1iLWZyb250IGltZyB7XG4gIHBhZGRpbmc6IDBweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgd2lkdGg6IDc1JTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLm5ld3MtdGh1bWItZnJvbnQgaW1nOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBiNmU1Yjtcbn1cblxuLnZpZC10aHVtYiBpbWcge1xuICBwYWRkaW5nOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi52aWQtdGh1bWIgaW1nOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnZpZC10aHVtYiBpbWc6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcbn1cblxuLmhvcnotcm93LXNtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlY2YwZjE7XG4gIHBhZGRpbmc6IDElIDAgMSUgMDtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmhvcnotcm93LXNtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uaG9yei1yb3ctc20gaDMge1xuICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uZ3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDQlO1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xufVxuLmdyaWQ6aG92ZXIge1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDcuNzQ1NDU0NTQ1NSwgMjQ5LjI3MjcyNzI3MjcsIDI0OS42NTQ1NDU0NTQ1KTtcbn1cbi5ncmlkIC5ncmlkLWltYWdlIC5pbWctcmVzcG9uc2l2ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG4uZ3JpZCAuZ3JpZC1pbmZvIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuLmdyaWQgLmdyaWQtdGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM2MzYzNjM7XG59XG4uZ3JpZCAuZ3JpZC10YWcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMGI2ZTViO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VjZjBmMTtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLmdyaWQgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5ncmlkIGE6dmlzaXRlZCxcbi5ncmlkIGE6bGluayB7XG4gIGNvbG9yOiAjMGI2ZTViO1xufVxuXG4ubWVtYmVyLWdyaWQge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5tZW1iZXItZ3JpZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDcuNzQ1NDU0NTQ1NSwgMjQ5LjI3MjcyNzI3MjcsIDI0OS42NTQ1NDU0NTQ1KTtcbn1cbi5tZW1iZXItZ3JpZCAubWVtLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cbi5tZW1iZXItZ3JpZCAubWVtLWluZm8ge1xuICBmb250LXNpemU6IDAuOWVtO1xuICBjb2xvcjogIzY4Njg2ODtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMzBweDtcbn1cbi5tZW1iZXItZ3JpZCBpbWcge1xuICBtYXgtd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5ncmlkLWNsZWFuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMiU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDI4MHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmdyaWQtY2xlYW46aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ3Ljc0NTQ1NDU0NTUsIDI0OS4yNzI3MjcyNzI3LCAyNDkuNjU0NTQ1NDU0NSk7XG59XG4uZ3JpZC1jbGVhbiAuZ3JpZC1pbmZvIHtcbiAgcGFkZGluZzogMTBweDtcbiAgdG9wOiA1JTtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4taGVpZ2h0OiA3MHB4O1xuICBwYWRkaW5nOiAwIDUlIDAgNSU7XG59XG4uZ3JpZC1jbGVhbiAuZ3JpZC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMzRweDtcbiAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZ3JpZC1jbGVhbiAuZ3JpZC10aXRsZSBhIHtcbiAgY29sb3I6IHJnYig3Mi41NDU0NTQ1NDU1LCA5My4yNzI3MjcyNzI3LCA5OC40NTQ1NDU0NTQ1KSAhaW1wb3J0YW50O1xufVxuLmdyaWQtY2xlYW4gLmdyaWQtZW1haWwge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHJnYigxMTguNTQ1NDU0NTQ1NSwgMTQ3LjI3MjcyNzI3MjcsIDE1NC40NTQ1NDU0NTQ1KSAhaW1wb3J0YW50O1xufVxuLmdyaWQtY2xlYW4gLmdyaWQtdGFnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzBiNmU1YjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlY2YwZjE7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbi5ncmlkLWNsZWFuIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uZ3JpZC1jbGVhbiBhOnZpc2l0ZWQsXG4uZ3JpZC1jbGVhbiBhOmxpbmsge1xuICBjb2xvcjogIzBiNmU1Yjtcbn1cbi52aWV3LWNvbnRlbnQgaDMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgZm9udC1zaXplOiAzLjc1cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VjZjBmMTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMjBweCAwIDIwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICM2ODY4Njg7XG59XG5cbi5jb21taXR0ZWUge1xuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG59XG5cbi52aWV3LWNvbnRlbnQgaDMge1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4uaGlnaGxpZ2h0ZWQtaW50ZXJpb3IgLnNsaWRlLWNyZWRpdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTVweDtcbiAgdG9wOiAxNTBweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDAuOTVlbTtcbiAgY29sb3I6ICNmZmY7XG59XG4uaGlnaGxpZ2h0ZWQtaW50ZXJpb3IgaW1nLmltZy1yZXNwb25zaXZlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBtYXgtaGVpZ2h0OiAyMDJweDtcbn1cblxuLmhpZ2hsaWdodGVkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbi5oaWdobGlnaHRlZCBpbWcuaW1nLXJlc3BvbnNpdmUge1xuICB3aWR0aDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG1heC1oZWlnaHQ6IDM1MHB4O1xufVxuXG4ub3dsLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTUwcHg7XG59XG5cbi5jaGltcCAuY2FtcGFpZ24ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VjZjBmMTtcbiAgcGFkZGluZzogMjVweCAxMHB4IDI1cHggMTBweDtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY2hpbXAgLmNhbXBhaWduOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLmNoaW1wIC5jYW1wYWlnbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTAuNjgxODE4MTgxOCwgMjUxLjU5MDkwOTA5MDksIDI1MS44MTgxODE4MTgyKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4uaG9yei1yb3ctZnJvbnQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VjZjBmMTtcbiAgcGFkZGluZzogMjVweCAxMHB4IDI1cHggMTBweDtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaG9yei1yb3ctZnJvbnQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uaG9yei1yb3ctZnJvbnQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ0LjgwOTA5MDkwOTEsIDI0Ni45NTQ1NDU0NTQ1LCAyNDcuNDkwOTA5MDkwOSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbi5ob3J6LXJvdy1mcm9udCAudGl0bGUge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBjbGVhcjogcmlnaHQ7XG59XG5cbi50YWcgdWwsXG4udGFnIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xufVxuLnRhZyB1bCBsaSxcbi50YWcgdWwgLmZpZWxkLS1pdGVtLFxuLnRhZyBsaSxcbi50YWcgLmZpZWxkLS1pdGVtIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ3NDc0NztcbiAgY29sb3I6ICM0NzQ3NDc7XG4gIHBhZGRpbmc6IDVweDtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NzQ3NDc7XG4gIGNvbG9yOiAjNDc0NzQ3O1xuICBwYWRkaW5nOiA1cHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXNpemU6IDAuOWVtO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xufVxuXG4uZnJvbnQtYmxvY2sge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cbi5mcm9udC1ibG9jayBoMiB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiAyNTA7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgZm9udC1zaXplOiAyLjVyZW07XG59XG4uZnJvbnQtYmxvY2sgLmRhdGUtc3RhbXAge1xuICBmb250LXNpemU6IDAuOWVtO1xuICBjb2xvcjogIzQ3NDc0NztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmZyb250LWJsb2NrLXJpZ2h0IHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG4uZnJvbnQtYmxvY2stcmlnaHQgYSB7XG4gIGNvbG9yOiAjMGI2ZTViO1xufVxuLmZyb250LWJsb2NrLXJpZ2h0IC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYjZlNWI7XG4gIGNvbG9yOiAjZmZmO1xufVxuYS5idG4uYnRuLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBiNmU1YjtcbiAgYm9yZGVyOiBub25lO1xufVxuYS5idG4uYnRuLXByaW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTUuNjM2MzYzNjM2NCwgMTU2LjM2MzYzNjM2MzYsIDEyOS4zNTUzNzE5MDA4KTtcbn1cblxuYS5idG4uYnRuLXByaW1hcnkucHVsbC1yaWdodCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5hLmJ0bi5idG4tcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2xpZGUtcmVzcG9uc2l2ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5wYXJ0bmVyLWltZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICM0NzQ3NDc7XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIG1hcmdpbjogMHB4IGF1dG87XG59XG4ucGFydG5lci1pbWcgaW1nIHtcbiAgcGFkZGluZzogMzBweDtcbn1cbi5wYXJ0bmVyLWltZyAudmlld3MtZmllbGQtdGl0bGUge1xuICBwYWRkaW5nLXRvcDogMTVweDtcbn1cbi5wYXJ0bmVyLWltZzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2YwZjE7XG59XG5cbi5ldmVudC1ibG9jayB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZXZlbnQtYmxvY2sgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ldmVudC1ibG9jayAuZXZlbnQtYmxvY2stb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtNTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBiNmU1YjtcbiAgaGVpZ2h0OiA1MHB4O1xufVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuLmNhcmQge1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYjZlNWI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tdG9wOiAzJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5jYXJkIGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jYXJkIC5jYXJkLWltZy10b3Age1xuICBoZWlnaHQ6IDIwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uY2FyZCAuY2FyZC1pbWctdG9wIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmNhcmQgLmNhcmQtaWNvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyZW07XG4gIGNvbG9yOiAjMGI2ZTViO1xuICBib3JkZXItcmFkaXVzOiA3NXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMGI2ZTViO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB3aWR0aDogNzVweDtcbiAgaGVpZ2h0OiA3NXB4O1xuICBtYXJnaW46IDBweCBhdXRvO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB0b3A6IDE1MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uY2FyZCAuY2FyZC1pY29uIC5mb250YXdlc29tZS1pY29uIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG59XG4uY2FyZCAuY2FyZC1ibG9jayB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbn1cbi5jYXJkIC5jYXJkLXRpdGxlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5jYXJkIC5jYXJkLXRleHQgcCB7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cbi5jYXJkIC5jYXJkLWFjdGlvbiB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2IoOC42ODE4MTgxODE4LCA4Ni44MTgxODE4MTgyLCA3MS44MjIzMTQwNDk2KTtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNi4zNjM2MzYzNjM2LCA2My42MzYzNjM2MzY0LCA1Mi42NDQ2MjgwOTkyKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cbi5jYXJkIC5jYXJkLWFjdGlvbiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi5jYXJkIC5jYXJkLWFjdGlvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxLjcyNzI3MjcyNzMsIDE3LjI3MjcyNzI3MjcsIDE0LjI4OTI1NjE5ODMpO1xufVxuXG4uY2F0ZWdvcnktYmxvY2sge1xuICBtYXJnaW46IDBweCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbi5jYXRlZ29yeS1ibG9jayAuY2F0LWltZy1iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5jYXRlZ29yeS1ibG9jayAuY2F0LWljb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBjb2xvcjogIzBiNmU1YjtcbiAgYm9yZGVyLXJhZGl1czogNzVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzBiNmU1YjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgd2lkdGg6IDc1cHg7XG4gIGhlaWdodDogNzVweDtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG59XG4uY2F0ZWdvcnktYmxvY2sgLmZvbnRhd2Vzb21lLWljb24ge1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuLmNhdGVnb3J5LWJsb2NrIC5jYXRlZ29yeS1ibG9jay10ZXh0IHtcbiAgcGFkZGluZzogNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMGI2ZTViO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYjZlNWI7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jYXRlZ29yeS1ibG9jayAuY2F0ZWdvcnktYmxvY2stdGV4dCBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG4uY2F0ZWdvcnktYmxvY2sgLmNhdGVnb3J5LWJsb2NrLXRleHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI2ZTViO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jYXRlZ29yeS1ibG9jayAuY2F0ZWdvcnktYmxvY2stdGV4dDpob3ZlciBoMyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmNhdGVnb3J5LWJsb2NrIC5jYXRlZ29yeS1ibG9jay10ZXh0OmhvdmVyIC5mb250YXdlc29tZS1pY29uIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xLCAxLjEpO1xufVxuLmNhdGVnb3J5LWJsb2NrIC5jYXRlZ29yeS1ibG9jay10ZXh0OmhvdmVyIC5jYXQtaWNvbiB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAycHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgLW1vei1ib3gtc2hhZG93OiAwcHggMnB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGJveC1zaGFkb3c6IDBweCAycHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbn1cbi5jYXRlZ29yeS1ibG9jayBoMyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmNhdGVnb3J5LWJsb2NrIGgzIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmZyb250LW5ld3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI2ZTViO1xuICBtYXJnaW46IDEwcHggMHB4IDIwcHggMHB4O1xuICBoZWlnaHQ6IDQwMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mcm9udC1uZXdzIHAge1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cbi5mcm9udC1uZXdzIGltZyB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmZyb250LW5ld3MgaDIge1xuICBmb250LXNpemU6IDcycHg7XG4gIGZvbnQtc2l6ZTogNC41cmVtO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuZnJvbnQtbmV3cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogNjAwcHg7XG4gIH1cbiAgLmZyb250LW5ld3MgaW1nIHtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbiAgLmZyb250LW5ld3MgaDIge1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gIH1cbn1cbi5ldmVudC10eXBlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBjb2xvcjogcmdiKDIwLjI3MjcyNzI3MjcsIDIwMi43MjcyNzI3MjczLCAxNjcuNzEwNzQzODAxNyk7XG59XG5cbnVsLnNwb25zb3ItbGlzdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbnVsLnNwb25zb3ItbGlzdCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbnVsLnNwb25zb3ItbGlzdCBsaTpob3ZlciB7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBiNmU1Yjtcbn1cbnVsLnNwb25zb3ItbGlzdCBpbWcge1xuICBtYXJnaW46IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuOi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE4LSAqL1xuICBjb2xvcjogcmVkO1xufVxuXG46Oi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE5KyAqL1xuICBjb2xvcjogcmVkO1xufVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuaDIge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTVweCkge1xuICAudG9nZ2xlLXNlYXJjaC1jbG9zZSAuZ2x5cGhpY29uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRvcDogLTYwcHg7XG4gIH1cbn1cbiN0b2dnbGUtc2VhcmNoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI3RvZ2dsZS1zZWFyY2ggLmdseXBoaWNvbiB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGNvbG9yOiAjMGI2ZTViO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI21hdHQtc2VhcmNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEzLjMxODE4MTgxODIsIDEzMy4xODE4MTgxODE4LCAxMTAuMTc3Njg1OTUwNCk7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwcHg7XG4gIHRvcDogLTE5MHB4O1xuICB6LWluZGV4OiA5OTk5OTtcbiAgbWFyZ2luOiAwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA2MDBtcztcbiAgdHJhbnNpdGlvbjogYWxsIDYwMG1zO1xufVxuI21hdHQtc2VhcmNoIGdseXBoaWNvbiB7XG4gIGNvbG9yOiAjMDAwO1xufVxuI21hdHQtc2VhcmNoIC5mb3JtLXNlYXJjaC5mb3JtLWNvbnRyb2wge1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IDYwMHB4O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4jbWF0dC1zZWFyY2ggc3Bhbi5pbnB1dC1ncm91cC1idG4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jZWRpdC1rZXlzLS0yLFxuI2VkaXQta2V5cyB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBoZWlnaHQ6IDY1cHg7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5kaXYuaW5wdXQtZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRvZ2dsZS1zZWFyY2gtY2xvc2UgLmdseXBoaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50b2dnbGUtc2VhcmNoLWNsb3NlIC5nbHlwaGljb24gc3Bhbjpob3ZlciB7XG4gIGNvbG9yOiAjMGI2ZTViO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tc3VibWVudSA+IC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICBwYWRkaW5nOiAwcHg7XG59XG5cbi5kcm9wZG93bi1zdWJtZW51OmhvdmVyID4gLmRyb3Bkb3duLW1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmRyb3Bkb3duLXN1Ym1lbnUgPiBhOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGUwODBcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJHbHlwaGljb25zIEhhbGZsaW5nc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5kcm9wZG93bi1zdWJtZW51OmhvdmVyID4gYTphZnRlciB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmO1xufVxuXG4uZHJvcGRvd24tc3VibWVudS5wdWxsLWxlZnQge1xuICBmbG9hdDogbm9uZTtcbn1cblxuLmRyb3Bkb3duLXN1Ym1lbnUucHVsbC1sZWZ0ID4gLmRyb3Bkb3duLW1lbnUge1xuICBsZWZ0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4IDAgNnB4IDZweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA2cHggMCA2cHggNnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHggMCA2cHggNnB4O1xufVxuXG4ubmF2YmFyLW5hdiBsaTpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLW1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMHB4O1xufVxuXG4ubmF2YmFyLW5hdiBsaTpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLXN1Ym1lbnUgPiBhOmFmdGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXFxlMDc5XCI7XG59XG5cbi5uYXZiYXItbmF2IGxpOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24tc3VibWVudSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbGVmdDogLTEwMCU7XG59XG5cbiNwbGF5ZXIge1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5tZWRpYS1ncmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTBweCAwIDEwcHggMDtcbn1cbiNvZmYtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBjb2xvcjogIzQ3NDc0Nztcbn1cblxuI3N0cmVhbSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4jc3RyZWFtIGgyIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuI3N0cmVhbSAuc3RyZWFtLXJvdyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgbWluLWhlaWdodDogMzAwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMTBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMXB4IDJweCAxMHB4IDJweCByZ2IoMjEyLCAyMTIsIDIxMik7XG4gIC1tb3otYm94LXNoYWRvdzogLTFweCAycHggMTBweCAycHggcmdiKDIxMiwgMjEyLCAyMTIpO1xuICBib3gtc2hhZG93OiAtMXB4IDJweCAxMHB4IDJweCByZ2IoMjEyLCAyMTIsIDIxMik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4jc3RyZWFtIGltZyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4jc3RyZWFtIC5zdHJlYW0tdGl0bGUge1xuICBmb250LXNpemU6IDIuMjVyZW07XG59XG4jcHVibGljYXRpb25zLWxpc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiNwdWJsaWNhdGlvbnMtbGlzdCB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbiNwdWJsaWNhdGlvbnMtbGlzdCBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWNmMGYxO1xuICBwYWRkaW5nOiAxMHB4O1xuICBtaW4taGVpZ2h0OiA3NXB4O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG4jcHVibGljYXRpb25zLWxpc3QgbGk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4jcHVibGljYXRpb25zLWxpc3Q6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jcHVibGljYXRpb25zLWxpc3Q6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNwdWJsaWNhdGlvbnMtbGlzdCBhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuI3B1YmxpY2F0aW9ucy1saXN0IC5wYW5lbC1ib2R5OjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuI3B1YmxpY2F0aW9ucy1saXN0IC5wYW5lbC1ib2R5OjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNwdWJsaWNhdGlvbnMtbGlzdCBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4ucmVzb3VyY2UtY2FyZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgbWluLWhlaWdodDogMjAwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMTBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMXB4IDJweCAxMHB4IDJweCByZ2IoMjEyLCAyMTIsIDIxMik7XG4gIC1tb3otYm94LXNoYWRvdzogLTFweCAycHggMTBweCAycHggcmdiKDIxMiwgMjEyLCAyMTIpO1xuICBib3gtc2hhZG93OiAtMXB4IDJweCAxMHB4IDJweCByZ2IoMjEyLCAyMTIsIDIxMik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ucmVzb3VyY2UtY2FyZCAudGFncyB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG59XG4ucmVzb3VyY2UtY2FyZCAudGFncyB1bCB7XG4gIHBhZGRpbmctbGVmdDogMGVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLnJlc291cmNlLWNhcmQgLnRhZ3MgdWwgbGkge1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzBiNmU1YjtcbiAgY29sb3I6ICMwYjZlNWI7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4vKiBBQ0NPUkRJT05TIFxuXG5cblxuXG5cbiNhY2NvcmRpb24gLnBhbmVsLWhlYWRpbmcgeyBwYWRkaW5nOiAwO31cbiNhY2NvcmRpb24gLnBhbmVsLXRpdGxlID4gYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiAwLjRlbSAwLjZlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jdmlld3MtYm9vdHN0cmFwLWFjY29yZGlvbiAucGFuZWwtdGl0bGUgPiBhLmFjY29yZGlvbi10b2dnbGU6OmFmdGVyLCAjdmlld3MtYm9vdHN0cmFwLWFjY29yZGlvbiBhW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl06OmFmdGVyICB7XG4gICAgY29udGVudDpcIlxcZTExM1wiO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcblx0bWFyZ2luLXJpZ2h0IDoxZW07XG5cblx0JjphY3RpdmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5O1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHR9XG5cbn1cblxuI3ZpZXdzLWJvb3RzdHJhcC1hY2NvcmRpb24gcGFuZWwtdGl0bGUgPiBhLmFjY29yZGlvbi10b2dnbGUuY29sbGFwc2VkOjphZnRlciwgI3ZpZXdzLWJvb3RzdHJhcC1hY2NvcmRpb24gYS5jb2xsYXBzZWRbZGF0YS10b2dnbGU9XCJjb2xsYXBzZVwiXTo6YWZ0ZXIgIHtcbiAgICBjb250ZW50OlwiXFxlMTE0XCI7XG59XG5cblxuI2FjY29yZGlvbiAucGFuZWwtdGl0bGUgPiBhLmFjY29yZGlvbi10b2dnbGU6OmFmdGVyLCAjYWNjb3JkaW9uIGFbZGF0YS10b2dnbGU9XCJjb2xsYXBzZVwiXTo6YWZ0ZXIgIHtcbiAgICBjb250ZW50OlwiXFxlMTEzXCI7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuXHRtYXJnaW4tcmlnaHQgOjFlbTtcblxuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXk7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdH1cblxufVxuI2FjY29yZGlvbiAucGFuZWwtdGl0bGUgPiBhLmFjY29yZGlvbi10b2dnbGUuY29sbGFwc2VkOjphZnRlciwgI2FjY29yZGlvbiBhLmNvbGxhcHNlZFtkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdOjphZnRlciAge1xuICAgIGNvbnRlbnQ6XCJcXGUxMTRcIjtcbiAgICAgIC1tb3otdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKSFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIWltcG9ydGFudDtcbn1cblxuI2FjY29yZGlvbiB7XG5cdHBhZGRpbmc6IDEwcHggNXB4IDEwcHggNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXk7XG5cblx0ZGl2LmFjY29yZGlvbi1oZWFkaW5nIHtcblx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0fVxuXG5cdC5hY2NvcmRpb24taW5uZXIge1xuXHRcdHBhZGRpbmc6IDEwcHggMHB4O1xuXHR9XG5cbn1cblxuXG4ucGFuZWwtZ3JvdXAge1xuXG5cdGJvcmRlci1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuXHR0cmFuc2l0aW9uOiBhbGwgLjRzIHRyYW5zZm9ybSBlYXNlLWluLW91dDtcblx0cGFkZGluZzogMTBweCA1cHggMTBweCA4cHg7XG5cdCY6aG92ZXIge1xuXHRcdC8vYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcblx0fVxuXG5cblx0LnBhbmVsLWhlYWRpbmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkYgIWltcG9ydGFudDtcblxuXHR9XG5cblxuXHQucGFuZWwge1xuXHRcdGJvcmRlci1yYWRpdXM6IG5vbmUgIWltcG9ydGFudDtcdFxuXHR9XG5cblx0LnBhbmVsLWRlZmF1bHR7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG5cdH1cblxuXHRoNC5wYW5lbC10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDI1MDtcblx0XHRib3JkZXItY29sb3I6ICNGRkYgIWltcG9ydGFudDtcblx0XHRib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZzogMiUgMCUgMiUgMDtcblx0fVxuXG59XG5cbi5hY2NvcmRpb24tdG9nZ2xlIHtcblx0dHJhbnNpdGlvbjogYWxsIC40cyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7XG5cdCAtbW96LXRyYW5zaXRpb246IGFsbCAycyBsaW5lYXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMnMgbGluZWFyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xuXG59XG5cbi5hY2NvcmRpb24tdG9nZ2xlOmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICBjb250ZW50OiBcIlxcZjA2M1wiOyAgICBcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiB9XG5cbi5hY2NvcmRpb24tb3BlbmVkIC5hY2NvcmRpb24tdG9nZ2xlIHtcblx0dHJhbnNpdGlvbjogYWxsIC40cyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7XG59XG5cbi5hY2NvcmRpb24tb3BlbmVkIC5hY2NvcmRpb24tdG9nZ2xlOmFmdGVyIHsgICAgXG4gICAgY29udGVudDogXCJcXGYwNjNcIiAhaW1wb3J0YW50OyAgIFxuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgLW1vei10cmFuc2Zvcm06cm90YXRlKDE4MGRlZykhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06cm90YXRlKDE4MGRlZykhaW1wb3J0YW50O1xufVxuXG4qL1xuLmRvYy1yb3cge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWNmMGYxO1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDQwMHB4O1xufVxuLmRvYy1yb3cgYSB7XG4gIGNvbG9yOiAjNDc0NzQ3O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uZG9jLXJvdyAuaDMgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5kb2Mtcm93IC5mYS1maWxlIHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnBob3RvLWdhbGxlcnkgLmltZy1yZXNwb25zaXZlIHtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5zbGlkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufSIsIi8vIyMjIyBWQVJJQUJMRVMgIyMjIy8vXG5cbiRjb2xvci1wcmltYXJ5OiAjMGI2ZTViO1xuJGNvbG9yLXNlY29uZGFyeTogIzBiNmU1YjtcbiRjb2xvci1ncmF5OiAjZWNmMGYxOyAvLyBjbG91ZHNcbiRjb2xvci1pY2U6ICNmNWY3ZmE7IC8vIGljZVxuJGNvbG9yLW9mZndoaXRlOiAjZWZlZmVmOyAvLyBvZmYgd2hpdGVcbiRjb2xvci1kYXJrZ3JheTogIzQ3NDc0NztcblxuLy8gIyMjIyBNRU5VIFRZUEUgIyMjIy8vXG5cbi8vIFRoaXMgdGVtcGxhdGUgcmVxdWlyZXMgb25lIG9yIHRoZSBvdGhlciB0byBiZSBlbmFibGVkLiBJZiB0aGUgQ29sb3IgdmFyaWFudCBpcyBjaG9zZW4gdGhlIHByaW1hcnkgY29sb3IgdmFyaWFibGUgd2lsbCBiZSB1dGlsaXplZC4gLy9cblxuLy8gQ09MT1IgLy9cblxuLypcbkBpbXBvcnQgXCJtZW51LWNvbG9yXCI7XG4kYm9keUhlaWdodDogNTRweDtcbiRzdWJUaXRsZTogYmxvY2s7XG4kYnJhbmQ6IDVweDtcbiRzZWFyY2g6IDBweDtcbiovXG5cbi8vIFdISVRFIC8gVEhJQ0sgQkFSIC8vXG4vLyBOb3RlczogYm9keWhlaWdodDogNzlweDsgc3ViVGl0bGU6IG5vbmU7XG5AaW1wb3J0IFwibWVudS13aGl0ZVwiO1xuJGJvZHlIZWlnaHQ6IDEwMHB4O1xuJHN1YlRpdGxlOiBub25lO1xuJGJyYW5kOiAwcHg7XG4kc2VhcmNoOiAwcHg7XG5cbkBpbXBvcnQgXCJhbmltYXRlXCI7XG5AaW1wb3J0IFwicGFyYWdyYXBoc1wiO1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4jdHVybmtleS1jcmVkaXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyMjIyMgQ0xFQVJGSVggRk9SIEJPT1RTVFJBUCAzIENPTFMgIyMjIy8vXG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmF1dG8tY2xlYXIgLmNvbC1sZy0xOm50aC1jaGlsZCgxMm4gKyAxKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbiAgLmF1dG8tY2xlYXIgLmNvbC1sZy0yOm50aC1jaGlsZCg2biArIDEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLWxnLTM6bnRoLWNoaWxkKDRuICsgMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtbGctNDpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbiAgLmF1dG8tY2xlYXIgLmNvbC1sZy02Om50aC1jaGlsZChvZGQpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5hdXRvLWNsZWFyIC5jb2wtbWQtMTpudGgtY2hpbGQoMTJuICsgMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtbWQtMjpudGgtY2hpbGQoNm4gKyAxKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbiAgLmF1dG8tY2xlYXIgLmNvbC1tZC0zOm50aC1jaGlsZCg0biArIDEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLW1kLTQ6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtbWQtNjpudGgtY2hpbGQob2RkKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5hdXRvLWNsZWFyIC5jb2wtc20tMTpudGgtY2hpbGQoMTJuICsgMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtc20tMjpudGgtY2hpbGQoNm4gKyAxKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbiAgLmF1dG8tY2xlYXIgLmNvbC1zbS0zOm50aC1jaGlsZCg0biArIDEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLXNtLTQ6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtc20tNjpudGgtY2hpbGQob2RkKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICAuaG9yei1yb3ctZnJvbnQgLm5ld3MtdGh1bWIge1xuICAgIC8vIEhJREUgQkxPRyBJTUFHRVMgLyBORVdTIElNQUdFUyBPTiBNT0JJTEVcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmF1dG8tY2xlYXIgLmNvbC14cy0xOm50aC1jaGlsZCgxMm4gKyAxKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbiAgLmF1dG8tY2xlYXIgLmNvbC14cy0yOm50aC1jaGlsZCg2biArIDEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuICAuYXV0by1jbGVhciAuY29sLXhzLTM6bnRoLWNoaWxkKDRuICsgMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5hdXRvLWNsZWFyIC5jb2wteHMtNDpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbiAgLmF1dG8tY2xlYXIgLmNvbC14cy02Om50aC1jaGlsZChvZGQpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxufVxuXG4uYmxvY2stdmlld3MtYmxvY2tkdXBsaWNhdGUtb2YtZnJvbnQtY2F0ZWdvcmllcy1ibG9jay0xIHtcbiAgbWFyZ2luLXRvcDogNCU7XG59XG5cbi8vIyMjIyBSRU0gRlVOQ1RJT04gIyMjIy9cblxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xuICAkcmVtU2l6ZTogJHNpemUgLyAxNnB4O1xuICBAcmV0dXJuICN7JHJlbVNpemV9cmVtO1xufVxuXG4vLyBNSVhJTiBGT1IgQUJPVkUgRlVOQ1RJT04gLy9cblxuQG1peGluIGZvbnRTaXplKCRzaXplKSB7XG4gIGZvbnQtc2l6ZTogJHNpemU7IC8vRmFsbGJhY2sgaW4gcHhcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xufVxuXG4vLyBzZXQgZm9udCBzaXplIC0+IEBpbmNsdWRlIGZvbnRTaXplKHB4KTsgPC1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC8vXG5cbi8vIFJFU1BPTlNJVkUgLy9cblxuLy8gU01BTEwgREVWSUNFUyBUYWJsZXRzLCA3NjhweCAmIHVwIC8vXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmdyaWQge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC5zdWItdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5jYXRlZ29yeS1ibG9jayB7XG4gICAgLmltZy1yZXNwb25zaXZlIHtcbiAgICAgIG1heC13aWR0aDogNjUlO1xuICAgIH1cbiAgfVxuXG4gIC5zbGlkZSAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMmVtICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cbiAgI2VkaXQta2V5cy0tMixcbiAgI2VkaXQta2V5cyB7XG4gICAgLy93aWR0aDogNjAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaGlnaGxpZ2h0ZWQge1xuICAgIG1hcmdpbi10b3A6IDhweDtcblxuICAgIC5pbWctcmVzcG9uc2l2ZSB7XG4gICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgdWwuaGVhZGVyLW9wdGlvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYmFyLWRlZmF1bHQgLm5hdmJhci10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm5hdmJhci1pcy1maXhlZC10b3Age1xuICAgIG1hcmdpbi10b3A6ICRib2R5SGVpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLy5mcm9udC1ibG9jayB7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXk7XG4gIC8vXHQmOjpsYXN0LWNoaWxkIHtcbiAgLy9cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLy9cdH1cbiAgLy99XG5cbiAgYS5sb2dvLm5hdmJhci1idG4ucHVsbC1sZWZ0IHtcbiAgICAvL21hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG5cbiAgLnJlZ2lvbi1jb250ZW50LWZyb250LWxlZnQge1xuICAgIC5pbWctcmVzcG9uc2l2ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlLW5vZGUtdHlwZS1wYWdlIC5yZWdpb24tY29udGVudCB7XG4gICAgcGFkZGluZzogMHB4O1xuICB9XG59XG5cbi52aWRlby1yZXNwb25zaXZlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG59XG4udmlkZW8tcmVzcG9uc2l2ZSBpZnJhbWUge1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLy8gTUVESVVNIERFVklDRVNcblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkgYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5ncmlkIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgI2Jsb2NrLWNpcmVzLWJvb3RzdHJhcC1zZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAucmVnaW9uLW5hdmlnYXRpb24gaW1nIHtcbiAgICAvL3dpZHRoOiA1MHB4O1xuICAgIC8vaGVpZ2h0OiA1MHB4O1xuICB9XG5cbiAgdWwuaGVhZGVyLW9wdGlvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc2xpZGUgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDJlbSAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG59XG5cbi8vIERFU0tUT1AgLSBGVUxMXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkzcHgpIHtcbiAgLmdyaWQge1xuICAgIGhlaWdodDogMzAwcHg7XG4gIH1cblxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgI21hdHQtc2VhcmNoIC5mb3JtLXNlYXJjaC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpZXctbXVsdGltZWRpYSAudmlld3MtbGFiZWwtZmllbGQtdGFnIHtcbn1cblxuLy8qKiBHTE9CQUwgKiovL1xuXG4jcHJpbWFyeS1ob2xkZXIge1xuICAvLyBORVcgUEFHRSBUSVRMRSBTRUNUSU9OXG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAzJTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGRhcmtlbigkY29sb3ItcHJpbWFyeSwgMTAlKTtcbiAgaDEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLmNlbnRlci1jb250ZW50IHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucGF0aC1mcm9udHBhZ2UgaDEucGFnZS1oZWFkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFnZS1oZWFkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmEge1xuICBwYWRkaW5nOiAxMHB4O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICB9XG59XG5cbi5mb290ZXIgaS5mYSB7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICB9XG59XG5cbi5mYS10YWcge1xuICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG59XG5cbi5mYS5mYS10YWc6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xufVxuXG4udG9vbHRpcC1hcnJvdyxcbisgLnRvb2x0aXAgPiAudG9vbHRpcC1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4vLyBUT09MVElQIC8vXG5cbi50b29sdGlwLWlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udG9vbHRpcC50b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLnRvb2x0aXAucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4udG9vbHRpcC5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLnRvb2x0aXAubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuaDEucGFnZS1oZWFkZXIge1xuICBmb250LXNpemU6IDRyZW07XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5wYWdlLWhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5wYXRoLWZyb250cGFnZSAucmVnaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZ2Utbm9kZS10eXBlLXBhZ2UgLnJlZ2lvbi1jb250ZW50IHtcbiAgLy9wYWRkaW5nOiAwcHggMTUlIDBweCAxNSU7XG59XG5cbi5mYXRmb250IHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuLmNhdGVnb3J5LXRhZyB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICBtaW4taGVpZ2h0OiAxNDBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gIC5oNCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheTtcbiAgfVxufVxuXG4vLyBXSVJFRCBTVFlMRSBMSU5LICYgSE9WRVIgT05MWSBXSVRISU4gQk9EWSBGSUVMRCBJTiBOT0RFUyAvL1xuXG4ucmVnaW9uLWNvbnRlbnQgLmZpZWxkLS1uYW1lLWJvZHkge1xuICBhOmxpbmssXG4gIGE6dmlzaXRlZCxcbiAgcCBhOmxpbmsge1xuICAgIGNvbG9yOiAjNjc2NzY3O1xuICAgIC8vYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwICRjb2xvci1wcmltYXJ5O1xuICAgIHBhZGRpbmc6IDBweCAycHggMHB4IDJweDtcbiAgICAvLy13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2Utb3V0O1xuICAgIC8vLW1vei10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1vdXQ7XG4gICAgLy8tbXMtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2Utb3V0O1xuICAgIC8vLW8tdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2Utb3V0O1xuICAgIC8vdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2Utb3V0O1xuICB9XG5cbiAgYTpob3ZlciB7XG4gICAgLy9ib3JkZXItYm90dG9tOiAycHggc29saWQgbGlnaHRlbigkY29sb3ItcHJpbWFyeSwzMCUpO1xuXG4gICAgLy9ib3JkZXItcmFkaXVzOiA2cHg7XG4gIH1cblxuICAuYnRuLXByaW1hcnkge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItcHJpbWFyeSwgMTAlKTtcbiAgICB9XG4gIH1cbn1cblxuaW1nLmRlc2staW1nIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxucCB7XG4gIGNvbG9yOiAjNjc2NzY3O1xuICBAaW5jbHVkZSBmb250U2l6ZSgyNnB4KTtcbn1cblxuYTpsaW5rLFxuYTp2aXNpdGVkIHtcbiAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICBmb250LXdlaWdodDogMzUwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYTpob3ZlciB7XG4gIGZvbnQtd2VpZ2h0OiAzNTA7XG4gIC8vY29sb3I6ICNGRkY7XG59XG5cbi5kYXRlLXN0YW1wLFxuLmRhdGUtc3RhbXAgcCxcbnRpbWUge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgY29sb3I6IGRhcmtlbigkY29sb3ItZ3JheSwgNTAlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmgxIHtcbiAgQGluY2x1ZGUgZm9udFNpemUoOTZweCk7XG59XG5cbi5wYWdlLWludHJvIHtcbiAgbWFyZ2luLWJvdHRvbTogNSU7XG4gIG1hcmdpbi1sZWZ0OiAyJTtcblxuICBAaW5jbHVkZSBmb250U2l6ZSgzMnB4KTtcbiAgY29sb3I6IGRhcmtlbigkY29sb3ItZ3JheSwgNDAlKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuaDEge1xuICAvLyAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4ucmVhZC1tb3JlIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnJlYWQtbW9yZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwwMDI3OUVcIjtcbiAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgMC40cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1NnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjU2cyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMjU2cyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjU2cyBlYXNlLWluLW91dDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnJlYWQtbW9yZTpob3ZlcjphZnRlciB7XG4gIHJpZ2h0OiAtMnB4O1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vLyMjIyMgUkVHSU9OUyAjIyMjIC8vXG5cbi8vIyMjIyBTTElERSAjIyMjIC8vXG5cbi5zbGlkZSB7XG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgQGluY2x1ZGUgZm9udFNpemUoNzBweCk7XG4gICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgfVxuICB9XG5cbiAgLnNsaWRlLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogOHB4IDIwcHggOHB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG4uc2xpZGUtY3JlZGl0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxNXB4O1xuICBib3R0b206IDI1cHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAwLjk1ZW07XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vLyMjIyMgSEVBREVSICMjIyMgLy9cblxuLy8gU1VCVElUTEUgLy9cblxuLnN1Yi10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItcHJpbWFyeSwgMTAlKTtcbiAgZGlzcGxheTogJHN1YlRpdGxlO1xuICBjbGVhcjogYm90aDtcblxuICBwIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIEBpbmNsdWRlIGZvbnRTaXplKDIycHgpO1xuICB9XG59XG5cbi5uYXZiYXItYnJhbmQge1xuICBtYXJnaW4tdG9wOiAkYnJhbmQ7XG4gIC8vcGFkZGluZy1yaWdodDogMTBweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gTm8gTW9yZSBXaGl0ZXNwYWNlIC8vXG5cbmhlYWRlciNuYXZiYXIubmF2YmFyLm5hdmJhci1kZWZhdWx0Lm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBtYXJnaW46IDBweDtcbn1cblxuLy8jIyMjIEhFQURFUiAjIyMjIC8vXG5cbi5oZWFkZXItb3B0aW9ucyB7XG4gIHRyYW5zaXRpb246IGFsbCAxcztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgLy93aWR0aDogMTAwcHg7XG4gIGZsb2F0OiByaWdodDtcbiAgLy9kaXNwbGF5OiBibG9jaztcbiAgLy9wYWRkaW5nOjVweDtcbiAgLy9tYXJnaW4tdG9wOiA0cHg7XG4gIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMHB4IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG5cbiAgZmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgLy9ib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgLy90cmFuc2Zvcm06ICBzY2FsZSgxLjEsMS4xKTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB9XG59XG5cbi5oZWFkZXItb3B0aW9uczphY3RpdmUgLmZhIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjksIDAuOSk7XG59XG5cbi8vIE1PREFMIFVQREFURVMgLy9cblxuLm1vZGFsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tb2RhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAtNHB4OyAvKiBBZGp1c3RzIGZvciBzcGFjaW5nICovXG59XG5cbi5tb2RhbC1kaWFsb2cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbiNlZGl0LWtleXMtLTIsXG4jZWRpdC1rZXlzIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLy9jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgaGVpZ2h0OiA2NXB4O1xuICBmb250LXNpemU6IDRyZW07XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuZGl2LmlucHV0LWdyb3VwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b2dnbGUtc2VhcmNoLWNsb3NlIC5nbHlwaGljb24ge1xuICAvL2Zsb2F0OiByaWdodDtcbiAgLy9tYXJnaW4tdG9wOjhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udG9nZ2xlLXNlYXJjaC1jbG9zZSAuZ2x5cGhpY29uIHNwYW46aG92ZXIge1xuICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gTUlTU0lPTiBCTE9DSyAvL1xuXG4jbWlzc2lvbi1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1vZmZ3aGl0ZTtcbiAgcGFkZGluZzogNSU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTQwcHg7XG5cbiAgcCB7XG4gICAgY29sb3I6ICRjb2xvci1kYXJrZ3JheTtcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogJGNvbG9yLWRhcmtncmF5O1xuICB9XG59XG5cbi8vIENUQSBCTE9DSyAvL1xuXG4jY3RhLWJsb2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1vZmZ3aGl0ZSwgMTAlKTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDMlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgZGFya2VuKCRjb2xvci1vZmZ3aGl0ZSwgMTUlKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC00MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAmOmhvdmVyIHtcbiAgfVxuXG4gIC5yZWdpb24tY3RhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG5cbiAgICAuYnRuLWN0YSB7XG4gICAgfVxuICB9XG59XG5cbi5mb290LW9uZSB7XG4gIGNvbG9yOiAkY29sb3ItZGFya2dyYXk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1vZmZ3aGl0ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDBweCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDMlO1xuICBib3JkZXItdG9wOiAycHggc29saWQgZGFya2VuKCRjb2xvci1vZmZ3aGl0ZSwgMTAlKTtcblxuICBwIHtcbiAgICBjb2xvcjogJGNvbG9yLWRhcmtncmF5O1xuICB9XG59XG5cbi5mcm9udC1jYXRlZ29yeSB7XG4gIC8vLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggLTI5cHggMzBweCAtMjJweCByZ2JhKDIxOSwyMTksMjE5LDEpO1xuICAvLy1tb3otYm94LXNoYWRvdzogaW5zZXQgMHB4IC0yOXB4IDMwcHggLTIycHggcmdiYSgyMTksMjE5LDIxOSwxKTtcbiAgLy9ib3gtc2hhZG93OiBpbnNldCAwcHggLTI5cHggMzBweCAtMjJweCByZ2JhKDIxOSwyMTksMjE5LDEpO1xuICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLy8gQ09OVEVOVCAvL1xuXG4uZnJvbnQtc3BhY2VyIHtcbiAgbWFyZ2luOiAyJSAwcHggMiUgMHB4O1xufVxuXG4jbWFpbi1jb250ZW50IHtcbn1cblxuLm1haW4tY29udGFpbmVyIHtcbiAgLy9taW4taGVpZ2h0OiA3NTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLy9tYXJnaW4tdG9wOiAwcHg7XG4gIC8vcGFkZGluZzogMTBweCAxNXB4IDEwcHggMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDEwJTtcbn1cblxuLnVzZXItbG9nZ2VkLWluIC5tYWluLWNvbnRhaW5lciB7XG4gIC8vbWFyZ2luLXRvcDogNjBweDtcbn1cblxuLnBhdGgtZnJvbnRwYWdlIC5tYWluLWNvbnRhaW5lciB7XG4gIC8vcGFkZGluZzogMTBweCAwcHggMTBweCAwcHg7XG4gIC8vbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLnJlZ2lvbi1jb250ZW50IC5ub3QtZnJvbnQge1xuICAvL3BhZGRpbmc6IDIwcHg7XG5cbiAgcGFkZGluZy1ib3R0b206IDEwJTtcbn1cblxuaHRtbCxcbmJvZHkge1xuICAvLyBGSVggRk9SIFhweCBvZiBQQURERElORyBPTiBSSUdIVCBTSURFIE9GIE1PQklMRSAvL1xuICAvLyBvdmVyZmxvdy14OmhpZGRlblxufVxuXG5ib2R5IHtcbiAgLy9iYWNrZ3JvdW5kOiAjRjVGN0ZBO1xuICAvL21hcmdpbi10b3A6IDEwNXB4ICFpbXBvcnRhbnQ7XG5cbiAgcCxcbiAgaDEsXG4gIGgyLFxuICBoMyB7XG4gICAgLy9cdFx0cGFkZGluZzogMTBweDtcbiAgICBjb2xvcjogIzM1MzUzNTtcbiAgfVxuXG4gIGltZy5hbGlnbi1jZW50ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC5uYXZiYXItaXMtZml4ZWQtdG9wIHtcbiAgICAvL21hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5ib2R5Lm5hdmJhci1pcy1maXhlZC10b3Age1xuICBtYXJnaW4tdG9wOiAkYm9keUhlaWdodDtcbn1cblxuYS5sb2dvLm5hdmJhci1idG4ucHVsbC1sZWZ0IHtcbiAgLy9wYWRkaW5nLXRvcDogMXB4O1xuICAvL21hcmdpbi1yaWdodDogMjBweDtcbiAgLy9kaXNwbGF5OiBub25lO1xuXG4gIGltZyB7XG4gICAgLy8gc2l6aW5nIHRoZSBTVkcgTG9nb1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgZmlsbDogJGNvbG9yLXByaW1hcnk7XG4gICAgfVxuICB9XG59XG5cbi8vIyMjIEZPT1RFUiAjIyMvL1xuXG4ubWFkZS13aXRoIHtcbiAgY29sb3I6IGRhcmtlbigkY29sb3ItcHJpbWFyeSwgOSUpO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIHRyYW5zaXRpb246IGFsbCA1cztcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gICY6aG92ZXIgPiAuZmEtaGVhcnQge1xuICAgIGNvbG9yOiByZWQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICBib3JkZXItcmFkaXVzOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNXM7XG4gIH1cblxuICAuZmEtaGVhcnQge1xuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDklKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jb3B5cmlnaHQge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4jTGF5ZXJfMCBpbWcge1xuICBmaWxsOiAkY29sb3Itc2Vjb25kYXJ5O1xufVxuXG4uY29udGFpbmVyLmZvb3Qge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuICBib3R0b206IDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIGRhcmtlbigkY29sb3ItcHJpbWFyeSwgMTAlKTtcblxuICAubmF2IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLm5hdiA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW46IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIH1cbiAgfVxuXG4gIC5jb2wtbWQtMTIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICBoMyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgfVxuXG4gIC5zb2NpYWwtaWNvbnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgbWFyZ2luOiAxMHB4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbWFyZ2luOiAwcHggYXV0byAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgfVxuXG4gIC5mYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgcCB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgaDIge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi5mb290ZXIge1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG5cbi5mb290ZXIuZm9vdGVyLmNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8jIyMgISEhRU5EIEZPT1RFUiEhISAjIyMvL1xuXG4vLyMjIyBDT01NRU5UUyAjIyMvL1xuXG4uaW5kZW50ZWQge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAkY29sb3Itc2Vjb25kYXJ5O1xuXG4gIC5jb21tZW50LWJveCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbiAgfVxufVxuXG4uY29tbWVudC1ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGgzIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICB9XG5cbiAgdWwubGlua3MubGlzdC1pbmxpbmUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgfVxuXG4gIC8vIFVTRVIgSVRFTVMgLy9cblxuICAuY29tbWVudF9fYXV0aG9yIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAuZGF0YS1jb21tZW50LXRpbWVzdGFtcCB7XG4gICAgY29sb3I6IHJlZDtcbiAgfVxufVxuXG4vLyMjIyAhISFFTkQgQ09NTUVOVFMhISEgIyMjLy9cblxuLmNvbnRleHQtZXZlbnQge1xuICBtYXJnaW46IDIwcHggMHB4IDIwcHggMHB4O1xuICBib3JkZXItdG9wOiAkY29sb3ItZ3JheSBzb2xpZCAxcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI2NhbC1kYXkge1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvL2hlaWdodDogNTBweDtcbiAgLy9tYXgtd2lkdGg6IDIwMHB4O1xuICAvL21hcmdpbi1ib3R0b206IDIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgYm9yZGVyLWJvdHRvbTogZGFya2VuKCRjb2xvci1wcmltYXJ5LCA1JSk7XG4gIGNvbG9yOiAjZmZmO1xuICAvL3dpZHRoOiAxMjAlO1xuICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy9yaWdodDogMTAlO1xuICAvL3RvcDogLTIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAycmVtO1xuXG4gIC5maWVsZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1vbnRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICBib3JkZXItYm90dG9tOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDUlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB3aWR0aDogMTIwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDEwJTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHAge1xuICAgICAgbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIH1cbiAgfVxuXG4gIC5kYXkge1xuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG59XG5cbi8vIFNJREVCQVIgLy9cblxuLnNpZGViYXIge1xuICBjb2xvcjogZGFya2VuICgkY29sb3ItZ3JheSwgNSUpO1xuICBAaW5jbHVkZSBmb250U2l6ZSgyMnB4KTtcblxuICAuZmllbGQge1xuICAgIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcbiAgfVxuXG4gIC5maWVsZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItZ3JheSwgNSUpO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtdGFnIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG59XG5cbi8vIFBFT1BMRSAvL1xuXG4vLyBleHBsb2RlIHJvdyAoIGZ1bGwgZGVmYXVsdCBub2RlIHJvdyB0eXBlcyBmb3IgdmlldyApIC8vXG5cbi5mdWxsLXByb2ZpbGUtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1ncmF5LCAxJSk7XG4gIGZsb2F0OiByaWdodDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1ncmF5LCAzJSk7XG4gIH1cbn1cblxuLmV4cGxvZGUtcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG5cbi5tZW1iZXItaW5mbyB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4ucHJvamVjdHMtdmlld3Mtcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi5pbWFnZS1yb3VuZC0zMDAge1xuICBib3JkZXItcmFkaXVzOiAxNTBweDtcbiAgbWFyZ2luOiAwcHggYXV0bztcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAxNTBweDtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG4gIH1cbn1cblxuLmltYWdlLXJvdW5kLTE1MCB7XG4gIGJvcmRlci1yYWRpdXM6IDc1cHg7XG4gIG1hcmdpbjogMHB4IGF1dG87XG5cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5maWVsZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgfVxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNzVweDtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG4gIH1cbn1cblxuLmltYWdlLXJvdW5kLTEwMCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIG1hcmdpbjogMHB4IGF1dG87XG5cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5maWVsZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgfVxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNzVweDtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG4gIH1cbn1cblxuLy8gUk9XUyAvL1xuXG4uY2h1LXJvdyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhvcnotcm93IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuICBwYWRkaW5nOiAyLjUlIDAgMi41JSAwO1xuICBtYXJnaW4tdG9wOiAxJTtcblxuICAuaW5mby1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBwYWRkaW5nOiA2cHg7XG4gIH1cblxuICAuZGF0ZS1zdGFtcCB7XG4gICAgQGluY2x1ZGUgZm9udFNpemUoNDVweCk7XG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gICAgYTpsaW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICB9XG4gIH1cblxuICBhOmxpbmsge1xuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgfVxuXG4gIGE6aG92ZXIge1xuICAgIC8vYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXk7XG4gIH1cblxuICAubmV3cy10aHVtYiBpbWcge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG4gICAgfVxuICB9XG5cbiAgLmZhdGZvbnQge1xuICAgIEBpbmNsdWRlIGZvbnRTaXplKDM4cHgpO1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLWdyYXksIDYwJSk7XG4gIH1cbn1cblxuLm5ld3MtdGh1bWIgaW1nIHtcbiAgcGFkZGluZzogMHB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuXG4gICY6aG92ZXIge1xuICAgIHBhZGRpbmc6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgfVxufVxuXG4ucm91bmRlZC1jb3JuZXIgaW1nIHtcbiAgcGFkZGluZzogMHB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xufVxuXG4ubmV3cy10aHVtYi1mcm9udCBpbWcge1xuICBwYWRkaW5nOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHdpZHRoOiA3NSU7XG4gIGhlaWdodDogYXV0bztcblxuICAmOmhvdmVyIHtcbiAgICAvL3BhZGRpbmc6MXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICB9XG59XG5cbi52aWQtdGh1bWIgaW1nIHtcbiAgcGFkZGluZzogMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpob3ZlciB7XG4gICAgLy9wYWRkaW5nOjFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xuICB9XG59XG5cbi5ob3J6LXJvdy1zbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcbiAgcGFkZGluZzogMSUgMCAxJSAwO1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItZ3JheSwgMTAlKTtcbiAgfVxuXG4gIGgzIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gR1JJRCAvL1xuXG4uZ3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICAvL1x0LXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDUwcHggLTIwcHggcmdiYSgwLDAsMCwwLjY5KTtcbiAgLy9cdC1tb3otYm94LXNoYWRvdzogMHB4IDBweCA1MHB4IC0yMHB4IHJnYmEoMCwwLDAsMC42OSk7XG4gIC8vXHRib3gtc2hhZG93OiAwcHggMHB4IDUwcHggLTIwcHggcmdiYSgwLDAsMCwwLjY5KTtcbiAgbWFyZ2luOiA0JTtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcblxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItZ3JheSwgNCUpO1xuICB9XG5cbiAgLmdyaWQtaW1hZ2UgLmltZy1yZXNwb25zaXZlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIH1cblxuICAuZ3JpZC1pbmZvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuXG4gIC5ncmlkLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250U2l6ZSgyOHB4KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjNjM2MzYzO1xuICB9XG5cbiAgLmdyaWQtdGFnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuXG4gIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBhOnZpc2l0ZWQsXG4gIGE6bGluayB7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICB9XG59XG5cbi8vIEdSSUQgQ0xFQU4gfCBOTyBTSEFET1dTIE9SIENBUkQgLy9cblxuLm1lbWJlci1ncmlkIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItZ3JheSwgNCUpO1xuICB9XG5cbiAgLm1lbS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgfVxuXG4gIC5tZW0taW5mbyB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogIzY4Njg2ODtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cbn1cblxuLmdyaWQtY2xlYW4ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAyJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgbWluLWhlaWdodDogMjgwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItZ3JheSwgNCUpO1xuICB9XG5cbiAgLmdyaWQtaW1hZ2UgLmltZy1yZXNwb25zaXZlIHtcbiAgfVxuXG4gIC5ncmlkLWluZm8ge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgdG9wOiA1JTtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICAgIHBhZGRpbmc6IDAgNSUgMCA1JTtcbiAgfVxuXG4gIC5ncmlkLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250U2l6ZSgzNHB4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogZGFya2VuKCRjb2xvci1ncmF5LCA2MCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQtZW1haWwge1xuICAgIEBpbmNsdWRlIGZvbnRTaXplKDIwcHgpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3ItZ3JheSwgNDAlKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdyaWQtdGFnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuXG4gIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBhOnZpc2l0ZWQsXG4gIGE6bGluayB7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gIH1cbn1cblxuLy8gVklFV1MgLy9cblxuLnZpZXctY29udGVudCB7XG4gIGgzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBmb250U2l6ZSg2MHB4KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXk7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAyMHB4IDAgMjBweCAwO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICM2ODY4Njg7XG4gIH1cbn1cblxuLy8gQUNUSVZJVFkgLy9cblxuLmNvbW1pdHRlZSB7XG4gIEBpbmNsdWRlIGZvbnRTaXplKDI2cHgpO1xufVxuXG4udmlldy1jb250ZW50IGgzIHtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLy8gU0xJREVSIC8vXG5cbi8vIEhJR0hMSUdIVEVEIC8vXG5cbi5oaWdobGlnaHRlZC1pbnRlcmlvciB7XG4gIC8vXHRoZWlnaHQ6IDIwMHB4IDtcbiAgLy9cdG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLnNsaWRlLWNyZWRpdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgdG9wOiAxNTBweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICBpbWcuaW1nLXJlc3BvbnNpdmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vXHRoZWlnaHQ6IGF1dG87XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgbWF4LWhlaWdodDogMjAycHg7XG4gIH1cbn1cblxuLmhpZ2hsaWdodGVkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcblxuICBpbWcuaW1nLXJlc3BvbnNpdmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vXHRoZWlnaHQ6IGF1dG87XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgbWF4LWhlaWdodDogMzUwcHg7XG4gIH1cbn1cblxuLm93bC1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC01MHB4O1xufVxuXG4vLyBGUk9OVCBCTE9DSyAvL1xuXG4uY2hpbXAgLmNhbXBhaWduIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuICBwYWRkaW5nOiAyNXB4IDEwcHggMjVweCAxMHB4O1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1ncmF5LCA1JSk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB9XG59XG5cbi5ob3J6LXJvdy1mcm9udCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcbiAgcGFkZGluZzogMjVweCAxMHB4IDI1cHggMTBweDtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItZ3JheSwgMyUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGNsZWFyOiByaWdodDtcbiAgfVxufVxuXG4udGFnIHVsLFxuLnRhZyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDBweDtcblxuICBsaSxcbiAgLmZpZWxkLS1pdGVtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZGFya2dyYXk7XG4gICAgY29sb3I6ICRjb2xvci1kYXJrZ3JheTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgfVxufVxuXG4ubGFiZWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZGFya2dyYXk7XG4gIGNvbG9yOiAkY29sb3ItZGFya2dyYXk7XG4gIHBhZGRpbmc6IDVweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi5mcm9udC1ibG9jayB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiAyNTA7XG4gICAgQGluY2x1ZGUgZm9udFNpemUoNDBweCk7XG4gIH1cblxuICAuZGF0ZS1zdGFtcCB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogJGNvbG9yLWRhcmtncmF5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cblxuLmZyb250LWJsb2NrLXJpZ2h0IHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICB9XG5cbiAgaDIge1xuICB9XG5cbiAgLmxhYmVsIHtcbiAgICAvL2Zsb2F0OiByaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgLmhvcnotcm93LWZyb250OmhvdmVyIHtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gIH1cbn1cblxuLy8gYnV0dG9uIC8vXG5cbmEuYnRuLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICBib3JkZXI6IG5vbmU7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItcHJpbWFyeSwgMTAlKTtcbiAgfVxufVxuXG5hLmJ0bi5idG4tcHJpbWFyeS5wdWxsLXJpZ2h0IHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbmEuYnRuLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5zbGlkZS1yZXNwb25zaXZlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gcGFydG5lcnMgLy9cblxuLnBhcnRuZXItaW1nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogJGNvbG9yLWRhcmtncmF5O1xuICBtYXJnaW46IDBweCBhdXRvO1xuICBtYXJnaW46IDBweCBhdXRvO1xuXG4gIGltZyB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgfVxuXG4gIC52aWV3cy1maWVsZC10aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheTtcbiAgfVxufVxuXG4vLyBFVkVOVCBCTE9DSyAvL1xuXG4uZXZlbnQtYmxvY2sge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmV2ZW50LWJsb2NrLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC01MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIGhlaWdodDogNTBweDtcbiAgfVxufVxuXG4vLyBmbGV4IC8vXG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cbiAgLmZsZXgtaXRlbSB7XG4gICAgLy9tYXJnaW46IGF1dG87XG4gIH1cbn1cblxuLy8gY2FyZCAvL1xuXG4uY2FyZCB7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgZGFya2VuKCRjb2xvci1wcmltYXJ5LDEwJSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tdG9wOiAzJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC5jYXJkLWltZy10b3Age1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvL2hlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuY2FyZC1pY29uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIGJvcmRlci1yYWRpdXM6IDc1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB3aWR0aDogNzVweDtcbiAgICBoZWlnaHQ6IDc1cHg7XG4gICAgbWFyZ2luOiAwcHggYXV0bztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIHRvcDogMTUwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgLmZvbnRhd2Vzb21lLWljb24ge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtYmxvY2sge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gIH1cblxuICAuY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAuY2FyZC10ZXh0IHtcbiAgICBwIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtYWN0aW9uIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2VuKCRjb2xvci1wcmltYXJ5LCA1JSk7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1wcmltYXJ5LCAxMCUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDIwJSk7XG4gICAgfVxuICB9XG59XG5cbi8vIENPTlRFTlQgKCBDQVRFR09SWSApIEJMT0NLIC8vXG5cbi5jYXRlZ29yeS1ibG9jayB7XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLy9tYXgtaGVpZ2h0OiAyNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXG4gIC5jYXQtaW1nLWJnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2F0LWljb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgYm9yZGVyLXJhZGl1czogNzVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgfVxuXG4gIC5mb250YXdlc29tZS1pY29uIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICB9XG5cbiAgLmNhdGVnb3J5LWJsb2NrLXRleHQge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgaDMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgLmZvbnRhd2Vzb21lLWljb24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEsIDEuMSk7XG4gICAgICB9XG5cbiAgICAgIC5jYXQtaWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAycHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwcHggMnB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoMyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRkVBVFVSRUQgTkVXUyBGUk9OVCAvL1xuXG4uZnJvbnQtbmV3cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gIG1hcmdpbjogMTBweCAwcHggMjBweCAwcHg7XG4gIGhlaWdodDogNDAwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIHAge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gIH1cblxuICBpbWcge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIGgyIHtcbiAgICBAaW5jbHVkZSBmb250U2l6ZSg3MnB4KTtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5mcm9udC1uZXdzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA2MDBweDtcblxuICAgIGltZyB7XG4gICAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ubmV3cy10cmlwIHtcbn1cblxuLy8gRVZFTlRTIC8vXG5cbi5ldmVudC10eXBlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBjb2xvcjogbGlnaHRlbigkY29sb3ItcHJpbWFyeSwgMjAlKTtcbn1cblxuLy8gU0VBUkNIIC8vXG5cbi5zZWFyY2gtYmxvY2stZm9ybSB7XG4gIC8vZmxvYXQ6IHJpZ2h0O1xuICAvL21hcmdpbi10b3A6IDE1cHg7XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgfVxufVxuXG4uc2VhcmNoLWJsb2NrLWZvcm0ge1xuICAvL1x0Y29sb3I6ICNGRkY7XG59XG5cbnVsLnNwb25zb3ItbGlzdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4vLyBTRUFSQ0ggLy9cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuOi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE4LSAqL1xuICBjb2xvcjogcmVkO1xufVxuXG46Oi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE5KyAqL1xuICBjb2xvcjogcmVkO1xufVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuaDIge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4vLyBERVNLVE9QIFNFQVJDSCBCQVJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5NXB4KSB7XG4gIC50b2dnbGUtc2VhcmNoLWNsb3NlIC5nbHlwaGljb24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdG9wOiAtNjBweDtcbiAgfVxufVxuXG4jdG9nZ2xlLXNlYXJjaCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLmdseXBoaWNvbiB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4jbWF0dC1zZWFyY2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1wcmltYXJ5LCA1JSk7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6ICRzZWFyY2g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHB4O1xuICB0b3A6IC0xOTBweDtcbiAgei1pbmRleDogOTk5OTk7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNjAwbXM7XG4gIHRyYW5zaXRpb246IGFsbCA2MDBtcztcblxuICBnbHlwaGljb24ge1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG5cbiAgLmZvcm0tc2VhcmNoLmZvcm0tY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB9XG5cbiAgc3Bhbi5pbnB1dC1ncm91cC1idG4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI2VkaXQta2V5cy0tMixcbiNlZGl0LWtleXMge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvL2NvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBoZWlnaHQ6IDY1cHg7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5kaXYuaW5wdXQtZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRvZ2dsZS1zZWFyY2gtY2xvc2UgLmdseXBoaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50b2dnbGUtc2VhcmNoLWNsb3NlIC5nbHlwaGljb24gc3Bhbjpob3ZlciB7XG4gIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBTVUIgTUVOVSBGSVggLy9cblxuLmRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi1zdWJtZW51ID4gLmRyb3Bkb3duLW1lbnUge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHBhZGRpbmc6IDBweDtcbn1cblxuLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXIgPiAuZHJvcGRvd24tbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZHJvcGRvd24tc3VibWVudSA+IGE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTA4MFwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkdseXBoaWNvbnMgSGFsZmxpbmdzXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXIgPiBhOmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG59XG5cbi5kcm9wZG93bi1zdWJtZW51LnB1bGwtbGVmdCB7XG4gIGZsb2F0OiBub25lO1xufVxuXG4uZHJvcGRvd24tc3VibWVudS5wdWxsLWxlZnQgPiAuZHJvcGRvd24tbWVudSB7XG4gIGxlZnQ6IC0xMDAlO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHggMCA2cHggNnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDZweCAwIDZweCA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweCAwIDZweCA2cHg7XG59XG4ubmF2YmFyLW5hdiBsaTpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLW1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMHB4O1xufVxuLm5hdmJhci1uYXYgbGk6bGFzdC1jaGlsZCA+IC5kcm9wZG93bi1tZW51IGEge1xuICAvL3RleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG4ubmF2YmFyLW5hdiBsaTpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLXN1Ym1lbnUgPiBhOmFmdGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXFxlMDc5XCI7XG59XG4ubmF2YmFyLW5hdiBsaTpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLXN1Ym1lbnUgPiAuZHJvcGRvd24tbWVudSB7XG4gIGxlZnQ6IC0xMDAlO1xufVxuXG4vLyBNRURJQSAvL1xuXG4jcGxheWVyIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4ubWVkaWEtZ3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEwcHggMCAxMHB4IDA7XG5cbiAgLm1lZGlhLWJvZHkge1xuICAgIC8vXHRoZWlnaHQ6IDUwcHg7XG4gIH1cbn1cblxuLy8gU1RSRUFNIC8vXG5cbiNvZmYtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb2Zmd2hpdGU7XG4gIGNvbG9yOiAkY29sb3ItZGFya2dyYXk7XG59XG5cbiNzdHJlYW0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvL2JhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG5cbiAgaDIge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuXG4gIC5zdHJlYW0tcm93IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8vYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAycHggMTBweCAycHggcmdiYSgyMTIsIDIxMiwgMjEyLCAxKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IC0xcHggMnB4IDEwcHggMnB4IHJnYmEoMjEyLCAyMTIsIDIxMiwgMSk7XG4gICAgYm94LXNoYWRvdzogLTFweCAycHggMTBweCAycHggcmdiYSgyMTIsIDIxMiwgMjEyLCAxKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG5cbiAgaW1nIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvL3otaW5kZXg6IC0xO1xuICB9XG5cbiAgLnN0cmVhbS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICB9XG5cbiAgLnN0cmVhbS1tb3JlIHtcbiAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL3JpZ2h0OiAxMHB4O1xuICAgIC8vYm90dG9tOiAxMHB4O1xuXG4gICAgYSB7XG4gICAgICAvL3BhZGRpbmc6IDZweDtcbiAgICAgIC8vYm9yZGVyLXJhZGl1czogMTJweDtcblxuICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcblxuICAgICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLy93aWR0aDogNDAwcHg7XG4gICAgfVxuICB9XG59XG5cbi8vLy8gUFVCTElDQVRJT04gTElTVCBPTiBDVVJMIFBVQlMgLy8vL1xuXG4jcHVibGljYXRpb25zLWxpc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cblxuICBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWluLWhlaWdodDogNzVweDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIH1cblxuICBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLWdyYXksIDEyLjUlKTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgYSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAucGFuZWwtYm9keTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnBhbmVsLWJvZHk6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbiNwdWJsaWNhdGlvbnMtbGlzdCBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLWdyYXksIDEwJSk7XG59XG5cbi8vIFJFU09VUkNFIENBUkQgLy9cblxuLnJlc291cmNlLWNhcmQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvL2JvcmRlcjogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAvL3RleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiAxMHB4O1xuICAvL2JhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAycHggMTBweCAycHggcmdiYSgyMTIsIDIxMiwgMjEyLCAxKTtcbiAgLW1vei1ib3gtc2hhZG93OiAtMXB4IDJweCAxMHB4IDJweCByZ2JhKDIxMiwgMjEyLCAyMTIsIDEpO1xuICBib3gtc2hhZG93OiAtMXB4IDJweCAxMHB4IDJweCByZ2JhKDIxMiwgMjEyLCAyMTIsIDEpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gIC50YWdzIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG5cbiAgICB1bCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBBQ0NPUkRJT05TIFxuXG5cblxuXG5cbiNhY2NvcmRpb24gLnBhbmVsLWhlYWRpbmcgeyBwYWRkaW5nOiAwO31cbiNhY2NvcmRpb24gLnBhbmVsLXRpdGxlID4gYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiAwLjRlbSAwLjZlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jdmlld3MtYm9vdHN0cmFwLWFjY29yZGlvbiAucGFuZWwtdGl0bGUgPiBhLmFjY29yZGlvbi10b2dnbGU6OmFmdGVyLCAjdmlld3MtYm9vdHN0cmFwLWFjY29yZGlvbiBhW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl06OmFmdGVyICB7XG4gICAgY29udGVudDpcIlxcZTExM1wiO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcblx0bWFyZ2luLXJpZ2h0IDoxZW07XG5cdFxuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXk7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdH1cblx0XG59XG5cbiN2aWV3cy1ib290c3RyYXAtYWNjb3JkaW9uIHBhbmVsLXRpdGxlID4gYS5hY2NvcmRpb24tdG9nZ2xlLmNvbGxhcHNlZDo6YWZ0ZXIsICN2aWV3cy1ib290c3RyYXAtYWNjb3JkaW9uIGEuY29sbGFwc2VkW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl06OmFmdGVyICB7XG4gICAgY29udGVudDpcIlxcZTExNFwiO1xufVxuXG5cbiNhY2NvcmRpb24gLnBhbmVsLXRpdGxlID4gYS5hY2NvcmRpb24tdG9nZ2xlOjphZnRlciwgI2FjY29yZGlvbiBhW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl06OmFmdGVyICB7XG4gICAgY29udGVudDpcIlxcZTExM1wiO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcblx0bWFyZ2luLXJpZ2h0IDoxZW07XG5cdFxuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXk7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdH1cblx0XG59XG4jYWNjb3JkaW9uIC5wYW5lbC10aXRsZSA+IGEuYWNjb3JkaW9uLXRvZ2dsZS5jb2xsYXBzZWQ6OmFmdGVyLCAjYWNjb3JkaW9uIGEuY29sbGFwc2VkW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl06OmFmdGVyICB7XG4gICAgY29udGVudDpcIlxcZTExNFwiO1xuICAgICAgLW1vei10cmFuc2Zvcm06cm90YXRlKDE4MGRlZykhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06cm90YXRlKDE4MGRlZykhaW1wb3J0YW50O1xufVxuXG4jYWNjb3JkaW9uIHtcblx0cGFkZGluZzogMTBweCA1cHggMTBweCA1cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcblx0XG5cdGRpdi5hY2NvcmRpb24taGVhZGluZyB7XG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdH1cblx0XG5cdC5hY2NvcmRpb24taW5uZXIge1xuXHRcdHBhZGRpbmc6IDEwcHggMHB4O1xuXHR9XG5cdFxufVxuXG5cbi5wYW5lbC1ncm91cCB7XG5cdFxuXHRib3JkZXItY29sb3I6ICNGRkYgIWltcG9ydGFudDtcblx0dHJhbnNpdGlvbjogYWxsIC40cyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7XG5cdHBhZGRpbmc6IDEwcHggNXB4IDEwcHggOHB4O1xuXHQmOmhvdmVyIHtcblx0XHQvL2JhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG5cdH1cblx0XG5cdFxuXHQucGFuZWwtaGVhZGluZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuXHRcdFxuXHR9XG5cdFxuXHRcblx0LnBhbmVsIHtcblx0XHRib3JkZXItcmFkaXVzOiBub25lICFpbXBvcnRhbnQ7XHRcblx0fVxuXHRcblx0LnBhbmVsLWRlZmF1bHR7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG5cdH1cblx0XG5cdGg0LnBhbmVsLXRpdGxlIHtcblx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0XHRmb250LXdlaWdodDogMjUwO1xuXHRcdGJvcmRlci1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nOiAyJSAwJSAyJSAwO1xuXHR9XG5cdFxufVxuXG4uYWNjb3JkaW9uLXRvZ2dsZSB7XG5cdHRyYW5zaXRpb246IGFsbCAuNHMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xuXHQgLW1vei10cmFuc2l0aW9uOiBhbGwgMnMgbGluZWFyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDJzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIHRyYW5zZm9ybSBlYXNlLWluLW91dDtcblxufVxuXG4uYWNjb3JkaW9uLXRvZ2dsZTphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgY29udGVudDogXCJcXGYwNjNcIjsgICAgXG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gfVxuXG4uYWNjb3JkaW9uLW9wZW5lZCAuYWNjb3JkaW9uLXRvZ2dsZSB7XG5cdHRyYW5zaXRpb246IGFsbCAuNHMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xufVxuXG4uYWNjb3JkaW9uLW9wZW5lZCAuYWNjb3JkaW9uLXRvZ2dsZTphZnRlciB7ICAgIFxuICAgIGNvbnRlbnQ6IFwiXFxmMDYzXCIgIWltcG9ydGFudDsgICBcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIC1tb3otdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKSFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIWltcG9ydGFudDtcbn1cblxuKi9cblxuLmRvYy1yb3cge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA0MDBweDtcblxuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yLWRhcmtncmF5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC5oMyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAuZmEtZmlsZSB7XG4gICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG59XG5cbi5waG90by1nYWxsZXJ5IHtcbiAgLmltZy1yZXNwb25zaXZlIHtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cbn1cblxuLnNsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG4iLCIvLyMjIyMgVkFSSUFCTEVTICMjIyMvXG4vLyBURVNUIFdISVRFIEJBQ0tHUk9VTkQgV0lUSCBQUklNQVJJRVMgXG4vLyBTVUJUSVRMRSAvL1xuLnN1Yi10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4ubmF2YmFyLWJ0biB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxuLm5hdmJhci1icmFuZCB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgLy9kaXNwbGF5OiBub25lO1xufVxuXG4ubmF2YmFyIC5sb2dvIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbi5uYXZiYXItdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBjb2xvcjogJGNvbG9yLWdyYXk7XG4gICAgLmljb24tYmFyIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICB9XG59XG5cbi5uYXZiYXItbmF2IHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuI25hdmJhciB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXk7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMXB4IDNweCAxOHB4IC05cHggcmdiYSgxNjMsIDE2MywgMTYzLCAxKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IC0xcHggM3B4IDE4cHggLTlweCByZ2JhKDE2MywgMTYzLCAxNjMsIDEpO1xuICAgIGJveC1zaGFkb3c6IC0xcHggM3B4IDE4cHggLTlweCByZ2JhKDE2MywgMTYzLCAxNjMsIDEpO1xuICAgIC5kcm9wZG93bi10b2dnbGU6aG92ZXIge1xuICAgICAgICAvL2JhY2tncm91bmQ6IGRhcmtlbigkY29sb3ItcHJpbWFyeSwgNSUpO1xuICAgICAgICAvL2JvcmRlci1yYWRpdXM6IDZweDtcbiAgICB9XG4gICAgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogIzVhNWE1YTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvL2JvcmRlci1ib3R0b206IGRhcmtlbigkY29sb3ItcHJpbWFyeSwgNSUpIDFweCBzb2xpZDtcbiAgICAgICAgICAgIC8vYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgICAuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYS5kcm9wZG93bi10b2dnbGUgYS5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1wcmltYXJ5LCAxMCUpO1xuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgfVxuICAgIGEuaXMtYWN0aXZlIHtcbiAgICAgICAgLy9ib3JkZXItYm90dG9tOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDEwJSkgMXB4IHNvbGlkO1xuICAgICAgICAvL2JvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIH1cbiAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICB9XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgICAgICBvcGFjaXR5OiAuOTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IC0xcHggM3B4IDE4cHggLTlweCByZ2JhKDE2MywgMTYzLCAxNjMsIDEpO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IC0xcHggM3B4IDE4cHggLTlweCByZ2JhKDE2MywgMTYzLCAxNjMsIDEpO1xuICAgICAgICBib3gtc2hhZG93OiAtMXB4IDNweCAxOHB4IC05cHggcmdiYSgxNjMsIDE2MywgMTYzLCAxKTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1wcmltYXJ5LCAxMCUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIH1cbn1cblxuLy8gYWN0aXZlIHBhcmVudCB0b2dnbGUgaXRlbVxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5hY3RpdmU+YSxcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5hY3RpdmUge1xuICAgIC8vYm9yZGVyLWJvdHRvbTogbGlnaHRlbigkY29sb3ItcHJpbWFyeSwgMTAlKSAxcHggc29saWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIC8vYm9yZGVyLWJvdHRvbTogbGlnaHRlbigkY29sb3ItcHJpbWFyeSwgMTAlKTtcbiAgICB9XG59XG5cbi8vIGFjdGl2YXRlZCB0b2dnbGVcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4ub3Blbj5hLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5vcGVuPmE6aG92ZXIsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+Lm9wZW4+YTpmb2N1cyB7XG4gICAgLy9ib3JkZXItYm90dG9tOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDE1JSkgMXB4IHNvbGlkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIC8vY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIC8vYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLy8gRU5EIE9GIFdISVRFIE5BViIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLyohXG4gKiBhbmltYXRlLmNzcyAtaHR0cDovL2RhbmVkZW4ubWUvYW5pbWF0ZVxuICogVmVyc2lvbiAtIDMuNS4yXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDE3IERhbmllbCBFZGVuXG4gKi9cblxuLmFuaW1hdGVkIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5hbmltYXRlZC5oaW5nZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG59XG5cbi5hbmltYXRlZC5mbGlwT3V0WCxcbi5hbmltYXRlZC5mbGlwT3V0WSxcbi5hbmltYXRlZC5ib3VuY2VJbixcbi5hbmltYXRlZC5ib3VuY2VPdXQge1xuICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICA0MCUsIDQzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cblxuLmJvdW5jZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5cbkBrZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLCA1MCUsIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLCA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsYXNoIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucHVsc2Uge1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG59XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucnViYmVyQmFuZCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSwgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuXG4gIDMxLjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5oZWFkU2hha2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcbn1cblxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuXG4uc3dpbmcge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7XG59XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSwgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0MCUsIDYwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4udGFkYSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi53b2JibGUge1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSwgMTEuMSUsIHRvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAyMi4yJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG5cbiAgMzMuMyUge1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cblxuICA1NS41JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG5cbi5qZWxsbyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLmJvdW5jZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmJvdW5jZUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5ib3VuY2VJblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNTAlLCA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG5cbi5ib3VuY2VPdXQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0UmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZmFkZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluRG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkRvd25CaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0TGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0TGVmdEJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0UmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbn1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG5cbi5hbmltYXRlZC5mbGlwIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBhbmltYXRpb24tbmFtZTogZmxpcDtcbn1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG4uZmxpcEluWSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFgge1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZEluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZE91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbn1cblxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDIwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDQwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmhpbmdlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xufVxuXG5Aa2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi5qYWNrSW5UaGVCb3gge1xuICBhbmltYXRpb24tbmFtZTogamFja0luVGhlQm94O1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5yb2xsSW4ge1xuICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG4ucm9sbE91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi56b29tSW4ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbn1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5MZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG59XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cblxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uem9vbU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbn1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21PdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJblVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG59IiwiLy8gUEFSQUdSQVBIIFNUWUxFU1xuXG5cblxuI3BncmFwaCB7XG5cdFxuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itc2Vjb25kYXJ5O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdG1hcmdpbjogMTBweCAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRjb2xvcjogI0ZGRjtcbn1cblx0XG4ucC10aXAge1xuXHRcdFxuXHRcdC5mb250YXdlc29tZS1pY29ucyB7XG5cdFx0XHRmb250LXNpemU6IDNlbTtcblx0XHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cblx0XHR9XG5cdFx0XG5cdFx0LmZpZWxkLS1uYW1lLWZpZWxkLXRpcC10aXRsZSB7XG5cdFx0XHRmb250LXNpemU6IDJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblx0XHRcblx0XHQuZmllbGQtLW5hbWUtZmllbGQtdGlwLWJvZHkgcCB7XG5cdFx0XHRjb2xvcjogI0ZGRjtcblx0XHRcdFxuXHRcdH1cblx0XG59XG5cdFxuXHRcblxuIl19 */