/*!*******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/fonts/open-sans.css ***!
  \*******************************************************************************************************************/
/* OPEN SANS ================================================================ */

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url(/build/fonts/open-sans-v18-latin-regular.f57a62e9.woff2) format('woff2'),
       url(/build/fonts/open-sans-v18-latin-regular.347639ec.woff) format('woff'),
       url(/build/fonts/open-sans-v18-latin-regular.cf6a3454.ttf) format('truetype');
}
/* open-sans-italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: local(''),
       url(/build/fonts/open-sans-v18-latin-italic.bb915319.woff2) format('woff2'),
       url(/build/fonts/open-sans-v18-latin-italic.56bdf847.woff) format('woff'),
       url(/build/fonts/open-sans-v18-latin-italic.5b8c0a0a.ttf) format('truetype');
}
/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local(''),
       url(/build/fonts/open-sans-v18-latin-600.95264708.woff2) format('woff2'),
       url(/build/fonts/open-sans-v18-latin-600.7e06644b.woff) format('woff'),
       url(/build/fonts/open-sans-v18-latin-600.3f76b060.ttf) format('truetype');
}
/* open-sans-600italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: local(''),
       url(/build/fonts/open-sans-v18-latin-600italic.cc4bf5b2.woff2) format('woff2'),
       url(/build/fonts/open-sans-v18-latin-600italic.8d513ad9.woff) format('woff'),
       url(/build/fonts/open-sans-v18-latin-600italic.ba14fc99.ttf) format('truetype');
}
/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url(/build/fonts/open-sans-v18-latin-700.92425c62.woff2) format('woff2'),
       url(/build/fonts/open-sans-v18-latin-700.f24f4bce.woff) format('woff'),
       url(/build/fonts/open-sans-v18-latin-700.eea87f9e.ttf) format('truetype');
}
/* open-sans-700italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: local(''),
       url(/build/fonts/open-sans-v18-latin-700italic.2a0783bd.woff2) format('woff2'),
       url(/build/fonts/open-sans-v18-latin-700italic.e961bdb4.woff) format('woff'),
       url(/build/fonts/open-sans-v18-latin-700italic.86dc6a4c.ttf) format('truetype');
}
/* open-sans-800 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: local(''),
       url(/build/fonts/open-sans-v18-latin-800.1666787e.woff2) format('woff2'),
       url(/build/fonts/open-sans-v18-latin-800.8ab0bbdd.woff) format('woff'),
       url(/build/fonts/open-sans-v18-latin-800.975add52.ttf) format('truetype');
}
/* open-sans-800italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 800;
  src: local(''),
       url(/build/fonts/open-sans-v18-latin-800italic.b5bc2661.woff2) format('woff2'),
       url(/build/fonts/open-sans-v18-latin-800italic.3d3bd083.woff) format('woff'),
       url(/build/fonts/open-sans-v18-latin-800italic.b4f9db9b.ttf) format('truetype');
}

/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/00-config.css ***!
  \*************************************************************************************************************************************/
:root {
    --font-default: Open Sans, system-ui, -apple-system, "Segoe UI", Roboto;
    --font-primary: Open Sans;
    --font-secondary: Arial;
    --color-primary: #5b8c3a;
    --color-primary-accent: #7a6960;
    --color-secondary: #F4B84A;
    --color-secondary-accent: #ffffff;
    --color-brand: #5b8c3a;
    --color-default: #212529;
}

/** @ToDo: Farben aus den eigenen Styles rausnehmen und an Bootstrap halten */
:root {
    --bs-primary: #5b8c3a;
    --bs-secondary: #F4B84A;
    --bs-success: #4CAF50;
    --bs-info: #17A2B8;
    --bs-warning: #FFC107;
    --bs-danger: #DC3545;
    --bs-light: #F8F9FA;
    --bs-dark: #212529;

    --bs-body-font-family: 'Open Sans', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./tenants/sg_floss/assets/styles/00-main.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
:root {
  --contrast-color: color-mix(in srgb, var(--color-secondary), transparent 97%);
  scroll-behavior: smooth;
}

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
  color: var(--color-default);
  background-color: var(--color-secondary-accent);
  font-family: var(--font-default);
}

a {
  color: var(--color-secondary);
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  color: color-mix(in srgb, var(--color-secondary), transparent 25%);
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--color-primary);
  font-family: var(--font-default);
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  overflow: hidden;
  background: var(--color-secondary-accent);
  transition: all 0.6s ease-out;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #ffffff;
  border-color: var(--color-secondary) transparent var(--color-secondary) transparent;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: animate-preloader 1.5s linear infinite;
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*--------------------------------------------------------------
# Scroll Top Button
--------------------------------------------------------------*/
.scroll-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 99999;
  background-color: var(--color-secondary);
  width: 40px;
  height: 40px;
  border-radius: 4px;
  transition: all 0.4s;
}
.scroll-top:hover {
  background-color: color-mix(in srgb, var(--color-secondary), transparent 20%);
  color: var(--color-secondary-accent);
}
.scroll-top.active {
  visibility: visible;
  opacity: 1;
}
.scroll-top i {
  font-size: 24px;
  color: var(--color-secondary-accent);
  line-height: 0;
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}
/*--------------------------------------------------------------
# Global Sections
--------------------------------------------------------------*/
section, .section {
  color: var(--color-default);
  background-color: var(--color-secondary-accent);
  padding: 30px 0;
  scroll-margin-top: 90px;
  overflow: clip;
}
section:nth-child(odd), .section:nth-child(odd) {
  background-color: color-mix(in srgb, var(--color-secondary), transparent 97%);
}

.page-title.section-sticky {
  position: sticky;
  top: 90px;
  z-index: 100;
  padding-bottom: 5rem;
}

@media (max-width: 1199px) {
  section,
  .section {
    scroll-margin-top: 66px;
  }
  .page-title.section-sticky {
    top: 65px;
    padding-bottom: 2rem;
  }
}
main#article section {
  padding-top: 0;
}

/*--------------------------------------------------------------
# Global Section Titles
--------------------------------------------------------------*/
.section-title {
  text-align: center;
  padding-bottom: 60px;
  position: relative;
}

.section-title h2 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 20px;
  position: relative;
}

.section-title h2:after {
  content: "";
  position: absolute;
  display: block;
  width: 50px;
  height: 3px;
  background: var(--color-secondary);
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.section-title p {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Global Section Titles
--------------------------------------------------------------*/
.btn.btn-secondary {
  background-color: var(--color-secondary);
  border-color: color-mix(in srgb, var(--color-secondary), transparent 25%);
}

.btn.btn-secondary:active,
.btn.btn-secondary:hover {
  background-color: color-mix(in srgb, var(--color-secondary), transparent 25%);
  border-color: var(--color-secondary);
}

.btn.btn-primary {
  background-color: var(--color-primary);
  border-color: color-mix(in srgb, var(--color-primary), transparent 25%);
  border: 0;
  font-size: 16px;
  padding: 0.5rem 1.5rem;
  margin: -7px -8px -7px 0;
  color: var(--color-secondary-accent);
  transition: 0.3s;
}

.btn.btn-primary:active,
.btn.btn-primary:hover {
  background-color: color-mix(in srgb, var(--color-primary), transparent 25%);
  border-color: var(--color-primary);
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--bs-primary);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--bs-primary);
  --bs-gradient: none;
}
/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/01-footer.css ***!
  \*************************************************************************************************************************************/
/*--------------------------------------------------------------
# Global Footer
--------------------------------------------------------------*/
.footer {
  background-color: var(--color-secondary-accent);
  font-size: 14px;
  padding-bottom: 50px;
  position: relative;
}

.footer .footer-top {
  padding-top: 50px;
  border-top: 1px solid color-mix(in srgb, var(--color-default), transparent 90%);
}

.footer .social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--color-default), transparent 50%);
  font-size: 16px;
  color: color-mix(in srgb, var(--color-default), transparent 20%);
  margin-right: 10px;
  transition: 0.3s;
}

.footer .social-links a:hover {
  color: var(--color-secondary);
  border-color: var(--color-secondary);
}

.footer h4 {
  font-size: 16px;
  font-weight: bold;
  position: relative;
  padding-bottom: 12px;
}

.footer .footer-links {
  margin-bottom: 30px;
}

.footer .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer .footer-links ul i {
  margin-right: 3px;
  font-size: 12px;
  line-height: 0;
  color: var(--color-secondary);
}

.footer .footer-links ul li {
  padding: 10px 0;
  display: flex;
  align-items: center;
}

.footer .footer-links ul li:first-child {
  padding-top: 0;
}

.footer .footer-links ul a {
  display: inline-block;
  color: color-mix(in srgb, var(--color-default), transparent 20%);
  line-height: 1;
}

.footer .footer-links ul a:hover {
  color: var(--color-secondary);
}

.footer .footer-about a {
  color: var(--color-default);
  font-size: 24px;
  font-weight: 400;
  font-family: var(--font-default);
}

.footer .footer-contact p {
  margin-bottom: 5px;
}

.footer .copyright {
  padding-top: 25px;
  padding-bottom: 25px;
  border-top: 1px solid color-mix(in srgb, var(--color-default), transparent 90%);
}

