@charset "UTF-8";
/* We're going to keep basic SCSS variables all in one file.
   In theory, we shouldn't define colors anywhere else but here.
   We obviously do anyway, but it's the thought that counts.
 */
/* $section_background: #ddd; */
/* fa-rub icon settings */
/* Sticky footer */
html {
  position: relative;
  min-height: 100%; }

body {
  margin-bottom: 50px; }

/* Sticky partners_banners + footer */
body.with_partners_banners {
  margin-bottom: 176px; }

footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  /* Set the fixed height of the footer here */
  height: 50px;
  background-color: #f8f8f8;
  font-size: 85%; }

/* Убираем границу вокруг ссылок  */
a, a:hover, a:active, a:focus {
  outline: 0; }

/* NAVBAR SECTION */
nav.navbar-default {
  font-size: 1.1em;
  background-color: #f8f8f8;
  /* show dropdown immediately */ }
  nav.navbar-default .navbar-header {
    height: 55px; }
  nav.navbar-default .navbar-collapse {
    background-color: #f8f8f8; }
  nav.navbar-default .main-nav > li > a {
    color: #000;
    padding: 16px 10px 19px 10px; }
  nav.navbar-default .main-nav > li > a:hover,
  nav.navbar-default .navbar-default .main-nav > li > a:focus {
    text-decoration: underline; }
  nav.navbar-default .main-nav > li > a.faq {
    padding-top: 14px;
    padding-bottom: 10px; }
  nav.navbar-default .navbar-brand.navbar-logo {
    padding: 0; }
  nav.navbar-default .chavo {
    height: 25px; }
  nav.navbar-default .sign_in {
    font-weight: 600; }
  nav.navbar-default a.staff {
    margin-left: -10px; }
  nav.navbar-default .fa:not(.fa-sign-in) {
    color: #6b6b6b;
    font-size: 1.5em; }
  nav.navbar-default .dropdown-menu a:hover {
    background-color: #e7e7e7; }
  nav.navbar-default .dropdown:hover > .dropdown-menu {
    display: block; }

#my_courses_btn {
  background: #5cb85c;
  border: 1px solid #fff;
  border-radius: 4px;
  padding: 2px 4px;
  margin-top: 5px;
  text-decoration: none;
  color: #000; }
  #my_courses_btn .my_courses_label {
    color: #fff;
    font-weight: 600; }
  #my_courses_btn .my_courses_data {
    display: block;
    font-size: 0.85em; }

#my_courses_btn:hover {
  background: #449d44; }

#my_schoolui_btn {
  background: red;
  border: 1px solid #fff;
  border-radius: 4px;
  padding: 2px 4px;
  margin-top: 5px;
  text-decoration: none;
  color: #000; }
  #my_schoolui_btn .my_courses_label {
    color: #fff;
    font-weight: 600; }
  #my_schoolui_btn .my_courses_data {
    display: block;
    font-size: 0.85em; }

#my_schoolui_btn:hover {
  background: brown; }

#navbar_logout {
  padding: 0;
  margin-top: 16px;
  margin-left: 10px; }

#navbar-login-button {
  /*  background-color: $green;
  border-color: #fff;*/
  margin-left: 10px; }

#navbar-login-button:hover {
  /*   background-color: #449d44; */ }

/* logout tooltip */
#navbar_logout {
  position: relative; }

#navbar_logout:before {
  transform: translateY(-10px); }

#navbar_logout:hover:before {
  transform: translateY(0px); }

#navbar_logout:before {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  transition: transform 200ms ease, opacity 200ms;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  z-index: 99; }

#navbar_logout:before {
  content: attr(data-tooltip);
  background: #000;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  padding: 5px 10px;
  border-radius: 4px;
  white-space: nowrap;
  text-decoration: none;
  /*  text-transform: uppercase;
    letter-spacing: 1px;*/ }

#navbar_logout:hover:before {
  visibility: visible;
  opacity: 0.80;
  transform: translateY(0px); }

#navbar_logout:before {
  top: 100%;
  left: -100%;
  margin-top: 15px; }

/* the end of logout tooltip */
/* PARTNER BANNERS */
hr.partners_banners {
  border-top: 1px solid #f8f8f8; }

#partners_banners_wrapper {
  /* place it at the bottom of the page */
  position: absolute;
  bottom: 50px;
  height: 126px;
  font-size: 85%;
  width: 100%; }

.partners-footer-buttons img {
  padding: 10px;
  height: 85px; }

/* FOOTER SECTION */
.footer_container {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
  height: 100%; }