.footer .copyright p {
  margin-bottom: 0;
}

.footer .credits {
  margin-top: 6px;
  font-size: 13px;
}

@media (max-width: 639px) {
  .footer .footer-top {
    padding-top: 0;
  }
  .footer .col-sm-12 {
    margin-top: 2rem;
  }
}

/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/01-header.css ***!
  \*************************************************************************************************************************************/
/*--------------------------------------------------------------
# Global Header
--------------------------------------------------------------*/
.header {
  color: var(--color-default);
  background-color: var(--color-secondary-accent);
  padding: 15px 0;
  transition: all 0.5s;
  z-index: 997;
  box-shadow: 0px 0 15px color-mix(in srgb, var(--color-default), transparent 90%);
}

.header .logo {
  line-height: 1;
}

.header .logo img {
  max-height: 36px;
  margin-right: 8px;
}

.header .logo h1 {
  font-size: 30px;
  margin: 0;
  font-weight: 400;
  letter-spacing: 2px;
  color: var(--color-primary);
}

.header .btn-getstarted,
.header .btn-getstarted:focus {
  color: var(--color-secondary-accent);
  background: var(--color-secondary);
  font-size: 14px;
  padding: 8px 25px;
  margin: 0 0 0 30px;
  border-radius: 50px;
  transition: 0.3s;
}

.header .btn-getstarted:hover,
.header .btn-getstarted:focus:hover {
  color: var(--color-secondary-accent);
  background: color-mix(in srgb, var(--color-secondary), transparent 15%);
}

@media (max-width: 1200px) {
  .header .logo {
    order: 1;
  }

  .header .btn-getstarted {
    order: 2;
    margin: 0 15px 0 0;
    padding: 6px 15px;
  }

  .header .navmenu {
    order: 3;
  }
}

/*!*****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/01-navigation.css ***!
  \*****************************************************************************************************************************************/
/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/* Navmenu - Desktop */
@media (min-width: 1200px) {
  .navmenu {
    padding: 0;
  }

  .navmenu ul {
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;
    align-items: center;
  }

  .navmenu li {
    position: relative;
  }

  .navmenu a,
  .navmenu a:focus {
    color: var(--color-default);
    padding: 18px 15px;
    font-size: 16px;
    font-family: var(--font-default);
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
  }

  .navmenu a i,
  .navmenu a:focus i {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
    transition: 0.3s;
  }

  .navmenu li:last-child a {
    padding-right: 0;
  }

  .navmenu li:hover>a,
  .navmenu .active,
  .navmenu .active:focus {
    color: var(--color-primary);
  }

  .navmenu .dropdown ul {
    margin: 0;
    padding: 10px 0;
    background: var(--nav-dropdown-background-color);
    display: block;
    position: absolute;
    visibility: hidden;
    left: 14px;
    top: 130%;
    opacity: 0;
    transition: 0.3s;
    border-radius: 4px;
    z-index: 99;
    box-shadow: 0px 0px 30px color-mix(in srgb, var(--color-default), transparent 85%);
  }

  .navmenu .dropdown ul li {
    min-width: 200px;
  }

  .navmenu .dropdown ul a {
    padding: 10px 20px;
    font-size: 15px;
    text-transform: none;
    color: var(--nav-dropdown-color);
  }

  .navmenu .dropdown ul a i {
    font-size: 12px;
  }

  .navmenu .dropdown ul a:hover,
  .navmenu .dropdown ul a:hover,
  .navmenu .dropdown ul .active:hover,
  .navmenu .dropdown ul li:hover>a {
    color: var(--nav-dropdown-hover-color);
  }

  .navmenu .dropdown:hover>ul {
    opacity: 1;
    top: 100%;
    visibility: visible;
  }

  .navmenu .dropdown .dropdown ul {
    top: 0;
    left: -90%;
    visibility: hidden;
  }

  .navmenu .dropdown .dropdown:hover>ul {
    opacity: 1;
    top: 0;
    left: -100%;
    visibility: visible;
  }
  
  .navmenu ul.dropdown-menu,
  .navmenu ul.dropdown-menu li  {
    background-color: var(--color-secondary-accent);
  }
  
  
  .navmenu .dropdown-toggle:active,
  .navmenu .dropdown-toggle:hover,
  .navmenu ul.dropdown-menu li:hover,
  .navmenu ul.dropdown-menu li.active,
  .navmenu ul.dropdown-menu li.active :hover,
  .navmenu ul.dropdown-menu li:hover>a {
    color: var(--color-primary);
  }
}

/* Navmenu - Mobile */
@media (max-width: 1199px) {
  .mobile-nav-toggle {
    color: var(--color-default);
    font-size: 28px;
    line-height: 0;
    margin-right: 10px;
    cursor: pointer;
    transition: color 0.3s;
  }

  .navmenu {
    padding: 0;
    z-index: 9997;
  }

  .navmenu ul {
    display: none;
    position: absolute;
    inset: 60px 20px 20px 20px;
    padding: 10px 0;
    margin: 0;
    border-radius: 6px;
    background-color: var(--nav-dropdown-background-color);
    border: 1px solid color-mix(in srgb, var(--color-default), transparent 90%);
    box-shadow: 0px 0px 30px color-mix(in srgb, var(--color-default), transparent 90%);
    overflow-y: auto;
    transition: 0.3s;
    z-index: 9998;
  }

  .navmenu a,
  .navmenu a:focus {
    color: var(--nav-dropdown-color);
    padding: 10px 20px;
    font-family: var(--font-default);
    font-size: 17px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
  }

  .navmenu a i,
  .navmenu a:focus i {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: 0.3s;
    background-color: color-mix(in srgb, var(--color-secondary), transparent 90%);
  }

  .navmenu a i:hover,
  .navmenu a:focus i:hover {
    background-color: var(--color-secondary);
    color: var(--color-secondary-accent);
  }

  .navmenu a:hover,
  .navmenu .active,
  .navmenu .active:focus {
    color: var(--nav-dropdown-hover-color);
  }

  .navmenu .active i,
  .navmenu .active:focus i {
    background-color: var(--color-secondary);
    color: var(--color-secondary-accent);
    transform: rotate(180deg);
  }

  .navmenu .dropdown ul {
    position: static;
    display: none;
    z-index: 99;
    padding: 10px 0;
    margin: 10px 20px;
    background-color: var(--nav-dropdown-background-color);
    transition: all 0.5s ease-in-out;
  }

  .navmenu .dropdown ul ul {
    background-color: rgba(33, 37, 41, 0.1);
  }

  .navmenu .dropdown>.dropdown-active {
    display: block;
    background-color: rgba(33, 37, 41, 0.03);
  }

  .mobile-nav-active {
    overflow: hidden;
  }

  .mobile-nav-active .mobile-nav-toggle {
    color: #fff;
    position: absolute;
    font-size: 32px;
    top: 15px;
    right: 15px;
    margin-right: 0;
    z-index: 9999;
  }

  .mobile-nav-active .navmenu {
    position: fixed;
    overflow: hidden;
    inset: 0;
    background: rgba(33, 37, 41, 0.8);
    transition: 0.3s;
  }

  .mobile-nav-active .navmenu>ul {
    display: block;
    z-index: 999999;
    background-color: var(--color-secondary-accent);
  }
}

/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/02-about.css ***!
  \************************************************************************************************************************************/
/*--------------------------------------------------------------
# About Section
--------------------------------------------------------------*/
.about .about-content .img-wrapper {
  height: 80px;
  flex: 0 0 100px;
  display: flex;
    justify-content: flex-start;
}
.about .about-content .img-wrapper img {
  max-height: 100%;
  width: auto;
}
.about .about-content h3 {
  font-weight: 700;
  font-size: 26px;
}

.about .about-content ul {
  list-style: none;
  padding: 0;
}

.about .about-content ul li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 35px;
}

.about .about-content ul li:first-child {
  margin-top: 15px;
}

.about .about-content ul h4 {
  font-size: 18px;
  font-weight: 600;
}

.about .about-content ul p {
  font-size: 15px;
}

.about .about-content p:last-child {
  margin-bottom: 0;
}

/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/02-contact.css ***!
  \**************************************************************************************************************************************/
/*--------------------------------------------------------------
# Contact Section
--------------------------------------------------------------*/
.contact .info-wrap {
  box-shadow: 0px 0px 20px color-mix(in srgb, var(--color-default), transparent 90%);
  padding: 30px;
  border-top: 3px solid var(--color-secondary);
  border-bottom: 3px solid var(--color-secondary);
  height: 100%;
  background-color: white;
}

.contact .col-contact-form {
  background-color: white;
}
@media (max-width: 575px) {
  .contact .info-wrap {
    padding: 20px;
  }
}

.contact .info-item {
  margin-bottom: 40px;
}

.contact .info-item i {
  font-size: 20px;
  color: var(--color-secondary);
  background: color-mix(in srgb, var(--color-secondary), transparent 92%);
  width: 44px;
  height: 44px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  transition: all 0.3s ease-in-out;
  margin-right: 15px;
}

.contact .info-item h3 {
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 5px;
}

.contact .info-item p {
  padding: 0;
  margin-bottom: 0;
  font-size: 14px;
}