.footer_support {
  max-width: 50%;
  color: #616161; }
  .footer_support a {
    color: #616161;
    text-decoration: none; }

.support {
  font-weight: 600; }

.footer_addition {
  max-width: 50%; }
  .footer_addition a {
    color: #616161; }

.footer_search, .footer_home {
  padding-left: 15px; }

.footer_search img, .footer_home img {
  width: 40px; }

a.footer_home {
  padding-right: 0 !important; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRtcFhSNVRvMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEI7OztFQUdFO0FBQ0YsK0JBQStCO0FBQy9CLHlCQUF5QjtBQUN6QixrQkFBa0I7QUFDbEI7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCLEVBQUU7O0FBRXBCO0VBQ0UsbUJBQW1CLEVBQUU7O0FBRXZCLHFDQUFxQztBQUNyQztFQUNFLG9CQUFvQixFQUFFOztBQUV4QjtFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsV0FBVztFQUNYLDRDQUE0QztFQUM1QyxZQUFZO0VBQ1oseUJBQXlCO0VBQ3pCLGNBQWMsRUFBRTs7QUFFbEIsbUNBQW1DO0FBQ25DO0VBQ0UsVUFBVSxFQUFFOztBQUVkLG1CQUFtQjtBQUNuQjtFQUNFLGdCQUFnQjtFQUNoQix5QkFBeUI7RUFDekIsOEJBQThCLEVBQUU7RUFDaEM7SUFDRSxZQUFZLEVBQUU7RUFDaEI7SUFDRSx5QkFBeUIsRUFBRTtFQUM3QjtJQUNFLFdBQVc7SUFDWCw0QkFBNEIsRUFBRTtFQUNoQzs7SUFFRSwwQkFBMEIsRUFBRTtFQUM5QjtJQUNFLGlCQUFpQjtJQUNqQixvQkFBb0IsRUFBRTtFQUN4QjtJQUNFLFVBQVUsRUFBRTtFQUNkO0lBQ0UsWUFBWSxFQUFFO0VBQ2hCO0lBQ0UsZ0JBQWdCLEVBQUU7RUFDcEI7SUFDRSxrQkFBa0IsRUFBRTtFQUN0QjtJQUNFLGNBQWM7SUFDZCxnQkFBZ0IsRUFBRTtFQUNwQjtJQUNFLHlCQUF5QixFQUFFO0VBQzdCO0lBQ0UsY0FBYyxFQUFFOztBQUVwQjtFQUNFLG1CQUFtQjtFQUNuQixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YscUJBQXFCO0VBQ3JCLFdBQVcsRUFBRTtFQUNiO0lBQ0UsV0FBVztJQUNYLGdCQUFnQixFQUFFO0VBQ3BCO0lBQ0UsY0FBYztJQUNkLGlCQUFpQixFQUFFOztBQUV2QjtFQUNFLG1CQUFtQixFQUFFOztBQUV2QjtFQUNFLGVBQWU7RUFDZixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YscUJBQXFCO0VBQ3JCLFdBQVcsRUFBRTtFQUNiO0lBQ0UsV0FBVztJQUNYLGdCQUFnQixFQUFFO0VBQ3BCO0lBQ0UsY0FBYztJQUNkLGlCQUFpQixFQUFFOztBQUV2QjtFQUNFLGlCQUFpQixFQUFFOztBQUVyQjtFQUNFLFVBQVU7RUFDVixnQkFBZ0I7RUFDaEIsaUJBQWlCLEVBQUU7O0FBRXJCO0VBQ0U7c0JBQ29CO0VBQ3BCLGlCQUFpQixFQUFFOztBQUVyQjtFQUNFLGlDQUFpQyxFQUFFOztBQUVyQyxtQkFBbUI7QUFDbkI7RUFDRSxrQkFBa0IsRUFBRTs7QUFFdEI7RUFDRSw0QkFBNEIsRUFBRTs7QUFFaEM7RUFDRSwwQkFBMEIsRUFBRTs7QUFFOUI7RUFDRSxrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDViwrQ0FBK0M7RUFDL0MsdUNBQXVDO0VBQ3ZDLFdBQVcsRUFBRTs7QUFFZjtFQUNFLDJCQUEyQjtFQUMzQixnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIscUJBQXFCO0VBQ3JCO3lCQUN1QixFQUFFOztBQUUzQjtFQUNFLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsMEJBQTBCLEVBQUU7O0FBRTlCO0VBQ0UsU0FBUztFQUNULFdBQVc7RUFDWCxnQkFBZ0IsRUFBRTs7QUFFcEIsOEJBQThCO0FBQzlCLG9CQUFvQjtBQUNwQjtFQUNFLDZCQUE2QixFQUFFOztBQUVqQztFQUNFLHVDQUF1QztFQUN2QyxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGFBQWE7RUFDYixjQUFjO0VBQ2QsV0FBVyxFQUFFOztBQUVmO0VBQ0UsYUFBYTtFQUNiLFlBQVksRUFBRTs7QUFFaEIsbUJBQW1CO0FBQ25CO0VBQ0UsYUFBYTtFQUNiLHFCQUFxQjtFQUNyQixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLFlBQVksRUFBRTs7QUFFaEI7RUFDRSxjQUFjO0VBQ2QsY0FBYyxFQUFFO0VBQ2hCO0lBQ0UsY0FBYztJQUNkLHFCQUFxQixFQUFFOztBQUUzQjtFQUNFLGdCQUFnQixFQUFFOztBQUVwQjtFQUNFLGNBQWMsRUFBRTtFQUNoQjtJQUNFLGNBQWMsRUFBRTs7QUFFcEI7RUFDRSxrQkFBa0IsRUFBRTs7QUFFdEI7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSwyQkFBMkIsRUFBRSIsImZpbGUiOiJ0bXBvY3pRT0suY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogV2UncmUgZ29pbmcgdG8ga2VlcCBiYXNpYyBTQ1NTIHZhcmlhYmxlcyBhbGwgaW4gb25lIGZpbGUuXG4gICBJbiB0aGVvcnksIHdlIHNob3VsZG4ndCBkZWZpbmUgY29sb3JzIGFueXdoZXJlIGVsc2UgYnV0IGhlcmUuXG4gICBXZSBvYnZpb3VzbHkgZG8gYW55d2F5LCBidXQgaXQncyB0aGUgdGhvdWdodCB0aGF0IGNvdW50cy5cbiAqL1xuLyogJHNlY3Rpb25fYmFja2dyb3VuZDogI2RkZDsgKi9cbi8qIGZhLXJ1YiBpY29uIHNldHRpbmdzICovXG4vKiBTdGlja3kgZm9vdGVyICovXG5odG1sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG5cbi8qIFN0aWNreSBwYXJ0bmVyc19iYW5uZXJzICsgZm9vdGVyICovXG5ib2R5LndpdGhfcGFydG5lcnNfYmFubmVycyB7XG4gIG1hcmdpbi1ib3R0b206IDE3NnB4OyB9XG5cbmZvb3RlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgLyogU2V0IHRoZSBmaXhlZCBoZWlnaHQgb2YgdGhlIGZvb3RlciBoZXJlICovXG4gIGhlaWdodDogNTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgZm9udC1zaXplOiA4NSU7IH1cblxuLyog0KPQsdC40YDQsNC10Lwg0LPRgNCw0L3QuNGG0YMg0LLQvtC60YDRg9CzINGB0YHRi9C70L7QuiAgKi9cbmEsIGE6aG92ZXIsIGE6YWN0aXZlLCBhOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBOQVZCQVIgU0VDVElPTiAqL1xubmF2Lm5hdmJhci1kZWZhdWx0IHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgLyogc2hvdyBkcm9wZG93biBpbW1lZGlhdGVseSAqLyB9XG4gIG5hdi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWhlYWRlciB7XG4gICAgaGVpZ2h0OiA1NXB4OyB9XG4gIG5hdi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4OyB9XG4gIG5hdi5uYXZiYXItZGVmYXVsdCAubWFpbi1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDE2cHggMTBweCAxOXB4IDEwcHg7IH1cbiAgbmF2Lm5hdmJhci1kZWZhdWx0IC5tYWluLW5hdiA+IGxpID4gYTpob3ZlcixcbiAgbmF2Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItZGVmYXVsdCAubWFpbi1uYXYgPiBsaSA+IGE6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIG5hdi5uYXZiYXItZGVmYXVsdCAubWFpbi1uYXYgPiBsaSA+IGEuZmFxIHtcbiAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICBuYXYubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZC5uYXZiYXItbG9nbyB7XG4gICAgcGFkZGluZzogMDsgfVxuICBuYXYubmF2YmFyLWRlZmF1bHQgLmNoYXZvIHtcbiAgICBoZWlnaHQ6IDI1cHg7IH1cbiAgbmF2Lm5hdmJhci1kZWZhdWx0IC5zaWduX2luIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIG5hdi5uYXZiYXItZGVmYXVsdCBhLnN0YWZmIHtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7IH1cbiAgbmF2Lm5hdmJhci1kZWZhdWx0IC5mYTpub3QoLmZhLXNpZ24taW4pIHtcbiAgICBjb2xvcjogIzZiNmI2YjtcbiAgICBmb250LXNpemU6IDEuNWVtOyB9XG4gIG5hdi5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24tbWVudSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3OyB9XG4gIG5hdi5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd246aG92ZXIgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuI215X2NvdXJzZXNfYnRuIHtcbiAgYmFja2dyb3VuZDogIzVjYjg1YztcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDA7IH1cbiAgI215X2NvdXJzZXNfYnRuIC5teV9jb3Vyc2VzX2xhYmVsIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNteV9jb3Vyc2VzX2J0biAubXlfY291cnNlc19kYXRhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODVlbTsgfVxuXG4jbXlfY291cnNlc19idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNDQ5ZDQ0OyB9XG5cbiNteV9zY2hvb2x1aV9idG4ge1xuICBiYWNrZ3JvdW5kOiByZWQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDAwOyB9XG4gICNteV9zY2hvb2x1aV9idG4gLm15X2NvdXJzZXNfbGFiZWwge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgI215X3NjaG9vbHVpX2J0biAubXlfY291cnNlc19kYXRhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODVlbTsgfVxuXG4jbXlfc2Nob29sdWlfYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogYnJvd247IH1cblxuI25hdmJhcl9sb2dvdXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4jbmF2YmFyLWxvZ2luLWJ1dHRvbiB7XG4gIC8qICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gIGJvcmRlci1jb2xvcjogI2ZmZjsqL1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4jbmF2YmFyLWxvZ2luLWJ1dHRvbjpob3ZlciB7XG4gIC8qICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0OWQ0NDsgKi8gfVxuXG4vKiBsb2dvdXQgdG9vbHRpcCAqL1xuI25hdmJhcl9sb2dvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI25hdmJhcl9sb2dvdXQ6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuXG4jbmF2YmFyX2xvZ291dDpob3ZlcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsgfVxuXG4jbmF2YmFyX2xvZ291dDpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UsIG9wYWNpdHkgMjAwbXM7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgei1pbmRleDogOTk7IH1cblxuI25hdmJhcl9sb2dvdXQ6YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihkYXRhLXRvb2x0aXApO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAvKiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4OyovIH1cblxuI25hdmJhcl9sb2dvdXQ6aG92ZXI6YmVmb3JlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMC44MDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH1cblxuI25hdmJhcl9sb2dvdXQ6YmVmb3JlIHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAtMTAwJTtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4vKiB0aGUgZW5kIG9mIGxvZ291dCB0b29sdGlwICovXG4vKiBQQVJUTkVSIEJBTk5FUlMgKi9cbmhyLnBhcnRuZXJzX2Jhbm5lcnMge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Y4ZjhmODsgfVxuXG4jcGFydG5lcnNfYmFubmVyc193cmFwcGVyIHtcbiAgLyogcGxhY2UgaXQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNTBweDtcbiAgaGVpZ2h0OiAxMjZweDtcbiAgZm9udC1zaXplOiA4NSU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wYXJ0bmVycy1mb290ZXItYnV0dG9ucyBpbWcge1xuICBwYWRkaW5nOiAxMHB4O1xuICBoZWlnaHQ6IDg1cHg7IH1cblxuLyogRk9PVEVSIFNFQ1RJT04gKi9cbi5mb290ZXJfY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uZm9vdGVyX3N1cHBvcnQge1xuICBtYXgtd2lkdGg6IDUwJTtcbiAgY29sb3I6ICM2MTYxNjE7IH1cbiAgLmZvb3Rlcl9zdXBwb3J0IGEge1xuICAgIGNvbG9yOiAjNjE2MTYxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uc3VwcG9ydCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmZvb3Rlcl9hZGRpdGlvbiB7XG4gIG1heC13aWR0aDogNTAlOyB9XG4gIC5mb290ZXJfYWRkaXRpb24gYSB7XG4gICAgY29sb3I6ICM2MTYxNjE7IH1cblxuLmZvb3Rlcl9zZWFyY2gsIC5mb290ZXJfaG9tZSB7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuXG4uZm9vdGVyX3NlYXJjaCBpbWcsIC5mb290ZXJfaG9tZSBpbWcge1xuICB3aWR0aDogNDBweDsgfVxuXG5hLmZvb3Rlcl9ob21lIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4iXX0= */
body.stop-scrolling {
  height: 100%;
  overflow: hidden; }

.sweet-overlay {
  background-color: black;
  /* IE8 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  /* IE8 */
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: none;
  z-index: 10000; }

.sweet-alert {
  background-color: white;
  font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  width: 478px;
  padding: 17px;
  border-radius: 5px;
  text-align: center;
  position: fixed;
  left: 50%;
  top: 50%;
  margin-left: -256px;
  margin-top: -200px;
  overflow: hidden;
  display: none;
  z-index: 99999; }
  @media all and (max-width: 540px) {
    .sweet-alert {
      width: auto;
      margin-left: 0;
      margin-right: 0;
      left: 15px;
      right: 15px; } }
  .sweet-alert h2 {
    color: #575757;
    font-size: 30px;
    text-align: center;
    font-weight: 600;
    text-transform: none;
    position: relative;
    margin: 25px 0;
    padding: 0;
    line-height: 40px;
    display: block; }
  .sweet-alert p {
    color: #797979;
    font-size: 16px;
    text-align: center;
    font-weight: 300;
    position: relative;
    text-align: inherit;
    float: none;
    margin: 0;
    padding: 0;
    line-height: normal; }
  .sweet-alert fieldset {
    border: none;
    position: relative; }
  .sweet-alert .sa-error-container {
    background-color: #f1f1f1;
    margin-left: -17px;
    margin-right: -17px;
    overflow: hidden;
    padding: 0 10px;
    max-height: 0;
    webkit-transition: padding 0.15s, max-height 0.15s;
    transition: padding 0.15s, max-height 0.15s; }
    .sweet-alert .sa-error-container.show {
      padding: 10px 0;
      max-height: 100px;
      webkit-transition: padding 0.2s, max-height 0.2s;
      transition: padding 0.25s, max-height 0.25s; }
    .sweet-alert .sa-error-container .icon {
      display: inline-block;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background-color: #ea7d7d;
      color: white;
      line-height: 24px;
      text-align: center;
      margin-right: 3px; }
    .sweet-alert .sa-error-container p {
      display: inline-block; }
  .sweet-alert .sa-input-error {
    position: absolute;
    top: 29px;
    right: 26px;
    width: 20px;
    height: 20px;
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: all 0.1s;
    transition: all 0.1s; }
    .sweet-alert .sa-input-error::before, .sweet-alert .sa-input-error::after {
      content: "";
      width: 20px;
      height: 6px;
      background-color: #f06e57;
      border-radius: 3px;
      position: absolute;
      top: 50%;
      margin-top: -4px;
      left: 50%;
      margin-left: -9px; }
    .sweet-alert .sa-input-error::before {
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }
    .sweet-alert .sa-input-error::after {
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
    .sweet-alert .sa-input-error.show {
      opacity: 1;
      -webkit-transform: scale(1);
      transform: scale(1); }
  .sweet-alert input {
    width: 100%;
    box-sizing: border-box;
    border-radius: 3px;
    border: 1px solid #d7d7d7;
    height: 43px;
    margin-top: 10px;
    margin-bottom: 17px;
    font-size: 18px;
    box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.06);
    padding: 0 12px;
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
    .sweet-alert input:focus {
      outline: none;
      box-shadow: 0px 0px 3px #c4e6f5;
      border: 1px solid #b4dbed; }
      .sweet-alert input:focus::-moz-placeholder {
        transition: opacity 0.3s 0.03s ease;
        opacity: 0.5; }
      .sweet-alert input:focus:-ms-input-placeholder {
        transition: opacity 0.3s 0.03s ease;
        opacity: 0.5; }
      .sweet-alert input:focus::-webkit-input-placeholder {
        transition: opacity 0.3s 0.03s ease;
        opacity: 0.5; }
    .sweet-alert input::-moz-placeholder {
      color: #bdbdbd; }
    .sweet-alert input:-ms-input-placeholder {
      color: #bdbdbd; }
    .sweet-alert input::-webkit-input-placeholder {
      color: #bdbdbd; }
  .sweet-alert.show-input input {
    display: block; }
  .sweet-alert .sa-confirm-button-container {
    display: inline-block;
    position: relative; }
  .sweet-alert .la-ball-fall {
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -27px;
    margin-top: 4px;
    opacity: 0;
    visibility: hidden; }
  .sweet-alert button {
    background-color: #8CD4F5;
    color: white;
    border: none;
    box-shadow: none;
    font-size: 17px;
    font-weight: 500;
    -webkit-border-radius: 4px;
    border-radius: 5px;
    padding: 10px 32px;
    margin: 26px 5px 0 5px;
    cursor: pointer; }
    .sweet-alert button:focus {
      outline: none;
      box-shadow: 0 0 2px rgba(128, 179, 235, 0.5), inset 0 0 0 1px rgba(0, 0, 0, 0.05); }
    .sweet-alert button:hover {
      background-color: #7ecff4; }
    .sweet-alert button:active {
      background-color: #5dc2f1; }
    .sweet-alert button.cancel {
      background-color: #C1C1C1; }
      .sweet-alert button.cancel:hover {
        background-color: #b9b9b9; }
      .sweet-alert button.cancel:active {
        background-color: #a8a8a8; }
      .sweet-alert button.cancel:focus {
        box-shadow: rgba(197, 205, 211, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.0470588) 0px 0px 0px 1px inset !important; }
    .sweet-alert button[disabled] {
      opacity: .6;
      cursor: default; }
    .sweet-alert button.confirm[disabled] {
      color: transparent; }
      .sweet-alert button.confirm[disabled] ~ .la-ball-fall {
        opacity: 1;
        visibility: visible;
        transition-delay: 0s; }
    .sweet-alert button::-moz-focus-inner {
      border: 0; }
  .sweet-alert[data-has-cancel-button=false] button {
    box-shadow: none !important; }
  .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] {
    padding-bottom: 40px; }
  .sweet-alert .sa-icon {
    width: 80px;
    height: 80px;
    border: 4px solid gray;
    -webkit-border-radius: 40px;
    border-radius: 40px;
    border-radius: 50%;
    margin: 20px auto;
    padding: 0;
    position: relative;
    box-sizing: content-box; }
    .sweet-alert .sa-icon.sa-error {
      border-color: #F27474; }
      .sweet-alert .sa-icon.sa-error .sa-x-mark {
        position: relative;
        display: block; }
      .sweet-alert .sa-icon.sa-error .sa-line {
        position: absolute;
        height: 5px;
        width: 47px;
        background-color: #F27474;
        display: block;
        top: 37px;
        border-radius: 2px; }
        .sweet-alert .sa-icon.sa-error .sa-line.sa-left {
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
          left: 17px; }
        .sweet-alert .sa-icon.sa-error .sa-line.sa-right {
          -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
          right: 16px; }
    .sweet-alert .sa-icon.sa-warning {
      border-color: #F8BB86; }
      .sweet-alert .sa-icon.sa-warning .sa-body {
        position: absolute;
        width: 5px;
        height: 47px;
        left: 50%;
        top: 10px;
        -webkit-border-radius: 2px;
        border-radius: 2px;
        margin-left: -2px;
        background-color: #F8BB86; }
      .sweet-alert .sa-icon.sa-warning .sa-dot {
        position: absolute;
        width: 7px;
        height: 7px;
        -webkit-border-radius: 50%;
        border-radius: 50%;
        margin-left: -3px;
        left: 50%;
        bottom: 10px;
        background-color: #F8BB86; }
    .sweet-alert .sa-icon.sa-info {
      border-color: #C9DAE1; }
      .sweet-alert .sa-icon.sa-info::before {
        content: "";
        position: absolute;
        width: 5px;
        height: 29px;
        left: 50%;
        bottom: 17px;
        border-radius: 2px;
        margin-left: -2px;
        background-color: #C9DAE1; }
      .sweet-alert .sa-icon.sa-info::after {
        content: "";
        position: absolute;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        margin-left: -3px;
        top: 19px;
        background-color: #C9DAE1; }
    .sweet-alert .sa-icon.sa-success {
      border-color: #A5DC86; }
      .sweet-alert .sa-icon.sa-success::before, .sweet-alert .sa-icon.sa-success::after {
        content: '';
        -webkit-border-radius: 40px;
        border-radius: 40px;
        border-radius: 50%;
        position: absolute;
        width: 60px;
        height: 120px;
        background: white;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
      .sweet-alert .sa-icon.sa-success::before {
        -webkit-border-radius: 120px 0 0 120px;
        border-radius: 120px 0 0 120px;
        top: -7px;
        left: -33px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transform-origin: 60px 60px;
        transform-origin: 60px 60px; }
      .sweet-alert .sa-icon.sa-success::after {
        -webkit-border-radius: 0 120px 120px 0;
        border-radius: 0 120px 120px 0;
        top: -11px;
        left: 30px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transform-origin: 0px 60px;
        transform-origin: 0px 60px; }
      .sweet-alert .sa-icon.sa-success .sa-placeholder {
        width: 80px;
        height: 80px;
        border: 4px solid rgba(165, 220, 134, 0.2);
        -webkit-border-radius: 40px;
        border-radius: 40px;
        border-radius: 50%;
        box-sizing: content-box;
        position: absolute;
        left: -4px;
        top: -4px;
        z-index: 2; }
      .sweet-alert .sa-icon.sa-success .sa-fix {
        width: 5px;
        height: 90px;
        background-color: white;
        position: absolute;
        left: 28px;
        top: 8px;
        z-index: 1;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg); }
      .sweet-alert .sa-icon.sa-success .sa-line {
        height: 5px;
        background-color: #A5DC86;
        display: block;
        border-radius: 2px;
        position: absolute;
        z-index: 2; }
        .sweet-alert .sa-icon.sa-success .sa-line.sa-tip {
          width: 25px;
          left: 14px;
          top: 46px;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
        .sweet-alert .sa-icon.sa-success .sa-line.sa-long {
          width: 47px;
          right: 8px;
          top: 38px;
          -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }
    .sweet-alert .sa-icon.sa-custom {
      background-size: contain;
      border-radius: 0;
      border: none;
      background-position: center center;
      background-repeat: no-repeat; }

/*
 * Animations
 */
@-webkit-keyframes showSweetAlert {
  0% {
    transform: scale(0.7);
    -webkit-transform: scale(0.7); }
  45% {
    transform: scale(1.05);
    -webkit-transform: scale(1.05); }
  80% {
    transform: scale(0.95);
    -webkit-transform: scale(0.95); }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1); } }

@keyframes showSweetAlert {
  0% {
    transform: scale(0.7);
    -webkit-transform: scale(0.7); }
  45% {
    transform: scale(1.05);
    -webkit-transform: scale(1.05); }
  80% {
    transform: scale(0.95);
    -webkit-transform: scale(0.95); }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1); } }

@-webkit-keyframes hideSweetAlert {
  0% {
    transform: scale(1);
    -webkit-transform: scale(1); }
  100% {
    transform: scale(0.5);
    -webkit-transform: scale(0.5); } }

@keyframes hideSweetAlert {
  0% {
    transform: scale(1);
    -webkit-transform: scale(1); }
  100% {
    transform: scale(0.5);
    -webkit-transform: scale(0.5); } }

@-webkit-keyframes slideFromTop {
  0% {
    top: 0%; }
  100% {
    top: 50%; } }

@keyframes slideFromTop {
  0% {
    top: 0%; }
  100% {
    top: 50%; } }

@-webkit-keyframes slideToTop {
  0% {
    top: 50%; }
  100% {
    top: 0%; } }

@keyframes slideToTop {
  0% {
    top: 50%; }
  100% {
    top: 0%; } }

@-webkit-keyframes slideFromBottom {
  0% {
    top: 70%; }
  100% {
    top: 50%; } }

@keyframes slideFromBottom {
  0% {
    top: 70%; }
  100% {
    top: 50%; } }

@-webkit-keyframes slideToBottom {
  0% {
    top: 50%; }
  100% {
    top: 70%; } }

@keyframes slideToBottom {
  0% {
    top: 50%; }
  100% {
    top: 70%; } }

.showSweetAlert[data-animation=pop] {
  -webkit-animation: showSweetAlert 0.3s;
  animation: showSweetAlert 0.3s; }

.showSweetAlert[data-animation=none] {
  -webkit-animation: none;
  animation: none; }

.showSweetAlert[data-animation=slide-from-top] {
  -webkit-animation: slideFromTop 0.3s;
  animation: slideFromTop 0.3s; }

.showSweetAlert[data-animation=slide-from-bottom] {
  -webkit-animation: slideFromBottom 0.3s;
  animation: slideFromBottom 0.3s; }

.hideSweetAlert[data-animation=pop] {
  -webkit-animation: hideSweetAlert 0.2s;
  animation: hideSweetAlert 0.2s; }

.hideSweetAlert[data-animation=none] {
  -webkit-animation: none;
  animation: none; }

.hideSweetAlert[data-animation=slide-from-top] {
  -webkit-animation: slideToTop 0.4s;
  animation: slideToTop 0.4s; }

.hideSweetAlert[data-animation=slide-from-bottom] {
  -webkit-animation: slideToBottom 0.3s;
  animation: slideToBottom 0.3s; }

@-webkit-keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@-webkit-keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

@keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

@-webkit-keyframes rotatePlaceholder {
  0% {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); }
  5% {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); }
  12% {
    transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg); }
  100% {
    transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg); } }

@keyframes rotatePlaceholder {
  0% {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); }
  5% {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); }
  12% {
    transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg); }
  100% {
    transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg); } }

.animateSuccessTip {
  -webkit-animation: animateSuccessTip 0.75s;
  animation: animateSuccessTip 0.75s; }

.animateSuccessLong {
  -webkit-animation: animateSuccessLong 0.75s;
  animation: animateSuccessLong 0.75s; }

.sa-icon.sa-success.animate::after {
  -webkit-animation: rotatePlaceholder 4.25s ease-in;
  animation: rotatePlaceholder 4.25s ease-in; }

@-webkit-keyframes animateErrorIcon {
  0% {
    transform: rotateX(100deg);
    -webkit-transform: rotateX(100deg);
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    -webkit-transform: rotateX(0deg);
    opacity: 1; } }

@keyframes animateErrorIcon {
  0% {
    transform: rotateX(100deg);
    -webkit-transform: rotateX(100deg);
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    -webkit-transform: rotateX(0deg);
    opacity: 1; } }

.animateErrorIcon {
  -webkit-animation: animateErrorIcon 0.5s;
  animation: animateErrorIcon 0.5s; }

@-webkit-keyframes animateXMark {
  0% {
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    margin-top: 26px;
    opacity: 0; }
  50% {
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    margin-top: 26px;
    opacity: 0; }
  80% {
    transform: scale(1.15);
    -webkit-transform: scale(1.15);
    margin-top: -6px; }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1);
    margin-top: 0;
    opacity: 1; } }

@keyframes animateXMark {
  0% {
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    margin-top: 26px;
    opacity: 0; }
  50% {
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    margin-top: 26px;
    opacity: 0; }
  80% {
    transform: scale(1.15);
    -webkit-transform: scale(1.15);
    margin-top: -6px; }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1);
    margin-top: 0;
    opacity: 1; } }

.animateXMark {
  -webkit-animation: animateXMark 0.5s;
  animation: animateXMark 0.5s; }

@-webkit-keyframes pulseWarning {
  0% {
    border-color: #F8D486; }
  100% {
    border-color: #F8BB86; } }

@keyframes pulseWarning {
  0% {
    border-color: #F8D486; }
  100% {
    border-color: #F8BB86; } }

.pulseWarning {
  -webkit-animation: pulseWarning 0.75s infinite alternate;
  animation: pulseWarning 0.75s infinite alternate; }

@-webkit-keyframes pulseWarningIns {
  0% {
    background-color: #F8D486; }
  100% {
    background-color: #F8BB86; } }

@keyframes pulseWarningIns {
  0% {
    background-color: #F8D486; }
  100% {
    background-color: #F8BB86; } }

.pulseWarningIns {
  -webkit-animation: pulseWarningIns 0.75s infinite alternate;
  animation: pulseWarningIns 0.75s infinite alternate; }

@-webkit-keyframes rotate-loading {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes rotate-loading {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

/* Internet Explorer 9 has some special quirks that are fixed here */
/* The icons are not animated. */
/* This file is automatically merged into sweet-alert.min.js through Gulp */
/* Error icon */
.sweet-alert .sa-icon.sa-error .sa-line.sa-left {
  -ms-transform: rotate(45deg) \9; }

.sweet-alert .sa-icon.sa-error .sa-line.sa-right {
  -ms-transform: rotate(-45deg) \9; }

/* Success icon */
.sweet-alert .sa-icon.sa-success {
  border-color: transparent\9; }

.sweet-alert .sa-icon.sa-success .sa-line.sa-tip {
  -ms-transform: rotate(45deg) \9; }

.sweet-alert .sa-icon.sa-success .sa-line.sa-long {
  -ms-transform: rotate(-45deg) \9; }

/*!
 * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/)
 * Copyright 2015 Daniel Cardoso <@DanielCardoso>
 * Licensed under MIT
 */
.la-ball-fall,
.la-ball-fall > div {
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.la-ball-fall {
  display: block;
  font-size: 0;
  color: #fff; }

.la-ball-fall.la-dark {
  color: #333; }

.la-ball-fall > div {
  display: inline-block;
  float: none;
  background-color: currentColor;
  border: 0 solid currentColor; }

.la-ball-fall {
  width: 54px;
  height: 18px; }

.la-ball-fall > div {
  width: 10px;
  height: 10px;
  margin: 4px;
  border-radius: 100%;
  opacity: 0;
  -webkit-animation: ball-fall 1s ease-in-out infinite;
  -moz-animation: ball-fall 1s ease-in-out infinite;
  -o-animation: ball-fall 1s ease-in-out infinite;
  animation: ball-fall 1s ease-in-out infinite; }

.la-ball-fall > div:nth-child(1) {
  -webkit-animation-delay: -200ms;
  -moz-animation-delay: -200ms;
  -o-animation-delay: -200ms;
  animation-delay: -200ms; }

.la-ball-fall > div:nth-child(2) {
  -webkit-animation-delay: -100ms;
  -moz-animation-delay: -100ms;
  -o-animation-delay: -100ms;
  animation-delay: -100ms; }

.la-ball-fall > div:nth-child(3) {
  -webkit-animation-delay: 0ms;
  -moz-animation-delay: 0ms;
  -o-animation-delay: 0ms;
  animation-delay: 0ms; }

.la-ball-fall.la-sm {
  width: 26px;
  height: 8px; }

.la-ball-fall.la-sm > div {
  width: 4px;
  height: 4px;
  margin: 2px; }

.la-ball-fall.la-2x {
  width: 108px;
  height: 36px; }

.la-ball-fall.la-2x > div {
  width: 20px;
  height: 20px;
  margin: 8px; }

.la-ball-fall.la-3x {
  width: 162px;
  height: 54px; }

.la-ball-fall.la-3x > div {
  width: 30px;
  height: 30px;
  margin: 12px; }

/*
 * Animation
 */
@-webkit-keyframes ball-fall {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-145%);
    transform: translateY(-145%); }
  10% {
    opacity: .5; }
  20% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  80% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  90% {
    opacity: .5; }
  100% {
    opacity: 0;
    -webkit-transform: translateY(145%);
    transform: translateY(145%); } }

@-moz-keyframes ball-fall {
  0% {
    opacity: 0;
    -moz-transform: translateY(-145%);
    transform: translateY(-145%); }
  10% {
    opacity: .5; }
  20% {
    opacity: 1;
    -moz-transform: translateY(0);
    transform: translateY(0); }
  80% {
    opacity: 1;
    -moz-transform: translateY(0);
    transform: translateY(0); }
  90% {
    opacity: .5; }
  100% {
    opacity: 0;
    -moz-transform: translateY(145%);
    transform: translateY(145%); } }

@-o-keyframes ball-fall {
  0% {
    opacity: 0;
    -o-transform: translateY(-145%);
    transform: translateY(-145%); }
  10% {
    opacity: .5; }
  20% {
    opacity: 1;
    -o-transform: translateY(0);
    transform: translateY(0); }
  80% {
    opacity: 1;
    -o-transform: translateY(0);
    transform: translateY(0); }
  90% {
    opacity: .5; }
  100% {
    opacity: 0;
    -o-transform: translateY(145%);
    transform: translateY(145%); } }

@keyframes ball-fall {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-145%);
    -moz-transform: translateY(-145%);
    -o-transform: translateY(-145%);
    transform: translateY(-145%); }
  10% {
    opacity: .5; }
  20% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  80% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  90% {
    opacity: .5; }
  100% {
    opacity: 0;
    -webkit-transform: translateY(145%);
    -moz-transform: translateY(145%);
    -o-transform: translateY(145%);
    transform: translateY(145%); } }

/*# sourceMappingURL=data:application/json;base64,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QkFBNEIsRUFBRTtFQUNoQztJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsVUFBVTtJQUNWLDZCQUE2QjtJQUM3Qix3QkFBd0IsRUFBRTtFQUM1QjtJQUNFLFVBQVU7SUFDViw2QkFBNkI7SUFDN0Isd0JBQXdCLEVBQUU7RUFDNUI7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFVBQVU7SUFDVixnQ0FBZ0M7SUFDaEMsMkJBQTJCLEVBQUUsRUFBRTs7QUFFbkM7RUFDRTtJQUNFLFVBQVU7SUFDViwrQkFBK0I7SUFDL0IsNEJBQTRCLEVBQUU7RUFDaEM7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFVBQVU7SUFDViwyQkFBMkI7SUFDM0Isd0JBQXdCLEVBQUU7RUFDNUI7SUFDRSxVQUFVO0lBQ1YsMkJBQTJCO0lBQzNCLHdCQUF3QixFQUFFO0VBQzVCO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxVQUFVO0lBQ1YsOEJBQThCO0lBQzlCLDJCQUEyQixFQUFFLEVBQUU7O0FBRW5DO0VBQ0U7SUFDRSxVQUFVO0lBQ1Ysb0NBQW9DO0lBQ3BDLGlDQUFpQztJQUNqQywrQkFBK0I7SUFDL0IsNEJBQTRCLEVBQUU7RUFDaEM7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFVBQVU7SUFDVixnQ0FBZ0M7SUFDaEMsNkJBQTZCO0lBQzdCLDJCQUEyQjtJQUMzQix3QkFBd0IsRUFBRTtFQUM1QjtJQUNFLFVBQVU7SUFDVixnQ0FBZ0M7SUFDaEMsNkJBQTZCO0lBQzdCLDJCQUEyQjtJQUMzQix3QkFBd0IsRUFBRTtFQUM1QjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsVUFBVTtJQUNWLG1DQUFtQztJQUNuQyxnQ0FBZ0M7SUFDaEMsOEJBQThCO0lBQzlCLDJCQUEyQixFQUFFLEVBQUUiLCJmaWxlIjoidG1wTGhKTGhhLmNzcyIsInNvdXJjZXNDb250ZW50IjpbImJvZHkuc3RvcC1zY3JvbGxpbmcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnN3ZWV0LW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgLyogSUU4ICovXG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApXCI7XG4gIC8qIElFOCAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDAwMDsgfVxuXG4uc3dlZXQtYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB3aWR0aDogNDc4cHg7XG4gIHBhZGRpbmc6IDE3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjU2cHg7XG4gIG1hcmdpbi10b3A6IC0yMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogOTk5OTk7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNTQwcHgpIHtcbiAgICAuc3dlZXQtYWxlcnQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICByaWdodDogMTVweDsgfSB9XG4gIC5zd2VldC1hbGVydCBoMiB7XG4gICAgY29sb3I6ICM1NzU3NTc7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDI1cHggMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zd2VldC1hbGVydCBwIHtcbiAgICBjb2xvcjogIzc5Nzk3OTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAuc3dlZXQtYWxlcnQgZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnN3ZWV0LWFsZXJ0IC5zYS1lcnJvci1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgbWFyZ2luLWxlZnQ6IC0xN3B4O1xuICAgIG1hcmdpbi1yaWdodDogLTE3cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICB3ZWJraXQtdHJhbnNpdGlvbjogcGFkZGluZyAwLjE1cywgbWF4LWhlaWdodCAwLjE1cztcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuMTVzLCBtYXgtaGVpZ2h0IDAuMTVzOyB9XG4gICAgLnN3ZWV0LWFsZXJ0IC5zYS1lcnJvci1jb250YWluZXIuc2hvdyB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgIHdlYmtpdC10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMsIG1heC1oZWlnaHQgMC4ycztcbiAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4yNXMsIG1heC1oZWlnaHQgMC4yNXM7IH1cbiAgICAuc3dlZXQtYWxlcnQgLnNhLWVycm9yLWNvbnRhaW5lciAuaWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYTdkN2Q7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4OyB9XG4gICAgLnN3ZWV0LWFsZXJ0IC5zYS1lcnJvci1jb250YWluZXIgcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnN3ZWV0LWFsZXJ0IC5zYS1pbnB1dC1lcnJvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjlweDtcbiAgICByaWdodDogMjZweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xcztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xczsgfVxuICAgIC5zd2VldC1hbGVydCAuc2EtaW5wdXQtZXJyb3I6OmJlZm9yZSwgLnN3ZWV0LWFsZXJ0IC5zYS1pbnB1dC1lcnJvcjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA2ZTU3O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC05cHg7IH1cbiAgICAuc3dlZXQtYWxlcnQgLnNhLWlucHV0LWVycm9yOjpiZWZvcmUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5zd2VldC1hbGVydCAuc2EtaW5wdXQtZXJyb3I6OmFmdGVyIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gICAgLnN3ZWV0LWFsZXJ0IC5zYS1pbnB1dC1lcnJvci5zaG93IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIC5zd2VldC1hbGVydCBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q3ZDdkNztcbiAgICBoZWlnaHQ6IDQzcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7IH1cbiAgICAuc3dlZXQtYWxlcnQgaW5wdXQ6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggM3B4ICNjNGU2ZjU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYjRkYmVkOyB9XG4gICAgICAuc3dlZXQtYWxlcnQgaW5wdXQ6Zm9jdXM6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgMC4wM3MgZWFzZTtcbiAgICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgICAuc3dlZXQtYWxlcnQgaW5wdXQ6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIDAuMDNzIGVhc2U7XG4gICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgICAgLnN3ZWV0LWFsZXJ0IGlucHV0OmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIDAuMDNzIGVhc2U7XG4gICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgIC5zd2VldC1hbGVydCBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2JkYmRiZDsgfVxuICAgIC5zd2VldC1hbGVydCBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNiZGJkYmQ7IH1cbiAgICAuc3dlZXQtYWxlcnQgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNiZGJkYmQ7IH1cbiAgLnN3ZWV0LWFsZXJ0LnNob3ctaW5wdXQgaW5wdXQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zd2VldC1hbGVydCAuc2EtY29uZmlybS1idXR0b24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zd2VldC1hbGVydCAubGEtYmFsbC1mYWxsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjdweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLnN3ZWV0LWFsZXJ0IGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhDRDRGNTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHBhZGRpbmc6IDEwcHggMzJweDtcbiAgICBtYXJnaW46IDI2cHggNXB4IDAgNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zd2VldC1hbGVydCBidXR0b246Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgxMjgsIDE3OSwgMjM1LCAwLjUpLCBpbnNldCAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAgIC5zd2VldC1hbGVydCBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdlY2ZmNDsgfVxuICAgIC5zd2VldC1hbGVydCBidXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZGMyZjE7IH1cbiAgICAuc3dlZXQtYWxlcnQgYnV0dG9uLmNhbmNlbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzFDMUMxOyB9XG4gICAgICAuc3dlZXQtYWxlcnQgYnV0dG9uLmNhbmNlbDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWI5Yjk7IH1cbiAgICAgIC5zd2VldC1hbGVydCBidXR0b24uY2FuY2VsOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGE4YTg7IH1cbiAgICAgIC5zd2VldC1hbGVydCBidXR0b24uY2FuY2VsOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogcmdiYSgxOTcsIDIwNSwgMjExLCAwLjgpIDBweCAwcHggMnB4LCByZ2JhKDAsIDAsIDAsIDAuMDQ3MDU4OCkgMHB4IDBweCAwcHggMXB4IGluc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAuc3dlZXQtYWxlcnQgYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAuNjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5zd2VldC1hbGVydCBidXR0b24uY29uZmlybVtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuc3dlZXQtYWxlcnQgYnV0dG9uLmNvbmZpcm1bZGlzYWJsZWRdIH4gLmxhLWJhbGwtZmFsbCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzOyB9XG4gICAgLnN3ZWV0LWFsZXJ0IGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgLnN3ZWV0LWFsZXJ0W2RhdGEtaGFzLWNhbmNlbC1idXR0b249ZmFsc2VdIGJ1dHRvbiB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zd2VldC1hbGVydFtkYXRhLWhhcy1jb25maXJtLWJ1dHRvbj1mYWxzZV1bZGF0YS1oYXMtY2FuY2VsLWJ1dHRvbj1mYWxzZV0ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gIC5zd2VldC1hbGVydCAuc2EtaWNvbiB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIGdyYXk7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG4gICAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLWVycm9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0YyNzQ3NDsgfVxuICAgICAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLWVycm9yIC5zYS14LW1hcmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2EtZXJyb3IgLnNhLWxpbmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICB3aWR0aDogNDdweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YyNzQ3NDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMzdweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG4gICAgICAgIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS1lcnJvciAuc2EtbGluZS5zYS1sZWZ0IHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgbGVmdDogMTdweDsgfVxuICAgICAgICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2EtZXJyb3IgLnNhLWxpbmUuc2EtcmlnaHQge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHJpZ2h0OiAxNnB4OyB9XG4gICAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXdhcm5pbmcge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRjhCQjg2OyB9XG4gICAgICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2Etd2FybmluZyAuc2EtYm9keSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA0N3B4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEJCODY7IH1cbiAgICAgIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS13YXJuaW5nIC5zYS1kb3Qge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTNweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEJCODY7IH1cbiAgICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2EtaW5mbyB7XG4gICAgICBib3JkZXItY29sb3I6ICNDOURBRTE7IH1cbiAgICAgIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS1pbmZvOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogMjlweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3R0b206IDE3cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDOURBRTE7IH1cbiAgICAgIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS1pbmZvOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgICAgIHRvcDogMTlweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0M5REFFMTsgfVxuICAgIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS1zdWNjZXNzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0E1REM4NjsgfVxuICAgICAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXN1Y2Nlc3M6OmJlZm9yZSwgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXN1Y2Nlc3M6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXN1Y2Nlc3M6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTIwcHggMCAwIDEyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMjBweCAwIDAgMTIwcHg7XG4gICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgbGVmdDogLTMzcHg7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA2MHB4IDYwcHg7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDYwcHggNjBweDsgfVxuICAgICAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXN1Y2Nlc3M6OmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDEyMHB4IDEyMHB4IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTIwcHggMTIwcHggMDtcbiAgICAgICAgdG9wOiAtMTFweDtcbiAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDBweCA2MHB4O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwcHggNjBweDsgfVxuICAgICAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgcmdiYSgxNjUsIDIyMCwgMTM0LCAwLjIpO1xuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTRweDtcbiAgICAgICAgdG9wOiAtNHB4O1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtZml4IHtcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAyOHB4O1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZSB7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTVEQzg2O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgICAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtdGlwIHtcbiAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICBsZWZ0OiAxNHB4O1xuICAgICAgICAgIHRvcDogNDZweDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgICAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtbG9uZyB7XG4gICAgICAgICAgd2lkdGg6IDQ3cHg7XG4gICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgICB0b3A6IDM4cHg7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2EtY3VzdG9tIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4vKlxuICogQW5pbWF0aW9uc1xuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hvd1N3ZWV0QWxlcnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB9XG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hvd1N3ZWV0QWxlcnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB9XG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoaWRlU3dlZXRBbGVydCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhpZGVTd2VldEFsZXJ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUZyb21Ub3Age1xuICAwJSB7XG4gICAgdG9wOiAwJTsgfVxuICAxMDAlIHtcbiAgICB0b3A6IDUwJTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVGcm9tVG9wIHtcbiAgMCUge1xuICAgIHRvcDogMCU7IH1cbiAgMTAwJSB7XG4gICAgdG9wOiA1MCU7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVUb1RvcCB7XG4gIDAlIHtcbiAgICB0b3A6IDUwJTsgfVxuICAxMDAlIHtcbiAgICB0b3A6IDAlOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZVRvVG9wIHtcbiAgMCUge1xuICAgIHRvcDogNTAlOyB9XG4gIDEwMCUge1xuICAgIHRvcDogMCU7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVGcm9tQm90dG9tIHtcbiAgMCUge1xuICAgIHRvcDogNzAlOyB9XG4gIDEwMCUge1xuICAgIHRvcDogNTAlOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZUZyb21Cb3R0b20ge1xuICAwJSB7XG4gICAgdG9wOiA3MCU7IH1cbiAgMTAwJSB7XG4gICAgdG9wOiA1MCU7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVUb0JvdHRvbSB7XG4gIDAlIHtcbiAgICB0b3A6IDUwJTsgfVxuICAxMDAlIHtcbiAgICB0b3A6IDcwJTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVUb0JvdHRvbSB7XG4gIDAlIHtcbiAgICB0b3A6IDUwJTsgfVxuICAxMDAlIHtcbiAgICB0b3A6IDcwJTsgfSB9XG5cbi5zaG93U3dlZXRBbGVydFtkYXRhLWFuaW1hdGlvbj1wb3BdIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IHNob3dTd2VldEFsZXJ0IDAuM3M7XG4gIGFuaW1hdGlvbjogc2hvd1N3ZWV0QWxlcnQgMC4zczsgfVxuXG4uc2hvd1N3ZWV0QWxlcnRbZGF0YS1hbmltYXRpb249bm9uZV0ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogbm9uZTtcbiAgYW5pbWF0aW9uOiBub25lOyB9XG5cbi5zaG93U3dlZXRBbGVydFtkYXRhLWFuaW1hdGlvbj1zbGlkZS1mcm9tLXRvcF0ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogc2xpZGVGcm9tVG9wIDAuM3M7XG4gIGFuaW1hdGlvbjogc2xpZGVGcm9tVG9wIDAuM3M7IH1cblxuLnNob3dTd2VldEFsZXJ0W2RhdGEtYW5pbWF0aW9uPXNsaWRlLWZyb20tYm90dG9tXSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzbGlkZUZyb21Cb3R0b20gMC4zcztcbiAgYW5pbWF0aW9uOiBzbGlkZUZyb21Cb3R0b20gMC4zczsgfVxuXG4uaGlkZVN3ZWV0QWxlcnRbZGF0YS1hbmltYXRpb249cG9wXSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBoaWRlU3dlZXRBbGVydCAwLjJzO1xuICBhbmltYXRpb246IGhpZGVTd2VldEFsZXJ0IDAuMnM7IH1cblxuLmhpZGVTd2VldEFsZXJ0W2RhdGEtYW5pbWF0aW9uPW5vbmVdIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IG5vbmU7XG4gIGFuaW1hdGlvbjogbm9uZTsgfVxuXG4uaGlkZVN3ZWV0QWxlcnRbZGF0YS1hbmltYXRpb249c2xpZGUtZnJvbS10b3BdIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IHNsaWRlVG9Ub3AgMC40cztcbiAgYW5pbWF0aW9uOiBzbGlkZVRvVG9wIDAuNHM7IH1cblxuLmhpZGVTd2VldEFsZXJ0W2RhdGEtYW5pbWF0aW9uPXNsaWRlLWZyb20tYm90dG9tXSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzbGlkZVRvQm90dG9tIDAuM3M7XG4gIGFuaW1hdGlvbjogc2xpZGVUb0JvdHRvbSAwLjNzOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc1RpcCB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAxOXB4OyB9XG4gIDU0JSB7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogMXB4O1xuICAgIHRvcDogMTlweDsgfVxuICA3MCUge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGxlZnQ6IC04cHg7XG4gICAgdG9wOiAzN3B4OyB9XG4gIDg0JSB7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgbGVmdDogMjFweDtcbiAgICB0b3A6IDQ4cHg7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgbGVmdDogMTRweDtcbiAgICB0b3A6IDQ1cHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzVGlwIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDE5cHg7IH1cbiAgNTQlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAxOXB4OyB9XG4gIDcwJSB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgbGVmdDogLThweDtcbiAgICB0b3A6IDM3cHg7IH1cbiAgODQlIHtcbiAgICB3aWR0aDogMTdweDtcbiAgICBsZWZ0OiAyMXB4O1xuICAgIHRvcDogNDhweDsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBsZWZ0OiAxNHB4O1xuICAgIHRvcDogNDVweDsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc0xvbmcge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gICAgcmlnaHQ6IDQ2cHg7XG4gICAgdG9wOiA1NHB4OyB9XG4gIDY1JSB7XG4gICAgd2lkdGg6IDA7XG4gICAgcmlnaHQ6IDQ2cHg7XG4gICAgdG9wOiA1NHB4OyB9XG4gIDg0JSB7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0b3A6IDM1cHg7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDQ3cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB0b3A6IDM4cHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzTG9uZyB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICByaWdodDogNDZweDtcbiAgICB0b3A6IDU0cHg7IH1cbiAgNjUlIHtcbiAgICB3aWR0aDogMDtcbiAgICByaWdodDogNDZweDtcbiAgICB0b3A6IDU0cHg7IH1cbiAgODQlIHtcbiAgICB3aWR0aDogNTVweDtcbiAgICByaWdodDogMHB4O1xuICAgIHRvcDogMzVweDsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogNDdweDtcbiAgICByaWdodDogOHB4O1xuICAgIHRvcDogMzhweDsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICA1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgMTIlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZVBsYWNlaG9sZGVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTsgfSB9XG5cbi5hbmltYXRlU3VjY2Vzc1RpcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc1RpcCAwLjc1cztcbiAgYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc1RpcCAwLjc1czsgfVxuXG4uYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVTdWNjZXNzTG9uZyAwLjc1cztcbiAgYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc0xvbmcgMC43NXM7IH1cblxuLnNhLWljb24uc2Etc3VjY2Vzcy5hbmltYXRlOjphZnRlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVQbGFjZWhvbGRlciA0LjI1cyBlYXNlLWluO1xuICBhbmltYXRpb246IHJvdGF0ZVBsYWNlaG9sZGVyIDQuMjVzIGVhc2UtaW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVFcnJvckljb24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDEwMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMTAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRlRXJyb3JJY29uIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgxMDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDEwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlRXJyb3JJY29uIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVFcnJvckljb24gMC41cztcbiAgYW5pbWF0aW9uOiBhbmltYXRlRXJyb3JJY29uIDAuNXM7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVYTWFyayB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNCk7XG4gICAgbWFyZ2luLXRvcDogMjZweDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjQpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjQpO1xuICAgIG1hcmdpbi10b3A6IDI2cHg7XG4gICAgb3BhY2l0eTogMDsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRlWE1hcmsge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjQpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjQpO1xuICAgIG1hcmdpbi10b3A6IDI2cHg7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC40KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC40KTtcbiAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlWE1hcmsge1xuICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0ZVhNYXJrIDAuNXM7XG4gIGFuaW1hdGlvbjogYW5pbWF0ZVhNYXJrIDAuNXM7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlV2FybmluZyB7XG4gIDAlIHtcbiAgICBib3JkZXItY29sb3I6ICNGOEQ0ODY7IH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRjhCQjg2OyB9IH1cblxuQGtleWZyYW1lcyBwdWxzZVdhcm5pbmcge1xuICAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRjhENDg2OyB9XG4gIDEwMCUge1xuICAgIGJvcmRlci1jb2xvcjogI0Y4QkI4NjsgfSB9XG5cbi5wdWxzZVdhcm5pbmcge1xuICAtd2Via2l0LWFuaW1hdGlvbjogcHVsc2VXYXJuaW5nIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTtcbiAgYW5pbWF0aW9uOiBwdWxzZVdhcm5pbmcgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZVdhcm5pbmdJbnMge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RDQ4NjsgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhCQjg2OyB9IH1cblxuQGtleWZyYW1lcyBwdWxzZVdhcm5pbmdJbnMge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RDQ4NjsgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhCQjg2OyB9IH1cblxuLnB1bHNlV2FybmluZ0lucyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBwdWxzZVdhcm5pbmdJbnMgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlO1xuICBhbmltYXRpb246IHB1bHNlV2FybmluZ0lucyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZS1sb2FkaW5nIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS1sb2FkaW5nIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4vKiBJbnRlcm5ldCBFeHBsb3JlciA5IGhhcyBzb21lIHNwZWNpYWwgcXVpcmtzIHRoYXQgYXJlIGZpeGVkIGhlcmUgKi9cbi8qIFRoZSBpY29ucyBhcmUgbm90IGFuaW1hdGVkLiAqL1xuLyogVGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgbWVyZ2VkIGludG8gc3dlZXQtYWxlcnQubWluLmpzIHRocm91Z2ggR3VscCAqL1xuLyogRXJyb3IgaWNvbiAqL1xuLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLWVycm9yIC5zYS1saW5lLnNhLWxlZnQge1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIFxcOTsgfVxuXG4uc3dlZXQtYWxlcnQgLnNhLWljb24uc2EtZXJyb3IgLnNhLWxpbmUuc2EtcmlnaHQge1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBcXDk7IH1cblxuLyogU3VjY2VzcyBpY29uICovXG4uc3dlZXQtYWxlcnQgLnNhLWljb24uc2Etc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnRcXDk7IH1cblxuLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtdGlwIHtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBcXDk7IH1cblxuLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtbG9uZyB7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIFxcOTsgfVxuXG4vKiFcbiAqIExvYWQgQXdlc29tZSB2MS4xLjAgKGh0dHA6Ly9naXRodWIuZGFuaWVsY2FyZG9zby5uZXQvbG9hZC1hd2Vzb21lLylcbiAqIENvcHlyaWdodCAyMDE1IERhbmllbCBDYXJkb3NvIDxARGFuaWVsQ2FyZG9zbz5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVFxuICovXG4ubGEtYmFsbC1mYWxsLFxuLmxhLWJhbGwtZmFsbCA+IGRpdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmxhLWJhbGwtZmFsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDA7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5sYS1iYWxsLWZhbGwubGEtZGFyayB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi5sYS1iYWxsLWZhbGwgPiBkaXYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlcjogMCBzb2xpZCBjdXJyZW50Q29sb3I7IH1cblxuLmxhLWJhbGwtZmFsbCB7XG4gIHdpZHRoOiA1NHB4O1xuICBoZWlnaHQ6IDE4cHg7IH1cblxuLmxhLWJhbGwtZmFsbCA+IGRpdiB7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogNHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LWFuaW1hdGlvbjogYmFsbC1mYWxsIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAtbW96LWFuaW1hdGlvbjogYmFsbC1mYWxsIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAtby1hbmltYXRpb246IGJhbGwtZmFsbCAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBiYWxsLWZhbGwgMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cblxuLmxhLWJhbGwtZmFsbCA+IGRpdjpudGgtY2hpbGQoMSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTIwMG1zO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogLTIwMG1zO1xuICAtby1hbmltYXRpb24tZGVsYXk6IC0yMDBtcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMjAwbXM7IH1cblxuLmxhLWJhbGwtZmFsbCA+IGRpdjpudGgtY2hpbGQoMikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTEwMG1zO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogLTEwMG1zO1xuICAtby1hbmltYXRpb24tZGVsYXk6IC0xMDBtcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMTAwbXM7IH1cblxuLmxhLWJhbGwtZmFsbCA+IGRpdjpudGgtY2hpbGQoMykge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMG1zO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMG1zO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDBtcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwbXM7IH1cblxuLmxhLWJhbGwtZmFsbC5sYS1zbSB7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDhweDsgfVxuXG4ubGEtYmFsbC1mYWxsLmxhLXNtID4gZGl2IHtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIG1hcmdpbjogMnB4OyB9XG5cbi5sYS1iYWxsLWZhbGwubGEtMngge1xuICB3aWR0aDogMTA4cHg7XG4gIGhlaWdodDogMzZweDsgfVxuXG4ubGEtYmFsbC1mYWxsLmxhLTJ4ID4gZGl2IHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgbWFyZ2luOiA4cHg7IH1cblxuLmxhLWJhbGwtZmFsbC5sYS0zeCB7XG4gIHdpZHRoOiAxNjJweDtcbiAgaGVpZ2h0OiA1NHB4OyB9XG5cbi5sYS1iYWxsLWZhbGwubGEtM3ggPiBkaXYge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDEycHg7IH1cblxuLypcbiAqIEFuaW1hdGlvblxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFsbC1mYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7IH1cbiAgMTAlIHtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgOTAlIHtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0NSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNDUlKTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBiYWxsLWZhbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDUlKTsgfVxuICAxMCUge1xuICAgIG9wYWNpdHk6IC41OyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgODAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA5MCUge1xuICAgIG9wYWNpdHk6IC41OyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTQ1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0NSUpOyB9IH1cblxuQC1vLWtleWZyYW1lcyBiYWxsLWZhbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7IH1cbiAgMTAlIHtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA4MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA5MCUge1xuICAgIG9wYWNpdHk6IC41OyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0NSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNDUlKTsgfSB9XG5cbkBrZXlmcmFtZXMgYmFsbC1mYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NSUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDUlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7IH1cbiAgMTAlIHtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA4MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA5MCUge1xuICAgIG9wYWNpdHk6IC41OyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTQ1JSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTQ1JSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0NSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNDUlKTsgfSB9XG4iXX0= */
/* We're going to keep basic SCSS variables all in one file.
   In theory, we shouldn't define colors anywhere else but here.
   We obviously do anyway, but it's the thought that counts.
 */
/* $section_background: #ddd; */
/* fa-rub icon settings */
/* Definitions */
/*!
 * Hover.css (http://ianlunn.github.io/Hover/)
 * Version: 2.3.2
 * Author: Ian Lunn @IanLunn
 * Author URL: http://ianlunn.co.uk/
 * Github: https://github.com/IanLunn/Hover

 * Hover.css Copyright Ian Lunn 2017. Generated with Sass.
 */
/* 2D TRANSITIONS */
/* Grow */
.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform; }
  .hvr-grow:hover, .hvr-grow:focus, .hvr-grow:active {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }

/* Shrink */
.hvr-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform; }
  .hvr-shrink:hover, .hvr-shrink:focus, .hvr-shrink:active {
    -webkit-transform: scale(0.9);
    transform: scale(0.9); }

/* Pulse */
@-webkit-keyframes hvr-pulse {
  25% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  75% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9); } }

@keyframes hvr-pulse {
  25% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  75% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9); } }

.hvr-pulse {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-pulse:hover, .hvr-pulse:focus, .hvr-pulse:active {
    -webkit-animation-name: hvr-pulse;
    animation-name: hvr-pulse;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite; }

/* Pulse Grow */
@-webkit-keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); } }

@keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); } }

.hvr-pulse-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-pulse-grow:hover, .hvr-pulse-grow:focus, .hvr-pulse-grow:active {
    -webkit-animation-name: hvr-pulse-grow;
    animation-name: hvr-pulse-grow;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate; }

/* Pulse Shrink */
@-webkit-keyframes hvr-pulse-shrink {
  to {
    -webkit-transform: scale(0.9);
    transform: scale(0.9); } }

@keyframes hvr-pulse-shrink {
  to {
    -webkit-transform: scale(0.9);
    transform: scale(0.9); } }

.hvr-pulse-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-pulse-shrink:hover, .hvr-pulse-shrink:focus, .hvr-pulse-shrink:active {
    -webkit-animation-name: hvr-pulse-shrink;
    animation-name: hvr-pulse-shrink;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate; }

/* Push */
@-webkit-keyframes hvr-push {
  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes hvr-push {
  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.hvr-push {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-push:hover, .hvr-push:focus, .hvr-push:active {
    -webkit-animation-name: hvr-push;
    animation-name: hvr-push;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Pop */
@-webkit-keyframes hvr-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2); } }

@keyframes hvr-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2); } }

.hvr-pop {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-pop:hover, .hvr-pop:focus, .hvr-pop:active {
    -webkit-animation-name: hvr-pop;
    animation-name: hvr-pop;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Bounce In */
.hvr-bounce-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s; }
  .hvr-bounce-in:hover, .hvr-bounce-in:focus, .hvr-bounce-in:active {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
    transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36); }

/* Bounce Out */
.hvr-bounce-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s; }
  .hvr-bounce-out:hover, .hvr-bounce-out:focus, .hvr-bounce-out:active {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
    transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36); }

/* Rotate */
.hvr-rotate {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform; }
  .hvr-rotate:hover, .hvr-rotate:focus, .hvr-rotate:active {
    -webkit-transform: rotate(4deg);
    transform: rotate(4deg); }

/* Grow Rotate */
.hvr-grow-rotate {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform; }
  .hvr-grow-rotate:hover, .hvr-grow-rotate:focus, .hvr-grow-rotate:active {
    -webkit-transform: scale(1.1) rotate(4deg);
    transform: scale(1.1) rotate(4deg); }

/* Float */
.hvr-float {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out; }
  .hvr-float:hover, .hvr-float:focus, .hvr-float:active {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px); }

/* Sink */
.hvr-sink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out; }
  .hvr-sink:hover, .hvr-sink:focus, .hvr-sink:active {
    -webkit-transform: translateY(8px);
    transform: translateY(8px); }

/* Bob */
@-webkit-keyframes hvr-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px); }
  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px); }
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px); } }

@keyframes hvr-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px); }
  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px); }
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px); } }

@-webkit-keyframes hvr-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px); } }

@keyframes hvr-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px); } }

.hvr-bob {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-bob:hover, .hvr-bob:focus, .hvr-bob:active {
    -webkit-animation-name: hvr-bob-float, hvr-bob;
    animation-name: hvr-bob-float, hvr-bob;
    -webkit-animation-duration: .3s, 1.5s;
    animation-duration: .3s, 1.5s;
    -webkit-animation-delay: 0s, .3s;
    animation-delay: 0s, .3s;
    -webkit-animation-timing-function: ease-out, ease-in-out;
    animation-timing-function: ease-out, ease-in-out;
    -webkit-animation-iteration-count: 1, infinite;
    animation-iteration-count: 1, infinite;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-direction: normal, alternate;
    animation-direction: normal, alternate; }

/* Hang */
@-webkit-keyframes hvr-hang {
  0% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px); }
  50% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px); }
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px); } }

@keyframes hvr-hang {
  0% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px); }
  50% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px); }
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px); } }

@-webkit-keyframes hvr-hang-sink {
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px); } }

@keyframes hvr-hang-sink {
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px); } }

.hvr-hang {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-hang:hover, .hvr-hang:focus, .hvr-hang:active {
    -webkit-animation-name: hvr-hang-sink, hvr-hang;
    animation-name: hvr-hang-sink, hvr-hang;
    -webkit-animation-duration: .3s, 1.5s;
    animation-duration: .3s, 1.5s;
    -webkit-animation-delay: 0s, .3s;
    animation-delay: 0s, .3s;
    -webkit-animation-timing-function: ease-out, ease-in-out;
    animation-timing-function: ease-out, ease-in-out;
    -webkit-animation-iteration-count: 1, infinite;
    animation-iteration-count: 1, infinite;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-direction: normal, alternate;
    animation-direction: normal, alternate; }

/* Skew */
.hvr-skew {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform; }
  .hvr-skew:hover, .hvr-skew:focus, .hvr-skew:active {
    -webkit-transform: skew(-10deg);
    transform: skew(-10deg); }

/* Skew Forward */
.hvr-skew-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%; }
  .hvr-skew-forward:hover, .hvr-skew-forward:focus, .hvr-skew-forward:active {
    -webkit-transform: skew(-10deg);
    transform: skew(-10deg); }

/* Skew Backward */
.hvr-skew-backward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%; }
  .hvr-skew-backward:hover, .hvr-skew-backward:focus, .hvr-skew-backward:active {
    -webkit-transform: skew(10deg);
    transform: skew(10deg); }

/* Wobble Vertical */
@-webkit-keyframes hvr-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px); }
  33.3% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px); }
  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px); }
  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px); }
  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px); }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes hvr-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px); }
  33.3% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px); }
  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px); }
  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px); }
  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px); }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.hvr-wobble-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-wobble-vertical:hover, .hvr-wobble-vertical:focus, .hvr-wobble-vertical:active {
    -webkit-animation-name: hvr-wobble-vertical;
    animation-name: hvr-wobble-vertical;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Wobble Horizontal */
@-webkit-keyframes hvr-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px); }
  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px); }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px); }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px); }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px); }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes hvr-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px); }
  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px); }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px); }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px); }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px); }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.hvr-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-wobble-horizontal:hover, .hvr-wobble-horizontal:focus, .hvr-wobble-horizontal:active {
    -webkit-animation-name: hvr-wobble-horizontal;
    animation-name: hvr-wobble-horizontal;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Wobble To Bottom Right */
@-webkit-keyframes hvr-wobble-to-bottom-right {
  16.65% {
    -webkit-transform: translate(8px, 8px);
    transform: translate(8px, 8px); }
  33.3% {
    -webkit-transform: translate(-6px, -6px);
    transform: translate(-6px, -6px); }
  49.95% {
    -webkit-transform: translate(4px, 4px);
    transform: translate(4px, 4px); }
  66.6% {
    -webkit-transform: translate(-2px, -2px);
    transform: translate(-2px, -2px); }
  83.25% {
    -webkit-transform: translate(1px, 1px);
    transform: translate(1px, 1px); }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

@keyframes hvr-wobble-to-bottom-right {
  16.65% {
    -webkit-transform: translate(8px, 8px);
    transform: translate(8px, 8px); }
  33.3% {
    -webkit-transform: translate(-6px, -6px);
    transform: translate(-6px, -6px); }
  49.95% {
    -webkit-transform: translate(4px, 4px);
    transform: translate(4px, 4px); }
  66.6% {
    -webkit-transform: translate(-2px, -2px);
    transform: translate(-2px, -2px); }
  83.25% {
    -webkit-transform: translate(1px, 1px);
    transform: translate(1px, 1px); }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

.hvr-wobble-to-bottom-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-wobble-to-bottom-right:hover, .hvr-wobble-to-bottom-right:focus, .hvr-wobble-to-bottom-right:active {
    -webkit-animation-name: hvr-wobble-to-bottom-right;
    animation-name: hvr-wobble-to-bottom-right;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Wobble To Top Right */
@-webkit-keyframes hvr-wobble-to-top-right {
  16.65% {
    -webkit-transform: translate(8px, -8px);
    transform: translate(8px, -8px); }
  33.3% {
    -webkit-transform: translate(-6px, 6px);
    transform: translate(-6px, 6px); }
  49.95% {
    -webkit-transform: translate(4px, -4px);
    transform: translate(4px, -4px); }
  66.6% {
    -webkit-transform: translate(-2px, 2px);
    transform: translate(-2px, 2px); }
  83.25% {
    -webkit-transform: translate(1px, -1px);
    transform: translate(1px, -1px); }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

@keyframes hvr-wobble-to-top-right {
  16.65% {
    -webkit-transform: translate(8px, -8px);
    transform: translate(8px, -8px); }
  33.3% {
    -webkit-transform: translate(-6px, 6px);
    transform: translate(-6px, 6px); }
  49.95% {
    -webkit-transform: translate(4px, -4px);
    transform: translate(4px, -4px); }
  66.6% {
    -webkit-transform: translate(-2px, 2px);
    transform: translate(-2px, 2px); }
  83.25% {
    -webkit-transform: translate(1px, -1px);
    transform: translate(1px, -1px); }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

.hvr-wobble-to-top-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-wobble-to-top-right:hover, .hvr-wobble-to-top-right:focus, .hvr-wobble-to-top-right:active {
    -webkit-animation-name: hvr-wobble-to-top-right;
    animation-name: hvr-wobble-to-top-right;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Wobble Top */
@-webkit-keyframes hvr-wobble-top {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg); }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg); }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg); }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg); }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg); }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0); } }

@keyframes hvr-wobble-top {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg); }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg); }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg); }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg); }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg); }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0); } }

.hvr-wobble-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%; }
  .hvr-wobble-top:hover, .hvr-wobble-top:focus, .hvr-wobble-top:active {
    -webkit-animation-name: hvr-wobble-top;
    animation-name: hvr-wobble-top;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Wobble Bottom */
@-webkit-keyframes hvr-wobble-bottom {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg); }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg); }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg); }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg); }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg); }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0); } }

@keyframes hvr-wobble-bottom {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg); }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg); }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg); }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg); }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg); }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0); } }

.hvr-wobble-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0; }
  .hvr-wobble-bottom:hover, .hvr-wobble-bottom:focus, .hvr-wobble-bottom:active {
    -webkit-animation-name: hvr-wobble-bottom;
    animation-name: hvr-wobble-bottom;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Wobble Skew */
@-webkit-keyframes hvr-wobble-skew {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg); }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg); }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg); }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg); }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg); }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0); } }

@keyframes hvr-wobble-skew {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg); }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg); }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg); }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg); }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg); }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0); } }

.hvr-wobble-skew {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-wobble-skew:hover, .hvr-wobble-skew:focus, .hvr-wobble-skew:active {
    -webkit-animation-name: hvr-wobble-skew;
    animation-name: hvr-wobble-skew;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Buzz */
@-webkit-keyframes hvr-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg); }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg); } }

@keyframes hvr-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg); }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg); } }

.hvr-buzz {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-buzz:hover, .hvr-buzz:focus, .hvr-buzz:active {
    -webkit-animation-name: hvr-buzz;
    animation-name: hvr-buzz;
    -webkit-animation-duration: 0.15s;
    animation-duration: 0.15s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite; }

/* Buzz Out */
@-webkit-keyframes hvr-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg); }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg); }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg); }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg); }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg); }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg); }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg); }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg); }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0); }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0); } }

@keyframes hvr-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg); }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg); }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg); }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg); }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg); }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg); }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg); }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg); }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0); }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0); } }

.hvr-buzz-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-buzz-out:hover, .hvr-buzz-out:focus, .hvr-buzz-out:active {
    -webkit-animation-name: hvr-buzz-out;
    animation-name: hvr-buzz-out;
    -webkit-animation-duration: 0.75s;
    animation-duration: 0.75s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Forward */
.hvr-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform; }
  .hvr-forward:hover, .hvr-forward:focus, .hvr-forward:active {
    -webkit-transform: translateX(8px);
    transform: translateX(8px); }

/* Backward */
.hvr-backward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform; }
  .hvr-backward:hover, .hvr-backward:focus, .hvr-backward:active {
    -webkit-transform: translateX(-8px);
    transform: translateX(-8px); }

/* BACKGROUND TRANSITIONS */
/* Fade */
.hvr-fade {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  overflow: hidden;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color; }
  .hvr-fade:hover, .hvr-fade:focus, .hvr-fade:active {
    background-color: #2098D1;
    color: white; }

/* Back Pulse */
@-webkit-keyframes hvr-back-pulse {
  50% {
    background-color: rgba(32, 152, 209, 0.75); } }

@keyframes hvr-back-pulse {
  50% {
    background-color: rgba(32, 152, 209, 0.75); } }

.hvr-back-pulse {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  overflow: hidden;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color; }
  .hvr-back-pulse:hover, .hvr-back-pulse:focus, .hvr-back-pulse:active {
    -webkit-animation-name: hvr-back-pulse;
    animation-name: hvr-back-pulse;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    background-color: #2098D1;
    background-color: #2098d1;
    color: white; }

/* Sweep To Right */
.hvr-sweep-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-sweep-to-right:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098D1;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-sweep-to-right:hover, .hvr-sweep-to-right:focus, .hvr-sweep-to-right:active {
    color: white; }
    .hvr-sweep-to-right:hover:before, .hvr-sweep-to-right:focus:before, .hvr-sweep-to-right:active:before {
      -webkit-transform: scaleX(1);
      transform: scaleX(1); }

/* Sweep To Left */
.hvr-sweep-to-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-sweep-to-left:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098D1;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-sweep-to-left:hover, .hvr-sweep-to-left:focus, .hvr-sweep-to-left:active {
    color: white; }
    .hvr-sweep-to-left:hover:before, .hvr-sweep-to-left:focus:before, .hvr-sweep-to-left:active:before {
      -webkit-transform: scaleX(1);
      transform: scaleX(1); }

/* Sweep To Bottom */
.hvr-sweep-to-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-sweep-to-bottom:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098D1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-sweep-to-bottom:hover, .hvr-sweep-to-bottom:focus, .hvr-sweep-to-bottom:active {
    color: white; }
    .hvr-sweep-to-bottom:hover:before, .hvr-sweep-to-bottom:focus:before, .hvr-sweep-to-bottom:active:before {
      -webkit-transform: scaleY(1);
      transform: scaleY(1); }

/* Sweep To Top */
.hvr-sweep-to-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-sweep-to-top:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098D1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-sweep-to-top:hover, .hvr-sweep-to-top:focus, .hvr-sweep-to-top:active {
    color: white; }
    .hvr-sweep-to-top:hover:before, .hvr-sweep-to-top:focus:before, .hvr-sweep-to-top:active:before {
      -webkit-transform: scaleY(1);
      transform: scaleY(1); }

/* Bounce To Right */
.hvr-bounce-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s; }
  .hvr-bounce-to-right:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098D1;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-bounce-to-right:hover, .hvr-bounce-to-right:focus, .hvr-bounce-to-right:active {
    color: white; }
    .hvr-bounce-to-right:hover:before, .hvr-bounce-to-right:focus:before, .hvr-bounce-to-right:active:before {
      -webkit-transform: scaleX(1);
      transform: scaleX(1);
      -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
      transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66); }

/* Bounce To Left */
.hvr-bounce-to-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s; }
  .hvr-bounce-to-left:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098D1;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-bounce-to-left:hover, .hvr-bounce-to-left:focus, .hvr-bounce-to-left:active {
    color: white; }
    .hvr-bounce-to-left:hover:before, .hvr-bounce-to-left:focus:before, .hvr-bounce-to-left:active:before {
      -webkit-transform: scaleX(1);
      transform: scaleX(1);
      -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
      transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66); }

/* Bounce To Bottom */
.hvr-bounce-to-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s; }
  .hvr-bounce-to-bottom:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098D1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-bounce-to-bottom:hover, .hvr-bounce-to-bottom:focus, .hvr-bounce-to-bottom:active {
    color: white; }
    .hvr-bounce-to-bottom:hover:before, .hvr-bounce-to-bottom:focus:before, .hvr-bounce-to-bottom:active:before {
      -webkit-transform: scaleY(1);
      transform: scaleY(1);
      -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
      transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66); }

/* Bounce To Top */
.hvr-bounce-to-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s; }
  .hvr-bounce-to-top:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098D1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-bounce-to-top:hover, .hvr-bounce-to-top:focus, .hvr-bounce-to-top:active {
    color: white; }
    .hvr-bounce-to-top:hover:before, .hvr-bounce-to-top:focus:before, .hvr-bounce-to-top:active:before {
      -webkit-transform: scaleY(1);
      transform: scaleY(1);
      -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
      transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66); }

/* Radial Out */
.hvr-radial-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden;
  background: #e1e1e1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-radial-out:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098D1;
    border-radius: 100%;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-radial-out:hover, .hvr-radial-out:focus, .hvr-radial-out:active {
    color: white; }
    .hvr-radial-out:hover:before, .hvr-radial-out:focus:before, .hvr-radial-out:active:before {
      -webkit-transform: scale(2);
      transform: scale(2); }

/* Radial In */
.hvr-radial-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden;
  background: #2098D1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-radial-in:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #e1e1e1;
    border-radius: 100%;
    -webkit-transform: scale(2);
    transform: scale(2);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-radial-in:hover, .hvr-radial-in:focus, .hvr-radial-in:active {
    color: white; }
    .hvr-radial-in:hover:before, .hvr-radial-in:focus:before, .hvr-radial-in:active:before {
      -webkit-transform: scale(0);
      transform: scale(0); }

/* Rectangle In */
.hvr-rectangle-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  background: #2098D1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-rectangle-in:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #e1e1e1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-rectangle-in:hover, .hvr-rectangle-in:focus, .hvr-rectangle-in:active {
    color: white; }
    .hvr-rectangle-in:hover:before, .hvr-rectangle-in:focus:before, .hvr-rectangle-in:active:before {
      -webkit-transform: scale(0);
      transform: scale(0); }

/* Rectangle Out */
.hvr-rectangle-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  background: #e1e1e1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-rectangle-out:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098D1;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-rectangle-out:hover, .hvr-rectangle-out:focus, .hvr-rectangle-out:active {
    color: white; }
    .hvr-rectangle-out:hover:before, .hvr-rectangle-out:focus:before, .hvr-rectangle-out:active:before {
      -webkit-transform: scale(1);
      transform: scale(1); }

/* Shutter In Horizontal */
.hvr-shutter-in-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  background: #2098D1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-shutter-in-horizontal:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #e1e1e1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-shutter-in-horizontal:hover, .hvr-shutter-in-horizontal:focus, .hvr-shutter-in-horizontal:active {
    color: white; }
    .hvr-shutter-in-horizontal:hover:before, .hvr-shutter-in-horizontal:focus:before, .hvr-shutter-in-horizontal:active:before {
      -webkit-transform: scaleX(0);
      transform: scaleX(0); }

/* Shutter Out Horizontal */
.hvr-shutter-out-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  background: #e1e1e1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-shutter-out-horizontal:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #2098D1;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-shutter-out-horizontal:hover, .hvr-shutter-out-horizontal:focus, .hvr-shutter-out-horizontal:active {
    color: white; }
    .hvr-shutter-out-horizontal:hover:before, .hvr-shutter-out-horizontal:focus:before, .hvr-shutter-out-horizontal:active:before {
      -webkit-transform: scaleX(1);
      transform: scaleX(1); }

/* Shutter In Vertical */
.hvr-shutter-in-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  background: #2098D1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-shutter-in-vertical:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #e1e1e1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-shutter-in-vertical:hover, .hvr-shutter-in-vertical:focus, .hvr-shutter-in-vertical:active {
    color: white; }
    .hvr-shutter-in-vertical:hover:before, .hvr-shutter-in-vertical:focus:before, .hvr-shutter-in-vertical:active:before {
      -webkit-transform: scaleY(0);
      transform: scaleY(0); }

/* Shutter Out Vertical */
.hvr-shutter-out-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  background: #e1e1e1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-shutter-out-vertical:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #2098D1;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-shutter-out-vertical:hover, .hvr-shutter-out-vertical:focus, .hvr-shutter-out-vertical:active {
    color: white; }
    .hvr-shutter-out-vertical:hover:before, .hvr-shutter-out-vertical:focus:before, .hvr-shutter-out-vertical:active:before {
      -webkit-transform: scaleY(1);
      transform: scaleY(1); }