.contact .info-item:hover i {
  background: var(--color-secondary);
  color: var(--color-secondary-accent);
}

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

  100% {
    transform: rotate(360deg);
  }
}

/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/02-events.css ***!
  \*************************************************************************************************************************************/
#events h2 .accordion-button:not(.collapsed) {
  background-color: var(--color-primary);
  color: var(--bs-light);
}

#events h2 .accordion-button.collapsed {
  color: var(--color-primary);
}

#events .list-group{
  border-radius: 0;
}

/*!**********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/02-faq.css ***!
  \**********************************************************************************************************************************/
/*--------------------------------------------------------------
# Faq Section
--------------------------------------------------------------*/
.faq .faq-container .faq-item {
  background-color: var(--color-secondary-accent);
  position: relative;
  padding: 20px;
  margin-bottom: 15px;
  border: 1px solid color-mix(in srgb, var(--color-default), transparent 85%);
  border-radius: 5px;
  overflow: hidden;
}

.faq .faq-container .faq-item:last-child {
  margin-bottom: 0;
}

.faq .faq-container .faq-item h3 {
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  margin: 0 30px 0 0;
  transition: 0.3s;
  cursor: pointer;
  display: flex;
  align-items: center;
}

.faq .faq-container .faq-item h3 .num {
  color: var(--color-secondary);
  padding-right: 5px;
}

.faq .faq-container .faq-item h3:hover {
  color: var(--color-secondary);
}

.faq .faq-container .faq-item .faq-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: 0.3s ease-in-out;
  visibility: hidden;
  opacity: 0;
}

.faq .faq-container .faq-item .faq-content p {
  margin-bottom: 0;
  overflow: hidden;
}

.faq .faq-container .faq-item .faq-toggle {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 16px;
  line-height: 0;
  transition: 0.3s;
  cursor: pointer;
}

.faq .faq-container .faq-item .faq-toggle:hover {
  color: var(--color-secondary);
}

.faq .faq-container .faq-active h3 {
  color: var(--color-secondary);
}

.faq .faq-container .faq-active .faq-content {
  grid-template-rows: 1fr;
  visibility: visible;
  opacity: 1;
  padding-top: 10px;
}

.faq .faq-container .faq-active .faq-toggle {
  transform: rotate(90deg);
  color: var(--color-secondary);
}

/*!***********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/02-news.css ***!
  \***********************************************************************************************************************************/
.news-entry {
  display: flex;

  box-shadow: 0px 0px 20px
  color-mix(in srgb, var(--color-default), transparent 90%);
  padding: 30px;
  border-top: 3px solid var(--color-secondary);
  border-bottom: 3px solid var(--color-secondary);
  height: 100%;
}

article#main .news-entry {
    margin: 0;
}

article#news .news-entry {
  margin: 2rem;
}

.news-entry .news-image {
  width: 30rem;
}

.news-entry .news-content .news-headline h4 {
  display: flex;
  justify-content: space-between;
}

.news-entry .news-content .news-headline .datetime {
  font-style: italic;
  font-size: 0.85rem;
}

/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/02-portfolio.css ***!
  \****************************************************************************************************************************************/

/*--------------------------------------------------------------
# Portfolio Section
--------------------------------------------------------------*/
.portfolio .portfolio-filters {
  padding: 0;
  margin: 0 auto 20px auto;
  list-style: none;
  text-align: center;
}

.portfolio .portfolio-filters li {
  cursor: pointer;
  display: inline-block;
  padding: 0;
  font-size: 18px;
  font-weight: 500;
  margin: 0 10px;
  line-height: 1;
  margin-bottom: 5px;
  transition: all 0.3s ease-in-out;
}

.portfolio .portfolio-filters li:hover,
.portfolio .portfolio-filters li.filter-active {
  color: var(--color-secondary);
}

.portfolio .portfolio-filters li:first-child {
  margin-left: 0;
}

.portfolio .portfolio-filters li:last-child {
  margin-right: 0;
}

@media (max-width: 575px) {
  .portfolio .portfolio-filters li {
    font-size: 14px;
    margin: 0 5px;
  }
}

.portfolio .portfolio-content {
  position: relative;
  overflow: hidden;
}

.portfolio .portfolio-content img {
  transition: 0.3s;
}

.portfolio .portfolio-content .portfolio-info {
  opacity: 0;
  position: absolute;
  inset: 0;
  z-index: 3;
  transition: all ease-in-out 0.3s;
  background: rgba(0, 0, 0, 0.6);
  padding: 15px;
}

.portfolio .portfolio-content .portfolio-info h4 {
  font-size: 14px;
  padding: 5px 10px;
  font-weight: 400;
  color: #ffffff;
  display: inline-block;
  background-color: var(--color-secondary);
}

.portfolio .portfolio-content .portfolio-info p {
  position: absolute;
  bottom: 10px;
  text-align: center;
  display: inline-block;
  left: 0;
  right: 0;
  font-size: 16px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
}

.portfolio .portfolio-content .portfolio-info .preview-link,
.portfolio .portfolio-content .portfolio-info .details-link {
  position: absolute;
  left: calc(50% - 40px);
  font-size: 26px;
  top: calc(50% - 14px);
  color: #fff;
  transition: 0.3s;
  line-height: 1.2;
}

.portfolio .portfolio-content .portfolio-info .preview-link:hover,
.portfolio .portfolio-content .portfolio-info .details-link:hover {
  color: var(--color-secondary);
}

.portfolio .portfolio-content .portfolio-info .details-link {
  left: 50%;
  font-size: 34px;
  line-height: 0;
}

.portfolio .portfolio-content:hover .portfolio-info {
  opacity: 1;
}

.portfolio .portfolio-content:hover img {
  transform: scale(1.1);
}


/*--------------------------------------------------------------
# Portfolio Details Section
--------------------------------------------------------------*/
.portfolio-details .portfolio-details-slider img {
  width: 100%;
}

.portfolio-details .portfolio-details-slider .swiper-pagination {
  margin-top: 20px;
  position: relative;
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: color-mix(in srgb, var(--color-default), transparent 85%);
  opacity: 1;
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--color-secondary);
}

.portfolio-details .portfolio-info {
  padding: 30px;
  box-shadow: 0px 0 30px color-mix(in srgb, var(--color-default), transparent 90%);
}

.portfolio-details .portfolio-info h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid color-mix(in srgb, var(--color-default), transparent 85%);
}

.portfolio-details .portfolio-info ul {
  list-style: none;
  padding: 0;
  font-size: 15px;
}

.portfolio-details .portfolio-info ul li+li {
  margin-top: 10px;
}

.portfolio-details .portfolio-description {
  padding-top: 30px;
}

.portfolio-details .portfolio-description h2 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 20px;
}

.portfolio-details .portfolio-description p {
  padding: 0;
  color: color-mix(in srgb, var(--color-default), transparent 30%);
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./tenants/sg_floss/assets/styles/02-services.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************/
/*--------------------------------------------------------------
# Services Section
--------------------------------------------------------------*/
.services .service-item {
  box-shadow: 0px 5px 90px 0px color-mix(in srgb, var(--color-default), transparent 90%);
  background-color: var(--color-secondary-accent);
  padding: 30px;
  transition: all ease-in-out 0.4s;
  height: 100%;
}
.services .service-item:hover {
  transform: translateY(-10px);
}
.services .service-item:hover h4 a {
  color: var(--color-secondary);
}
.services .service-item h4 {
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 20px;
}
.services .service-item h4 a {
  color: var(--color-primary);
  transition: ease-in-out 0.3s;
}
.services .service-item p {
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
}
.services .service-item .icon {
  margin-bottom: 10px;
}
.services .service-item .icon img {
  width: auto;
  max-height: 125px;
  position: relative;
  left: 27.5%;
  margin-bottom: 1rem;
}
.services .service-item .icon i {
  color: var(--color-secondary);
  font-size: 36px;
  transition: 0.3s;
}
.services .service-item .more {
  display: block;
  margin-top: 2rem;
  color: var(--color-secondary);
  transition: 0.3s;
  text-align: right;
  font-size: 0.9rem;
}
.services {
  /*--------------------------------------------------------------
  # Service Details Section
  --------------------------------------------------------------*/
}
.services section#service {
  padding-top: 0;
}
@media (max-width: 991px) {
  .services .service-list-col {
    display: none;
  }
}
.services .service-details .services-list {
  padding: 10px 30px;
  border: 1px solid color-mix(in srgb, var(--color-default), transparent 90%);
  margin-bottom: 20px;
  position: fixed;
}
.services .service-details .services-list a {
  display: block;
  line-height: 1;
  padding: 8px 0 8px 15px;
  border-left: 3px solid color-mix(in srgb, var(--color-default), transparent 70%);
  margin: 20px 0;
  color: color-mix(in srgb, var(--color-default), transparent 20%);
  transition: 0.3s;
}
.services .service-details .services-list a.active {
  color: var(--color-primary);
  font-weight: 700;
  border-color: var(--color-secondary);
}
.services .service-details .services-list a:hover {
  border-color: var(--color-secondary);
}
.services .service-details .services-img {
  margin-bottom: 20px;
}
.services .service-details h3 {
  font-size: 26px;
  font-weight: 700;
}
.services .service-details h4 {
  font-size: 20px;
  font-weight: 700;
}
.services .service-details p {
  font-size: 15px;
}
.services .service-details ul {
  list-style: none;
  padding: 0;
  font-size: 15px;
}
.services .service-details ul li {
  padding: 5px 0;
  display: flex;
  align-items: center;
}
.services .service-details ul i {
  font-size: 20px;
  margin-right: 8px;
  color: var(--color-secondary);
}
.services .service-details .service-detail {
  margin-top: 3rem;
}
.services .service-details .service-detail:first-of-type {
  margin-top: 0;
}
/*!***********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/02-team.css ***!
  \***********************************************************************************************************************************/