/* BORDER TRANSITIONS */
/* Border Fade */
.hvr-border-fade {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
  box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px transparent;
  /* Hack to improve aliasing on mobile/tablet devices */ }
  .hvr-border-fade:hover, .hvr-border-fade:focus, .hvr-border-fade:active {
    box-shadow: inset 0 0 0 4px #2098D1, 0 0 1px transparent;
    /* Hack to improve aliasing on mobile/tablet devices */ }

/* Hollow */
.hvr-hollow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: background;
  transition-property: background;
  box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px transparent;
  /* Hack to improve aliasing on mobile/tablet devices */ }
  .hvr-hollow:hover, .hvr-hollow:focus, .hvr-hollow:active {
    background: none; }

/* Trim */
.hvr-trim {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-trim:before {
    content: '';
    position: absolute;
    border: white solid 4px;
    top: 4px;
    left: 4px;
    right: 4px;
    bottom: 4px;
    opacity: 0;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: opacity;
    transition-property: opacity; }
  .hvr-trim:hover:before, .hvr-trim:focus:before, .hvr-trim:active:before {
    opacity: 1; }

/* Ripple Out */
@-webkit-keyframes hvr-ripple-out {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0; } }

@keyframes hvr-ripple-out {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0; } }

.hvr-ripple-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-ripple-out:before {
    content: '';
    position: absolute;
    border: #e1e1e1 solid 6px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-animation-duration: 1s;
    animation-duration: 1s; }
  .hvr-ripple-out:hover:before, .hvr-ripple-out:focus:before, .hvr-ripple-out:active:before {
    -webkit-animation-name: hvr-ripple-out;
    animation-name: hvr-ripple-out; }

/* Ripple In */
@-webkit-keyframes hvr-ripple-in {
  100% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1; } }

@keyframes hvr-ripple-in {
  100% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1; } }

.hvr-ripple-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-ripple-in:before {
    content: '';
    position: absolute;
    border: #e1e1e1 solid 4px;
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
    -webkit-animation-duration: 1s;
    animation-duration: 1s; }
  .hvr-ripple-in:hover:before, .hvr-ripple-in:focus:before, .hvr-ripple-in:active:before {
    -webkit-animation-name: hvr-ripple-in;
    animation-name: hvr-ripple-in; }

/* Outline Out */
.hvr-outline-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-outline-out:before {
    content: '';
    position: absolute;
    border: #e1e1e1 solid 4px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: top, right, bottom, left;
    transition-property: top, right, bottom, left; }
  .hvr-outline-out:hover:before, .hvr-outline-out:focus:before, .hvr-outline-out:active:before {
    top: -8px;
    right: -8px;
    bottom: -8px;
    left: -8px; }

/* Outline In */
.hvr-outline-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-outline-in:before {
    pointer-events: none;
    content: '';
    position: absolute;
    border: #e1e1e1 solid 4px;
    top: -16px;
    right: -16px;
    bottom: -16px;
    left: -16px;
    opacity: 0;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: top, right, bottom, left;
    transition-property: top, right, bottom, left; }
  .hvr-outline-in:hover:before, .hvr-outline-in:focus:before, .hvr-outline-in:active:before {
    top: -8px;
    right: -8px;
    bottom: -8px;
    left: -8px;
    opacity: 1; }

/* Round Corners */
.hvr-round-corners {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: border-radius;
  transition-property: border-radius; }
  .hvr-round-corners:hover, .hvr-round-corners:focus, .hvr-round-corners:active {
    border-radius: 1em; }

/* Underline From Left */
.hvr-underline-from-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden; }
  .hvr-underline-from-left:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 100%;
    bottom: 0;
    background: #2098D1;
    height: 4px;
    -webkit-transition-property: right;
    transition-property: right;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-underline-from-left:hover:before, .hvr-underline-from-left:focus:before, .hvr-underline-from-left:active:before {
    right: 0; }

/* Underline From Center */
.hvr-underline-from-center {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden; }
  .hvr-underline-from-center:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 51%;
    right: 51%;
    bottom: 0;
    background: #2098D1;
    height: 4px;
    -webkit-transition-property: left, right;
    transition-property: left, right;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-underline-from-center:hover:before, .hvr-underline-from-center:focus:before, .hvr-underline-from-center:active:before {
    left: 0;
    right: 0; }

/* Underline From Right */
.hvr-underline-from-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden; }
  .hvr-underline-from-right:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 100%;
    right: 0;
    bottom: 0;
    background: #2098D1;
    height: 4px;
    -webkit-transition-property: left;
    transition-property: left;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-underline-from-right:hover:before, .hvr-underline-from-right:focus:before, .hvr-underline-from-right:active:before {
    left: 0; }

/* Overline From Left */
.hvr-overline-from-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden; }
  .hvr-overline-from-left:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 100%;
    top: 0;
    background: #2098D1;
    height: 4px;
    -webkit-transition-property: right;
    transition-property: right;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-overline-from-left:hover:before, .hvr-overline-from-left:focus:before, .hvr-overline-from-left:active:before {
    right: 0; }

/* Overline From Center */
.hvr-overline-from-center {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden; }
  .hvr-overline-from-center:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 51%;
    right: 51%;
    top: 0;
    background: #2098D1;
    height: 4px;
    -webkit-transition-property: left, right;
    transition-property: left, right;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-overline-from-center:hover:before, .hvr-overline-from-center:focus:before, .hvr-overline-from-center:active:before {
    left: 0;
    right: 0; }

/* Overline From Right */
.hvr-overline-from-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden; }
  .hvr-overline-from-right:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 100%;
    right: 0;
    top: 0;
    background: #2098D1;
    height: 4px;
    -webkit-transition-property: left;
    transition-property: left;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-overline-from-right:hover:before, .hvr-overline-from-right:focus:before, .hvr-overline-from-right:active:before {
    left: 0; }

/* Reveal */
.hvr-reveal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden; }
  .hvr-reveal:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border-color: #2098D1;
    border-style: solid;
    border-width: 0;
    -webkit-transition-property: border-width;
    transition-property: border-width;
    -webkit-transition-duration: 0.1s;
    transition-duration: 0.1s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-reveal:hover:before, .hvr-reveal:focus:before, .hvr-reveal:active:before {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    border-width: 4px; }

/* Underline Reveal */
.hvr-underline-reveal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden; }
  .hvr-underline-reveal:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098D1;
    height: 4px;
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-underline-reveal:hover:before, .hvr-underline-reveal:focus:before, .hvr-underline-reveal:active:before {
    -webkit-transform: translateY(0);
    transform: translateY(0); }

/* Overline Reveal */
.hvr-overline-reveal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden; }
  .hvr-overline-reveal:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    background: #2098D1;
    height: 4px;
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-overline-reveal:hover:before, .hvr-overline-reveal:focus:before, .hvr-overline-reveal:active:before {
    -webkit-transform: translateY(0);
    transform: translateY(0); }

/* SHADOW/GLOW TRANSITIONS */
/* Glow */
.hvr-glow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow; }
  .hvr-glow:hover, .hvr-glow:focus, .hvr-glow:active {
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); }

/* Shadow */
.hvr-shadow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow; }
  .hvr-shadow:hover, .hvr-shadow:focus, .hvr-shadow:active {
    box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5); }

/* Grow Shadow */
.hvr-grow-shadow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow, transform;
  transition-property: box-shadow, transform; }
  .hvr-grow-shadow:hover, .hvr-grow-shadow:focus, .hvr-grow-shadow:active {
    box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }

/* Box Shadow Outset */
.hvr-box-shadow-outset {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow; }
  .hvr-box-shadow-outset:hover, .hvr-box-shadow-outset:focus, .hvr-box-shadow-outset:active {
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6); }

/* Box Shadow Inset */
.hvr-box-shadow-inset {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
  box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.6), 0 0 1px transparent;
  /* Hack to improve aliasing on mobile/tablet devices */ }
  .hvr-box-shadow-inset:hover, .hvr-box-shadow-inset:focus, .hvr-box-shadow-inset:active {
    box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.6), 0 0 1px transparent;
    /* Hack to improve aliasing on mobile/tablet devices */ }

/* Float Shadow */
.hvr-float-shadow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform; }
  .hvr-float-shadow:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: '';
    top: 100%;
    left: 5%;
    height: 10px;
    width: 90%;
    opacity: 0;
    background: -webkit-radial-gradient(center, ellipse, rgba(0, 0, 0, 0.35) 0%, transparent 80%);
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, transparent 80%);
    /* W3C */
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform, opacity;
    transition-property: transform, opacity; }
  .hvr-float-shadow:hover, .hvr-float-shadow:focus, .hvr-float-shadow:active {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    /* move the element up by 5px */ }
    .hvr-float-shadow:hover:before, .hvr-float-shadow:focus:before, .hvr-float-shadow:active:before {
      opacity: 1;
      -webkit-transform: translateY(5px);
      transform: translateY(5px);
      /* move the element down by 5px (it will stay in place because it's attached to the element that also moves up 5px) */ }

/* Shadow Radial */
.hvr-shadow-radial {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-shadow-radial:before, .hvr-shadow-radial:after {
    pointer-events: none;
    position: absolute;
    content: '';
    left: 0;
    width: 100%;
    box-sizing: border-box;
    background-repeat: no-repeat;
    height: 5px;
    opacity: 0;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: opacity;
    transition-property: opacity; }
  .hvr-shadow-radial:before {
    bottom: 100%;
    background: -webkit-radial-gradient(50% 150%, ellipse, rgba(0, 0, 0, 0.6) 0%, transparent 80%);
    background: radial-gradient(ellipse at 50% 150%, rgba(0, 0, 0, 0.6) 0%, transparent 80%); }
  .hvr-shadow-radial:after {
    top: 100%;
    background: -webkit-radial-gradient(50% -50%, ellipse, rgba(0, 0, 0, 0.6) 0%, transparent 80%);
    background: radial-gradient(ellipse at 50% -50%, rgba(0, 0, 0, 0.6) 0%, transparent 80%); }
  .hvr-shadow-radial:hover:before, .hvr-shadow-radial:focus:before, .hvr-shadow-radial:active:before, .hvr-shadow-radial:hover:after, .hvr-shadow-radial:focus:after, .hvr-shadow-radial:active:after {
    opacity: 1; }

/* SPEECH BUBBLES */
/* Bubble Top */
.hvr-bubble-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-bubble-top:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: '';
    border-style: solid;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    left: calc(50% - 10px);
    top: 0;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #e1e1e1 transparent; }
  .hvr-bubble-top:hover:before, .hvr-bubble-top:focus:before, .hvr-bubble-top:active:before {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }

/* Bubble Right */
.hvr-bubble-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-bubble-right:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: '';
    border-style: solid;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    top: calc(50% - 10px);
    right: 0;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #e1e1e1; }
  .hvr-bubble-right:hover:before, .hvr-bubble-right:focus:before, .hvr-bubble-right:active:before {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); }

/* Bubble Bottom */
.hvr-bubble-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-bubble-bottom:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: '';
    border-style: solid;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    left: calc(50% - 10px);
    bottom: 0;
    border-width: 10px 10px 0 10px;
    border-color: #e1e1e1 transparent transparent transparent; }
  .hvr-bubble-bottom:hover:before, .hvr-bubble-bottom:focus:before, .hvr-bubble-bottom:active:before {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); }

/* Bubble Left */
.hvr-bubble-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-bubble-left:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: '';
    border-style: solid;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    top: calc(50% - 10px);
    left: 0;
    border-width: 10px 10px 10px 0;
    border-color: transparent #e1e1e1 transparent transparent; }
  .hvr-bubble-left:hover:before, .hvr-bubble-left:focus:before, .hvr-bubble-left:active:before {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }

/* Bubble Float Top */
.hvr-bubble-float-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform; }
  .hvr-bubble-float-top:before {
    position: absolute;
    z-index: -1;
    content: '';
    left: calc(50% - 10px);
    top: 0;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #e1e1e1 transparent;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform; }
  .hvr-bubble-float-top:hover, .hvr-bubble-float-top:focus, .hvr-bubble-float-top:active {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); }
    .hvr-bubble-float-top:hover:before, .hvr-bubble-float-top:focus:before, .hvr-bubble-float-top:active:before {
      -webkit-transform: translateY(-10px);
      transform: translateY(-10px); }

/* Bubble Float Right */
.hvr-bubble-float-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform; }
  .hvr-bubble-float-right:before {
    position: absolute;
    z-index: -1;
    top: calc(50% - 10px);
    right: 0;
    content: '';
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #e1e1e1;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform; }
  .hvr-bubble-float-right:hover, .hvr-bubble-float-right:focus, .hvr-bubble-float-right:active {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
    .hvr-bubble-float-right:hover:before, .hvr-bubble-float-right:focus:before, .hvr-bubble-float-right:active:before {
      -webkit-transform: translateX(10px);
      transform: translateX(10px); }

/* Bubble Float Bottom */
.hvr-bubble-float-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform; }
  .hvr-bubble-float-bottom:before {
    position: absolute;
    z-index: -1;
    content: '';
    left: calc(50% - 10px);
    bottom: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #e1e1e1 transparent transparent transparent;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform; }
  .hvr-bubble-float-bottom:hover, .hvr-bubble-float-bottom:focus, .hvr-bubble-float-bottom:active {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
    .hvr-bubble-float-bottom:hover:before, .hvr-bubble-float-bottom:focus:before, .hvr-bubble-float-bottom:active:before {
      -webkit-transform: translateY(10px);
      transform: translateY(10px); }

/* Bubble Float Left */
.hvr-bubble-float-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform; }
  .hvr-bubble-float-left:before {
    position: absolute;
    z-index: -1;
    content: '';
    top: calc(50% - 10px);
    left: 0;
    border-style: solid;
    border-width: 10px 10px 10px 0;
    border-color: transparent #e1e1e1 transparent transparent;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform; }
  .hvr-bubble-float-left:hover, .hvr-bubble-float-left:focus, .hvr-bubble-float-left:active {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); }
    .hvr-bubble-float-left:hover:before, .hvr-bubble-float-left:focus:before, .hvr-bubble-float-left:active:before {
      -webkit-transform: translateX(-10px);
      transform: translateX(-10px); }

/* ICONS */
/* Icon Back */
.hvr-icon-back {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s; }
  .hvr-icon-back .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.1s;
    transition-duration: 0.1s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-back:hover .hvr-icon, .hvr-icon-back:focus .hvr-icon, .hvr-icon-back:active .hvr-icon {
    -webkit-transform: translateX(-4px);
    transform: translateX(-4px); }

/* Icon Forward */
.hvr-icon-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s; }
  .hvr-icon-forward .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.1s;
    transition-duration: 0.1s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-forward:hover .hvr-icon, .hvr-icon-forward:focus .hvr-icon, .hvr-icon-forward:active .hvr-icon {
    -webkit-transform: translateX(4px);
    transform: translateX(4px); }

/* Icon Down */
@-webkit-keyframes hvr-icon-down {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  25%,
  75% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px); } }

@keyframes hvr-icon-down {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  25%,
  75% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px); } }

/* Icon Down */
.hvr-icon-down {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-icon-down .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0); }
  .hvr-icon-down:hover .hvr-icon, .hvr-icon-down:focus .hvr-icon, .hvr-icon-down:active .hvr-icon {
    -webkit-animation-name: hvr-icon-down;
    animation-name: hvr-icon-down;
    -webkit-animation-duration: 0.75s;
    animation-duration: 0.75s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }

/* Icon Up */
@-webkit-keyframes hvr-icon-up {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  25%,
  75% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px); } }

@keyframes hvr-icon-up {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  25%,
  75% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px); } }

/* Icon Up */
.hvr-icon-up {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-icon-up .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0); }
  .hvr-icon-up:hover .hvr-icon, .hvr-icon-up:focus .hvr-icon, .hvr-icon-up:active .hvr-icon {
    -webkit-animation-name: hvr-icon-up;
    animation-name: hvr-icon-up;
    -webkit-animation-duration: 0.75s;
    animation-duration: 0.75s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }

/* Icon Spin */
.hvr-icon-spin {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-icon-spin .hvr-icon {
    -webkit-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out; }
  .hvr-icon-spin:hover .hvr-icon, .hvr-icon-spin:focus .hvr-icon, .hvr-icon-spin:active .hvr-icon {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); }

/* Icon Drop */
@-webkit-keyframes hvr-icon-drop {
  0% {
    opacity: 0; }
  50% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%); }
  51%,
  100% {
    opacity: 1; } }

@keyframes hvr-icon-drop {
  0% {
    opacity: 0; }
  50% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%); }
  51%,
  100% {
    opacity: 1; } }

/* Icon Drop */
.hvr-icon-drop {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-icon-drop .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0); }
  .hvr-icon-drop:hover .hvr-icon, .hvr-icon-drop:focus .hvr-icon, .hvr-icon-drop:active .hvr-icon {
    opacity: 0;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-animation-name: hvr-icon-drop;
    animation-name: hvr-icon-drop;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
    animation-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66); }

/* Icon Fade */
.hvr-icon-fade {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-icon-fade .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-property: color;
    transition-property: color; }
  .hvr-icon-fade:hover .hvr-icon, .hvr-icon-fade:focus .hvr-icon, .hvr-icon-fade:active .hvr-icon {
    color: #0F9E5E; }

/* Icon Float Away */
@-webkit-keyframes hvr-icon-float-away {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-1em);
    transform: translateY(-1em); } }

@keyframes hvr-icon-float-away {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-1em);
    transform: translateY(-1em); } }

/* Icon Float Away */
.hvr-icon-float-away {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-icon-float-away .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards; }
  .hvr-icon-float-away:hover .hvr-icon, .hvr-icon-float-away:focus .hvr-icon, .hvr-icon-float-away:active .hvr-icon {
    -webkit-animation-name: hvr-icon-float-away;
    animation-name: hvr-icon-float-away;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }

/* Icon Sink Away */
@-webkit-keyframes hvr-icon-sink-away {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translateY(1em);
    transform: translateY(1em); } }

@keyframes hvr-icon-sink-away {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translateY(1em);
    transform: translateY(1em); } }

/* Icon Sink Away */
.hvr-icon-sink-away {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-icon-sink-away .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards; }
  .hvr-icon-sink-away:hover .hvr-icon, .hvr-icon-sink-away:focus .hvr-icon, .hvr-icon-sink-away:active .hvr-icon {
    -webkit-animation-name: hvr-icon-sink-away;
    animation-name: hvr-icon-sink-away;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }

/* Icon Grow */
.hvr-icon-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-grow .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-grow:hover .hvr-icon, .hvr-icon-grow:focus .hvr-icon, .hvr-icon-grow:active .hvr-icon {
    -webkit-transform: scale(1.3) translateZ(0);
    transform: scale(1.3) translateZ(0); }

/* Icon Shrink */
.hvr-icon-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-shrink .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-shrink:hover .hvr-icon, .hvr-icon-shrink:focus .hvr-icon, .hvr-icon-shrink:active .hvr-icon {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); }

/* Icon Pulse */
@-webkit-keyframes hvr-icon-pulse {
  25% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  75% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); } }

@keyframes hvr-icon-pulse {
  25% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  75% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); } }

.hvr-icon-pulse {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-icon-pulse .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-pulse:hover .hvr-icon, .hvr-icon-pulse:focus .hvr-icon, .hvr-icon-pulse:active .hvr-icon {
    -webkit-animation-name: hvr-icon-pulse;
    animation-name: hvr-icon-pulse;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite; }

/* Icon Pulse Grow */
@-webkit-keyframes hvr-icon-pulse-grow {
  to {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); } }

@keyframes hvr-icon-pulse-grow {
  to {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); } }

.hvr-icon-pulse-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-icon-pulse-grow .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-pulse-grow:hover .hvr-icon, .hvr-icon-pulse-grow:focus .hvr-icon, .hvr-icon-pulse-grow:active .hvr-icon {
    -webkit-animation-name: hvr-icon-pulse-grow;
    animation-name: hvr-icon-pulse-grow;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate; }

/* Icon Pulse Shrink */
@-webkit-keyframes hvr-icon-pulse-shrink {
  to {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); } }

@keyframes hvr-icon-pulse-shrink {
  to {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); } }

.hvr-icon-pulse-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent; }
  .hvr-icon-pulse-shrink .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-pulse-shrink:hover .hvr-icon, .hvr-icon-pulse-shrink:focus .hvr-icon, .hvr-icon-pulse-shrink:active .hvr-icon {
    -webkit-animation-name: hvr-icon-pulse-shrink;
    animation-name: hvr-icon-pulse-shrink;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate; }

/* Icon Push */
@-webkit-keyframes hvr-icon-push {
  50% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5); } }

@keyframes hvr-icon-push {
  50% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5); } }

.hvr-icon-push {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-push .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-push:hover .hvr-icon, .hvr-icon-push:focus .hvr-icon, .hvr-icon-push:active .hvr-icon {
    -webkit-animation-name: hvr-icon-push;
    animation-name: hvr-icon-push;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Icon Pop */
@-webkit-keyframes hvr-icon-pop {
  50% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5); } }

@keyframes hvr-icon-pop {
  50% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5); } }

.hvr-icon-pop {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-pop .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-pop:hover .hvr-icon, .hvr-icon-pop:focus .hvr-icon, .hvr-icon-pop:active .hvr-icon {
    -webkit-animation-name: hvr-icon-pop;
    animation-name: hvr-icon-pop;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Icon Bounce */
.hvr-icon-bounce {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-bounce .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-bounce:hover .hvr-icon, .hvr-icon-bounce:focus .hvr-icon, .hvr-icon-bounce:active .hvr-icon {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
    transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36); }

/* Icon Rotate */
.hvr-icon-rotate {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-rotate .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-rotate:hover .hvr-icon, .hvr-icon-rotate:focus .hvr-icon, .hvr-icon-rotate:active .hvr-icon {
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg); }

/* Icon Grow Rotate */
.hvr-icon-grow-rotate {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-grow-rotate .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-grow-rotate:hover .hvr-icon, .hvr-icon-grow-rotate:focus .hvr-icon, .hvr-icon-grow-rotate:active .hvr-icon {
    -webkit-transform: scale(1.5) rotate(12deg);
    transform: scale(1.5) rotate(12deg); }

/* Icon Float */
.hvr-icon-float {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-float .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-float:hover .hvr-icon, .hvr-icon-float:focus .hvr-icon, .hvr-icon-float:active .hvr-icon {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px); }

/* Icon Sink */
.hvr-icon-sink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-sink .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hvr-icon-sink:hover .hvr-icon, .hvr-icon-sink:focus .hvr-icon, .hvr-icon-sink:active .hvr-icon {
    -webkit-transform: translateY(4px);
    transform: translateY(4px); }

/* Icon Bob */
@-webkit-keyframes hvr-icon-bob {
  0% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px); }
  50% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px); }
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px); } }

@keyframes hvr-icon-bob {
  0% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px); }
  50% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px); }
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px); } }

@-webkit-keyframes hvr-icon-bob-float {
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px); } }

@keyframes hvr-icon-bob-float {
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px); } }

.hvr-icon-bob {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-bob .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0); }
  .hvr-icon-bob:hover .hvr-icon, .hvr-icon-bob:focus .hvr-icon, .hvr-icon-bob:active .hvr-icon {
    -webkit-animation-name: hvr-icon-bob-float, hvr-icon-bob;
    animation-name: hvr-icon-bob-float, hvr-icon-bob;
    -webkit-animation-duration: .3s, 1.5s;
    animation-duration: .3s, 1.5s;
    -webkit-animation-delay: 0s, .3s;
    animation-delay: 0s, .3s;
    -webkit-animation-timing-function: ease-out, ease-in-out;
    animation-timing-function: ease-out, ease-in-out;
    -webkit-animation-iteration-count: 1, infinite;
    animation-iteration-count: 1, infinite;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-direction: normal, alternate;
    animation-direction: normal, alternate; }

/* Icon Hang */
@-webkit-keyframes hvr-icon-hang {
  0% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px); }
  50% {
    -webkit-transform: translateY(2px);
    transform: translateY(2px); }
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px); } }

@keyframes hvr-icon-hang {
  0% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px); }
  50% {
    -webkit-transform: translateY(2px);
    transform: translateY(2px); }
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px); } }

@-webkit-keyframes hvr-icon-hang-sink {
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px); } }

@keyframes hvr-icon-hang-sink {
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px); } }

.hvr-icon-hang {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-hang .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0); }
  .hvr-icon-hang:hover .hvr-icon, .hvr-icon-hang:focus .hvr-icon, .hvr-icon-hang:active .hvr-icon {
    -webkit-animation-name: hvr-icon-hang-sink, hvr-icon-hang;
    animation-name: hvr-icon-hang-sink, hvr-icon-hang;
    -webkit-animation-duration: .3s, 1.5s;
    animation-duration: .3s, 1.5s;
    -webkit-animation-delay: 0s, .3s;
    animation-delay: 0s, .3s;
    -webkit-animation-timing-function: ease-out, ease-in-out;
    animation-timing-function: ease-out, ease-in-out;
    -webkit-animation-iteration-count: 1, infinite;
    animation-iteration-count: 1, infinite;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-direction: normal, alternate;
    animation-direction: normal, alternate; }

/* Icon Wobble Horizontal */
@-webkit-keyframes hvr-icon-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(6px);
    transform: translateX(6px); }
  33.3% {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px); }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px); }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px); }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px); }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes hvr-icon-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(6px);
    transform: translateX(6px); }
  33.3% {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px); }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px); }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px); }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px); }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.hvr-icon-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-wobble-horizontal .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0); }
  .hvr-icon-wobble-horizontal:hover .hvr-icon, .hvr-icon-wobble-horizontal:focus .hvr-icon, .hvr-icon-wobble-horizontal:active .hvr-icon {
    -webkit-animation-name: hvr-icon-wobble-horizontal;
    animation-name: hvr-icon-wobble-horizontal;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Icon Wobble Vertical */
@-webkit-keyframes hvr-icon-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px); }
  33.3% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px); }
  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px); }
  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px); }
  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px); }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes hvr-icon-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px); }
  33.3% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px); }
  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px); }
  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px); }
  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px); }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.hvr-icon-wobble-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-wobble-vertical .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0); }
  .hvr-icon-wobble-vertical:hover .hvr-icon, .hvr-icon-wobble-vertical:focus .hvr-icon, .hvr-icon-wobble-vertical:active .hvr-icon {
    -webkit-animation-name: hvr-icon-wobble-vertical;
    animation-name: hvr-icon-wobble-vertical;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* Icon Buzz */
@-webkit-keyframes hvr-icon-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg); }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg); } }

@keyframes hvr-icon-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg); }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg); } }

.hvr-icon-buzz {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-buzz .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0); }
  .hvr-icon-buzz:hover .hvr-icon, .hvr-icon-buzz:focus .hvr-icon, .hvr-icon-buzz:active .hvr-icon {
    -webkit-animation-name: hvr-icon-buzz;
    animation-name: hvr-icon-buzz;
    -webkit-animation-duration: 0.15s;
    animation-duration: 0.15s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite; }

/* Icon Buzz Out */
@-webkit-keyframes hvr-icon-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg); }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg); }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg); }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg); }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg); }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg); }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg); }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg); }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0); }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0); } }

@keyframes hvr-icon-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg); }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg); }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg); }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg); }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg); }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg); }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg); }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg); }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0); }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0); } }

.hvr-icon-buzz-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hvr-icon-buzz-out .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0); }
  .hvr-icon-buzz-out:hover .hvr-icon, .hvr-icon-buzz-out:focus .hvr-icon, .hvr-icon-buzz-out:active .hvr-icon {
    -webkit-animation-name: hvr-icon-buzz-out;
    animation-name: hvr-icon-buzz-out;
    -webkit-animation-duration: 0.75s;
    animation-duration: 0.75s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }

/* CURLS */
/* Curl Top Left */
.hvr-curl-top-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-curl-top-left:before {
    pointer-events: none;
    position: absolute;
    content: '';
    height: 0;
    width: 0;
    top: 0;
    left: 0;
    background: white;
    /* IE9 */
    background: linear-gradient(135deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ffffff', endColorstr='#000000');
    /*For IE7-8-9*/
    z-index: 1000;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: width, height;
    transition-property: width, height; }
  .hvr-curl-top-left:hover:before, .hvr-curl-top-left:focus:before, .hvr-curl-top-left:active:before {
    width: 25px;
    height: 25px; }

/* Curl Top Right */
.hvr-curl-top-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-curl-top-right:before {
    pointer-events: none;
    position: absolute;
    content: '';
    height: 0;
    width: 0;
    top: 0;
    right: 0;
    background: white;
    /* IE9 */
    background: linear-gradient(225deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
    box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.4);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: width, height;
    transition-property: width, height; }
  .hvr-curl-top-right:hover:before, .hvr-curl-top-right:focus:before, .hvr-curl-top-right:active:before {
    width: 25px;
    height: 25px; }

/* Curl Bottom Right */
.hvr-curl-bottom-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-curl-bottom-right:before {
    pointer-events: none;
    position: absolute;
    content: '';
    height: 0;
    width: 0;
    bottom: 0;
    right: 0;
    background: white;
    /* IE9 */
    background: linear-gradient(315deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
    box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.4);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: width, height;
    transition-property: width, height; }
  .hvr-curl-bottom-right:hover:before, .hvr-curl-bottom-right:focus:before, .hvr-curl-bottom-right:active:before {
    width: 25px;
    height: 25px; }

/* Curl Bottom Left */
.hvr-curl-bottom-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative; }
  .hvr-curl-bottom-left:before {
    pointer-events: none;
    position: absolute;
    content: '';
    height: 0;
    width: 0;
    bottom: 0;
    left: 0;
    background: white;
    /* IE9 */
    background: linear-gradient(45deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
    box-shadow: 1px -1px 1px rgba(0, 0, 0, 0.4);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: width, height;
    transition-property: width, height; }
  .hvr-curl-bottom-left:hover:before, .hvr-curl-bottom-left:focus:before, .hvr-curl-bottom-left:active:before {
    width: 25px;
    height: 25px; }

.chromeframe {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0; }

body {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; }

a.disabled {
  text-decoration: none;
  color: #23527c; }

div#dashboard-panels a.course-link.disabled {
  cursor: pointer; }

/* Globally hide sections with metadata found in imported course descriptions */
section.metadata {
  display: none; }

footer div.silly-footer-buttons img {
  padding: 10px;
  height: 85px; }

/** To edit this background, follow this link:
http://svgeneration.com/generate/Graph-Paper?size=25&background=ffffff&lines=cccccc&line-width=1&turbulence=0.06&
*/
.math-background {
  background-color: #ffffff;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMDAnIGhlaWdodD0nMzAwJyB2aWV3Qm94PScwIDAgMzAwIDMwMCc+Cgk8ZGVmcz4KCQk8cGF0dGVybiBpZD0nYmx1ZXN0cmlwZScgcGF0dGVyblVuaXRzPSd1c2VyU3BhY2VPblVzZScgeD0nMCcgeT0nMCcgd2lkdGg9JzI1JyBoZWlnaHQ9JzI1JyB2aWV3Qm94PScwIDAgNTAgNTAnID4KCQk8cmVjdCB3aWR0aD0nMTEwJScgaGVpZ2h0PScxMTAlJyBmaWxsPScjZmZmZmZmJy8+CgkJCTxwYXRoIGQ9J00xLDFoNTB2NTBoLTUwdi01MCcgZmlsbC1vcGFjaXR5PScwJyBzdHJva2Utd2lkdGg9JzEnIHN0cm9rZS1kYXNoYXJyYXk9JzAsMSwxJyBzdHJva2U9JyNjY2NjY2MnLz4KCQk8L3BhdHRlcm4+IAoJCTxmaWx0ZXIgaWQ9J2Z1enonIHg9JzAnIHk9JzAnPgoJCQk8ZmVUdXJidWxlbmNlIHR5cGU9J3R1cmJ1bGVuY2UnIHJlc3VsdD0ndCcgYmFzZUZyZXF1ZW5jeT0nLjIgLjMnIG51bU9jdGF2ZXM9JzUnIHN0aXRjaFRpbGVzPSdzdGl0Y2gnLz4KCQkJPGZlQ29sb3JNYXRyaXggdHlwZT0nc2F0dXJhdGUnIGluPSd0JyB2YWx1ZXM9JzAnLz4KCQk8L2ZpbHRlcj4KCTwvZGVmcz4KCTxyZWN0IHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIGZpbGw9J3VybCgjYmx1ZXN0cmlwZSknLz4KPHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgZmlsdGVyPSd1cmwoI2Z1enopJyBvcGFjaXR5PScwLjA2Jy8+Cjwvc3ZnPgo="); }

/* Generic stuff. */
.vertical-center {
  display: flex;
  align-items: center; }

div.delay-spinner {
  text-align: center; }
  div.delay-spinner i {
    margin-top: 1em;
    margin-bottom: 1em;
    color: #E8E8E8; }

/* signin form - also applied to Password change form */
.form-signin,
form#password-change-form {
  max-width: 330px;
  padding: 15px;
  margin: 0 auto; }
  .form-signin .form-signin-heading,
  form#password-change-form .form-signin-heading {
    text-align: center;
    margin-bottom: 20px; }
  .form-signin .form-control,
  form#password-change-form .form-control {
    position: relative;
    height: auto;
    box-sizing: border-box;
    padding: 10px;
    font-size: 16px;
    transition: padding 0.1s; }
  .form-signin .form-control:focus,
  form#password-change-form .form-control:focus {
    padding-top: 13px;
    padding-bottom: 13px; }
  .form-signin input[type="text"],
  .form-signin input[type="email"],
  form#password-change-form input[type="text"],
  form#password-change-form input[type="email"] {
    margin-bottom: -1px; }
  .form-signin input[type="password"],
  form#password-change-form input[type="password"] {
    margin-bottom: 10px; }

/* download icons */
.dl-icon {
  display: inline-block;
  text-align: center;
  margin: 0 6px 0 6px; }
  .dl-icon a span {
    font-size: 60%;
    font-weight: bold; }

/* Modals */
/*
@media screen and (min-width: 768px) {
  #dashboard-menu .modal-dialog {
    width: 60%;
  }
}
*/
@media screen and (min-width: 768px) {
  #user-menu .modal-dialog {
    width: 40%; } }

/* Reports page. */
td.project-title {
  vertical-align: middle !important;
  font-size: 120%; }

div#project-list-body span.report-date {
  font-size: 70%;
  font-weight: bold; }

table#project-report-table div.file-block {
  margin: 1px auto 1px auto;
  width: 85px;
  text-align: left;
  display: flex;
  justify-content: space-between;
  flex: 0 1 auto; }

table#project-report-table button.report-request-button:not([disabled]) i.active {
  display: none; }

table#project-report-table button.report-request-button:disabled i.inactive {
  display: none; }

/* Report requests in courses modal */
div#course-reports-block h3 {
  margin-top: 0px; }

div#course-reports-block a {
  min-width: 150px;
  display: inline-block; }

div#course-reports-block a.disabled-download {
  pointer-events: none;
  cursor: default; }

div#course-reports-block button.course-report-request-button {
  min-width: 150px; }

/* Email invitation form. */
.form-invitation-email .form-actions input {
  margin-right: 10px; }

/* Modal form headers */
div.modal-header h3 {
  margin: 5px 5px 5px 8px; }

/* Profile edit form */
form#profile_edit_form {
  margin: 20px; }
  form#profile_edit_form div.form-group {
    margin-bottom: 0; }
    form#profile_edit_form div.form-group div.controls {
      margin-top: 5px; }
    form#profile_edit_form div.form-group div#div_id_patronymic_missing {
      min-height: 0;
      margin-top: -30px; }
      form#profile_edit_form div.form-group div#div_id_patronymic_missing div.controls label {
        margin-bottom: 10px;
        margin-top: 4px; }
        form#profile_edit_form div.form-group div#div_id_patronymic_missing div.controls label input.checkbox {
          margin-top: -3px; }

/* News */
.news-articles .list-group-item {
  padding: 20px; }
  .news-articles .list-group-item .list-group-item-heading {
    margin-bottom: 20px; }

.news-articles .list-group-item:last-child {
  padding-bottom: 10px; }

/* Plan banners */
div.dashboard-plan-card-wrapper {
  border: 1px solid #ddd;
  border-radius: 4px; }

div.dashboard-plan-card-wrapper a::before {
  z-index: 1; }

div.dashboard-plan-card {
  width: 100%;
  height: 65px;
  padding: 5px 10px;
  margin-top: 3px; }
  div.dashboard-plan-card span.fixtextpls {
    width: 100%;
    height: 100%;
    display: block; }

div.dashboard-plan-card-wrapper a:hover,
div.dashboard-plan-card-wrapper a:active {
  text-decoration: none; }

div.dashboard-plan-card-wrapper .fixtextpls {
  color: black; }

.plan-link:hover {
  text-decoration: none; }

.plan-box-column {
  margin-bottom: 20px; }

.plan-box {
  height: 200px;
  width: 233px;
  margin-left: auto;
  margin-right: auto;
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat; }
  .plan-box .panel-body h4 {
    padding: 5px;
    margin-top: 127px;
    margin-bottom: 0;
    color: black; }

.plan-header {
  margin-top: 30px;
  margin-bottom: 30px; }

.plan-header .plan-images {
  border: 2px solid #E8E8E8;
  padding-left: 0; }
  .plan-header .plan-images .project-logo {
    position: absolute;
    left: 25px;
    top: 10px; }

.plan-header .plan-howto {
  color: white;
  background-color: #61C0DC; }

.plan-header .plan-logo {
  width: 100%; }

.plan-header .plan-name {
  margin-top: 0;
  border-bottom: 4px solid #E8E8E8;
  padding-bottom: 15px;
  font-size: 30px; }

.plan-header .plan-help-row {
  margin-top: 30px; }

.plan-header .plan-howto {
  padding: 10px 40px 30px 40px; }
  .plan-header .plan-howto .glyphicon {
    font-size: 200%; }

.plan-header .plan-element-count .row {
  display: flex;
  align-items: center; }
  .plan-header .plan-element-count .row .element-count-icon {
    font-size: 300%; }
  .plan-header .plan-element-count .row .element-count-number {
    font-size: 200%;
    font-weight: bold; }

.plan-header .plan-element-count ul {
  font-size: 150%; }
  .plan-header .plan-element-count ul li span.element-count-icon {
    font-size: 200%; }

.plan-header .plan-subscription-status-row {
  background-color: #F7F7F7;
  padding-top: 20px;
  padding-bottom: 30px;
  margin-top: 30px; }

hr.thick-separator {
  height: 0;
  color: white;
  border: 2px #E8E8E8 solid;
  margin: 50px 0 50px 0; }

div.plan-elements .plan-elements-header {
  border-bottom: 4px solid #E8E8E8;
  display: inline-block;
  padding-bottom: 20px; }

div.plan-elements .plan-element-box div.course-meta span.plan-name-badge {
  color: grey;
  border: 1px #E8E8E8 solid;
  border-radius: 10px;
  padding: 4px 10px;
  margin-left: 20px; }

div.plan-elements .plan-element-box div.course-block-banner {
  background-color: #F7F7F7;
  padding-left: 0;
  padding-right: 0; }
  div.plan-elements .plan-element-box div.course-block-banner img.img-responsive {
    width: 100%;
    border: 2px solid #E8E8E8; }
  div.plan-elements .plan-element-box div.course-block-banner .plan-control-element {
    margin-top: 10px;
    margin-bottom: 20px; }
    div.plan-elements .plan-element-box div.course-block-banner .plan-control-element button.btn-lg {
      width: 196px; }
    div.plan-elements .plan-element-box div.course-block-banner .plan-control-element button.subscribed-only:disabled {
      display: none; }
  div.plan-elements .plan-element-box div.course-block-banner p.plan-control-meta, div.plan-elements .plan-element-box div.course-block-banner p.required-survey-alert {
    margin-left: 30px;
    margin-right: 30px;
    padding-bottom: 20px; }
  div.plan-elements .plan-element-box div.course-block-banner p.required-survey-alert {
    margin-top: 10px;
    padding-bottom: 5px;
    font-size: 85%; }

div.plan-elements .plan-element-box hr.choice-element-separator {
  height: 0;
  color: white;
  border: 2px #E8E8E8 dashed;
  margin: 10px 0 10px 0; }

.course-overview {
  margin-bottom: 20px; }

h3.course-title {
  margin-top: 0; }

button.show-long-overview {
  width: 150px; }
  button.show-long-overview i.fa {
    margin-left: 1em; }

/* Available plans list */
.plan-list-name {
  margin-left: 10px; }

/* pulltab buttons */
.pulltab-corner-button {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 10px; }

.pulltab-regular-button {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  margin-right: 10px; }

/* Sirtrevor blocks styling */
.image-block img {
  width: 100%; }

.st-block-controls {
  font-size: 90%; }

.form-create-project-page {
  margin-top: 20px; }

/* Alpaca elements */
.alpaca-form-buttons-container button {
  margin-left: 10px; }

.alpaca-field .alpaca-control-label .alpaca-icon-required {
  margin-right: 6px; }

#bottom-result-message {
  margin-top: 20px;
  font-weight: bold; }

/* Dashboard panels and elements */
.dash-vertical-button {
  width: 210px; }

#dashboard-panels {
  padding-top: 15px; }

div#survey-alert {
  margin-bottom: 0;
  margin-top: 15px; }
  div#survey-alert ul#survey-list {
    margin-top: 10px; }
  div#survey-alert p.survey-name {
    font-size: 120%;
    margin-bottom: 5px; }

div.button-list-description p {
  margin-top: 7px; }

/* Invite ticket form elements */
form#ticket-input-form .form-control {
  font-size: 16px; }

form#ticket-input-form input {
  width: 100%; }

#ticket-check-result {
  margin-top: 15px;
  margin-bottom: 0; }

span.ticket-activity-log {
  font-size: 80%;
  color: grey; }

/* School report */
ul.cell-list {
  margin-bottom: 0; }

dl.ticket-activity-log {
  margin-left: 5px; }

/* Typeahead styles. */
.tt-highlight {
  color: orangered; }

/* ticket form elements */
div#email-input-block div#email-result-message {
  margin-bottom: 0; }

i.green-check-mark {
  color: green; }

/* admin ticket generator form */
form#user-ticket-generate-form input {
  margin-left: 15px; }

form#user-ticket-generate-form button {
  margin-left: 15px; }

div#user-invite-ticket-response {
  margin-top: 15px;
  margin-bottom: 15px; }

/* Accordion handling: wide links */
.panel-group#accordion .panel-heading {
  padding: 0; }
  .panel-group#accordion .panel-heading a {
    display: block;
    padding: 10px 15px; }

/* Email ticket to users from school ui: elements */
div#send-ticket-by-mail div#email-result-message {
  margin-bottom: 0; }

div.ticket-reply-alert div {
  margin-top: 10px;
  margin-bottom: 0; }
  div.ticket-reply-alert div a {
    cursor: pointer; }

/* Student course lists */
div.course-info-box {
  min-height: 210px; }

div.course-info-box .course-list-item {
  padding: 20px 10px 20px 10px; }

div.course-info-box div.course-meta {
  margin-left: 24px; }

div.course-info-box div.course-image {
  margin-right: 10px;
  margin-left: 5px;
  margin-top: 5px;
  margin-bottom: 5px; }

div.course-data-meta {
  font-size: 80%;
  color: grey;
  margin-bottom: 10px; }
  div.course-data-meta p {
    margin-bottom: 0; }

/* Separator! */
.line-separator {
  text-align: center;
  line-height: 0;
  border-bottom: 2px solid black;
  margin: 1em 0 1.5em; }

.line-separator:first-line {
  background-color: white; }

.line-separator:before {
  content: "\a0\a0\a0"; }

.line-separator:after {
  content: "\a0\a0\a0"; }

.plan_item_action_row {
  margin-top: 10px; }

/* project plans list*/
ul.project-plans-list div.media-body {
  padding-left: 30px; }

ul.project-plans-list img.media-object {
  border: 2px solid #E8E8E8; }

div#mass-mail-preview div#text-preview pre {
  padding: 0;
  font-size: 110%;
  background: inherit !important;
  border: inherit !important; }

div#mass-mail-editor div.empty-search {
  margin: 10px; }

div#mail-form-buttons .btn {
  margin: 0.1em !important; }