/*--------------------------------------------------------------
# Team Section
--------------------------------------------------------------*/
.team {
  --color-default: #ffffff;
}

.team .section-title {
  color: var(--color-primary);
}

.team .member {
  text-align: center;
  position: relative;
  overflow: hidden;
}

.team .member .member-info {
  opacity: 0;
  position: absolute;
  inset: 0;
  transition: 0.2s;
}

.team .member .member-info-content {
  position: absolute;
  left: 50px;
  right: 0;
  bottom: 0;
  transition: bottom 0.4s;
}

.team .member .member-info-content h4 {
  color: var(--color-secondary-accent);
  font-weight: 700;
  margin-bottom: 2px;
  font-size: 18px;
}

.team .member .member-info-content span {
  font-style: italic;
  display: block;
  font-size: 13px;
}

.team .member .social {
  position: absolute;
  left: -50px;
  top: 0;
  bottom: 0;
  width: 50px;
  transition: left ease-in-out 0.3s;
  background: rgba(0, 0, 0, 0.6);
  text-align: center;
}

.team .member .social a {
  transition: color 0.3s;
  display: block;
  color: var(--color-default);
  margin-top: 15px;
}

.team .member .social a:hover {
  color: var(--color-secondary);
}

.team .member .social i {
  font-size: 18px;
  margin: 0 2px;
}

.team .member:hover .member-info {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.8) 20%, rgba(255, 255, 255, 0) 100%);
  opacity: 1;
  transition: 0.4s;
}

.team .member:hover .member-info-content {
  bottom: 30px;
  transition: bottom 0.4s;
}

.team .member:hover .social {
  left: 0;
  transition: left ease-in-out 0.3s;
}

/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/02-teaser.css ***!
  \*************************************************************************************************************************************/
/*--------------------------------------------------------------
# Global Page Titles & Breadcrumbs
--------------------------------------------------------------*/
.page-title {
  color: var(--color-default);
  background-color: var(--color-secondary-accent);
  padding: 25px 0;
  position: relative;
}

.page-title h1 {
  font-size: 24px;
  font-weight: 400;
}

.page-title .breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 14px;
}

.page-title .breadcrumbs ol li+li {
  padding-left: 10px;
}

.page-title .breadcrumbs ol li+li::before {
  content: "/";
  display: inline-block;
  padding-right: 10px;
  color: color-mix(in srgb, var(--color-default), transparent 70%);
}

/*--------------------------------------------------------------
# Teaser Section
--------------------------------------------------------------*/
.teaser {
  --color-secondary-accent: color-mix(in srgb, var(--color-secondary), transparent 97%);
  width: 100%;
  min-height: 70vh;
  position: relative;
  padding: 60px 0;
  display: flex;
    align-items: center;
    justify-content: center;
  border-bottom: 2px solid color-mix(in srgb, var(--color-secondary), transparent 75%);
}

.teaser h1 {
  margin: 0;
  font-size: 48px;
  font-weight: 700;
  line-height: 56px;
}

.teaser p {
  color: color-mix(in srgb, var(--color-default), transparent 30%);
  margin: 5px 0 30px 0;
  font-size: 20px;
  font-weight: 400;
}

.teaser-img img {
  max-height: 350px;
}

.teaser .animated {
  animation: up-down 2s ease-in-out infinite alternate-reverse both;
}

@media (max-width: 640px) {
  .teaser h1 {
    font-size: 28px;
    line-height: 36px;
  }

  .teaser p {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 30px;
  }
}

@keyframes up-down {
  0% {
    transform: translateY(10px);
  }

  100% {
    transform: translateY(-10px);
  }
}

/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./tenants/sg_floss/assets/styles/02-whitsun.css ***!
  \**************************************************************************************************************************************/
article#whitsun section {
  padding: 40px 0;
}

article#whitsun section .section-title {
  padding-bottom: 0;
}

article#whitsun section .section-title h2 {
  text-align: left;
}

article#whitsun section .section-title h2:after {
  width: 100%;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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K0RBRStEO0FBQy9EO0VBQ0UscUZBQXFGO0VBQ3JGLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixhQUFhO0lBQ1gsbUJBQW1CO0lBQ25CLHVCQUF1QjtFQUN6QixvRkFBb0Y7QUFDdEY7O0FBRUE7RUFDRSxTQUFTO0VBQ1QsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxnRUFBZ0U7RUFDaEUsb0JBQW9CO0VBQ3BCLGVBQWU7RUFDZixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxpRUFBaUU7QUFDbkU7O0FBRUE7RUFDRTtJQUNFLGVBQWU7SUFDZixpQkFBaUI7RUFDbkI7O0VBRUE7SUFDRSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLG1CQUFtQjtFQUNyQjtBQUNGOztBQUVBO0VBQ0U7SUFDRSwyQkFBMkI7RUFDN0I7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjs7Ozs7QUM3RkE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsV0FBVztBQUNiIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2ZvbnRzL29wZW4tc2Fucy5jc3MiLCJ3ZWJwYWNrOi8vLy4vdGVuYW50cy9zZ19mbG9zcy9hc3NldHMvc3R5bGVzLzAwLWNvbmZpZy5jc3MiLCJ3ZWJwYWNrOi8vLy4vdGVuYW50cy9zZ19mbG9zcy9hc3NldHMvc3R5bGVzLzAwLW1haW4uc2NzcyIsIndlYnBhY2s6Ly8vLi90ZW5hbnRzL3NnX2Zsb3NzL2Fzc2V0cy9zdHlsZXMvMDEtZm9vdGVyLmNzcyIsIndlYnBhY2s6Ly8vLi90ZW5hbnRzL3NnX2Zsb3NzL2Fzc2V0cy9zdHlsZXMvMDEtaGVhZGVyLmNzcyIsIndlYnBhY2s6Ly8vLi90ZW5hbnRzL3NnX2Zsb3NzL2Fzc2V0cy9zdHlsZXMvMDEtbmF2aWdhdGlvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vdGVuYW50cy9zZ19mbG9zcy9hc3NldHMvc3R5bGVzLzAyLWFib3V0LmNzcyIsIndlYnBhY2s6Ly8vLi90ZW5hbnRzL3NnX2Zsb3NzL2Fzc2V0cy9zdHlsZXMvMDItY29udGFjdC5jc3MiLCJ3ZWJwYWNrOi8vLy4vdGVuYW50cy9zZ19mbG9zcy9hc3NldHMvc3R5bGVzLzAyLWV2ZW50cy5jc3MiLCJ3ZWJwYWNrOi8vLy4vdGVuYW50cy9zZ19mbG9zcy9hc3NldHMvc3R5bGVzLzAyLWZhcS5jc3MiLCJ3ZWJwYWNrOi8vLy4vdGVuYW50cy9zZ19mbG9zcy9hc3NldHMvc3R5bGVzLzAyLW5ld3MuY3NzIiwid2VicGFjazovLy8uL3RlbmFudHMvc2dfZmxvc3MvYXNzZXRzL3N0eWxlcy8wMi1wb3J0Zm9saW8uY3NzIiwid2VicGFjazovLy8uL3RlbmFudHMvc2dfZmxvc3MvYXNzZXRzL3N0eWxlcy8wMi1zZXJ2aWNlcy5zY3NzIiwid2VicGFjazovLy8uL3RlbmFudHMvc2dfZmxvc3MvYXNzZXRzL3N0eWxlcy8wMi10ZWFtLmNzcyIsIndlYnBhY2s6Ly8vLi90ZW5hbnRzL3NnX2Zsb3NzL2Fzc2V0cy9zdHlsZXMvMDItdGVhc2VyLmNzcyIsIndlYnBhY2s6Ly8vLi90ZW5hbnRzL3NnX2Zsb3NzL2Fzc2V0cy9zdHlsZXMvMDItd2hpdHN1bi5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogT1BFTiBTQU5TID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogb3Blbi1zYW5zLXJlZ3VsYXIgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IGxvY2FsKCcnKSxcbiAgICAgICB1cmwoJy4vb3BlbnNhbnMvb3Blbi1zYW5zLXYxOC1sYXRpbi1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnLi9vcGVuc2Fucy9vcGVuLXNhbnMtdjE4LWxhdGluLXJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnLi9vcGVuc2Fucy9vcGVuLXNhbnMtdjE4LWxhdGluLXJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuLyogb3Blbi1zYW5zLWl0YWxpYyAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogbG9jYWwoJycpLFxuICAgICAgIHVybCgnLi9vcGVuc2Fucy9vcGVuLXNhbnMtdjE4LWxhdGluLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJy4vb3BlbnNhbnMvb3Blbi1zYW5zLXYxOC1sYXRpbi1pdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnLi9vcGVuc2Fucy9vcGVuLXNhbnMtdjE4LWxhdGluLWl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG4vKiBvcGVuLXNhbnMtNjAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgc3JjOiBsb2NhbCgnJyksXG4gICAgICAgdXJsKCcuL29wZW5zYW5zL29wZW4tc2Fucy12MTgtbGF0aW4tNjAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnLi9vcGVuc2Fucy9vcGVuLXNhbnMtdjE4LWxhdGluLTYwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcuL29wZW5zYW5zL29wZW4tc2Fucy12MTgtbGF0aW4tNjAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cbi8qIG9wZW4tc2Fucy02MDBpdGFsaWMgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBzcmM6IGxvY2FsKCcnKSxcbiAgICAgICB1cmwoJy4vb3BlbnNhbnMvb3Blbi1zYW5zLXYxOC1sYXRpbi02MDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCcuL29wZW5zYW5zL29wZW4tc2Fucy12MTgtbGF0aW4tNjAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJy4vb3BlbnNhbnMvb3Blbi1zYW5zLXYxOC1sYXRpbi02MDBpdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuLyogb3Blbi1zYW5zLTcwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogbG9jYWwoJycpLFxuICAgICAgIHVybCgnLi9vcGVuc2Fucy9vcGVuLXNhbnMtdjE4LWxhdGluLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJy4vb3BlbnNhbnMvb3Blbi1zYW5zLXYxOC1sYXRpbi03MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnLi9vcGVuc2Fucy9vcGVuLXNhbnMtdjE4LWxhdGluLTcwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG4vKiBvcGVuLXNhbnMtNzAwaXRhbGljIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiBsb2NhbCgnJyksXG4gICAgICAgdXJsKCcuL29wZW5zYW5zL29wZW4tc2Fucy12MTgtbGF0aW4tNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnLi9vcGVuc2Fucy9vcGVuLXNhbnMtdjE4LWxhdGluLTcwMGl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcuL29wZW5zYW5zL29wZW4tc2Fucy12MTgtbGF0aW4tNzAwaXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cbi8qIG9wZW4tc2Fucy04MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xuICBzcmM6IGxvY2FsKCcnKSxcbiAgICAgICB1cmwoJy4vb3BlbnNhbnMvb3Blbi1zYW5zLXYxOC1sYXRpbi04MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCcuL29wZW5zYW5zL29wZW4tc2Fucy12MTgtbGF0aW4tODAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJy4vb3BlbnNhbnMvb3Blbi1zYW5zLXYxOC1sYXRpbi04MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuLyogb3Blbi1zYW5zLTgwMGl0YWxpYyAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIHNyYzogbG9jYWwoJycpLFxuICAgICAgIHVybCgnLi9vcGVuc2Fucy9vcGVuLXNhbnMtdjE4LWxhdGluLTgwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJy4vb3BlbnNhbnMvb3Blbi1zYW5zLXYxOC1sYXRpbi04MDBpdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnLi9vcGVuc2Fucy9vcGVuLXNhbnMtdjE4LWxhdGluLTgwMGl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG4iLCI6cm9vdCB7XG4gICAgLS1mb250LWRlZmF1bHQ6IE9wZW4gU2Fucywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bztcbiAgICAtLWZvbnQtcHJpbWFyeTogT3BlbiBTYW5zO1xuICAgIC0tZm9udC1zZWNvbmRhcnk6IEFyaWFsO1xuICAgIC0tY29sb3ItcHJpbWFyeTogIzViOGMzYTtcbiAgICAtLWNvbG9yLXByaW1hcnktYWNjZW50OiAjN2E2OTYwO1xuICAgIC0tY29sb3Itc2Vjb25kYXJ5OiAjRjRCODRBO1xuICAgIC0tY29sb3Itc2Vjb25kYXJ5LWFjY2VudDogI2ZmZmZmZjtcbiAgICAtLWNvbG9yLWJyYW5kOiAjNWI4YzNhO1xuICAgIC0tY29sb3ItZGVmYXVsdDogIzIxMjUyOTtcbn1cblxuLyoqIEBUb0RvOiBGYXJiZW4gYXVzIGRlbiBlaWdlbmVuIFN0eWxlcyByYXVzbmVobWVuIHVuZCBhbiBCb290c3RyYXAgaGFsdGVuICovXG46cm9vdCB7XG4gICAgLS1icy1wcmltYXJ5OiAjNWI4YzNhO1xuICAgIC0tYnMtc2Vjb25kYXJ5OiAjRjRCODRBO1xuICAgIC0tYnMtc3VjY2VzczogIzRDQUY1MDtcbiAgICAtLWJzLWluZm86ICMxN0EyQjg7XG4gICAgLS1icy13YXJuaW5nOiAjRkZDMTA3O1xuICAgIC0tYnMtZGFuZ2VyOiAjREMzNTQ1O1xuICAgIC0tYnMtbGlnaHQ6ICNGOEY5RkE7XG4gICAgLS1icy1kYXJrOiAjMjEyNTI5O1xuXG4gICAgLS1icy1ib2R5LWZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgc2Fucy1zZXJpZjtcbn1cbiIsIjpyb290IHtcbiAgICAtLWNvbnRyYXN0LWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5KSwgdHJhbnNwYXJlbnQgOTclKTtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBHZW5lcmFsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5ib2R5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjY2VudCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGVmYXVsdCk7XG59XG5cbmEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuXG5hOmhvdmVyIHtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksIHRyYW5zcGFyZW50IDI1JSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGVmYXVsdCk7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBQcmVsb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiNwcmVsb2FkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiA5OTk5OTk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWNjZW50KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlLW91dDtcbn1cblxuI3ByZWxvYWRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogY2FsYyg1MCUgLSAzMHB4KTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIGJvcmRlcjogNnB4IHNvbGlkICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpIHRyYW5zcGFyZW50IHZhcigtLWNvbG9yLXNlY29uZGFyeSkgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBhbmltYXRpb246IGFuaW1hdGUtcHJlbG9hZGVyIDEuNXMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtcHJlbG9hZGVyIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBTY3JvbGwgVG9wIEJ1dHRvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnNjcm9sbC10b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICByaWdodDogMTVweDtcbiAgICBib3R0b206IDE1cHg7XG4gICAgei1pbmRleDogOTk5OTk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpLCB0cmFuc3BhcmVudCAyMCUpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIGkge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWNjZW50KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIERpc2FibGUgYW9zIGFuaW1hdGlvbiBkZWxheSBvbiBtb2JpbGUgZGV2aWNlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBbZGF0YS1hb3MtZGVsYXldIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEdsb2JhbCBTZWN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuc2VjdGlvbiwgLnNlY3Rpb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWNjZW50KTtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgc2Nyb2xsLW1hcmdpbi10b3A6IDkwcHg7XG4gICAgb3ZlcmZsb3c6IGNsaXA7XG5cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksIHRyYW5zcGFyZW50IDk3JSk7XG4gICAgfVxufVxuXG4ucGFnZS10aXRsZS5zZWN0aW9uLXN0aWNreSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDkwcHg7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgc2VjdGlvbixcbiAgICAuc2VjdGlvbiB7XG4gICAgICAgIHNjcm9sbC1tYXJnaW4tdG9wOiA2NnB4O1xuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlLnNlY3Rpb24tc3RpY2t5IHtcbiAgICAgICAgdG9wOiA2NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICB9XG59XG5cbm1haW4jYXJ0aWNsZSBzZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBHbG9iYWwgU2VjdGlvbiBUaXRsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zZWN0aW9uLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VjdGlvbi10aXRsZSBoMiB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWN0aW9uLXRpdGxlIGgyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbn1cblxuLnNlY3Rpb24tdGl0bGUgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBHbG9iYWwgU2VjdGlvbiBUaXRsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5idG4uYnRuLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpLCB0cmFuc3BhcmVudCAyNSUpO1xufVxuXG4uYnRuLmJ0bi1zZWNvbmRhcnk6YWN0aXZlLFxuLmJ0bi5idG4tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5KSwgdHJhbnNwYXJlbnQgMjUlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi5idG4uYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpLCB0cmFuc3BhcmVudCAyNSUpO1xuXG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xuICAgIG1hcmdpbjogLTdweCAtOHB4IC03cHggMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjY2VudCk7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbn1cblxuLmJ0bi5idG4tcHJpbWFyeTphY3RpdmUsXG4uYnRuLmJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSksIHRyYW5zcGFyZW50IDI1JSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuXG4uYnRuLW91dGxpbmUtcHJpbWFyeSB7XG4gICAgLS1icy1idG4tY29sb3I6IHZhcigtLWJzLXByaW1hcnkpO1xuICAgIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSk7XG4gICAgLS1icy1idG4taG92ZXItY29sb3I6ICNmZmY7XG4gICAgLS1icy1idG4taG92ZXItYmc6IHZhcigtLWJzLXByaW1hcnkpO1xuICAgIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSk7XG4gICAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMTMsIDExMCwgMjUzO1xuICAgIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogI2ZmZjtcbiAgICAtLWJzLWJ0bi1hY3RpdmUtYmc6IHZhcigtLWJzLXByaW1hcnkpO1xuICAgIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLWJzLXByaW1hcnkpO1xuICAgIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSk7XG4gICAgLS1icy1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAgIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSk7XG4gICAgLS1icy1ncmFkaWVudDogbm9uZTtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgR2xvYmFsIEZvb3RlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY2NlbnQpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mb290ZXIgLmZvb3Rlci10b3Age1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kZWZhdWx0KSwgdHJhbnNwYXJlbnQgOTAlKTtcbn1cblxuLmZvb3RlciAuc29jaWFsLWxpbmtzIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZGVmYXVsdCksIHRyYW5zcGFyZW50IDUwJSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kZWZhdWx0KSwgdHJhbnNwYXJlbnQgMjAlKTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuXG4uZm9vdGVyIC5zb2NpYWwtbGlua3MgYTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi5mb290ZXIgaDQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4O1xufVxuXG4uZm9vdGVyIC5mb290ZXItbGlua3Mge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uZm9vdGVyIC5mb290ZXItbGlua3MgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5mb290ZXIgLmZvb3Rlci1saW5rcyB1bCBpIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xufVxuXG4uZm9vdGVyIC5mb290ZXItbGlua3MgdWwgbGkge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mb290ZXIgLmZvb3Rlci1saW5rcyB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uZm9vdGVyIC5mb290ZXItbGlua3MgdWwgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kZWZhdWx0KSwgdHJhbnNwYXJlbnQgMjAlKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5mb290ZXIgLmZvb3Rlci1saW5rcyB1bCBhOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi5mb290ZXIgLmZvb3Rlci1hYm91dCBhIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRlZmF1bHQpO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRlZmF1bHQpO1xufVxuXG4uZm9vdGVyIC5mb290ZXItY29udGFjdCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uZm9vdGVyIC5jb3B5cmlnaHQge1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZGVmYXVsdCksIHRyYW5zcGFyZW50IDkwJSk7XG59XG5cbi5mb290ZXIgLmNvcHlyaWdodCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZvb3RlciAuY3JlZGl0cyB7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLmZvb3RlciAuZm9vdGVyLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgLmZvb3RlciAuY29sLXNtLTEyIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEdsb2JhbCBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5oZWFkZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY2NlbnQpO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICB6LWluZGV4OiA5OTc7XG4gIGJveC1zaGFkb3c6IDBweCAwIDE1cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWRlZmF1bHQpLCB0cmFuc3BhcmVudCA5MCUpO1xufVxuXG4uaGVhZGVyIC5sb2dvIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5oZWFkZXIgLmxvZ28gaW1nIHtcbiAgbWF4LWhlaWdodDogMzZweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5oZWFkZXIgLmxvZ28gaDEge1xuICBmb250LXNpemU6IDMwcHg7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uaGVhZGVyIC5idG4tZ2V0c3RhcnRlZCxcbi5oZWFkZXIgLmJ0bi1nZXRzdGFydGVkOmZvY3VzIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY2NlbnQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDhweCAyNXB4O1xuICBtYXJnaW46IDAgMCAwIDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIHRyYW5zaXRpb246IDAuM3M7XG59XG5cbi5oZWFkZXIgLmJ0bi1nZXRzdGFydGVkOmhvdmVyLFxuLmhlYWRlciAuYnRuLWdldHN0YXJ0ZWQ6Zm9jdXM6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjY2VudCk7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpLCB0cmFuc3BhcmVudCAxNSUpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXIgLmxvZ28ge1xuICAgIG9yZGVyOiAxO1xuICB9XG5cbiAgLmhlYWRlciAuYnRuLWdldHN0YXJ0ZWQge1xuICAgIG9yZGVyOiAyO1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICBwYWRkaW5nOiA2cHggMTVweDtcbiAgfVxuXG4gIC5oZWFkZXIgLm5hdm1lbnUge1xuICAgIG9yZGVyOiAzO1xuICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE5hdmlnYXRpb24gTWVudVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTmF2bWVudSAtIERlc2t0b3AgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm5hdm1lbnUge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAubmF2bWVudSB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAubmF2bWVudSBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLm5hdm1lbnUgYSxcbiAgLm5hdm1lbnUgYTpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRlZmF1bHQpO1xuICAgIHBhZGRpbmc6IDE4cHggMTVweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGVmYXVsdCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgfVxuXG4gIC5uYXZtZW51IGEgaSxcbiAgLm5hdm1lbnUgYTpmb2N1cyBpIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICB9XG5cbiAgLm5hdm1lbnUgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLm5hdm1lbnUgbGk6aG92ZXI+YSxcbiAgLm5hdm1lbnUgLmFjdGl2ZSxcbiAgLm5hdm1lbnUgLmFjdGl2ZTpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG5cbiAgLm5hdm1lbnUgLmRyb3Bkb3duIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW5hdi1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGxlZnQ6IDE0cHg7XG4gICAgdG9wOiAxMzAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgei1pbmRleDogOTk7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAzMHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kZWZhdWx0KSwgdHJhbnNwYXJlbnQgODUlKTtcbiAgfVxuXG4gIC5uYXZtZW51IC5kcm9wZG93biB1bCBsaSB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgfVxuXG4gIC5uYXZtZW51IC5kcm9wZG93biB1bCBhIHtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1uYXYtZHJvcGRvd24tY29sb3IpO1xuICB9XG5cbiAgLm5hdm1lbnUgLmRyb3Bkb3duIHVsIGEgaSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG5cbiAgLm5hdm1lbnUgLmRyb3Bkb3duIHVsIGE6aG92ZXIsXG4gIC5uYXZtZW51IC5kcm9wZG93biB1bCBhOmhvdmVyLFxuICAubmF2bWVudSAuZHJvcGRvd24gdWwgLmFjdGl2ZTpob3ZlcixcbiAgLm5hdm1lbnUgLmRyb3Bkb3duIHVsIGxpOmhvdmVyPmEge1xuICAgIGNvbG9yOiB2YXIoLS1uYXYtZHJvcGRvd24taG92ZXItY29sb3IpO1xuICB9XG5cbiAgLm5hdm1lbnUgLmRyb3Bkb3duOmhvdmVyPnVsIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogMTAwJTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLm5hdm1lbnUgLmRyb3Bkb3duIC5kcm9wZG93biB1bCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC05MCU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLm5hdm1lbnUgLmRyb3Bkb3duIC5kcm9wZG93bjpob3Zlcj51bCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICBcbiAgLm5hdm1lbnUgdWwuZHJvcGRvd24tbWVudSxcbiAgLm5hdm1lbnUgdWwuZHJvcGRvd24tbWVudSBsaSAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY2NlbnQpO1xuICB9XG4gIFxuICBcbiAgLm5hdm1lbnUgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4gIC5uYXZtZW51IC5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gIC5uYXZtZW51IHVsLmRyb3Bkb3duLW1lbnUgbGk6aG92ZXIsXG4gIC5uYXZtZW51IHVsLmRyb3Bkb3duLW1lbnUgbGkuYWN0aXZlLFxuICAubmF2bWVudSB1bC5kcm9wZG93bi1tZW51IGxpLmFjdGl2ZSA6aG92ZXIsXG4gIC5uYXZtZW51IHVsLmRyb3Bkb3duLW1lbnUgbGk6aG92ZXI+YSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG59XG5cbi8qIE5hdm1lbnUgLSBNb2JpbGUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLm1vYmlsZS1uYXYtdG9nZ2xlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbiAgfVxuXG4gIC5uYXZtZW51IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHotaW5kZXg6IDk5OTc7XG4gIH1cblxuICAubmF2bWVudSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDYwcHggMjBweCAyMHB4IDIwcHg7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmF2LWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kZWZhdWx0KSwgdHJhbnNwYXJlbnQgOTAlKTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDMwcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWRlZmF1bHQpLCB0cmFuc3BhcmVudCA5MCUpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICB6LWluZGV4OiA5OTk4O1xuICB9XG5cbiAgLm5hdm1lbnUgYSxcbiAgLm5hdm1lbnUgYTpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLW5hdi1kcm9wZG93bi1jb2xvcik7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRlZmF1bHQpO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICB9XG5cbiAgLm5hdm1lbnUgYSBpLFxuICAubmF2bWVudSBhOmZvY3VzIGkge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksIHRyYW5zcGFyZW50IDkwJSk7XG4gIH1cblxuICAubmF2bWVudSBhIGk6aG92ZXIsXG4gIC5uYXZtZW51IGE6Zm9jdXMgaTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjY2VudCk7XG4gIH1cblxuICAubmF2bWVudSBhOmhvdmVyLFxuICAubmF2bWVudSAuYWN0aXZlLFxuICAubmF2bWVudSAuYWN0aXZlOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tbmF2LWRyb3Bkb3duLWhvdmVyLWNvbG9yKTtcbiAgfVxuXG4gIC5uYXZtZW51IC5hY3RpdmUgaSxcbiAgLm5hdm1lbnUgLmFjdGl2ZTpmb2N1cyBpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWNjZW50KTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG5cbiAgLm5hdm1lbnUgLmRyb3Bkb3duIHVsIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgei1pbmRleDogOTk7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIG1hcmdpbjogMTBweCAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5hdi1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgfVxuXG4gIC5uYXZtZW51IC5kcm9wZG93biB1bCB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMywgMzcsIDQxLCAwLjEpO1xuICB9XG5cbiAgLm5hdm1lbnUgLmRyb3Bkb3duPi5kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzMsIDM3LCA0MSwgMC4wMyk7XG4gIH1cblxuICAubW9iaWxlLW5hdi1hY3RpdmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9iaWxlLW5hdi1hY3RpdmUgLm1vYmlsZS1uYXYtdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIHRvcDogMTVweDtcbiAgICByaWdodDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgei1pbmRleDogOTk5OTtcbiAgfVxuXG4gIC5tb2JpbGUtbmF2LWFjdGl2ZSAubmF2bWVudSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzMywgMzcsIDQxLCAwLjgpO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gIH1cblxuICAubW9iaWxlLW5hdi1hY3RpdmUgLm5hdm1lbnU+dWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDk5OTk5OTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWNjZW50KTtcbiAgfVxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBBYm91dCBTZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYWJvdXQgLmFib3V0LWNvbnRlbnQgLmltZy13cmFwcGVyIHtcbiAgaGVpZ2h0OiA4MHB4O1xuICBmbGV4OiAwIDAgMTAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmFib3V0IC5hYm91dC1jb250ZW50IC5pbWctd3JhcHBlciBpbWcge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbn1cbi5hYm91dCAuYWJvdXQtY29udGVudCBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMjZweDtcbn1cblxuLmFib3V0IC5hYm91dC1jb250ZW50IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLmFib3V0IC5hYm91dC1jb250ZW50IHVsIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG59XG5cbi5hYm91dCAuYWJvdXQtY29udGVudCB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5hYm91dCAuYWJvdXQtY29udGVudCB1bCBoNCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmFib3V0IC5hYm91dC1jb250ZW50IHVsIHAge1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cbi5hYm91dCAuYWJvdXQtY29udGVudCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBDb250YWN0IFNlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jb250YWN0IC5pbmZvLXdyYXAge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDIwcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWRlZmF1bHQpLCB0cmFuc3BhcmVudCA5MCUpO1xuICBwYWRkaW5nOiAzMHB4O1xuICBib3JkZXItdG9wOiAzcHggc29saWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi5jb250YWN0IC5jb2wtY29udGFjdC1mb3JtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLmNvbnRhY3QgLmluZm8td3JhcCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuXG4uY29udGFjdCAuaW5mby1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmNvbnRhY3QgLmluZm8taXRlbSBpIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksIHRyYW5zcGFyZW50IDkyJSk7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4uY29udGFjdCAuaW5mby1pdGVtIGgzIHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5jb250YWN0IC5pbmZvLWl0ZW0gcCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmNvbnRhY3QgLmluZm8taXRlbTpob3ZlciBpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY2NlbnQpO1xufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtbG9hZGluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIiNldmVudHMgaDIgLmFjY29yZGlvbi1idXR0b246bm90KC5jb2xsYXBzZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1icy1saWdodCk7XG59XG5cbiNldmVudHMgaDIgLmFjY29yZGlvbi1idXR0b24uY29sbGFwc2VkIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4jZXZlbnRzIC5saXN0LWdyb3Vwe1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBGYXEgU2VjdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZhcSAuZmFxLWNvbnRhaW5lciAuZmFxLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWNjZW50KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZGVmYXVsdCksIHRyYW5zcGFyZW50IDg1JSk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZhcSAuZmFxLWNvbnRhaW5lciAuZmFxLWl0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mYXEgLmZhcS1jb250YWluZXIgLmZhcS1pdGVtIGgzIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbWFyZ2luOiAwIDMwcHggMCAwO1xuICB0cmFuc2l0aW9uOiAwLjNzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mYXEgLmZhcS1jb250YWluZXIgLmZhcS1pdGVtIGgzIC5udW0ge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4uZmFxIC5mYXEtY29udGFpbmVyIC5mYXEtaXRlbSBoMzpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xufVxuXG4uZmFxIC5mYXEtY29udGFpbmVyIC5mYXEtaXRlbSAuZmFxLWNvbnRlbnQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZmFxIC5mYXEtY29udGFpbmVyIC5mYXEtaXRlbSAuZmFxLWNvbnRlbnQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mYXEgLmZhcS1jb250YWluZXIgLmZhcS1pdGVtIC5mYXEtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiAwLjNzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mYXEgLmZhcS1jb250YWluZXIgLmZhcS1pdGVtIC5mYXEtdG9nZ2xlOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi5mYXEgLmZhcS1jb250YWluZXIgLmZhcS1hY3RpdmUgaDMge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbn1cblxuLmZhcSAuZmFxLWNvbnRhaW5lciAuZmFxLWFjdGl2ZSAuZmFxLWNvbnRlbnQge1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi5mYXEgLmZhcS1jb250YWluZXIgLmZhcS1hY3RpdmUgLmZhcS10b2dnbGUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xufVxuIiwiLm5ld3MtZW50cnkge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGJveC1zaGFkb3c6IDBweCAwcHggMjBweFxuICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZGVmYXVsdCksIHRyYW5zcGFyZW50IDkwJSk7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5hcnRpY2xlI21haW4gLm5ld3MtZW50cnkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuYXJ0aWNsZSNuZXdzIC5uZXdzLWVudHJ5IHtcbiAgbWFyZ2luOiAycmVtO1xufVxuXG4ubmV3cy1lbnRyeSAubmV3cy1pbWFnZSB7XG4gIHdpZHRoOiAzMHJlbTtcbn1cblxuLm5ld3MtZW50cnkgLm5ld3MtY29udGVudCAubmV3cy1oZWFkbGluZSBoNCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLm5ld3MtZW50cnkgLm5ld3MtY29udGVudCAubmV3cy1oZWFkbGluZSAuZGF0ZXRpbWUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cbiIsIlxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBQb3J0Zm9saW8gU2VjdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnBvcnRmb2xpbyAucG9ydGZvbGlvLWZpbHRlcnMge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgYXV0byAyMHB4IGF1dG87XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnBvcnRmb2xpbyAucG9ydGZvbGlvLWZpbHRlcnMgbGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDAgMTBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5wb3J0Zm9saW8gLnBvcnRmb2xpby1maWx0ZXJzIGxpOmhvdmVyLFxuLnBvcnRmb2xpbyAucG9ydGZvbGlvLWZpbHRlcnMgbGkuZmlsdGVyLWFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xufVxuXG4ucG9ydGZvbGlvIC5wb3J0Zm9saW8tZmlsdGVycyBsaTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ucG9ydGZvbGlvIC5wb3J0Zm9saW8tZmlsdGVycyBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLnBvcnRmb2xpbyAucG9ydGZvbGlvLWZpbHRlcnMgbGkge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICB9XG59XG5cbi5wb3J0Zm9saW8gLnBvcnRmb2xpby1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucG9ydGZvbGlvIC5wb3J0Zm9saW8tY29udGVudCBpbWcge1xuICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuXG4ucG9ydGZvbGlvIC5wb3J0Zm9saW8tY29udGVudCAucG9ydGZvbGlvLWluZm8ge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAzO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMC4zcztcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4ucG9ydGZvbGlvIC5wb3J0Zm9saW8tY29udGVudCAucG9ydGZvbGlvLWluZm8gaDQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xufVxuXG4ucG9ydGZvbGlvIC5wb3J0Zm9saW8tY29udGVudCAucG9ydGZvbGlvLWluZm8gcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cblxuLnBvcnRmb2xpbyAucG9ydGZvbGlvLWNvbnRlbnQgLnBvcnRmb2xpby1pbmZvIC5wcmV2aWV3LWxpbmssXG4ucG9ydGZvbGlvIC5wb3J0Zm9saW8tY29udGVudCAucG9ydGZvbGlvLWluZm8gLmRldGFpbHMtbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgZm9udC1zaXplOiAyNnB4O1xuICB0b3A6IGNhbGMoNTAlIC0gMTRweCk7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiAwLjNzO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ucG9ydGZvbGlvIC5wb3J0Zm9saW8tY29udGVudCAucG9ydGZvbGlvLWluZm8gLnByZXZpZXctbGluazpob3Zlcixcbi5wb3J0Zm9saW8gLnBvcnRmb2xpby1jb250ZW50IC5wb3J0Zm9saW8taW5mbyAuZGV0YWlscy1saW5rOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi5wb3J0Zm9saW8gLnBvcnRmb2xpby1jb250ZW50IC5wb3J0Zm9saW8taW5mbyAuZGV0YWlscy1saW5rIHtcbiAgbGVmdDogNTAlO1xuICBmb250LXNpemU6IDM0cHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4ucG9ydGZvbGlvIC5wb3J0Zm9saW8tY29udGVudDpob3ZlciAucG9ydGZvbGlvLWluZm8ge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucG9ydGZvbGlvIC5wb3J0Zm9saW8tY29udGVudDpob3ZlciBpbWcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBQb3J0Zm9saW8gRGV0YWlscyBTZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucG9ydGZvbGlvLWRldGFpbHMgLnBvcnRmb2xpby1kZXRhaWxzLXNsaWRlciBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnBvcnRmb2xpby1kZXRhaWxzIC5wb3J0Zm9saW8tZGV0YWlscy1zbGlkZXIgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucG9ydGZvbGlvLWRldGFpbHMgLnBvcnRmb2xpby1kZXRhaWxzLXNsaWRlciAuc3dpcGVyLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kZWZhdWx0KSwgdHJhbnNwYXJlbnQgODUlKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnBvcnRmb2xpby1kZXRhaWxzIC5wb3J0Zm9saW8tZGV0YWlscy1zbGlkZXIgLnN3aXBlci1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbn1cblxuLnBvcnRmb2xpby1kZXRhaWxzIC5wb3J0Zm9saW8taW5mbyB7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJveC1zaGFkb3c6IDBweCAwIDMwcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWRlZmF1bHQpLCB0cmFuc3BhcmVudCA5MCUpO1xufVxuXG4ucG9ydGZvbGlvLWRldGFpbHMgLnBvcnRmb2xpby1pbmZvIGgzIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kZWZhdWx0KSwgdHJhbnNwYXJlbnQgODUlKTtcbn1cblxuLnBvcnRmb2xpby1kZXRhaWxzIC5wb3J0Zm9saW8taW5mbyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLnBvcnRmb2xpby1kZXRhaWxzIC5wb3J0Zm9saW8taW5mbyB1bCBsaStsaSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5wb3J0Zm9saW8tZGV0YWlscyAucG9ydGZvbGlvLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG59XG5cbi5wb3J0Zm9saW8tZGV0YWlscyAucG9ydGZvbGlvLWRlc2NyaXB0aW9uIGgyIHtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucG9ydGZvbGlvLWRldGFpbHMgLnBvcnRmb2xpby1kZXNjcmlwdGlvbiBwIHtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kZWZhdWx0KSwgdHJhbnNwYXJlbnQgMzAlKTtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgU2VydmljZXMgU2VjdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uc2VydmljZXMge1xuICAuc2VydmljZS1pdGVtIHtcbiAgICBib3gtc2hhZG93OiAwcHggNXB4IDkwcHggMHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kZWZhdWx0KSwgdHJhbnNwYXJlbnQgOTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWNjZW50KTtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAwLjRzO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcblxuICAgICAgaDQgYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICB0cmFuc2l0aW9uOiBlYXNlLWluLW91dCAwLjNzO1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMjVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiAyNy41JTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIH1cblxuICAgICAgaSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICB9XG5cblxuICAgIH1cblxuICAgIC5tb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgfVxuICB9XG5cblxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICMgU2VydmljZSBEZXRhaWxzIFNlY3Rpb25cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gIHNlY3Rpb24jc2VydmljZSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAuc2VydmljZS1saXN0LWNvbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5zZXJ2aWNlLWRldGFpbHMgLnNlcnZpY2VzLWxpc3Qge1xuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZGVmYXVsdCksIHRyYW5zcGFyZW50IDkwJSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cblxuICAuc2VydmljZS1kZXRhaWxzIC5zZXJ2aWNlcy1saXN0IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDhweCAwIDhweCAxNXB4O1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWRlZmF1bHQpLCB0cmFuc3BhcmVudCA3MCUpO1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZGVmYXVsdCksIHRyYW5zcGFyZW50IDIwJSk7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgfVxuXG4gIC5zZXJ2aWNlLWRldGFpbHMgLnNlcnZpY2VzLWxpc3QgYS5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgfVxuXG4gIC5zZXJ2aWNlLWRldGFpbHMgLnNlcnZpY2VzLWxpc3QgYTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB9XG5cbiAgLnNlcnZpY2UtZGV0YWlscyAuc2VydmljZXMtaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLnNlcnZpY2UtZGV0YWlscyBoMyB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICAuc2VydmljZS1kZXRhaWxzIGg0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIC5zZXJ2aWNlLWRldGFpbHMgcCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG5cbiAgLnNlcnZpY2UtZGV0YWlscyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG4gIC5zZXJ2aWNlLWRldGFpbHMgdWwgbGkge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5zZXJ2aWNlLWRldGFpbHMgdWwgaSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB9XG5cblxuICAuc2VydmljZS1kZXRhaWxzIHtcbiAgICAuc2VydmljZS1kZXRhaWwge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgVGVhbSBTZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udGVhbSB7XG4gIC0tY29sb3ItZGVmYXVsdDogI2ZmZmZmZjtcbn1cblxuLnRlYW0gLnNlY3Rpb24tdGl0bGUge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi50ZWFtIC5tZW1iZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRlYW0gLm1lbWJlciAubWVtYmVyLWluZm8ge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB0cmFuc2l0aW9uOiAwLjJzO1xufVxuXG4udGVhbSAubWVtYmVyIC5tZW1iZXItaW5mby1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MHB4O1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC40cztcbn1cblxuLnRlYW0gLm1lbWJlciAubWVtYmVyLWluZm8tY29udGVudCBoNCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWNjZW50KTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi50ZWFtIC5tZW1iZXIgLm1lbWJlci1pbmZvLWNvbnRlbnQgc3BhbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnRlYW0gLm1lbWJlciAuc29jaWFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtNTBweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiA1MHB4O1xuICB0cmFuc2l0aW9uOiBsZWZ0IGVhc2UtaW4tb3V0IDAuM3M7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGVhbSAubWVtYmVyIC5zb2NpYWwgYSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi50ZWFtIC5tZW1iZXIgLnNvY2lhbCBhOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi50ZWFtIC5tZW1iZXIgLnNvY2lhbCBpIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW46IDAgMnB4O1xufVxuXG4udGVhbSAubWVtYmVyOmhvdmVyIC5tZW1iZXItaW5mbyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuOSkgMCUsIHJnYmEoMCwgMCwgMCwgMC44KSAyMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IDAuNHM7XG59XG5cbi50ZWFtIC5tZW1iZXI6aG92ZXIgLm1lbWJlci1pbmZvLWNvbnRlbnQge1xuICBib3R0b206IDMwcHg7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjRzO1xufVxuXG4udGVhbSAubWVtYmVyOmhvdmVyIC5zb2NpYWwge1xuICBsZWZ0OiAwO1xuICB0cmFuc2l0aW9uOiBsZWZ0IGVhc2UtaW4tb3V0IDAuM3M7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEdsb2JhbCBQYWdlIFRpdGxlcyAmIEJyZWFkY3J1bWJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucGFnZS10aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjY2VudCk7XG4gIHBhZGRpbmc6IDI1cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGFnZS10aXRsZSBoMSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnBhZ2UtdGl0bGUgLmJyZWFkY3J1bWJzIG9sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnBhZ2UtdGl0bGUgLmJyZWFkY3J1bWJzIG9sIGxpK2xpIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4ucGFnZS10aXRsZSAuYnJlYWRjcnVtYnMgb2wgbGkrbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiL1wiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZGVmYXVsdCksIHRyYW5zcGFyZW50IDcwJSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgVGVhc2VyIFNlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi50ZWFzZXIge1xuICAtLWNvbG9yLXNlY29uZGFyeS1hY2NlbnQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpLCB0cmFuc3BhcmVudCA5NyUpO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNzB2aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpLCB0cmFuc3BhcmVudCA3NSUpO1xufVxuXG4udGVhc2VyIGgxIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiA1NnB4O1xufVxuXG4udGVhc2VyIHAge1xuICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWRlZmF1bHQpLCB0cmFuc3BhcmVudCAzMCUpO1xuICBtYXJnaW46IDVweCAwIDMwcHggMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4udGVhc2VyLWltZyBpbWcge1xuICBtYXgtaGVpZ2h0OiAzNTBweDtcbn1cblxuLnRlYXNlciAuYW5pbWF0ZWQge1xuICBhbmltYXRpb246IHVwLWRvd24gMnMgZWFzZS1pbi1vdXQgaW5maW5pdGUgYWx0ZXJuYXRlLXJldmVyc2UgYm90aDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC50ZWFzZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgfVxuXG4gIC50ZWFzZXIgcCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB1cC1kb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cbn1cbiIsImFydGljbGUjd2hpdHN1biBzZWN0aW9uIHtcbiAgcGFkZGluZzogNDBweCAwO1xufVxuXG5hcnRpY2xlI3doaXRzdW4gc2VjdGlvbiAuc2VjdGlvbi10aXRsZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG5hcnRpY2xlI3doaXRzdW4gc2VjdGlvbiAuc2VjdGlvbi10aXRsZSBoMiB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmFydGljbGUjd2hpdHN1biBzZWN0aW9uIC5zZWN0aW9uLXRpdGxlIGgyOmFmdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/