/*# sourceMappingURL=data:application/json;base64,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LyogV2UncmUgZ29pbmcgdG8ga2VlcCBiYXNpYyBTQ1NTIHZhcmlhYmxlcyBhbGwgaW4gb25lIGZpbGUuXG4gICBJbiB0aGVvcnksIHdlIHNob3VsZG4ndCBkZWZpbmUgY29sb3JzIGFueXdoZXJlIGVsc2UgYnV0IGhlcmUuXG4gICBXZSBvYnZpb3VzbHkgZG8gYW55d2F5LCBidXQgaXQncyB0aGUgdGhvdWdodCB0aGF0IGNvdW50cy5cbiAqL1xuLyogJHNlY3Rpb25fYmFja2dyb3VuZDogI2RkZDsgKi9cbi8qIGZhLXJ1YiBpY29uIHNldHRpbmdzICovXG4vKiBEZWZpbml0aW9ucyAqL1xuLyohXHJcbiAqIEhvdmVyLmNzcyAoaHR0cDovL2lhbmx1bm4uZ2l0aHViLmlvL0hvdmVyLylcclxuICogVmVyc2lvbjogMi4zLjJcclxuICogQXV0aG9yOiBJYW4gTHVubiBASWFuTHVublxyXG4gKiBBdXRob3IgVVJMOiBodHRwOi8vaWFubHVubi5jby51ay9cclxuICogR2l0aHViOiBodHRwczovL2dpdGh1Yi5jb20vSWFuTHVubi9Ib3ZlclxyXG5cclxuICogSG92ZXIuY3NzIENvcHlyaWdodCBJYW4gTHVubiAyMDE3LiBHZW5lcmF0ZWQgd2l0aCBTYXNzLlxyXG4gKi9cbi8qIDJEIFRSQU5TSVRJT05TICovXG4vKiBHcm93ICovXG4uaHZyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cbiAgLmh2ci1ncm93OmhvdmVyLCAuaHZyLWdyb3c6Zm9jdXMsIC5odnItZ3JvdzphY3RpdmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuXG4vKiBTaHJpbmsgKi9cbi5odnItc2hyaW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOyB9XG4gIC5odnItc2hyaW5rOmhvdmVyLCAuaHZyLXNocmluazpmb2N1cywgLmh2ci1zaHJpbms6YWN0aXZlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH1cblxuLyogUHVsc2UgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItcHVsc2Uge1xuICAyNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLXB1bHNlIHtcbiAgMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH0gfVxuXG4uaHZyLXB1bHNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDsgfVxuICAuaHZyLXB1bHNlOmhvdmVyLCAuaHZyLXB1bHNlOmZvY3VzLCAuaHZyLXB1bHNlOmFjdGl2ZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXB1bHNlO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItcHVsc2U7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLyogUHVsc2UgR3JvdyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wdWxzZS1ncm93IHtcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLXB1bHNlLWdyb3cge1xuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9IH1cblxuLmh2ci1wdWxzZS1ncm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDsgfVxuICAuaHZyLXB1bHNlLWdyb3c6aG92ZXIsIC5odnItcHVsc2UtZ3Jvdzpmb2N1cywgLmh2ci1wdWxzZS1ncm93OmFjdGl2ZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXB1bHNlLWdyb3c7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGh2ci1wdWxzZS1ncm93O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7IH1cblxuLyogUHVsc2UgU2hyaW5rICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXB1bHNlLXNocmluayB7XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGh2ci1wdWxzZS1zaHJpbmsge1xuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpOyB9IH1cblxuLmh2ci1wdWxzZS1zaHJpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50OyB9XG4gIC5odnItcHVsc2Utc2hyaW5rOmhvdmVyLCAuaHZyLXB1bHNlLXNocmluazpmb2N1cywgLmh2ci1wdWxzZS1zaHJpbms6YWN0aXZlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItcHVsc2Utc2hyaW5rO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItcHVsc2Utc2hyaW5rO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7IH1cblxuLyogUHVzaCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wdXNoIHtcbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGh2ci1wdXNoIHtcbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4uaHZyLXB1c2gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50OyB9XG4gIC5odnItcHVzaDpob3ZlciwgLmh2ci1wdXNoOmZvY3VzLCAuaHZyLXB1c2g6YWN0aXZlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItcHVzaDtcbiAgICBhbmltYXRpb24tbmFtZTogaHZyLXB1c2g7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsgfVxuXG4vKiBQb3AgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItcG9wIHtcbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH0gfVxuXG5Aa2V5ZnJhbWVzIGh2ci1wb3Age1xuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfSB9XG5cbi5odnItcG9wIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDsgfVxuICAuaHZyLXBvcDpob3ZlciwgLmh2ci1wb3A6Zm9jdXMsIC5odnItcG9wOmFjdGl2ZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXBvcDtcbiAgICBhbmltYXRpb24tbmFtZTogaHZyLXBvcDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOyB9XG5cbi8qIEJvdW5jZSBJbiAqL1xuLmh2ci1ib3VuY2UtaW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7IH1cbiAgLmh2ci1ib3VuY2UtaW46aG92ZXIsIC5odnItYm91bmNlLWluOmZvY3VzLCAuaHZyLWJvdW5jZS1pbjphY3RpdmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMi4wMiwgMC4zMSwgLTAuMzYpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMi4wMiwgMC4zMSwgLTAuMzYpOyB9XG5cbi8qIEJvdW5jZSBPdXQgKi9cbi5odnItYm91bmNlLW91dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsgfVxuICAuaHZyLWJvdW5jZS1vdXQ6aG92ZXIsIC5odnItYm91bmNlLW91dDpmb2N1cywgLmh2ci1ib3VuY2Utb3V0OmFjdGl2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ3LCAyLjAyLCAwLjMxLCAtMC4zNik7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ3LCAyLjAyLCAwLjMxLCAtMC4zNik7IH1cblxuLyogUm90YXRlICovXG4uaHZyLXJvdGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgfVxuICAuaHZyLXJvdGF0ZTpob3ZlciwgLmh2ci1yb3RhdGU6Zm9jdXMsIC5odnItcm90YXRlOmFjdGl2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0ZGVnKTsgfVxuXG4vKiBHcm93IFJvdGF0ZSAqL1xuLmh2ci1ncm93LXJvdGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgfVxuICAuaHZyLWdyb3ctcm90YXRlOmhvdmVyLCAuaHZyLWdyb3ctcm90YXRlOmZvY3VzLCAuaHZyLWdyb3ctcm90YXRlOmFjdGl2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDRkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoNGRlZyk7IH1cblxuLyogRmxvYXQgKi9cbi5odnItZmxvYXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1mbG9hdDpob3ZlciwgLmh2ci1mbG9hdDpmb2N1cywgLmh2ci1mbG9hdDphY3RpdmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgfVxuXG4vKiBTaW5rICovXG4uaHZyLXNpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1zaW5rOmhvdmVyLCAuaHZyLXNpbms6Zm9jdXMsIC5odnItc2luazphY3RpdmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cblxuLyogQm9iICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWJvYiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyB9IH1cblxuQGtleWZyYW1lcyBodnItYm9iIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWJvYi1mbG9hdCB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLWJvYi1mbG9hdCB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgfSB9XG5cbi5odnItYm9iIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDsgfVxuICAuaHZyLWJvYjpob3ZlciwgLmh2ci1ib2I6Zm9jdXMsIC5odnItYm9iOmFjdGl2ZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWJvYi1mbG9hdCwgaHZyLWJvYjtcbiAgICBhbmltYXRpb24tbmFtZTogaHZyLWJvYi1mbG9hdCwgaHZyLWJvYjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHMsIC4zcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0LCBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7IH1cblxuLyogSGFuZyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1oYW5nIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGh2ci1oYW5nIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWhhbmctc2luayB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGh2ci1oYW5nLXNpbmsge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9IH1cblxuLmh2ci1oYW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDsgfVxuICAuaHZyLWhhbmc6aG92ZXIsIC5odnItaGFuZzpmb2N1cywgLmh2ci1oYW5nOmFjdGl2ZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWhhbmctc2luaywgaHZyLWhhbmc7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGh2ci1oYW5nLXNpbmssIGh2ci1oYW5nO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuM3MsIDEuNXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuM3MsIDEuNXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDBzLCAuM3M7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQsIGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0LCBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEsIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEsIGluZmluaXRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWwsIGFsdGVybmF0ZTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWwsIGFsdGVybmF0ZTsgfVxuXG4vKiBTa2V3ICovXG4uaHZyLXNrZXcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cbiAgLmh2ci1za2V3OmhvdmVyLCAuaHZyLXNrZXc6Zm9jdXMsIC5odnItc2tldzphY3RpdmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3KC0xMGRlZyk7IH1cblxuLyogU2tldyBGb3J3YXJkICovXG4uaHZyLXNrZXctZm9yd2FyZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTsgfVxuICAuaHZyLXNrZXctZm9yd2FyZDpob3ZlciwgLmh2ci1za2V3LWZvcndhcmQ6Zm9jdXMsIC5odnItc2tldy1mb3J3YXJkOmFjdGl2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTEwZGVnKTsgfVxuXG4vKiBTa2V3IEJhY2t3YXJkICovXG4uaHZyLXNrZXctYmFja3dhcmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7IH1cbiAgLmh2ci1za2V3LWJhY2t3YXJkOmhvdmVyLCAuaHZyLXNrZXctYmFja3dhcmQ6Zm9jdXMsIC5odnItc2tldy1iYWNrd2FyZDphY3RpdmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoMTBkZWcpOyB9XG5cbi8qIFdvYmJsZSBWZXJ0aWNhbCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci13b2JibGUtdmVydGljYWwge1xuICAxNi42NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsgfVxuICA0OS45NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgfVxuICA4My4yNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBodnItd29iYmxlLXZlcnRpY2FsIHtcbiAgMTYuNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7IH1cbiAgNDkuOTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOyB9XG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IH1cbiAgODMuMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5odnItd29iYmxlLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDsgfVxuICAuaHZyLXdvYmJsZS12ZXJ0aWNhbDpob3ZlciwgLmh2ci13b2JibGUtdmVydGljYWw6Zm9jdXMsIC5odnItd29iYmxlLXZlcnRpY2FsOmFjdGl2ZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS12ZXJ0aWNhbDtcbiAgICBhbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS12ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOyB9XG5cbi8qIFdvYmJsZSBIb3Jpem9udGFsICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS1ob3Jpem9udGFsIHtcbiAgMTYuNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCk7IH1cbiAgNDkuOTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7IH1cbiAgODMuMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLXdvYmJsZS1ob3Jpem9udGFsIHtcbiAgMTYuNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCk7IH1cbiAgNDkuOTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7IH1cbiAgODMuMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5odnItd29iYmxlLWhvcml6b250YWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50OyB9XG4gIC5odnItd29iYmxlLWhvcml6b250YWw6aG92ZXIsIC5odnItd29iYmxlLWhvcml6b250YWw6Zm9jdXMsIC5odnItd29iYmxlLWhvcml6b250YWw6YWN0aXZlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLWhvcml6b250YWw7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOyB9XG5cbi8qIFdvYmJsZSBUbyBCb3R0b20gUmlnaHQgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLXRvLWJvdHRvbS1yaWdodCB7XG4gIDE2LjY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIDhweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoOHB4LCA4cHgpOyB9XG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC02cHgsIC02cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC02cHgsIC02cHgpOyB9XG4gIDQ5Ljk1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIDRweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4LCA0cHgpOyB9XG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0ycHgsIC0ycHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0ycHgsIC0ycHgpOyB9XG4gIDgzLjI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAxcHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0IHtcbiAgMTYuNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgOHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIDhweCk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgLTZweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgLTZweCk7IH1cbiAgNDkuOTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgNHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIDRweCk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgLTJweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgLTJweCk7IH1cbiAgODMuMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfSB9XG5cbi5odnItd29iYmxlLXRvLWJvdHRvbS1yaWdodCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7IH1cbiAgLmh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0OmhvdmVyLCAuaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQ6Zm9jdXMsIC5odnItd29iYmxlLXRvLWJvdHRvbS1yaWdodDphY3RpdmUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXRvLWJvdHRvbS1yaWdodDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOyB9XG5cbi8qIFdvYmJsZSBUbyBUb3AgUmlnaHQgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLXRvLXRvcC1yaWdodCB7XG4gIDE2LjY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIC04cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgLThweCk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgNnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNnB4LCA2cHgpOyB9XG4gIDQ5Ljk1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIC00cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgLTRweCk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgMnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAycHgpOyB9XG4gIDgzLjI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTFweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLXdvYmJsZS10by10b3AtcmlnaHQge1xuICAxNi42NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoOHB4LCAtOHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIC04cHgpOyB9XG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC02cHgsIDZweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgNnB4KTsgfVxuICA0OS45NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4LCAtNHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIC00cHgpOyB9XG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0ycHgsIDJweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgMnB4KTsgfVxuICA4My4yNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH0gfVxuXG4uaHZyLXdvYmJsZS10by10b3AtcmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50OyB9XG4gIC5odnItd29iYmxlLXRvLXRvcC1yaWdodDpob3ZlciwgLmh2ci13b2JibGUtdG8tdG9wLXJpZ2h0OmZvY3VzLCAuaHZyLXdvYmJsZS10by10b3AtcmlnaHQ6YWN0aXZlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXRvLXRvcC1yaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS10by10b3AtcmlnaHQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsgfVxuXG4vKiBXb2JibGUgVG9wICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS10b3Age1xuICAxNi42NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoMTBkZWcpOyB9XG4gIDQ5Ljk1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTZkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tldygtNmRlZyk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDRkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTsgfVxuICA4My4yNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0yZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTJkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDApO1xuICAgIHRyYW5zZm9ybTogc2tldygwKTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLXdvYmJsZS10b3Age1xuICAxNi42NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoMTBkZWcpOyB9XG4gIDQ5Ljk1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTZkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tldygtNmRlZyk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDRkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTsgfVxuICA4My4yNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0yZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTJkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDApO1xuICAgIHRyYW5zZm9ybTogc2tldygwKTsgfSB9XG5cbi5odnItd29iYmxlLXRvcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7IH1cbiAgLmh2ci13b2JibGUtdG9wOmhvdmVyLCAuaHZyLXdvYmJsZS10b3A6Zm9jdXMsIC5odnItd29iYmxlLXRvcDphY3RpdmUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtdG9wO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXRvcDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOyB9XG5cbi8qIFdvYmJsZSBCb3R0b20gKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLWJvdHRvbSB7XG4gIDE2LjY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsgfVxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tldygxMGRlZyk7IH1cbiAgNDkuOTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtNmRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3KC02ZGVnKTsgfVxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoNGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3KDRkZWcpOyB9XG4gIDgzLjI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTJkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tldygtMmRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMCk7XG4gICAgdHJhbnNmb3JtOiBza2V3KDApOyB9IH1cblxuQGtleWZyYW1lcyBodnItd29iYmxlLWJvdHRvbSB7XG4gIDE2LjY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsgfVxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tldygxMGRlZyk7IH1cbiAgNDkuOTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtNmRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3KC02ZGVnKTsgfVxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoNGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3KDRkZWcpOyB9XG4gIDgzLjI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTJkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tldygtMmRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMCk7XG4gICAgdHJhbnNmb3JtOiBza2V3KDApOyB9IH1cblxuLmh2ci13b2JibGUtYm90dG9tIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuICAuaHZyLXdvYmJsZS1ib3R0b206aG92ZXIsIC5odnItd29iYmxlLWJvdHRvbTpmb2N1cywgLmh2ci13b2JibGUtYm90dG9tOmFjdGl2ZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS1ib3R0b207XG4gICAgYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7IH1cblxuLyogV29iYmxlIFNrZXcgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLXNrZXcge1xuICAxNi42NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoMTBkZWcpOyB9XG4gIDQ5Ljk1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTZkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tldygtNmRlZyk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDRkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTsgfVxuICA4My4yNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0yZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTJkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDApO1xuICAgIHRyYW5zZm9ybTogc2tldygwKTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLXdvYmJsZS1za2V3IHtcbiAgMTYuNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMTJkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tldygtMTJkZWcpOyB9XG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3KDEwZGVnKTsgfVxuICA0OS45NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC02ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTZkZWcpOyB9XG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldyg0ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoNGRlZyk7IH1cbiAgODMuMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMmRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3KC0yZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoMCk7IH0gfVxuXG4uaHZyLXdvYmJsZS1za2V3IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDsgfVxuICAuaHZyLXdvYmJsZS1za2V3OmhvdmVyLCAuaHZyLXdvYmJsZS1za2V3OmZvY3VzLCAuaHZyLXdvYmJsZS1za2V3OmFjdGl2ZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS1za2V3O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXNrZXc7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsgfVxuXG4vKiBCdXp6ICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWJ1enoge1xuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBodnItYnV6eiB7XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7IH0gfVxuXG4uaHZyLWJ1enoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50OyB9XG4gIC5odnItYnV6ejpob3ZlciwgLmh2ci1idXp6OmZvY3VzLCAuaHZyLWJ1eno6YWN0aXZlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItYnV6ejtcbiAgICBhbmltYXRpb24tbmFtZTogaHZyLWJ1eno7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLyogQnV6eiBPdXQgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItYnV6ei1vdXQge1xuICAxMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGh2ci1idXp6LW91dCB7XG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpIHJvdGF0ZSgwKTsgfSB9XG5cbi5odnItYnV6ei1vdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50OyB9XG4gIC5odnItYnV6ei1vdXQ6aG92ZXIsIC5odnItYnV6ei1vdXQ6Zm9jdXMsIC5odnItYnV6ei1vdXQ6YWN0aXZlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItYnV6ei1vdXQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGh2ci1idXp6LW91dDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7IH1cblxuLyogRm9yd2FyZCAqL1xuLmh2ci1mb3J3YXJkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOyB9XG4gIC5odnItZm9yd2FyZDpob3ZlciwgLmh2ci1mb3J3YXJkOmZvY3VzLCAuaHZyLWZvcndhcmQ6YWN0aXZlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG5cbi8qIEJhY2t3YXJkICovXG4uaHZyLWJhY2t3YXJkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOyB9XG4gIC5odnItYmFja3dhcmQ6aG92ZXIsIC5odnItYmFja3dhcmQ6Zm9jdXMsIC5odnItYmFja3dhcmQ6YWN0aXZlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLThweCk7IH1cblxuLyogQkFDS0dST1VORCBUUkFOU0lUSU9OUyAqL1xuLyogRmFkZSAqL1xuLmh2ci1mYWRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjsgfVxuICAuaHZyLWZhZGU6aG92ZXIsIC5odnItZmFkZTpmb2N1cywgLmh2ci1mYWRlOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwOThEMTtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLyogQmFjayBQdWxzZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1iYWNrLXB1bHNlIHtcbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAxNTIsIDIwOSwgMC43NSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGh2ci1iYWNrLXB1bHNlIHtcbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAxNTIsIDIwOSwgMC43NSk7IH0gfVxuXG4uaHZyLWJhY2stcHVsc2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yOyB9XG4gIC5odnItYmFjay1wdWxzZTpob3ZlciwgLmh2ci1iYWNrLXB1bHNlOmZvY3VzLCAuaHZyLWJhY2stcHVsc2U6YWN0aXZlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItYmFjay1wdWxzZTtcbiAgICBhbmltYXRpb24tbmFtZTogaHZyLWJhY2stcHVsc2U7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDk4RDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwOThkMTtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLyogU3dlZXAgVG8gUmlnaHQgKi9cbi5odnItc3dlZXAtdG8tcmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7IH1cbiAgLmh2ci1zd2VlcC10by1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIC5odnItc3dlZXAtdG8tcmlnaHQ6aG92ZXIsIC5odnItc3dlZXAtdG8tcmlnaHQ6Zm9jdXMsIC5odnItc3dlZXAtdG8tcmlnaHQ6YWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuaHZyLXN3ZWVwLXRvLXJpZ2h0OmhvdmVyOmJlZm9yZSwgLmh2ci1zd2VlcC10by1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItc3dlZXAtdG8tcmlnaHQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH1cblxuLyogU3dlZXAgVG8gTGVmdCAqL1xuLmh2ci1zd2VlcC10by1sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOyB9XG4gIC5odnItc3dlZXAtdG8tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIC5odnItc3dlZXAtdG8tbGVmdDpob3ZlciwgLmh2ci1zd2VlcC10by1sZWZ0OmZvY3VzLCAuaHZyLXN3ZWVwLXRvLWxlZnQ6YWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuaHZyLXN3ZWVwLXRvLWxlZnQ6aG92ZXI6YmVmb3JlLCAuaHZyLXN3ZWVwLXRvLWxlZnQ6Zm9jdXM6YmVmb3JlLCAuaHZyLXN3ZWVwLXRvLWxlZnQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH1cblxuLyogU3dlZXAgVG8gQm90dG9tICovXG4uaHZyLXN3ZWVwLXRvLWJvdHRvbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAuaHZyLXN3ZWVwLXRvLWJvdHRvbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIC5odnItc3dlZXAtdG8tYm90dG9tOmhvdmVyLCAuaHZyLXN3ZWVwLXRvLWJvdHRvbTpmb2N1cywgLmh2ci1zd2VlcC10by1ib3R0b206YWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuaHZyLXN3ZWVwLXRvLWJvdHRvbTpob3ZlcjpiZWZvcmUsIC5odnItc3dlZXAtdG8tYm90dG9tOmZvY3VzOmJlZm9yZSwgLmh2ci1zd2VlcC10by1ib3R0b206YWN0aXZlOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7IH1cblxuLyogU3dlZXAgVG8gVG9wICovXG4uaHZyLXN3ZWVwLXRvLXRvcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAuaHZyLXN3ZWVwLXRvLXRvcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIC5odnItc3dlZXAtdG8tdG9wOmhvdmVyLCAuaHZyLXN3ZWVwLXRvLXRvcDpmb2N1cywgLmh2ci1zd2VlcC10by10b3A6YWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuaHZyLXN3ZWVwLXRvLXRvcDpob3ZlcjpiZWZvcmUsIC5odnItc3dlZXAtdG8tdG9wOmZvY3VzOmJlZm9yZSwgLmh2ci1zd2VlcC10by10b3A6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7IH1cblxuLyogQm91bmNlIFRvIFJpZ2h0ICovXG4uaHZyLWJvdW5jZS10by1yaWdodCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsgfVxuICAuaHZyLWJvdW5jZS10by1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIC5odnItYm91bmNlLXRvLXJpZ2h0OmhvdmVyLCAuaHZyLWJvdW5jZS10by1yaWdodDpmb2N1cywgLmh2ci1ib3VuY2UtdG8tcmlnaHQ6YWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuaHZyLWJvdW5jZS10by1yaWdodDpob3ZlcjpiZWZvcmUsIC5odnItYm91bmNlLXRvLXJpZ2h0OmZvY3VzOmJlZm9yZSwgLmh2ci1ib3VuY2UtdG8tcmlnaHQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTIsIDEuNjQsIDAuMzcsIDAuNjYpOyB9XG5cbi8qIEJvdW5jZSBUbyBMZWZ0ICovXG4uaHZyLWJvdW5jZS10by1sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOyB9XG4gIC5odnItYm91bmNlLXRvLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogIzIwOThEMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLWJvdW5jZS10by1sZWZ0OmhvdmVyLCAuaHZyLWJvdW5jZS10by1sZWZ0OmZvY3VzLCAuaHZyLWJvdW5jZS10by1sZWZ0OmFjdGl2ZSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmh2ci1ib3VuY2UtdG8tbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItYm91bmNlLXRvLWxlZnQ6Zm9jdXM6YmVmb3JlLCAuaHZyLWJvdW5jZS10by1sZWZ0OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTIsIDEuNjQsIDAuMzcsIDAuNjYpO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTsgfVxuXG4vKiBCb3VuY2UgVG8gQm90dG9tICovXG4uaHZyLWJvdW5jZS10by1ib3R0b20ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7IH1cbiAgLmh2ci1ib3VuY2UtdG8tYm90dG9tOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6ICMyMDk4RDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1ib3VuY2UtdG8tYm90dG9tOmhvdmVyLCAuaHZyLWJvdW5jZS10by1ib3R0b206Zm9jdXMsIC5odnItYm91bmNlLXRvLWJvdHRvbTphY3RpdmUge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5odnItYm91bmNlLXRvLWJvdHRvbTpob3ZlcjpiZWZvcmUsIC5odnItYm91bmNlLXRvLWJvdHRvbTpmb2N1czpiZWZvcmUsIC5odnItYm91bmNlLXRvLWJvdHRvbTphY3RpdmU6YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTtcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7IH1cblxuLyogQm91bmNlIFRvIFRvcCAqL1xuLmh2ci1ib3VuY2UtdG8tdG9wIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOyB9XG4gIC5odnItYm91bmNlLXRvLXRvcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIC5odnItYm91bmNlLXRvLXRvcDpob3ZlciwgLmh2ci1ib3VuY2UtdG8tdG9wOmZvY3VzLCAuaHZyLWJvdW5jZS10by10b3A6YWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuaHZyLWJvdW5jZS10by10b3A6aG92ZXI6YmVmb3JlLCAuaHZyLWJvdW5jZS10by10b3A6Zm9jdXM6YmVmb3JlLCAuaHZyLWJvdW5jZS10by10b3A6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTIsIDEuNjQsIDAuMzcsIDAuNjYpOyB9XG5cbi8qIFJhZGlhbCBPdXQgKi9cbi5odnItcmFkaWFsLW91dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2UxZTFlMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAuaHZyLXJhZGlhbC1vdXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogIzIwOThEMTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1yYWRpYWwtb3V0OmhvdmVyLCAuaHZyLXJhZGlhbC1vdXQ6Zm9jdXMsIC5odnItcmFkaWFsLW91dDphY3RpdmUge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5odnItcmFkaWFsLW91dDpob3ZlcjpiZWZvcmUsIC5odnItcmFkaWFsLW91dDpmb2N1czpiZWZvcmUsIC5odnItcmFkaWFsLW91dDphY3RpdmU6YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMik7IH1cblxuLyogUmFkaWFsIEluICovXG4uaHZyLXJhZGlhbC1pbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzIwOThEMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAuaHZyLXJhZGlhbC1pbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDIpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLXJhZGlhbC1pbjpob3ZlciwgLmh2ci1yYWRpYWwtaW46Zm9jdXMsIC5odnItcmFkaWFsLWluOmFjdGl2ZSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmh2ci1yYWRpYWwtaW46aG92ZXI6YmVmb3JlLCAuaHZyLXJhZGlhbC1pbjpmb2N1czpiZWZvcmUsIC5odnItcmFkaWFsLWluOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuXG4vKiBSZWN0YW5nbGUgSW4gKi9cbi5odnItcmVjdGFuZ2xlLWluIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOyB9XG4gIC5odnItcmVjdGFuZ2xlLWluOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6ICNlMWUxZTE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLXJlY3RhbmdsZS1pbjpob3ZlciwgLmh2ci1yZWN0YW5nbGUtaW46Zm9jdXMsIC5odnItcmVjdGFuZ2xlLWluOmFjdGl2ZSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmh2ci1yZWN0YW5nbGUtaW46aG92ZXI6YmVmb3JlLCAuaHZyLXJlY3RhbmdsZS1pbjpmb2N1czpiZWZvcmUsIC5odnItcmVjdGFuZ2xlLWluOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuXG4vKiBSZWN0YW5nbGUgT3V0ICovXG4uaHZyLXJlY3RhbmdsZS1vdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNlMWUxZTE7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7IH1cbiAgLmh2ci1yZWN0YW5nbGUtb3V0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6ICMyMDk4RDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLXJlY3RhbmdsZS1vdXQ6aG92ZXIsIC5odnItcmVjdGFuZ2xlLW91dDpmb2N1cywgLmh2ci1yZWN0YW5nbGUtb3V0OmFjdGl2ZSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmh2ci1yZWN0YW5nbGUtb3V0OmhvdmVyOmJlZm9yZSwgLmh2ci1yZWN0YW5nbGUtb3V0OmZvY3VzOmJlZm9yZSwgLmh2ci1yZWN0YW5nbGUtb3V0OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4vKiBTaHV0dGVyIEluIEhvcml6b250YWwgKi9cbi5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOyB9XG4gIC5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICNlMWUxZTE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbDpob3ZlciwgLmh2ci1zaHV0dGVyLWluLWhvcml6b250YWw6Zm9jdXMsIC5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmFjdGl2ZSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmh2ci1zaHV0dGVyLWluLWhvcml6b250YWw6aG92ZXI6YmVmb3JlLCAuaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbDpmb2N1czpiZWZvcmUsIC5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApOyB9XG5cbi8qIFNodXR0ZXIgT3V0IEhvcml6b250YWwgKi9cbi5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2UxZTFlMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAuaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogIzIwOThEMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIC5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbDpob3ZlciwgLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmZvY3VzLCAuaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6YWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6aG92ZXI6YmVmb3JlLCAuaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH1cblxuLyogU2h1dHRlciBJbiBWZXJ0aWNhbCAqL1xuLmh2ci1zaHV0dGVyLWluLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOyB9XG4gIC5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1zaHV0dGVyLWluLXZlcnRpY2FsOmhvdmVyLCAuaHZyLXNodXR0ZXItaW4tdmVydGljYWw6Zm9jdXMsIC5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDphY3RpdmUge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDpob3ZlcjpiZWZvcmUsIC5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDpmb2N1czpiZWZvcmUsIC5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDphY3RpdmU6YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTsgfVxuXG4vKiBTaHV0dGVyIE91dCBWZXJ0aWNhbCAqL1xuLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2UxZTFlMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICMyMDk4RDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmhvdmVyLCAuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmZvY3VzLCAuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmFjdGl2ZSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbDpob3ZlcjpiZWZvcmUsIC5odnItc2h1dHRlci1vdXQtdmVydGljYWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpOyB9XG5cbi8qIEJPUkRFUiBUUkFOU0lUSU9OUyAqL1xuLyogQm9yZGVyIEZhZGUgKi9cbi5odnItYm9yZGVyLWZhZGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICNlMWUxZTEsIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC8qIEhhY2sgdG8gaW1wcm92ZSBhbGlhc2luZyBvbiBtb2JpbGUvdGFibGV0IGRldmljZXMgKi8gfVxuICAuaHZyLWJvcmRlci1mYWRlOmhvdmVyLCAuaHZyLWJvcmRlci1mYWRlOmZvY3VzLCAuaHZyLWJvcmRlci1mYWRlOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICMyMDk4RDEsIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gICAgLyogSGFjayB0byBpbXByb3ZlIGFsaWFzaW5nIG9uIG1vYmlsZS90YWJsZXQgZGV2aWNlcyAqLyB9XG5cbi8qIEhvbGxvdyAqL1xuLmh2ci1ob2xsb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICNlMWUxZTEsIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC8qIEhhY2sgdG8gaW1wcm92ZSBhbGlhc2luZyBvbiBtb2JpbGUvdGFibGV0IGRldmljZXMgKi8gfVxuICAuaHZyLWhvbGxvdzpob3ZlciwgLmh2ci1ob2xsb3c6Zm9jdXMsIC5odnItaG9sbG93OmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4vKiBUcmltICovXG4uaHZyLXRyaW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmh2ci10cmltOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlcjogd2hpdGUgc29saWQgNHB4O1xuICAgIHRvcDogNHB4O1xuICAgIGxlZnQ6IDRweDtcbiAgICByaWdodDogNHB4O1xuICAgIGJvdHRvbTogNHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cbiAgLmh2ci10cmltOmhvdmVyOmJlZm9yZSwgLmh2ci10cmltOmZvY3VzOmJlZm9yZSwgLmh2ci10cmltOmFjdGl2ZTpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLyogUmlwcGxlIE91dCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1yaXBwbGUtb3V0IHtcbiAgMTAwJSB7XG4gICAgdG9wOiAtMTJweDtcbiAgICByaWdodDogLTEycHg7XG4gICAgYm90dG9tOiAtMTJweDtcbiAgICBsZWZ0OiAtMTJweDtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBodnItcmlwcGxlLW91dCB7XG4gIDEwMCUge1xuICAgIHRvcDogLTEycHg7XG4gICAgcmlnaHQ6IC0xMnB4O1xuICAgIGJvdHRvbTogLTEycHg7XG4gICAgbGVmdDogLTEycHg7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5odnItcmlwcGxlLW91dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaHZyLXJpcHBsZS1vdXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyOiAjZTFlMWUxIHNvbGlkIDZweDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7IH1cbiAgLmh2ci1yaXBwbGUtb3V0OmhvdmVyOmJlZm9yZSwgLmh2ci1yaXBwbGUtb3V0OmZvY3VzOmJlZm9yZSwgLmh2ci1yaXBwbGUtb3V0OmFjdGl2ZTpiZWZvcmUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1yaXBwbGUtb3V0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItcmlwcGxlLW91dDsgfVxuXG4vKiBSaXBwbGUgSW4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItcmlwcGxlLWluIHtcbiAgMTAwJSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGh2ci1yaXBwbGUtaW4ge1xuICAxMDAlIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5odnItcmlwcGxlLWluIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5odnItcmlwcGxlLWluOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlcjogI2UxZTFlMSBzb2xpZCA0cHg7XG4gICAgdG9wOiAtMTJweDtcbiAgICByaWdodDogLTEycHg7XG4gICAgYm90dG9tOiAtMTJweDtcbiAgICBsZWZ0OiAtMTJweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFzOyB9XG4gIC5odnItcmlwcGxlLWluOmhvdmVyOmJlZm9yZSwgLmh2ci1yaXBwbGUtaW46Zm9jdXM6YmVmb3JlLCAuaHZyLXJpcHBsZS1pbjphY3RpdmU6YmVmb3JlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItcmlwcGxlLWluO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItcmlwcGxlLWluOyB9XG5cbi8qIE91dGxpbmUgT3V0ICovXG4uaHZyLW91dGxpbmUtb3V0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5odnItb3V0bGluZS1vdXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyOiAjZTFlMWUxIHNvbGlkIDRweDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0OyB9XG4gIC5odnItb3V0bGluZS1vdXQ6aG92ZXI6YmVmb3JlLCAuaHZyLW91dGxpbmUtb3V0OmZvY3VzOmJlZm9yZSwgLmh2ci1vdXRsaW5lLW91dDphY3RpdmU6YmVmb3JlIHtcbiAgICB0b3A6IC04cHg7XG4gICAgcmlnaHQ6IC04cHg7XG4gICAgYm90dG9tOiAtOHB4O1xuICAgIGxlZnQ6IC04cHg7IH1cblxuLyogT3V0bGluZSBJbiAqL1xuLmh2ci1vdXRsaW5lLWluIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5odnItb3V0bGluZS1pbjpiZWZvcmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXI6ICNlMWUxZTEgc29saWQgNHB4O1xuICAgIHRvcDogLTE2cHg7XG4gICAgcmlnaHQ6IC0xNnB4O1xuICAgIGJvdHRvbTogLTE2cHg7XG4gICAgbGVmdDogLTE2cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQ7IH1cbiAgLmh2ci1vdXRsaW5lLWluOmhvdmVyOmJlZm9yZSwgLmh2ci1vdXRsaW5lLWluOmZvY3VzOmJlZm9yZSwgLmh2ci1vdXRsaW5lLWluOmFjdGl2ZTpiZWZvcmUge1xuICAgIHRvcDogLThweDtcbiAgICByaWdodDogLThweDtcbiAgICBib3R0b206IC04cHg7XG4gICAgbGVmdDogLThweDtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi8qIFJvdW5kIENvcm5lcnMgKi9cbi5odnItcm91bmQtY29ybmVycyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItcmFkaXVzO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItcmFkaXVzOyB9XG4gIC5odnItcm91bmQtY29ybmVyczpob3ZlciwgLmh2ci1yb3VuZC1jb3JuZXJzOmZvY3VzLCAuaHZyLXJvdW5kLWNvcm5lcnM6YWN0aXZlIHtcbiAgICBib3JkZXItcmFkaXVzOiAxZW07IH1cblxuLyogVW5kZXJsaW5lIEZyb20gTGVmdCAqL1xuLmh2ci11bmRlcmxpbmUtZnJvbS1sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5odnItdW5kZXJsaW5lLWZyb20tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6ICMyMDk4RDE7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiByaWdodDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiByaWdodDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci11bmRlcmxpbmUtZnJvbS1sZWZ0OmhvdmVyOmJlZm9yZSwgLmh2ci11bmRlcmxpbmUtZnJvbS1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci11bmRlcmxpbmUtZnJvbS1sZWZ0OmFjdGl2ZTpiZWZvcmUge1xuICAgIHJpZ2h0OiAwOyB9XG5cbi8qIFVuZGVybGluZSBGcm9tIENlbnRlciAqL1xuLmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBsZWZ0OiA1MSU7XG4gICAgcmlnaHQ6IDUxJTtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogIzIwOThEMTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLXVuZGVybGluZS1mcm9tLWNlbnRlcjpob3ZlcjpiZWZvcmUsIC5odnItdW5kZXJsaW5lLWZyb20tY2VudGVyOmZvY3VzOmJlZm9yZSwgLmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXI6YWN0aXZlOmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDsgfVxuXG4vKiBVbmRlcmxpbmUgRnJvbSBSaWdodCAqL1xuLmh2ci11bmRlcmxpbmUtZnJvbS1yaWdodCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaHZyLXVuZGVybGluZS1mcm9tLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgbGVmdDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogIzIwOThEMTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci11bmRlcmxpbmUtZnJvbS1yaWdodDpob3ZlcjpiZWZvcmUsIC5odnItdW5kZXJsaW5lLWZyb20tcmlnaHQ6Zm9jdXM6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1mcm9tLXJpZ2h0OmFjdGl2ZTpiZWZvcmUge1xuICAgIGxlZnQ6IDA7IH1cblxuLyogT3ZlcmxpbmUgRnJvbSBMZWZ0ICovXG4uaHZyLW92ZXJsaW5lLWZyb20tbGVmdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaHZyLW92ZXJsaW5lLWZyb20tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6ICMyMDk4RDE7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiByaWdodDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiByaWdodDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1vdmVybGluZS1mcm9tLWxlZnQ6aG92ZXI6YmVmb3JlLCAuaHZyLW92ZXJsaW5lLWZyb20tbGVmdDpmb2N1czpiZWZvcmUsIC5odnItb3ZlcmxpbmUtZnJvbS1sZWZ0OmFjdGl2ZTpiZWZvcmUge1xuICAgIHJpZ2h0OiAwOyB9XG5cbi8qIE92ZXJsaW5lIEZyb20gQ2VudGVyICovXG4uaHZyLW92ZXJsaW5lLWZyb20tY2VudGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5odnItb3ZlcmxpbmUtZnJvbS1jZW50ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBsZWZ0OiA1MSU7XG4gICAgcmlnaHQ6IDUxJTtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZDogIzIwOThEMTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLW92ZXJsaW5lLWZyb20tY2VudGVyOmhvdmVyOmJlZm9yZSwgLmh2ci1vdmVybGluZS1mcm9tLWNlbnRlcjpmb2N1czpiZWZvcmUsIC5odnItb3ZlcmxpbmUtZnJvbS1jZW50ZXI6YWN0aXZlOmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDsgfVxuXG4vKiBPdmVybGluZSBGcm9tIFJpZ2h0ICovXG4uaHZyLW92ZXJsaW5lLWZyb20tcmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmh2ci1vdmVybGluZS1mcm9tLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgbGVmdDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZDogIzIwOThEMTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1vdmVybGluZS1mcm9tLXJpZ2h0OmhvdmVyOmJlZm9yZSwgLmh2ci1vdmVybGluZS1mcm9tLXJpZ2h0OmZvY3VzOmJlZm9yZSwgLmh2ci1vdmVybGluZS1mcm9tLXJpZ2h0OmFjdGl2ZTpiZWZvcmUge1xuICAgIGxlZnQ6IDA7IH1cblxuLyogUmV2ZWFsICovXG4uaHZyLXJldmVhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaHZyLXJldmVhbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXItY29sb3I6ICMyMDk4RDE7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItd2lkdGg7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLXdpZHRoO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLXJldmVhbDpob3ZlcjpiZWZvcmUsIC5odnItcmV2ZWFsOmZvY3VzOmJlZm9yZSwgLmh2ci1yZXZlYWw6YWN0aXZlOmJlZm9yZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGJvcmRlci13aWR0aDogNHB4OyB9XG5cbi8qIFVuZGVybGluZSBSZXZlYWwgKi9cbi5odnItdW5kZXJsaW5lLXJldmVhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaHZyLXVuZGVybGluZS1yZXZlYWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xuICAgIGhlaWdodDogNHB4O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLXVuZGVybGluZS1yZXZlYWw6aG92ZXI6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1yZXZlYWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1yZXZlYWw6YWN0aXZlOmJlZm9yZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi8qIE92ZXJsaW5lIFJldmVhbCAqL1xuLmh2ci1vdmVybGluZS1yZXZlYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmh2ci1vdmVybGluZS1yZXZlYWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xuICAgIGhlaWdodDogNHB4O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIC5odnItb3ZlcmxpbmUtcmV2ZWFsOmhvdmVyOmJlZm9yZSwgLmh2ci1vdmVybGluZS1yZXZlYWw6Zm9jdXM6YmVmb3JlLCAuaHZyLW92ZXJsaW5lLXJldmVhbDphY3RpdmU6YmVmb3JlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLyogU0hBRE9XL0dMT1cgVFJBTlNJVElPTlMgKi9cbi8qIEdsb3cgKi9cbi5odnItZ2xvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93OyB9XG4gIC5odnItZ2xvdzpob3ZlciwgLmh2ci1nbG93OmZvY3VzLCAuaHZyLWdsb3c6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuXG4vKiBTaGFkb3cgKi9cbi5odnItc2hhZG93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7IH1cbiAgLmh2ci1zaGFkb3c6aG92ZXIsIC5odnItc2hhZG93OmZvY3VzLCAuaHZyLXNoYWRvdzphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAxMHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4vKiBHcm93IFNoYWRvdyAqL1xuLmh2ci1ncm93LXNoYWRvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3csIHRyYW5zZm9ybTsgfVxuICAuaHZyLWdyb3ctc2hhZG93OmhvdmVyLCAuaHZyLWdyb3ctc2hhZG93OmZvY3VzLCAuaHZyLWdyb3ctc2hhZG93OmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuXG4vKiBCb3ggU2hhZG93IE91dHNldCAqL1xuLmh2ci1ib3gtc2hhZG93LW91dHNldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93OyB9XG4gIC5odnItYm94LXNoYWRvdy1vdXRzZXQ6aG92ZXIsIC5odnItYm94LXNoYWRvdy1vdXRzZXQ6Zm9jdXMsIC5odnItYm94LXNoYWRvdy1vdXRzZXQ6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7IH1cblxuLyogQm94IFNoYWRvdyBJbnNldCAqL1xuLmh2ci1ib3gtc2hhZG93LWluc2V0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIHJnYmEoMCwgMCwgMCwgMC42KSwgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLyogSGFjayB0byBpbXByb3ZlIGFsaWFzaW5nIG9uIG1vYmlsZS90YWJsZXQgZGV2aWNlcyAqLyB9XG4gIC5odnItYm94LXNoYWRvdy1pbnNldDpob3ZlciwgLmh2ci1ib3gtc2hhZG93LWluc2V0OmZvY3VzLCAuaHZyLWJveC1zaGFkb3ctaW5zZXQ6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAycHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNiksIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gICAgLyogSGFjayB0byBpbXByb3ZlIGFsaWFzaW5nIG9uIG1vYmlsZS90YWJsZXQgZGV2aWNlcyAqLyB9XG5cbi8qIEZsb2F0IFNoYWRvdyAqL1xuLmh2ci1mbG9hdC1zaGFkb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgfVxuICAuaHZyLWZsb2F0LXNoYWRvdzpiZWZvcmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBjb250ZW50OiAnJztcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogNSU7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiA5MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UsIHJnYmEoMCwgMCwgMCwgMC4zNSkgMCUsIHRyYW5zcGFyZW50IDgwJSk7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCByZ2JhKDAsIDAsIDAsIDAuMzUpIDAlLCB0cmFuc3BhcmVudCA4MCUpO1xuICAgIC8qIFczQyAqL1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTsgfVxuICAuaHZyLWZsb2F0LXNoYWRvdzpob3ZlciwgLmh2ci1mbG9hdC1zaGFkb3c6Zm9jdXMsIC5odnItZmxvYXQtc2hhZG93OmFjdGl2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIC8qIG1vdmUgdGhlIGVsZW1lbnQgdXAgYnkgNXB4ICovIH1cbiAgICAuaHZyLWZsb2F0LXNoYWRvdzpob3ZlcjpiZWZvcmUsIC5odnItZmxvYXQtc2hhZG93OmZvY3VzOmJlZm9yZSwgLmh2ci1mbG9hdC1zaGFkb3c6YWN0aXZlOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xuICAgICAgLyogbW92ZSB0aGUgZWxlbWVudCBkb3duIGJ5IDVweCAoaXQgd2lsbCBzdGF5IGluIHBsYWNlIGJlY2F1c2UgaXQncyBhdHRhY2hlZCB0byB0aGUgZWxlbWVudCB0aGF0IGFsc28gbW92ZXMgdXAgNXB4KSAqLyB9XG5cbi8qIFNoYWRvdyBSYWRpYWwgKi9cbi5odnItc2hhZG93LXJhZGlhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaHZyLXNoYWRvdy1yYWRpYWw6YmVmb3JlLCAuaHZyLXNoYWRvdy1yYWRpYWw6YWZ0ZXIge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG4gIC5odnItc2hhZG93LXJhZGlhbDpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCg1MCUgMTUwJSwgZWxsaXBzZSwgcmdiYSgwLCAwLCAwLCAwLjYpIDAlLCB0cmFuc3BhcmVudCA4MCUpO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDUwJSAxNTAlLCByZ2JhKDAsIDAsIDAsIDAuNikgMCUsIHRyYW5zcGFyZW50IDgwJSk7IH1cbiAgLmh2ci1zaGFkb3ctcmFkaWFsOmFmdGVyIHtcbiAgICB0b3A6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoNTAlIC01MCUsIGVsbGlwc2UsIHJnYmEoMCwgMCwgMCwgMC42KSAwJSwgdHJhbnNwYXJlbnQgODAlKTtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA1MCUgLTUwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDAlLCB0cmFuc3BhcmVudCA4MCUpOyB9XG4gIC5odnItc2hhZG93LXJhZGlhbDpob3ZlcjpiZWZvcmUsIC5odnItc2hhZG93LXJhZGlhbDpmb2N1czpiZWZvcmUsIC5odnItc2hhZG93LXJhZGlhbDphY3RpdmU6YmVmb3JlLCAuaHZyLXNoYWRvdy1yYWRpYWw6aG92ZXI6YWZ0ZXIsIC5odnItc2hhZG93LXJhZGlhbDpmb2N1czphZnRlciwgLmh2ci1zaGFkb3ctcmFkaWFsOmFjdGl2ZTphZnRlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4vKiBTUEVFQ0ggQlVCQkxFUyAqL1xuLyogQnViYmxlIFRvcCAqL1xuLmh2ci1idWJibGUtdG9wIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5odnItYnViYmxlLXRvcDpiZWZvcmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgIHRvcDogMDtcbiAgICBib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZTFlMWUxIHRyYW5zcGFyZW50OyB9XG4gIC5odnItYnViYmxlLXRvcDpob3ZlcjpiZWZvcmUsIC5odnItYnViYmxlLXRvcDpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLXRvcDphY3RpdmU6YmVmb3JlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuXG4vKiBCdWJibGUgUmlnaHQgKi9cbi5odnItYnViYmxlLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5odnItYnViYmxlLXJpZ2h0OmJlZm9yZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRvcDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItd2lkdGg6IDEwcHggMCAxMHB4IDEwcHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZTFlMWUxOyB9XG4gIC5odnItYnViYmxlLXJpZ2h0OmhvdmVyOmJlZm9yZSwgLmh2ci1idWJibGUtcmlnaHQ6Zm9jdXM6YmVmb3JlLCAuaHZyLWJ1YmJsZS1yaWdodDphY3RpdmU6YmVmb3JlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cblxuLyogQnViYmxlIEJvdHRvbSAqL1xuLmh2ci1idWJibGUtYm90dG9tIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5odnItYnViYmxlLWJvdHRvbTpiZWZvcmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXItd2lkdGg6IDEwcHggMTBweCAwIDEwcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTFlMWUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5odnItYnViYmxlLWJvdHRvbTpob3ZlcjpiZWZvcmUsIC5odnItYnViYmxlLWJvdHRvbTpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLWJvdHRvbTphY3RpdmU6YmVmb3JlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cblxuLyogQnViYmxlIExlZnQgKi9cbi5odnItYnViYmxlLWxlZnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmh2ci1idWJibGUtbGVmdDpiZWZvcmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItd2lkdGg6IDEwcHggMTBweCAxMHB4IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZTFlMWUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5odnItYnViYmxlLWxlZnQ6aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1idWJibGUtbGVmdDphY3RpdmU6YmVmb3JlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuXG4vKiBCdWJibGUgRmxvYXQgVG9wICovXG4uaHZyLWJ1YmJsZS1mbG9hdC10b3Age1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgfVxuICAuaHZyLWJ1YmJsZS1mbG9hdC10b3A6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgY29udGVudDogJyc7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZTFlMWUxIHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgfVxuICAuaHZyLWJ1YmJsZS1mbG9hdC10b3A6aG92ZXIsIC5odnItYnViYmxlLWZsb2F0LXRvcDpmb2N1cywgLmh2ci1idWJibGUtZmxvYXQtdG9wOmFjdGl2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9XG4gICAgLmh2ci1idWJibGUtZmxvYXQtdG9wOmhvdmVyOmJlZm9yZSwgLmh2ci1idWJibGUtZmxvYXQtdG9wOmZvY3VzOmJlZm9yZSwgLmh2ci1idWJibGUtZmxvYXQtdG9wOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuXG4vKiBCdWJibGUgRmxvYXQgUmlnaHQgKi9cbi5odnItYnViYmxlLWZsb2F0LXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cbiAgLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4IDAgMTBweCAxMHB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2UxZTFlMTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cbiAgLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6aG92ZXIsIC5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmZvY3VzLCAuaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDphY3RpdmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gICAgLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cblxuLyogQnViYmxlIEZsb2F0IEJvdHRvbSAqL1xuLmh2ci1idWJibGUtZmxvYXQtYm90dG9tIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cbiAgLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMCAxMHB4O1xuICAgIGJvcmRlci1jb2xvcjogI2UxZTFlMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cbiAgLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmhvdmVyLCAuaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b206Zm9jdXMsIC5odnItYnViYmxlLWZsb2F0LWJvdHRvbTphY3RpdmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gICAgLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmhvdmVyOmJlZm9yZSwgLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmZvY3VzOmJlZm9yZSwgLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cblxuLyogQnViYmxlIEZsb2F0IExlZnQgKi9cbi5odnItYnViYmxlLWZsb2F0LWxlZnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgfVxuICAuaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRvcDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMTBweCAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2UxZTFlMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cbiAgLmh2ci1idWJibGUtZmxvYXQtbGVmdDpob3ZlciwgLmh2ci1idWJibGUtZmxvYXQtbGVmdDpmb2N1cywgLmh2ci1idWJibGUtZmxvYXQtbGVmdDphY3RpdmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAgIC5odnItYnViYmxlLWZsb2F0LWxlZnQ6aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1idWJibGUtZmxvYXQtbGVmdDphY3RpdmU6YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cblxuLyogSUNPTlMgKi9cbi8qIEljb24gQmFjayAqL1xuLmh2ci1pY29uLWJhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7IH1cbiAgLmh2ci1pY29uLWJhY2sgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLWljb24tYmFjazpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1iYWNrOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLWJhY2s6YWN0aXZlIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTRweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpOyB9XG5cbi8qIEljb24gRm9yd2FyZCAqL1xuLmh2ci1pY29uLWZvcndhcmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7IH1cbiAgLmh2ci1pY29uLWZvcndhcmQgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLWljb24tZm9yd2FyZDpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1mb3J3YXJkOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLWZvcndhcmQ6YWN0aXZlIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgfVxuXG4vKiBJY29uIERvd24gKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1kb3duIHtcbiAgMCUsXG4gIDUwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDI1JSxcbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOyB9IH1cblxuQGtleWZyYW1lcyBodnItaWNvbi1kb3duIHtcbiAgMCUsXG4gIDUwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDI1JSxcbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOyB9IH1cblxuLyogSWNvbiBEb3duICovXG4uaHZyLWljb24tZG93biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7IH1cbiAgLmh2ci1pY29uLWRvd24gLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cbiAgLmh2ci1pY29uLWRvd246aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tZG93bjpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1kb3duOmFjdGl2ZSAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWRvd247XG4gICAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWRvd247XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4vKiBJY29uIFVwICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tdXAge1xuICAwJSxcbiAgNTAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjUlLFxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLWljb24tdXAge1xuICAwJSxcbiAgNTAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjUlLFxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsgfSB9XG5cbi8qIEljb24gVXAgKi9cbi5odnItaWNvbi11cCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7IH1cbiAgLmh2ci1pY29uLXVwIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG4gIC5odnItaWNvbi11cDpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi11cDpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi11cDphY3RpdmUgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi11cDtcbiAgICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tdXA7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4vKiBJY29uIFNwaW4gKi9cbi5odnItaWNvbi1zcGluIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDsgfVxuICAuaHZyLWljb24tc3BpbiAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICAuaHZyLWljb24tc3Bpbjpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1zcGluOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLXNwaW46YWN0aXZlIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cblxuLyogSWNvbiBEcm9wICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tZHJvcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICA1MSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGh2ci1pY29uLWRyb3Age1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbiAgNTElLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLyogSWNvbiBEcm9wICovXG4uaHZyLWljb24tZHJvcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7IH1cbiAgLmh2ci1pY29uLWRyb3AgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cbiAgLmh2ci1pY29uLWRyb3A6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tZHJvcDpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1kcm9wOmFjdGl2ZSAuaHZyLWljb24ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tZHJvcDtcbiAgICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tZHJvcDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuM3M7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7IH1cblxuLyogSWNvbiBGYWRlICovXG4uaHZyLWljb24tZmFkZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7IH1cbiAgLmh2ci1pY29uLWZhZGUgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsgfVxuICAuaHZyLWljb24tZmFkZTpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1mYWRlOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLWZhZGU6YWN0aXZlIC5odnItaWNvbiB7XG4gICAgY29sb3I6ICMwRjlFNUU7IH1cblxuLyogSWNvbiBGbG9hdCBBd2F5ICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tZmxvYXQtYXdheSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xZW0pOyB9IH1cblxuQGtleWZyYW1lcyBodnItaWNvbi1mbG9hdC1hd2F5IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMWVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFlbSk7IH0gfVxuXG4vKiBJY29uIEZsb2F0IEF3YXkgKi9cbi5odnItaWNvbi1mbG9hdC1hd2F5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDsgfVxuICAuaHZyLWljb24tZmxvYXQtYXdheSAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuICAuaHZyLWljb24tZmxvYXQtYXdheTpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1mbG9hdC1hd2F5OmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLWZsb2F0LWF3YXk6YWN0aXZlIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tZmxvYXQtYXdheTtcbiAgICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tZmxvYXQtYXdheTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi8qIEljb24gU2luayBBd2F5ICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tc2luay1hd2F5IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxZW0pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxZW0pOyB9IH1cblxuQGtleWZyYW1lcyBodnItaWNvbi1zaW5rLWF3YXkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFlbSk7IH0gfVxuXG4vKiBJY29uIFNpbmsgQXdheSAqL1xuLmh2ci1pY29uLXNpbmstYXdheSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7IH1cbiAgLmh2ci1pY29uLXNpbmstYXdheSAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuICAuaHZyLWljb24tc2luay1hd2F5OmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLXNpbmstYXdheTpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1zaW5rLWF3YXk6YWN0aXZlIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tc2luay1hd2F5O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1zaW5rLWF3YXk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4vKiBJY29uIEdyb3cgKi9cbi5odnItaWNvbi1ncm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOyB9XG4gIC5odnItaWNvbi1ncm93IC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1pY29uLWdyb3c6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tZ3Jvdzpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1ncm93OmFjdGl2ZSAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHRyYW5zbGF0ZVooMCk7IH1cblxuLyogSWNvbiBTaHJpbmsgKi9cbi5odnItaWNvbi1zaHJpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7IH1cbiAgLmh2ci1pY29uLXNocmluayAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIC5odnItaWNvbi1zaHJpbms6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tc2hyaW5rOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLXNocmluazphY3RpdmUgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH1cblxuLyogSWNvbiBQdWxzZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXB1bHNlIHtcbiAgMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGh2ci1pY29uLXB1bHNlIHtcbiAgMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH0gfVxuXG4uaHZyLWljb24tcHVsc2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50OyB9XG4gIC5odnItaWNvbi1wdWxzZSAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1pY29uLXB1bHNlOmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLXB1bHNlOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLXB1bHNlOmFjdGl2ZSAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXB1bHNlO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wdWxzZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4vKiBJY29uIFB1bHNlIEdyb3cgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1wdWxzZS1ncm93IHtcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLWljb24tcHVsc2UtZ3JvdyB7XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH0gfVxuXG4uaHZyLWljb24tcHVsc2UtZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7IH1cbiAgLmh2ci1pY29uLXB1bHNlLWdyb3cgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIC5odnItaWNvbi1wdWxzZS1ncm93OmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLXB1bHNlLWdyb3c6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24tcHVsc2UtZ3JvdzphY3RpdmUgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wdWxzZS1ncm93O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wdWxzZS1ncm93O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7IH1cblxuLyogSWNvbiBQdWxzZSBTaHJpbmsgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1wdWxzZS1zaHJpbmsge1xuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9IH1cblxuQGtleWZyYW1lcyBodnItaWNvbi1wdWxzZS1zaHJpbmsge1xuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9IH1cblxuLmh2ci1pY29uLXB1bHNlLXNocmluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7IH1cbiAgLmh2ci1pY29uLXB1bHNlLXNocmluayAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1pY29uLXB1bHNlLXNocmluazpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1wdWxzZS1zaHJpbms6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24tcHVsc2Utc2hyaW5rOmFjdGl2ZSAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXB1bHNlLXNocmluaztcbiAgICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tcHVsc2Utc2hyaW5rO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7IH1cblxuLyogSWNvbiBQdXNoICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tcHVzaCB7XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpOyB9IH1cblxuQGtleWZyYW1lcyBodnItaWNvbi1wdXNoIHtcbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7IH0gfVxuXG4uaHZyLWljb24tcHVzaCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAuaHZyLWljb24tcHVzaCAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIC5odnItaWNvbi1wdXNoOmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLXB1c2g6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24tcHVzaDphY3RpdmUgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wdXNoO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wdXNoO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7IH1cblxuLyogSWNvbiBQb3AgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1wb3Age1xuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLWljb24tcG9wIHtcbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH0gfVxuXG4uaHZyLWljb24tcG9wIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOyB9XG4gIC5odnItaWNvbi1wb3AgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLWljb24tcG9wOmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLXBvcDpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1wb3A6YWN0aXZlIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tcG9wO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wb3A7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsgfVxuXG4vKiBJY29uIEJvdW5jZSAqL1xuLmh2ci1pY29uLWJvdW5jZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAuaHZyLWljb24tYm91bmNlIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1pY29uLWJvdW5jZTpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1ib3VuY2U6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24tYm91bmNlOmFjdGl2ZSAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMi4wMiwgMC4zMSwgLTAuMzYpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMi4wMiwgMC4zMSwgLTAuMzYpOyB9XG5cbi8qIEljb24gUm90YXRlICovXG4uaHZyLWljb24tcm90YXRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOyB9XG4gIC5odnItaWNvbi1yb3RhdGUgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLWljb24tcm90YXRlOmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLXJvdGF0ZTpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1yb3RhdGU6YWN0aXZlIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOyB9XG5cbi8qIEljb24gR3JvdyBSb3RhdGUgKi9cbi5odnItaWNvbi1ncm93LXJvdGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAuaHZyLWljb24tZ3Jvdy1yb3RhdGUgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICAuaHZyLWljb24tZ3Jvdy1yb3RhdGU6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tZ3Jvdy1yb3RhdGU6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24tZ3Jvdy1yb3RhdGU6YWN0aXZlIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSkgcm90YXRlKDEyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSkgcm90YXRlKDEyZGVnKTsgfVxuXG4vKiBJY29uIEZsb2F0ICovXG4uaHZyLWljb24tZmxvYXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7IH1cbiAgLmh2ci1pY29uLWZsb2F0IC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1pY29uLWZsb2F0OmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLWZsb2F0OmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLWZsb2F0OmFjdGl2ZSAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsgfVxuXG4vKiBJY29uIFNpbmsgKi9cbi5odnItaWNvbi1zaW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOyB9XG4gIC5odnItaWNvbi1zaW5rIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgLmh2ci1pY29uLXNpbms6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tc2luazpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1zaW5rOmFjdGl2ZSAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7IH1cblxuLyogSWNvbiBCb2IgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1ib2Ige1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLWljb24tYm9iIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tYm9iLWZsb2F0IHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOyB9IH1cblxuQGtleWZyYW1lcyBodnItaWNvbi1ib2ItZmxvYXQge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7IH0gfVxuXG4uaHZyLWljb24tYm9iIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOyB9XG4gIC5odnItaWNvbi1ib2IgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cbiAgLmh2ci1pY29uLWJvYjpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1ib2I6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24tYm9iOmFjdGl2ZSAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWJvYi1mbG9hdCwgaHZyLWljb24tYm9iO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1ib2ItZmxvYXQsIGh2ci1pY29uLWJvYjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHMsIC4zcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0LCBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7IH1cblxuLyogSWNvbiBIYW5nICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24taGFuZyB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOyB9IH1cblxuQGtleWZyYW1lcyBodnItaWNvbi1oYW5nIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24taGFuZy1zaW5rIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLWljb24taGFuZy1zaW5rIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsgfSB9XG5cbi5odnItaWNvbi1oYW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOyB9XG4gIC5odnItaWNvbi1oYW5nIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG4gIC5odnItaWNvbi1oYW5nOmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLWhhbmc6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24taGFuZzphY3RpdmUgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1oYW5nLXNpbmssIGh2ci1pY29uLWhhbmc7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWhhbmctc2luaywgaHZyLWljb24taGFuZztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHMsIC4zcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0LCBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7IH1cblxuLyogSWNvbiBXb2JibGUgSG9yaXpvbnRhbCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsIHtcbiAgMTYuNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOyB9XG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7IH1cbiAgNDkuOTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7IH1cbiAgODMuMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLWljb24td29iYmxlLWhvcml6b250YWwge1xuICAxNi42NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICA0OS45NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTsgfVxuICA4My4yNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOyB9XG4gIC5odnItaWNvbi13b2JibGUtaG9yaXpvbnRhbCAuaHZyLWljb24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgfVxuICAuaHZyLWljb24td29iYmxlLWhvcml6b250YWw6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24td29iYmxlLWhvcml6b250YWw6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24td29iYmxlLWhvcml6b250YWw6YWN0aXZlIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24td29iYmxlLWhvcml6b250YWw7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7IH1cblxuLyogSWNvbiBXb2JibGUgVmVydGljYWwgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi13b2JibGUtdmVydGljYWwge1xuICAxNi42NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsgfVxuICA0OS45NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgfVxuICA4My4yNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBodnItaWNvbi13b2JibGUtdmVydGljYWwge1xuICAxNi42NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsgfVxuICA0OS45NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgfVxuICA4My4yNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAuaHZyLWljb24td29iYmxlLXZlcnRpY2FsIC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG4gIC5odnItaWNvbi13b2JibGUtdmVydGljYWw6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24td29iYmxlLXZlcnRpY2FsOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDphY3RpdmUgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi13b2JibGUtdmVydGljYWw7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOyB9XG5cbi8qIEljb24gQnV6eiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWJ1enoge1xuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBodnItaWNvbi1idXp6IHtcbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsgfSB9XG5cbi5odnItaWNvbi1idXp6IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOyB9XG4gIC5odnItaWNvbi1idXp6IC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG4gIC5odnItaWNvbi1idXp6OmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLWJ1eno6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24tYnV6ejphY3RpdmUgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1idXp6O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1idXp6O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi8qIEljb24gQnV6eiBPdXQgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1idXp6LW91dCB7XG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpIHJvdGF0ZSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLWljb24tYnV6ei1vdXQge1xuICAxMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7IH0gfVxuXG4uaHZyLWljb24tYnV6ei1vdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7IH1cbiAgLmh2ci1pY29uLWJ1enotb3V0IC5odnItaWNvbiB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG4gIC5odnItaWNvbi1idXp6LW91dDpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1idXp6LW91dDpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1idXp6LW91dDphY3RpdmUgLmh2ci1pY29uIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1idXp6LW91dDtcbiAgICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tYnV6ei1vdXQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOyB9XG5cbi8qIENVUkxTICovXG4vKiBDdXJsIFRvcCBMZWZ0ICovXG4uaHZyLWN1cmwtdG9wLWxlZnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmh2ci1jdXJsLXRvcC1sZWZ0OmJlZm9yZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAvKiBJRTkgKi9cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB3aGl0ZSA0NSUsICNhYWEgNTAlLCAjY2NjIDU2JSwgd2hpdGUgODAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MCxzdGFydENvbG9yc3RyPScjZmZmZmZmJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAnKTtcbiAgICAvKkZvciBJRTctOC05Ki9cbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGJveC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsgfVxuICAuaHZyLWN1cmwtdG9wLWxlZnQ6aG92ZXI6YmVmb3JlLCAuaHZyLWN1cmwtdG9wLWxlZnQ6Zm9jdXM6YmVmb3JlLCAuaHZyLWN1cmwtdG9wLWxlZnQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4OyB9XG5cbi8qIEN1cmwgVG9wIFJpZ2h0ICovXG4uaHZyLWN1cmwtdG9wLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5odnItY3VybC10b3AtcmlnaHQ6YmVmb3JlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAvKiBJRTkgKi9cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjI1ZGVnLCB3aGl0ZSA0NSUsICNhYWEgNTAlLCAjY2NjIDU2JSwgd2hpdGUgODAlKTtcbiAgICBib3gtc2hhZG93OiAtMXB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0OyB9XG4gIC5odnItY3VybC10b3AtcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLWN1cmwtdG9wLXJpZ2h0OmZvY3VzOmJlZm9yZSwgLmh2ci1jdXJsLXRvcC1yaWdodDphY3RpdmU6YmVmb3JlIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7IH1cblxuLyogQ3VybCBCb3R0b20gUmlnaHQgKi9cbi5odnItY3VybC1ib3R0b20tcmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmh2ci1jdXJsLWJvdHRvbS1yaWdodDpiZWZvcmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIC8qIElFOSAqL1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzMTVkZWcsIHdoaXRlIDQ1JSwgI2FhYSA1MCUsICNjY2MgNTYlLCB3aGl0ZSA4MCUpO1xuICAgIGJveC1zaGFkb3c6IC0xcHggLTFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0OyB9XG4gIC5odnItY3VybC1ib3R0b20tcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLWN1cmwtYm90dG9tLXJpZ2h0OmZvY3VzOmJlZm9yZSwgLmh2ci1jdXJsLWJvdHRvbS1yaWdodDphY3RpdmU6YmVmb3JlIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7IH1cblxuLyogQ3VybCBCb3R0b20gTGVmdCAqL1xuLmh2ci1jdXJsLWJvdHRvbS1sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5odnItY3VybC1ib3R0b20tbGVmdDpiZWZvcmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgLyogSUU5ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB3aGl0ZSA0NSUsICNhYWEgNTAlLCAjY2NjIDU2JSwgd2hpdGUgODAlKTtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0OyB9XG4gIC5odnItY3VybC1ib3R0b20tbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItY3VybC1ib3R0b20tbGVmdDpmb2N1czpiZWZvcmUsIC5odnItY3VybC1ib3R0b20tbGVmdDphY3RpdmU6YmVmb3JlIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7IH1cblxuLmNocm9tZWZyYW1lIHtcbiAgbWFyZ2luOiAwLjJlbSAwO1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogMC4yZW0gMDsgfVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG5hLmRpc2FibGVkIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzIzNTI3YzsgfVxuXG5kaXYjZGFzaGJvYXJkLXBhbmVscyBhLmNvdXJzZS1saW5rLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qIEdsb2JhbGx5IGhpZGUgc2VjdGlvbnMgd2l0aCBtZXRhZGF0YSBmb3VuZCBpbiBpbXBvcnRlZCBjb3Vyc2UgZGVzY3JpcHRpb25zICovXG5zZWN0aW9uLm1ldGFkYXRhIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5mb290ZXIgZGl2LnNpbGx5LWZvb3Rlci1idXR0b25zIGltZyB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGhlaWdodDogODVweDsgfVxuXG4vKiogVG8gZWRpdCB0aGlzIGJhY2tncm91bmQsIGZvbGxvdyB0aGlzIGxpbms6XG5odHRwOi8vc3ZnZW5lcmF0aW9uLmNvbS9nZW5lcmF0ZS9HcmFwaC1QYXBlcj9zaXplPTI1JmJhY2tncm91bmQ9ZmZmZmZmJmxpbmVzPWNjY2NjYyZsaW5lLXdpZHRoPTEmdHVyYnVsZW5jZT0wLjA2JlxuKi9cbi5tYXRoLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MG5hSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY25JSGRwWkhSb1BTY3pNREFuSUdobGFXZG9kRDBuTXpBd0p5QjJhV1YzUW05NFBTY3dJREFnTXpBd0lETXdNQ2MrQ2drOFpHVm1jejRLQ1FrOGNHRjBkR1Z5YmlCcFpEMG5ZbXgxWlhOMGNtbHdaU2NnY0dGMGRHVnlibFZ1YVhSelBTZDFjMlZ5VTNCaFkyVlBibFZ6WlNjZ2VEMG5NQ2NnZVQwbk1DY2dkMmxrZEdnOUp6STFKeUJvWldsbmFIUTlKekkxSnlCMmFXVjNRbTk0UFNjd0lEQWdOVEFnTlRBbklENEtDUWs4Y21WamRDQjNhV1IwYUQwbk1URXdKU2NnYUdWcFoyaDBQU2N4TVRBbEp5Qm1hV3hzUFNjalptWm1abVptSnk4K0Nna0pDVHh3WVhSb0lHUTlKMDB4TERGb05UQjJOVEJvTFRVd2RpMDFNQ2NnWm1sc2JDMXZjR0ZqYVhSNVBTY3dKeUJ6ZEhKdmEyVXRkMmxrZEdnOUp6RW5JSE4wY205clpTMWtZWE5vWVhKeVlYazlKekFzTVN3eEp5QnpkSEp2YTJVOUp5TmpZMk5qWTJNbkx6NEtDUWs4TDNCaGRIUmxjbTQrSUFvSkNUeG1hV3gwWlhJZ2FXUTlKMloxZW5vbklIZzlKekFuSUhrOUp6QW5QZ29KQ1FrOFptVlVkWEppZFd4bGJtTmxJSFI1Y0dVOUozUjFjbUoxYkdWdVkyVW5JSEpsYzNWc2REMG5kQ2NnWW1GelpVWnlaWEYxWlc1amVUMG5MaklnTGpNbklHNTFiVTlqZEdGMlpYTTlKelVuSUhOMGFYUmphRlJwYkdWelBTZHpkR2wwWTJnbkx6NEtDUWtKUEdabFEyOXNiM0pOWVhSeWFYZ2dkSGx3WlQwbmMyRjBkWEpoZEdVbklHbHVQU2QwSnlCMllXeDFaWE05SnpBbkx6NEtDUWs4TDJacGJIUmxjajRLQ1R3dlpHVm1jejRLQ1R4eVpXTjBJSGRwWkhSb1BTY3hNREFsSnlCb1pXbG5hSFE5SnpFd01DVW5JR1pwYkd3OUozVnliQ2dqWW14MVpYTjBjbWx3WlNrbkx6NEtQSEpsWTNRZ2QybGtkR2c5SnpFd01DVW5JR2hsYVdkb2REMG5NVEF3SlNjZ1ptbHNkR1Z5UFNkMWNtd29JMloxZW5vcEp5QnZjR0ZqYVhSNVBTY3dMakEySnk4K0Nqd3ZjM1puUGdvPVwiKTsgfVxuXG4vKiBHZW5lcmljIHN0dWZmLiAqL1xuLnZlcnRpY2FsLWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuZGl2LmRlbGF5LXNwaW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgZGl2LmRlbGF5LXNwaW5uZXIgaSB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBjb2xvcjogI0U4RThFODsgfVxuXG4vKiBzaWduaW4gZm9ybSAtIGFsc28gYXBwbGllZCB0byBQYXNzd29yZCBjaGFuZ2UgZm9ybSAqL1xuLmZvcm0tc2lnbmluLFxuZm9ybSNwYXNzd29yZC1jaGFuZ2UtZm9ybSB7XG4gIG1heC13aWR0aDogMzMwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5mb3JtLXNpZ25pbiAuZm9ybS1zaWduaW4taGVhZGluZyxcbiAgZm9ybSNwYXNzd29yZC1jaGFuZ2UtZm9ybSAuZm9ybS1zaWduaW4taGVhZGluZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmZvcm0tc2lnbmluIC5mb3JtLWNvbnRyb2wsXG4gIGZvcm0jcGFzc3dvcmQtY2hhbmdlLWZvcm0gLmZvcm0tY29udHJvbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4xczsgfVxuICAuZm9ybS1zaWduaW4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgZm9ybSNwYXNzd29yZC1jaGFuZ2UtZm9ybSAuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICBwYWRkaW5nLXRvcDogMTNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTNweDsgfVxuICAuZm9ybS1zaWduaW4gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIC5mb3JtLXNpZ25pbiBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIGZvcm0jcGFzc3dvcmQtY2hhbmdlLWZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGZvcm0jcGFzc3dvcmQtY2hhbmdlLWZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4OyB9XG4gIC5mb3JtLXNpZ25pbiBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gIGZvcm0jcGFzc3dvcmQtY2hhbmdlLWZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi8qIGRvd25sb2FkIGljb25zICovXG4uZGwtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgNnB4IDAgNnB4OyB9XG4gIC5kbC1pY29uIGEgc3BhbiB7XG4gICAgZm9udC1zaXplOiA2MCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogTW9kYWxzICovXG4vKlxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI2Rhc2hib2FyZC1tZW51IC5tb2RhbC1kaWFsb2cge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbn1cbiovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjdXNlci1tZW51IC5tb2RhbC1kaWFsb2cge1xuICAgIHdpZHRoOiA0MCU7IH0gfVxuXG4vKiBSZXBvcnRzIHBhZ2UuICovXG50ZC5wcm9qZWN0LXRpdGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEyMCU7IH1cblxuZGl2I3Byb2plY3QtbGlzdC1ib2R5IHNwYW4ucmVwb3J0LWRhdGUge1xuICBmb250LXNpemU6IDcwJTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxudGFibGUjcHJvamVjdC1yZXBvcnQtdGFibGUgZGl2LmZpbGUtYmxvY2sge1xuICBtYXJnaW46IDFweCBhdXRvIDFweCBhdXRvO1xuICB3aWR0aDogODVweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG50YWJsZSNwcm9qZWN0LXJlcG9ydC10YWJsZSBidXR0b24ucmVwb3J0LXJlcXVlc3QtYnV0dG9uOm5vdChbZGlzYWJsZWRdKSBpLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxudGFibGUjcHJvamVjdC1yZXBvcnQtdGFibGUgYnV0dG9uLnJlcG9ydC1yZXF1ZXN0LWJ1dHRvbjpkaXNhYmxlZCBpLmluYWN0aXZlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBSZXBvcnQgcmVxdWVzdHMgaW4gY291cnNlcyBtb2RhbCAqL1xuZGl2I2NvdXJzZS1yZXBvcnRzLWJsb2NrIGgzIHtcbiAgbWFyZ2luLXRvcDogMHB4OyB9XG5cbmRpdiNjb3Vyc2UtcmVwb3J0cy1ibG9jayBhIHtcbiAgbWluLXdpZHRoOiAxNTBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbmRpdiNjb3Vyc2UtcmVwb3J0cy1ibG9jayBhLmRpc2FibGVkLWRvd25sb2FkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5kaXYjY291cnNlLXJlcG9ydHMtYmxvY2sgYnV0dG9uLmNvdXJzZS1yZXBvcnQtcmVxdWVzdC1idXR0b24ge1xuICBtaW4td2lkdGg6IDE1MHB4OyB9XG5cbi8qIEVtYWlsIGludml0YXRpb24gZm9ybS4gKi9cbi5mb3JtLWludml0YXRpb24tZW1haWwgLmZvcm0tYWN0aW9ucyBpbnB1dCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4vKiBNb2RhbCBmb3JtIGhlYWRlcnMgKi9cbmRpdi5tb2RhbC1oZWFkZXIgaDMge1xuICBtYXJnaW46IDVweCA1cHggNXB4IDhweDsgfVxuXG4vKiBQcm9maWxlIGVkaXQgZm9ybSAqL1xuZm9ybSNwcm9maWxlX2VkaXRfZm9ybSB7XG4gIG1hcmdpbjogMjBweDsgfVxuICBmb3JtI3Byb2ZpbGVfZWRpdF9mb3JtIGRpdi5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgZm9ybSNwcm9maWxlX2VkaXRfZm9ybSBkaXYuZm9ybS1ncm91cCBkaXYuY29udHJvbHMge1xuICAgICAgbWFyZ2luLXRvcDogNXB4OyB9XG4gICAgZm9ybSNwcm9maWxlX2VkaXRfZm9ybSBkaXYuZm9ybS1ncm91cCBkaXYjZGl2X2lkX3BhdHJvbnltaWNfbWlzc2luZyB7XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTMwcHg7IH1cbiAgICAgIGZvcm0jcHJvZmlsZV9lZGl0X2Zvcm0gZGl2LmZvcm0tZ3JvdXAgZGl2I2Rpdl9pZF9wYXRyb255bWljX21pc3NpbmcgZGl2LmNvbnRyb2xzIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XG4gICAgICAgIGZvcm0jcHJvZmlsZV9lZGl0X2Zvcm0gZGl2LmZvcm0tZ3JvdXAgZGl2I2Rpdl9pZF9wYXRyb255bWljX21pc3NpbmcgZGl2LmNvbnRyb2xzIGxhYmVsIGlucHV0LmNoZWNrYm94IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbi8qIE5ld3MgKi9cbi5uZXdzLWFydGljbGVzIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIC5uZXdzLWFydGljbGVzIC5saXN0LWdyb3VwLWl0ZW0gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5uZXdzLWFydGljbGVzIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbi8qIFBsYW4gYmFubmVycyAqL1xuZGl2LmRhc2hib2FyZC1wbGFuLWNhcmQtd3JhcHBlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG5kaXYuZGFzaGJvYXJkLXBsYW4tY2FyZC13cmFwcGVyIGE6OmJlZm9yZSB7XG4gIHotaW5kZXg6IDE7IH1cblxuZGl2LmRhc2hib2FyZC1wbGFuLWNhcmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2NXB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgbWFyZ2luLXRvcDogM3B4OyB9XG4gIGRpdi5kYXNoYm9hcmQtcGxhbi1jYXJkIHNwYW4uZml4dGV4dHBscyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmRpdi5kYXNoYm9hcmQtcGxhbi1jYXJkLXdyYXBwZXIgYTpob3ZlcixcbmRpdi5kYXNoYm9hcmQtcGxhbi1jYXJkLXdyYXBwZXIgYTphY3RpdmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZGl2LmRhc2hib2FyZC1wbGFuLWNhcmQtd3JhcHBlciAuZml4dGV4dHBscyB7XG4gIGNvbG9yOiBibGFjazsgfVxuXG4ucGxhbi1saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wbGFuLWJveC1jb2x1bW4ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5wbGFuLWJveCB7XG4gIGhlaWdodDogMjAwcHg7XG4gIHdpZHRoOiAyMzNweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5wbGFuLWJveCAucGFuZWwtYm9keSBoNCB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIG1hcmdpbi10b3A6IDEyN3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6IGJsYWNrOyB9XG5cbi5wbGFuLWhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnBsYW4taGVhZGVyIC5wbGFuLWltYWdlcyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNFOEU4RTg7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuICAucGxhbi1oZWFkZXIgLnBsYW4taW1hZ2VzIC5wcm9qZWN0LWxvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyNXB4O1xuICAgIHRvcDogMTBweDsgfVxuXG4ucGxhbi1oZWFkZXIgLnBsYW4taG93dG8ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MUMwREM7IH1cblxuLnBsYW4taGVhZGVyIC5wbGFuLWxvZ28ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucGxhbi1oZWFkZXIgLnBsYW4tbmFtZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjRThFOEU4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgZm9udC1zaXplOiAzMHB4OyB9XG5cbi5wbGFuLWhlYWRlciAucGxhbi1oZWxwLXJvdyB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLnBsYW4taGVhZGVyIC5wbGFuLWhvd3RvIHtcbiAgcGFkZGluZzogMTBweCA0MHB4IDMwcHggNDBweDsgfVxuICAucGxhbi1oZWFkZXIgLnBsYW4taG93dG8gLmdseXBoaWNvbiB7XG4gICAgZm9udC1zaXplOiAyMDAlOyB9XG5cbi5wbGFuLWhlYWRlciAucGxhbi1lbGVtZW50LWNvdW50IC5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5wbGFuLWhlYWRlciAucGxhbi1lbGVtZW50LWNvdW50IC5yb3cgLmVsZW1lbnQtY291bnQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAzMDAlOyB9XG4gIC5wbGFuLWhlYWRlciAucGxhbi1lbGVtZW50LWNvdW50IC5yb3cgLmVsZW1lbnQtY291bnQtbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDIwMCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnBsYW4taGVhZGVyIC5wbGFuLWVsZW1lbnQtY291bnQgdWwge1xuICBmb250LXNpemU6IDE1MCU7IH1cbiAgLnBsYW4taGVhZGVyIC5wbGFuLWVsZW1lbnQtY291bnQgdWwgbGkgc3Bhbi5lbGVtZW50LWNvdW50LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMjAwJTsgfVxuXG4ucGxhbi1oZWFkZXIgLnBsYW4tc3Vic2NyaXB0aW9uLXN0YXR1cy1yb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuaHIudGhpY2stc2VwYXJhdG9yIHtcbiAgaGVpZ2h0OiAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMnB4ICNFOEU4RTggc29saWQ7XG4gIG1hcmdpbjogNTBweCAwIDUwcHggMDsgfVxuXG5kaXYucGxhbi1lbGVtZW50cyAucGxhbi1lbGVtZW50cy1oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI0U4RThFODtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG5kaXYucGxhbi1lbGVtZW50cyAucGxhbi1lbGVtZW50LWJveCBkaXYuY291cnNlLW1ldGEgc3Bhbi5wbGFuLW5hbWUtYmFkZ2Uge1xuICBjb2xvcjogZ3JleTtcbiAgYm9yZGVyOiAxcHggI0U4RThFOCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbmRpdi5wbGFuLWVsZW1lbnRzIC5wbGFuLWVsZW1lbnQtYm94IGRpdi5jb3Vyc2UtYmxvY2stYmFubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIGRpdi5wbGFuLWVsZW1lbnRzIC5wbGFuLWVsZW1lbnQtYm94IGRpdi5jb3Vyc2UtYmxvY2stYmFubmVyIGltZy5pbWctcmVzcG9uc2l2ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0U4RThFODsgfVxuICBkaXYucGxhbi1lbGVtZW50cyAucGxhbi1lbGVtZW50LWJveCBkaXYuY291cnNlLWJsb2NrLWJhbm5lciAucGxhbi1jb250cm9sLWVsZW1lbnQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIGRpdi5wbGFuLWVsZW1lbnRzIC5wbGFuLWVsZW1lbnQtYm94IGRpdi5jb3Vyc2UtYmxvY2stYmFubmVyIC5wbGFuLWNvbnRyb2wtZWxlbWVudCBidXR0b24uYnRuLWxnIHtcbiAgICAgIHdpZHRoOiAxOTZweDsgfVxuICAgIGRpdi5wbGFuLWVsZW1lbnRzIC5wbGFuLWVsZW1lbnQtYm94IGRpdi5jb3Vyc2UtYmxvY2stYmFubmVyIC5wbGFuLWNvbnRyb2wtZWxlbWVudCBidXR0b24uc3Vic2NyaWJlZC1vbmx5OmRpc2FibGVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgZGl2LnBsYW4tZWxlbWVudHMgLnBsYW4tZWxlbWVudC1ib3ggZGl2LmNvdXJzZS1ibG9jay1iYW5uZXIgcC5wbGFuLWNvbnRyb2wtbWV0YSwgZGl2LnBsYW4tZWxlbWVudHMgLnBsYW4tZWxlbWVudC1ib3ggZGl2LmNvdXJzZS1ibG9jay1iYW5uZXIgcC5yZXF1aXJlZC1zdXJ2ZXktYWxlcnQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICBkaXYucGxhbi1lbGVtZW50cyAucGxhbi1lbGVtZW50LWJveCBkaXYuY291cnNlLWJsb2NrLWJhbm5lciBwLnJlcXVpcmVkLXN1cnZleS1hbGVydCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIGZvbnQtc2l6ZTogODUlOyB9XG5cbmRpdi5wbGFuLWVsZW1lbnRzIC5wbGFuLWVsZW1lbnQtYm94IGhyLmNob2ljZS1lbGVtZW50LXNlcGFyYXRvciB7XG4gIGhlaWdodDogMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDJweCAjRThFOEU4IGRhc2hlZDtcbiAgbWFyZ2luOiAxMHB4IDAgMTBweCAwOyB9XG5cbi5jb3Vyc2Utb3ZlcnZpZXcge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbmgzLmNvdXJzZS10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuYnV0dG9uLnNob3ctbG9uZy1vdmVydmlldyB7XG4gIHdpZHRoOiAxNTBweDsgfVxuICBidXR0b24uc2hvdy1sb25nLW92ZXJ2aWV3IGkuZmEge1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cblxuLyogQXZhaWxhYmxlIHBsYW5zIGxpc3QgKi9cbi5wbGFuLWxpc3QtbmFtZSB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi8qIHB1bGx0YWIgYnV0dG9ucyAqL1xuLnB1bGx0YWItY29ybmVyLWJ1dHRvbiB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDsgfVxuXG4ucHVsbHRhYi1yZWd1bGFyLWJ1dHRvbiB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi8qIFNpcnRyZXZvciBibG9ja3Mgc3R5bGluZyAqL1xuLmltYWdlLWJsb2NrIGltZyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zdC1ibG9jay1jb250cm9scyB7XG4gIGZvbnQtc2l6ZTogOTAlOyB9XG5cbi5mb3JtLWNyZWF0ZS1wcm9qZWN0LXBhZ2Uge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIEFscGFjYSBlbGVtZW50cyAqL1xuLmFscGFjYS1mb3JtLWJ1dHRvbnMtY29udGFpbmVyIGJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi5hbHBhY2EtZmllbGQgLmFscGFjYS1jb250cm9sLWxhYmVsIC5hbHBhY2EtaWNvbi1yZXF1aXJlZCB7XG4gIG1hcmdpbi1yaWdodDogNnB4OyB9XG5cbiNib3R0b20tcmVzdWx0LW1lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBEYXNoYm9hcmQgcGFuZWxzIGFuZCBlbGVtZW50cyAqL1xuLmRhc2gtdmVydGljYWwtYnV0dG9uIHtcbiAgd2lkdGg6IDIxMHB4OyB9XG5cbiNkYXNoYm9hcmQtcGFuZWxzIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7IH1cblxuZGl2I3N1cnZleS1hbGVydCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgZGl2I3N1cnZleS1hbGVydCB1bCNzdXJ2ZXktbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBkaXYjc3VydmV5LWFsZXJ0IHAuc3VydmV5LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuZGl2LmJ1dHRvbi1saXN0LWRlc2NyaXB0aW9uIHAge1xuICBtYXJnaW4tdG9wOiA3cHg7IH1cblxuLyogSW52aXRlIHRpY2tldCBmb3JtIGVsZW1lbnRzICovXG5mb3JtI3RpY2tldC1pbnB1dC1mb3JtIC5mb3JtLWNvbnRyb2wge1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuZm9ybSN0aWNrZXQtaW5wdXQtZm9ybSBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiN0aWNrZXQtY2hlY2stcmVzdWx0IHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5zcGFuLnRpY2tldC1hY3Rpdml0eS1sb2cge1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6IGdyZXk7IH1cblxuLyogU2Nob29sIHJlcG9ydCAqL1xudWwuY2VsbC1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbC50aWNrZXQtYWN0aXZpdHktbG9nIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4vKiBUeXBlYWhlYWQgc3R5bGVzLiAqL1xuLnR0LWhpZ2hsaWdodCB7XG4gIGNvbG9yOiBvcmFuZ2VyZWQ7IH1cblxuLyogdGlja2V0IGZvcm0gZWxlbWVudHMgKi9cbmRpdiNlbWFpbC1pbnB1dC1ibG9jayBkaXYjZW1haWwtcmVzdWx0LW1lc3NhZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmkuZ3JlZW4tY2hlY2stbWFyayB7XG4gIGNvbG9yOiBncmVlbjsgfVxuXG4vKiBhZG1pbiB0aWNrZXQgZ2VuZXJhdG9yIGZvcm0gKi9cbmZvcm0jdXNlci10aWNrZXQtZ2VuZXJhdGUtZm9ybSBpbnB1dCB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbmZvcm0jdXNlci10aWNrZXQtZ2VuZXJhdGUtZm9ybSBidXR0b24ge1xuICBtYXJnaW4tbGVmdDogMTVweDsgfVxuXG5kaXYjdXNlci1pbnZpdGUtdGlja2V0LXJlc3BvbnNlIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4vKiBBY2NvcmRpb24gaGFuZGxpbmc6IHdpZGUgbGlua3MgKi9cbi5wYW5lbC1ncm91cCNhY2NvcmRpb24gLnBhbmVsLWhlYWRpbmcge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5wYW5lbC1ncm91cCNhY2NvcmRpb24gLnBhbmVsLWhlYWRpbmcgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAxNXB4OyB9XG5cbi8qIEVtYWlsIHRpY2tldCB0byB1c2VycyBmcm9tIHNjaG9vbCB1aTogZWxlbWVudHMgKi9cbmRpdiNzZW5kLXRpY2tldC1ieS1tYWlsIGRpdiNlbWFpbC1yZXN1bHQtbWVzc2FnZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGl2LnRpY2tldC1yZXBseS1hbGVydCBkaXYge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGRpdi50aWNrZXQtcmVwbHktYWxlcnQgZGl2IGEge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKiBTdHVkZW50IGNvdXJzZSBsaXN0cyAqL1xuZGl2LmNvdXJzZS1pbmZvLWJveCB7XG4gIG1pbi1oZWlnaHQ6IDIxMHB4OyB9XG5cbmRpdi5jb3Vyc2UtaW5mby1ib3ggLmNvdXJzZS1saXN0LWl0ZW0ge1xuICBwYWRkaW5nOiAyMHB4IDEwcHggMjBweCAxMHB4OyB9XG5cbmRpdi5jb3Vyc2UtaW5mby1ib3ggZGl2LmNvdXJzZS1tZXRhIHtcbiAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cblxuZGl2LmNvdXJzZS1pbmZvLWJveCBkaXYuY291cnNlLWltYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG5kaXYuY291cnNlLWRhdGEtbWV0YSB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogZ3JleTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBkaXYuY291cnNlLWRhdGEtbWV0YSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFNlcGFyYXRvciEgKi9cbi5saW5lLXNlcGFyYXRvciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBibGFjaztcbiAgbWFyZ2luOiAxZW0gMCAxLjVlbTsgfVxuXG4ubGluZS1zZXBhcmF0b3I6Zmlyc3QtbGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5saW5lLXNlcGFyYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcYTBcXGEwXFxhMFwiOyB9XG5cbi5saW5lLXNlcGFyYXRvcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxhMFxcYTBcXGEwXCI7IH1cblxuLnBsYW5faXRlbV9hY3Rpb25fcm93IHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4vKiBwcm9qZWN0IHBsYW5zIGxpc3QqL1xudWwucHJvamVjdC1wbGFucy1saXN0IGRpdi5tZWRpYS1ib2R5IHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG5cbnVsLnByb2plY3QtcGxhbnMtbGlzdCBpbWcubWVkaWEtb2JqZWN0IHtcbiAgYm9yZGVyOiAycHggc29saWQgI0U4RThFODsgfVxuXG5kaXYjbWFzcy1tYWlsLXByZXZpZXcgZGl2I3RleHQtcHJldmlldyBwcmUge1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDExMCU7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuZGl2I21hc3MtbWFpbC1lZGl0b3IgZGl2LmVtcHR5LXNlYXJjaCB7XG4gIG1hcmdpbjogMTBweDsgfVxuXG5kaXYjbWFpbC1mb3JtLWJ1dHRvbnMgLmJ0biB7XG4gIG1hcmdpbjogMC4xZW0gIWltcG9ydGFudDsgfVxuIl19 */

                /* Move down content because we have a fixed navbar that is 50px tall */
                body {
                    padding-top: 55px;
                    padding-bottom: 20px;
                }
            
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRtcDhSUk8zUCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO2dCQUNnQix1RUFBdUU7Z0JBQ3ZFO29CQUNJLGlCQUFpQjtvQkFDakIsb0JBQW9CO2dCQUN4QiIsImZpbGUiOiJ0bXBIaGZCYzMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgICAgICAgICAgICAgLyogTW92ZSBkb3duIGNvbnRlbnQgYmVjYXVzZSB3ZSBoYXZlIGEgZml4ZWQgbmF2YmFyIHRoYXQgaXMgNTBweCB0YWxsICovXG4gICAgICAgICAgICAgICAgYm9keSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAiXX0= */
div.st-block-controls {
  font-size: 80%; }

div.st-outer {
  font-size: 14px; }

.st-block input[type="number"] {
  font-size: inherit;
  margin: 0;
  padding: 0.3em 0; }

.st-block input[type="number"],
.st-block input[type="number"]:active,
.st-block input[type="number"]:focus {
  outline: none;
  border: none; }

.st-block input[type="number"],
.st-block input[type="number"]:active,
.st-block input[type="number"]:focus {
  color: #42474b;
  border: 0.1em solid #d4d4d4;
  padding: .6em; }

div.content-block.projectnews-block .list-group-item {
  border: none; }

.sirtrevor-row {
  overflow: hidden;
  height: auto;
  display: flex;
  flex-flow: row; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRtcFZub192YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGNBQWMsRUFBRTs7QUFFbEI7RUFDRSxlQUFlLEVBQUU7O0FBRW5CO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxnQkFBZ0IsRUFBRTs7QUFFcEI7OztFQUdFLGFBQWE7RUFDYixZQUFZLEVBQUU7O0FBRWhCOzs7RUFHRSxjQUFjO0VBQ2QsMkJBQTJCO0VBQzNCLGFBQWEsRUFBRTs7QUFFakI7RUFDRSxZQUFZLEVBQUU7O0FBRWhCO0VBQ0UsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixhQUFhO0VBQ2IsY0FBYyxFQUFFIiwiZmlsZSI6InRtcHdYaDJWTy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJkaXYuc3QtYmxvY2stY29udHJvbHMge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5kaXYuc3Qtb3V0ZXIge1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLnN0LWJsb2NrIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4zZW0gMDsgfVxuXG4uc3QtYmxvY2sgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi5zdC1ibG9jayBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbi5zdC1ibG9jayBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5zdC1ibG9jayBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnN0LWJsb2NrIGlucHV0W3R5cGU9XCJudW1iZXJcIl06YWN0aXZlLFxuLnN0LWJsb2NrIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMge1xuICBjb2xvcjogIzQyNDc0YjtcbiAgYm9yZGVyOiAwLjFlbSBzb2xpZCAjZDRkNGQ0O1xuICBwYWRkaW5nOiAuNmVtOyB9XG5cbmRpdi5jb250ZW50LWJsb2NrLnByb2plY3RuZXdzLWJsb2NrIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXI6IG5vbmU7IH1cblxuLnNpcnRyZXZvci1yb3cge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93OyB9XG4iXX0= */