/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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]!./themes/ClimbHoldsTheme/assets/styles/main.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&family=Oswald:wght@200..700&display=swap);
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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]!./themes/ClimbHoldsTheme/assets/styles/main.scss (1) ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
.header-content-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.header-logo {
  justify-self: start;
}

.header-search {
  justify-self: center;
  width: 31rem;
  max-width: 100%;
}
.header-search .form-control {
  padding: 0.3125rem 2.75rem 0.3125rem 1.75rem;
  border-color: #333333;
}

.header-user-control {
  justify-self: end;
  align-self: start;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.625rem;
  font-family: "Open Sans", sans-serif;
}

@media (max-width: 991.98px) {
  .header-content-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
  }
  .header-logo {
    order: 1;
  }
  .header-user-control {
    order: 2;
    margin-left: auto;
    gap: 0;
  }
  .header-user-control .top-bar {
    display: none !important;
  }
  .header-content-row > .col-auto {
    order: 3;
    align-self: flex-start;
    display: flex;
    align-items: center;
    height: 2.5rem;
  }
  .header-search {
    order: 4;
    width: 100%;
  }
}
.cart-widget-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  width: min(20rem, 100%);
  min-height: 2.25rem;
  padding: 0 1.875rem 0 1.3125rem;
  border: 0;
  border-radius: 50rem;
  background-color: rgba(203, 202, 202, 0.92);
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.44);
  color: #333333;
  font-size: 0.875rem;
  line-height: 1;
}
.cart-widget-pill:hover, .cart-widget-pill:focus-visible {
  background-color: rgba(188, 186, 186, 0.92);
}

.cart-widget-label {
  white-space: nowrap;
}

.cart-widget-count {
  display: grid;
  place-items: center;
  width: 1.1875rem;
  height: 1.1875rem;
  border-radius: 50%;
  background-color: #333333;
  color: #ffffff;
  font-size: 0.8125rem;
}

.cart-widget-total {
  white-space: nowrap;
  font-size: 1rem;
}

.cart-widget-total-label {
  font-size: 0.875rem;
}

.cart-widget-icon {
  display: block;
  width: auto;
  height: 1.44rem;
  margin-left: auto;
}

.cart-widget-go {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
}

@media (max-width: 991.98px) {
  .cart-widget-pill {
    width: auto;
    min-height: 2.5rem;
    padding: 0 0.75rem;
  }
  .cart-widget-label,
  .cart-widget-total,
  .cart-widget-go {
    display: none;
  }
  .cart-widget-icon {
    margin-left: 0;
  }
}
#navbarNav.offcanvas-lg {
  max-width: 100%;
}

.holds-menu {
  padding: 0.5rem 0 1rem;
}
.holds-menu .holds-menu-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.holds-menu .holds-menu-item a {
  color: #333333;
  font-family: "Oswald", sans-serif;
  font-size: 1.125rem;
  text-transform: uppercase;
}
.holds-menu .holds-menu-item a:hover, .holds-menu .holds-menu-item a:focus-visible {
  color: #555555;
}

@media (max-width: 991.98px) {
  .holds-menu {
    padding: 0.5rem 1rem;
  }
  .holds-menu-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .holds-menu-item a {
    display: block;
    padding: 0.75rem 0;
    font-size: 1.25rem;
  }
  #navbarNav #brandsMenuPanel {
    padding-left: 0;
    padding-right: 0;
  }
  #navbarNav .brands-menu {
    padding: 0 1rem 0.75rem;
  }
}
.brands-menu {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.5rem 0 0.75rem;
}
@media (min-width: 992px) {
  .brands-menu {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
  }
}

.brands-menu-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  text-decoration: none;
}

.brands-menu-item-name {
  color: #333333;
  font-family: "Oswald", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.brands-menu-item-line {
  width: 100%;
  min-width: 2.75rem;
  max-width: 7rem;
  height: 1px;
  background-color: #cccccc;
}

.brands-menu-item-logo-zone {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 5.5rem;
  max-width: 7rem;
  height: 3.75rem;
  padding: 0 0.5rem;
}

.brands-menu-item-logo {
  max-width: 100%;
  max-height: 2.25rem;
}

.brand-band {
  --brand-band-color: #333333;
  display: flex;
  align-items: center;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  position: relative;
  min-height: 3.75rem;
  padding: 0.5rem 0;
  background-color: var(--brand-band-color);
  color: #ffffff;
}

.brand-band[data-brand-code=axis] {
  --brand-band-color: #006f3d;
}

.brand-band[data-brand-code=bleaustone] {
  --brand-band-color: #007cb0;
}

.brand-band[data-brand-code=climb_holds] {
  --brand-band-color: #de1a29;
}

.brand-band[data-brand-code=crux] {
  --brand-band-color: #a72920;
}

.brand-band[data-brand-code=lapis] {
  --brand-band-color: #e26e0e;
}

.brand-band[data-brand-code=playstone] {
  --brand-band-color: #ff1493;
}

.brand-band[data-brand-code=reset] {
  --brand-band-color: #c14940;
}

.brand-band[data-brand-code=squadra] {
  --brand-band-color: #ffc846;
  color: #333333;
}

.brand-band[data-brand-code="23_holds"] {
  --brand-band-color: #76689a;
}

.brand-band-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Open Sans", sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.brand-band-crumb {
  display: inline-flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
}
.brand-band-crumb svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.brand-band-crumb:hover, .brand-band-crumb:focus-visible {
  text-decoration: underline;
}

.brand-band-crumb--current {
  font-weight: 500;
}

.brand-band-sep {
  opacity: 0.7;
}

.brand-band-logo {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 1.875rem;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
@media (max-width: 767.98px) {
  .brand-band-logo {
    display: none;
  }
}

.brand-landing {
  width: 100%;
}

.category-card {
  text-decoration: none;
  color: inherit;
}

.top-bar {
  font-family: "Open Sans", sans-serif;
  color: #333333;
}
.top-bar .dropdown-menu {
  border: 0;
  border-radius: 0.5rem;
  box-shadow: 0 8px 8px rgba(0, 0, 0, 0.11);
  color: #333333;
}
.top-bar .dropdown-menu .dropdown-item {
  color: #333333;
}
.top-bar .dropdown-menu .dropdown-item:hover, .top-bar .dropdown-menu .dropdown-item:focus {
  background-color: #f2f2f2;
  color: #333333;
}

.top-bar-switcher {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0;
  border: 0;
  background: none;
  color: #333333;
  font-size: 1.125rem;
  line-height: 1;
}
.top-bar-switcher:hover, .top-bar-switcher:focus-visible {
  color: #555555;
}
.top-bar-switcher:hover .top-bar-switcher-chevron, .top-bar-switcher:focus-visible .top-bar-switcher-chevron {
  opacity: 0.7;
}
.top-bar-switcher .top-bar-switcher-chevron {
  display: block;
  width: 0.6rem;
  height: auto;
}

.top-bar-social {
  display: inline-flex;
  align-items: center;
  color: #333333;
}
.top-bar-social img {
  display: block;
  width: auto;
  height: 1.125rem;
}
.top-bar-social:hover, .top-bar-social:focus-visible {
  opacity: 0.7;
}

.user-control-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  min-height: 2.25rem;
  padding: 0 1rem;
  border-radius: 50rem;
  background-color: #333333;
  color: #ffffff;
  font-size: 0.75rem;
  line-height: 1;
}
.user-control-pill .user-control-icon {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}
.user-control-pill:hover, .user-control-pill:focus-visible {
  background-color: #555555;
  color: #ffffff;
}

.user-control-logout {
  display: inline-flex;
  align-items: center;
  color: #333333;
}
.user-control-logout svg {
  width: 1.25rem;
  height: 1.25rem;
}
.user-control-logout:hover, .user-control-logout:focus-visible {
  color: #555555;
}

.product-card {
  background-color: #ffffff;
  border: 1px solid #cbcaca;
  transition: border-color 0.15s ease-in-out, border-width 0.15s ease-in-out;
}
.product-card:hover, .product-card:focus-within {
  border-color: #333333;
  border-width: 4px;
}

.product-card-media {
  aspect-ratio: 1/1;
  background-color: #ffffff;
  padding: 12% 0 16%;
}

.product-card-name {
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 400;
}

.card-brand {
  width: 12%;
  min-width: 2rem;
}

.product-card-badges {
  top: 12%;
  gap: 0.25rem;
}
.product-card-badges .btn {
  font-size: 0.6875rem;
  line-height: 1.2;
  padding: 0.125rem 0.5rem;
  white-space: nowrap;
}

.product-card-price {
  bottom: 0;
  right: 0;
  background-color: #888888;
  color: #ffffff;
  font-size: 0.875rem;
  padding: 0.3125rem 0.625rem;
  border-radius: 0.375rem;
  transition: background-color 0.15s ease-in-out;
}
.product-card:hover .product-card-price, .product-card:focus-within .product-card-price {
  background-color: #333333;
}

.bitbag-sylius-elasticsearch-plugin-facets-form legend {
  width: 100%;
  float: none;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  color: #333333;
  border-bottom: 1px solid #cccccc;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
}
.bitbag-sylius-elasticsearch-plugin-facets-form .form-check {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  min-height: 1.5rem;
  margin-bottom: 0.125rem;
  padding-left: 0;
}
.bitbag-sylius-elasticsearch-plugin-facets-form .form-check-input {
  flex: none;
  float: none;
  margin: 0;
  width: 0.75rem;
  height: 0.75rem;
  appearance: none;
  background-color: #ffffff;
  border: 1px solid #333333;
  border-radius: 2px;
}
.bitbag-sylius-elasticsearch-plugin-facets-form .form-check-input:checked {
  background-color: #333333;
  box-shadow: inset 0 0 0 2px #ffffff;
}
.bitbag-sylius-elasticsearch-plugin-facets-form .form-check-input:disabled {
  border-color: #949494;
}
.bitbag-sylius-elasticsearch-plugin-facets-form .form-check-label {
  font-family: "Open Sans", sans-serif;
  font-size: 0.75rem;
  color: #333333;
}
.bitbag-sylius-elasticsearch-plugin-facets-form .form-check-input:disabled ~ .form-check-label {
  color: #949494;
}

.form-control:not(textarea),
.form-select {
  border-color: #333333;
  border-radius: 50rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.form-select {
  padding-right: 2.75rem;
  background-position: right 1.375rem center;
}

textarea.form-control {
  border-color: #333333;
  border-radius: 1.25rem;
}

.ch-color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ch-color-swatch {
  position: relative;
  display: inline-flex;
  cursor: pointer;
}

.ch-color-swatch-input {
  position: absolute;
  opacity: 0;
}

.ch-color-blob {
  display: block;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.25rem;
  object-fit: cover;
}

.ch-color-swatch-input:checked + .ch-color-blob {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #333333;
}

.ch-color-swatch-input:focus-visible + .ch-color-blob {
  outline: 2px solid #333333;
  outline-offset: 2px;
}

.ch-color-selected {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
}

.ch-color-selected-label {
  color: #888888;
}

.ch-color-selected-chip {
  width: 1.125rem;
  height: 1.125rem;
  margin: 0 0.25rem;
  border-radius: 0.125rem;
  vertical-align: -0.1875rem;
}

.ch-color-selected-note {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: #888888;
}

.ch-ifsc-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  width: 4.5rem;
  height: auto;
  pointer-events: none;
}

.ch-attribute-help {
  position: relative;
  display: inline-block;
  margin-left: 0.375rem;
  cursor: help;
  vertical-align: baseline;
}
.ch-attribute-help-icon {
  width: 1rem;
  height: 1rem;
  color: #888888;
}
.ch-attribute-help-bubble {
  display: none;
  position: absolute;
  z-index: 1020;
  top: 1.4rem;
  right: -6rem;
  width: 13.375rem;
  padding: 0.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  color: #333333;
  background: #ffffff;
  border: 1px solid #cbcaca;
  box-shadow: 0 8px 8px rgba(0, 0, 0, 0.11);
}
.ch-attribute-help:hover .ch-attribute-help-bubble, .ch-attribute-help:focus .ch-attribute-help-bubble {
  display: block;
}

.ch-product-card {
  background: #fff;
  border-radius: 0;
  padding: 1.5rem;
}
@media (min-width: 992px) {
  .ch-product-card {
    padding: 2rem;
  }
}

.ch-product-essentials {
  margin-bottom: 0.75rem;
}

.ch-product-description .ch-product-description-title {
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.ch-product-description p:last-child {
  margin-bottom: 0;
}

.ch-product-details .accordion-button {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 1rem;
}

.ch-price-row .ch-price-row-unit {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.ch-price-row .ch-price-row-amount {
  font-family: "Oswald", sans-serif;
  font-size: 1.75rem;
  font-weight: 600;
}
.ch-price-row .ch-price-row-label {
  color: #888888;
  font-size: 0.75rem;
}
.ch-price-row .ch-price-row-quantity {
  max-width: 7rem;
}
.ch-price-row .ch-price-row-quantity input {
  text-align: center;
}

.ch-delivery-estimate {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  color: #888888;
}

.homepage-category-panel {
  display: flex;
  flex-direction: column;
  aspect-ratio: 1/1;
  background-color: #ffffff;
  padding: 1.5rem;
  text-decoration: none;
}
.homepage-category-panel:hover, .homepage-category-panel:focus, .homepage-category-panel:active {
  text-decoration: none;
}

.homepage-category-panel_media {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.homepage-category-panel_media img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.homepage-category-panel_icon {
  max-width: 4rem;
}

.homepage-category-panel_title {
  margin-top: 1rem;
  color: #333333;
  font-family: "Oswald", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}

.homepage-new-products {
  background-color: #ffffff;
  padding: 2.5rem 4.5rem;
}
@media (max-width: 767.98px) {
  .homepage-new-products {
    padding: 1.5rem 0.75rem;
  }
}

.homepage-new-products_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2.5rem;
}

.homepage-new-products_title {
  font-size: 2.25rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  margin-bottom: 0;
  text-transform: uppercase;
}

.homepage-new-products_all {
  font-family: "Oswald", sans-serif;
  padding: 0.45rem 1.75rem;
  text-transform: uppercase;
}

.homepage-new-product-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.homepage-new-product-card_name {
  font-family: "Oswald", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
  text-transform: uppercase;
}

.homepage-new-product-card_divider {
  align-self: stretch;
  border-top: 1px solid #cbcaca;
  margin: 0.875rem 0;
}

.homepage-new-product-card_brand {
  height: 2rem;
  width: auto;
  margin-bottom: 1.25rem;
}

.homepage-new-product-card_media {
  position: relative;
  display: block;
  width: 80%;
  aspect-ratio: 1/1;
}
.homepage-new-product-card_media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.homepage-new-product-card_button {
  font-family: "Oswald", sans-serif;
  margin-top: 1.5rem;
  padding: 0.65rem 2.75rem;
  text-transform: uppercase;
}

.carousel-new-products .carousel-control-prev,
.carousel-new-products .carousel-control-next {
  width: 8%;
}

body {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  background-color: #f2f2f2;
  color: #333333;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "Oswald", sans-serif;
}

footer {
  font-family: "Oswald", sans-serif;
}

a {
  color: #333333;
}
a.nav-link, a.link-reset {
  color: #333333;
}
a.nav-link:hover, a.nav-link:focus, a.nav-link:active, a.nav-link.show, a.link-reset:hover, a.link-reset:focus, a.link-reset:active, a.link-reset.show {
  color: #555555 !important;
  text-decoration: none;
}
a:hover, a:focus, a:active {
  color: #555555;
  text-decoration: none;
}
a.btn.btn-primary {
  color: #ffffff;
}

.btn {
  border-radius: 2rem;
}
.btn.btn-primary {
  color: #ffffff;
  background-color: #333333;
  border-color: #333333;
}
.btn.btn-primary:hover, .btn.btn-primary:focus {
  background-color: #555555;
  border-color: #555555;
}

.searchdiv {
  position: relative;
}
.searchdiv #bitbag_elasticsearch_search_query,
.searchdiv #bitbag_elasticsearch_taxon_search_query {
  border-radius: 50rem;
  padding-right: 2.75rem;
  font-family: "Oswald", sans-serif;
}
.searchdiv #bitbag_elasticsearch_search_box_search,
.searchdiv #bitbag_elasticsearch_taxon_search {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  margin-left: 0;
  border: 0;
  border-radius: 0 50rem 50rem 0;
  background-color: transparent;
  color: #333333;
}
.searchdiv #bitbag_elasticsearch_search_box_search:hover, .searchdiv #bitbag_elasticsearch_search_box_search:focus-visible,
.searchdiv #bitbag_elasticsearch_taxon_search:hover,
.searchdiv #bitbag_elasticsearch_taxon_search:focus-visible {
  background-color: transparent;
  color: #555555;
}

#carouselBanner .carousel-item {
  height: 42.5rem;
}
#carouselBanner .carousel-item img {
  height: 100%;
  object-fit: cover;
}
#carouselBanner .homepage-banner_video .homepage-banner_video-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: #000;
  cursor: pointer;
}
#carouselBanner .homepage-banner_video .homepage-banner_video-cover::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(0, 0, 0, 0.6);
  transition: transform 0.2s ease-in-out;
}
#carouselBanner .homepage-banner_video .homepage-banner_video-cover::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 28px;
  transform: translate(-38%, -50%);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background-color: #ffffff;
}
#carouselBanner .homepage-banner_video .homepage-banner_video-cover:hover::before, #carouselBanner .homepage-banner_video .homepage-banner_video-cover:focus-visible::before {
  transform: translate(-50%, -50%) scale(1.08);
}
#carouselBanner .homepage-banner_video .homepage-banner_video-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#carouselBanner .homepage-banner_video .homepage-banner_video-cover[hidden] {
  display: none;
}
#carouselBanner .homepage-banner_video iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.homepage-banner_content {
  bottom: 4.5rem;
}
.homepage-banner_content.right {
  right: 4.5rem;
}
.homepage-banner_content.left {
  left: 4.5rem;
}

.card.fixed-rect {
  border-radius: 0;
  border: 0;
  box-shadow: 0 0 12px 3px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
}
.card.fixed-rect:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 10px 6px rgba(0, 0, 0, 0.2);
}
.card.fixed-rect:hover .card-img-top {
  transform: scale(1.05);
}
.card.fixed-rect .card-img-top {
  transition: transform 0.3s ease;
}

.products-grid {
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 0.75rem;
}
@media (min-width: 768px) {
  .products-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  .products-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpbWJob2xkcy1zaG9wLWVudHJ5LmNzcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7QUNGSjs7QURLQTtFQUNJO0FDRko7O0FES0E7RUFDSTtFQUNBO0VBQ0E7QUNGSjtBRElJO0VBQ0k7RUFDQSxxQkVaVTtBRFVsQjs7QURVQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esb0NFakJXO0FEVWY7O0FEY0E7RUFDSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VDWE47RURjRTtJQUNJO0VDWk47RURlRTtJQUNJO0lBQ0E7SUFDQTtFQ2JOO0VEbUJFO0lBQ0k7RUNqQk47RURzQkU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VDcEJOO0VEdUJFO0lBQ0k7SUFDQTtFQ3JCTjtBQUNGO0FFM0RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjREpjO0VDS2Q7RUFDQTtBRjZESjtBRTNESTtFQUVJO0FGNERSOztBRXhEQTtFQUNJO0FGMkRKOztBRXhEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QkR4QmM7RUN5QmQ7RUFDQTtBRjJESjs7QUV4REE7RUFDSTtFQUNBO0FGMkRKOztBRXhEQTtFQUNJO0FGMkRKOztBRXhEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FGMkRKOztBRXhEQTtFQUNJO0VBQ0E7RUFDQTtBRjJESjs7QUVyREE7RUFDSTtJQUNJO0lBQ0E7SUFDQTtFRndETjtFRXJERTs7O0lBR0k7RUZ1RE47RUVwREU7SUFDSTtFRnNETjtBQUNGO0FHaklBO0VBQ0k7QUhtSUo7O0FHaElBO0VBQ0k7QUhtSUo7QUdqSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIbUlSO0FHaElJO0VBQ0ksY0ZiVTtFRWNWLGlDRkpVO0VFS1Y7RUFDQTtBSGtJUjtBR2hJUTtFQUVJLGNGNERRO0FEcUVwQjs7QUd2SEE7RUFDSTtJQUNJO0VIMEhOO0VHdkhFO0lBQ0k7SUFDQTtJQUNBO0VIeUhOO0VHdEhFO0lBQ0k7SUFDQTtJQUNBO0VId0hOO0VHbEhFO0lBQ0k7SUFDQTtFSG9ITjtFR2pIRTtJQUNJO0VIbUhOO0FBQ0Y7QUlqTEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBSm1MSjtBSWpMSTtFQU5KO0lBT1E7SUFDQTtJQUNBO0lBQ0E7RUpvTE47QUFDRjs7QUlqTEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKb0xKOztBSWpMQTtFQUNJLGNIbEJjO0VHbUJkLGlDSFRjO0VHVWQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSm9MSjs7QUlqTEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKb0xKOztBSWpMQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUpvTEo7O0FJakxBO0VBQ0k7RUFDQTtBSm9MSjs7QUsxT0E7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjSkZPO0FEOE9YOztBS3pPQTtFQUNJO0FMNE9KOztBS3pPQTtFQUNJO0FMNE9KOztBS3pPQTtFQUNJO0FMNE9KOztBS3pPQTtFQUNJO0FMNE9KOztBS3pPQTtFQUNJO0FMNE9KOztBS3pPQTtFQUNJO0FMNE9KOztBS3pPQTtFQUNJO0FMNE9KOztBS3pPQTtFQUNJO0VBQ0EsY0p0Q2M7QURrUmxCOztBS3pPQTtFQUNJO0FMNE9KOztBS3pPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLG9DSnRDVztFSXVDWDtFQUNBO0VBQ0E7QUw0T0o7O0FLek9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUw0T0o7QUsxT0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTDRPUjtBS3pPSTtFQUVJO0FMME9SOztBS3RPQTtFQUNJO0FMeU9KOztBS3RPQTtFQUNJO0FMeU9KOztBS3RPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTHlPSjtBS3ZPSTtFQVJKO0lBU1E7RUwwT047QUFDRjs7QU05VUE7RUFDSTtBTmlWSjs7QU05VUE7RUFDSTtFQUNBO0FOaVZKOztBT3hWQTtFQUNJLG9DTmdCVztFTWZYLGNOSWM7QUR1VmxCO0FPelZJO0VBQ0k7RUFDQTtFQUNBLHlDTmlGSTtFTWhGSixjTkZVO0FENlZsQjtBT3pWUTtFQUNJLGNOTE07QURnV2xCO0FPelZZO0VBRUkseUJOTFI7RU1NUSxjTlZFO0FEb1dsQjs7QVEzV0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVI4V0o7QVE1V0k7RUFFSSxjUDBFWTtBRG1TcEI7QVEzV1E7RUFDSTtBUjZXWjtBUXpXSTtFQUNJO0VBQ0E7RUFDQTtBUjJXUjs7QVNsWUE7RUFDSTtFQUNBO0VBQ0EsY1JJYztBRGlZbEI7QVNuWUk7RUFDSTtFQUNBO0VBQ0E7QVRxWVI7QVNsWUk7RUFFSTtBVG1ZUjs7QVVoWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVm1aSjtBVWpaSTtFQUNJO0VBQ0E7RUFDQTtBVm1aUjtBVWhaSTtFQUVJLHlCVG1FWTtFU2xFWjtBVmlaUjs7QVU3WUE7RUFDSTtFQUNBO0VBQ0EsY1RyQmM7QURxYWxCO0FVOVlJO0VBQ0k7RUFDQTtBVmdaUjtBVTdZSTtFQUVJLGNUa0RZO0FENFZwQjs7QVcvYUE7RUFDSTtFQUNBO0VBQ0E7QVhrYko7QVdoYkk7RUFFSSxxQlZKVTtFVUtWO0FYaWJSOztBVzdhQTtFQUNJO0VBQ0E7RUFNQTtBWDJhSjs7QVd2YUE7RUFDSSxpQ1ZaYztFVWFkO0VBQ0E7QVgwYUo7O0FXdGFBO0VBQ0k7RUFDQTtBWHlhSjs7QVduYUE7RUFJSTtFQUNBO0FYbWFKO0FXamFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVhtYVI7O0FXOVpBO0VBQ0k7RUFDQTtFQUNBLHlCVnREZ0I7RVV1RGhCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhpYUo7QVcvWkk7RUFFSSx5QlZoRVU7QURnZWxCOztBWWxlSTtFQUNJO0VBQ0E7RUFDQSxpQ1hTVTtFV1JWO0VBQ0E7RUFDQTtFQUNBLGNYTFU7RVdNVjtFQUNBO0VBQ0E7QVpxZVI7QVlsZUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVpvZVI7QVlqZUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVptZVI7QVlqZVE7RUFDSSx5QlhoQ007RVdpQ047QVptZVo7QVloZVE7RUFDSTtBWmtlWjtBWTlkSTtFQUNJLG9DWC9CTztFV2dDUDtFQUNBLGNYNUNVO0FENGdCbEI7QVk3ZEk7RUFDSTtBWitkUjs7QWFuaEJBOztFQUVJLHFCWkVjO0VZRGQ7RUFDQTtFQUNBO0Fic2hCSjs7QWFsaEJBO0VBQ0k7RUFDQTtBYnFoQko7O0FhaGhCQTtFQUNJLHFCWmJjO0VZY2Qsc0JaZ0NZO0FEbWZoQjs7QWN0aUJBO0VBQ0k7RUFDQTtFQUNBO0FkeWlCSjs7QWN0aUJBO0VBQ0k7RUFDQTtFQUNBO0FkeWlCSjs7QWN0aUJBO0VBQ0k7RUFDQTtBZHlpQko7O0FjdGlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR5aUJKOztBY3RpQkE7RUFDSTtBZHlpQko7O0FjdGlCQTtFQUNJO0VBQ0E7QWR5aUJKOztBY3BpQkE7RUFDSTtFQUNBO0FkdWlCSjs7QWNwaUJBO0VBQ0ksY2JwQ2dCO0FEMmtCcEI7O0FjcGlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR1aUJKOztBY3BpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjYm5EZ0I7QUQwbEJwQjs7QWVsbUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmcW1CSjs7QWdCM21CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCOG1CSjtBZ0I1bUJJO0VBQ0k7RUFDQTtFQUNBLGNmRlk7QURnbkJwQjtBZ0IzbUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNmbEJVO0VlbUJWLG1CZmhCRztFZWlCSDtFQUNBLHlDZjZESTtBRGdqQlo7QWdCMW1CSTtFQUVJO0FoQjJtQlI7O0FpQjNvQkE7RUFDSTtFQUNBO0VBQ0E7QWpCOG9CSjtBaUI1b0JJO0VBTEo7SUFNUTtFakIrb0JOO0FBQ0Y7O0FpQjFvQkE7RUFDSTtBakI2b0JKOztBaUJ4b0JJO0VBQ0ksaUNoQkhVO0VnQklWO0VBQ0E7RUFDQTtBakIyb0JSO0FpQnhvQkk7RUFDSTtBakIwb0JSOztBaUJub0JJO0VBQ0ksaUNoQmxCVTtFZ0JtQlY7RUFDQTtFQUNBO0FqQnNvQlI7O0FpQmhvQkk7RUFDSTtFQUNBO0VBQ0E7QWpCbW9CUjtBaUJob0JJO0VBQ0ksaUNoQmxDVTtFZ0JtQ1Y7RUFDQTtBakJrb0JSO0FpQi9uQkk7RUFDSSxjaEJqRFk7RWdCa0RaO0FqQmlvQlI7QWlCOW5CSTtFQUNJO0FqQmdvQlI7QWlCOW5CUTtFQUNJO0FqQmdvQlo7O0FpQjFuQkE7RUFDSTtFQUNBO0VBQ0EsY2hCbEVnQjtBRCtyQnBCOztBa0Juc0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUJqQkVPO0VpQkFQO0VBR0E7QWxCbXNCSjtBa0Jqc0JJO0VBR0k7QWxCaXNCUjs7QWtCN3JCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCZ3NCSjtBa0I5ckJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxCZ3NCUjs7QWtCM3JCQTtFQUNJO0FsQjhyQko7O0FrQjNyQkE7RUFDSTtFQUNBLGNqQnJDYztFaUJzQ2QsaUNqQjVCYztFaUI2QmQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEI4ckJKOztBa0J6ckJBO0VBQ0kseUJqQjlDTztFaUIrQ1A7QWxCNHJCSjtBa0IxckJJO0VBSko7SUFLUTtFbEI2ckJOO0FBQ0Y7O0FrQnpyQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCNHJCSjs7QWtCenJCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCNHJCSjs7QWtCenJCQTtFQUNJLGlDakJsRWM7RWlCbUVkO0VBQ0E7QWxCNHJCSjs7QWtCdnJCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsQjByQko7O0FrQnZyQkE7RUFDSSxpQ2pCakZjO0VpQmtGZDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQjByQko7O0FrQnZyQkE7RUFDSTtFQUNBO0VBQ0E7QWxCMHJCSjs7QWtCdnJCQTtFQUNJO0VBQ0E7RUFDQTtBbEIwckJKOztBa0JuckJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxCc3JCSjtBa0JwckJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQnNyQlI7O0FrQmxyQkE7RUFDSSxpQ2pCMUhjO0VpQjJIZDtFQUNBO0VBQ0E7QWxCcXJCSjs7QWtCL3FCSTs7RUFFSTtBbEJrckJSOztBQWp6QkE7RUFDSSxvQ0NOVztFRE9YO0VBRUE7RUFHQSx5QkNuQkk7RURvQko7QUFpekJKOztBQTV5QkE7O0VBRUksaUNDckJjO0FEbzBCbEI7O0FBM3lCQTtFQUNJLGlDQzFCYztBRHcwQmxCOztBQTN5QkE7RUFRSTtBQXV5Qko7QUE5eUJJO0VBQ0k7QUFnekJSO0FBL3lCUTtFQUNJO0VBQ0E7QUFpekJaO0FBN3lCSTtFQUNJO0VBQ0E7QUEreUJSO0FBNXlCUTtFQUNJO0FBOHlCWjs7QUF6eUJBO0VBQ0k7QUE0eUJKO0FBM3lCSTtFQUNJO0VBQ0E7RUFDQTtBQTZ5QlI7QUE1eUJRO0VBQ0k7RUFDQTtBQTh5Qlo7O0FBeHlCQTtFQUNJO0FBMnlCSjtBQXp5Qkk7O0VBRUk7RUFDQTtFQUdBLGlDQ3hFVTtBRGkzQmxCO0FBdHlCSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF3eUJSO0FBdnlCUTs7O0VBQ0k7RUFDQTtBQTJ5Qlo7O0FBcHlCSTtFQUNJO0FBdXlCUjtBQXJ5QlE7RUFDSTtFQUNBO0FBdXlCWjtBQWh5QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBa3lCWjtBQWh5Qlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWt5QmhCO0FBL3hCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWl5QmhCO0FBNXhCZ0I7RUFDSTtBQTh4QnBCO0FBMXhCWTtFQUNJO0VBQ0E7RUFDQTtBQTR4QmhCO0FBenhCWTtFQUNJO0FBMnhCaEI7QUF2eEJRO0VBQ0k7RUFDQTtFQUNBO0FBeXhCWjs7QUFweEJBO0VBQ0k7QUF1eEJKO0FBdHhCSTtFQUNJO0FBd3hCUjtBQXR4Qkk7RUFDSTtBQXd4QlI7O0FBcHhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF1eEJKO0FBcnhCSTtFQUNJO0VBQ0E7QUF1eEJSO0FBcnhCUTtFQUNBO0FBdXhCUjtBQW54Qkk7RUFDSTtBQXF4QlI7O0FBL3dCQTtFQUNJO0VBQ0E7QUFreEJKO0FBaHhCSTtFQUpKO0lBS1E7RUFteEJOO0FBQ0Y7QUFqeEJJO0VBUko7SUFTUTtFQW94Qk47QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vdGhlbWVzL0NsaW1iSG9sZHNUaGVtZS9hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19oZWFkZXJfY29udGVudC5zY3NzIiwid2VicGFjazovLy8uL3RoZW1lcy9DbGltYkhvbGRzVGhlbWUvYXNzZXRzL3N0eWxlcy9tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vdGhlbWVzL0NsaW1iSG9sZHNUaGVtZS9hc3NldHMvc3R5bGVzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi90aGVtZXMvQ2xpbWJIb2xkc1RoZW1lL2Fzc2V0cy9zdHlsZXMvcGFydGlhbHMvX2NhcnRfd2lkZ2V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vdGhlbWVzL0NsaW1iSG9sZHNUaGVtZS9hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19ob2xkc19tZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vdGhlbWVzL0NsaW1iSG9sZHNUaGVtZS9hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19icmFuZHNfbWVudS5zY3NzIiwid2VicGFjazovLy8uL3RoZW1lcy9DbGltYkhvbGRzVGhlbWUvYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fYnJhbmRfYmFuZC5zY3NzIiwid2VicGFjazovLy8uL3RoZW1lcy9DbGltYkhvbGRzVGhlbWUvYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fYnJhbmRfbGFuZGluZy5zY3NzIiwid2VicGFjazovLy8uL3RoZW1lcy9DbGltYkhvbGRzVGhlbWUvYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fdG9wX2Jhci5zY3NzIiwid2VicGFjazovLy8uL3RoZW1lcy9DbGltYkhvbGRzVGhlbWUvYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fc3dpdGNoZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vdGhlbWVzL0NsaW1iSG9sZHNUaGVtZS9hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19zb2NpYWxfbGlua3Muc2NzcyIsIndlYnBhY2s6Ly8vLi90aGVtZXMvQ2xpbWJIb2xkc1RoZW1lL2Fzc2V0cy9zdHlsZXMvcGFydGlhbHMvX3VzZXJfY29udHJvbC5zY3NzIiwid2VicGFjazovLy8uL3RoZW1lcy9DbGltYkhvbGRzVGhlbWUvYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fcHJvZHVjdF9jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vdGhlbWVzL0NsaW1iSG9sZHNUaGVtZS9hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19mYWNldHMuc2NzcyIsIndlYnBhY2s6Ly8vLi90aGVtZXMvQ2xpbWJIb2xkc1RoZW1lL2Fzc2V0cy9zdHlsZXMvcGFydGlhbHMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vdGhlbWVzL0NsaW1iSG9sZHNUaGVtZS9hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19jb2xvcl9zd2F0Y2hlcy5zY3NzIiwid2VicGFjazovLy8uL3RoZW1lcy9DbGltYkhvbGRzVGhlbWUvYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9faWZzY19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uL3RoZW1lcy9DbGltYkhvbGRzVGhlbWUvYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fcHJvZHVjdF9hdHRyaWJ1dGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vdGhlbWVzL0NsaW1iSG9sZHNUaGVtZS9hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19wcm9kdWN0X3BhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi90aGVtZXMvQ2xpbWJIb2xkc1RoZW1lL2Fzc2V0cy9zdHlsZXMvcGFydGlhbHMvX2hvbWVwYWdlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSGVhZGVyIGNvbnRlbnQgcm93IChcIkhlYWRlciBNZW51XCIgRmlnbWEgZnJhbWUpOiAzLWNvbHVtbiBncmlkIOKAlFxuLy8gbG9nbyB8IHNlYXJjaCB8IHVzZXIgY29udHJvbCBjZW50ZXIg4oCUIG1pcnJvcmluZyB0aGUgRmlnbWEgYXV0byBsYXlvdXRcbi8vICgxZnIgYXV0byAxZnIsIGV2ZXJ5dGhpbmcgdmVydGljYWxseSBjZW50ZXJlZCwgc2VhcmNoIHRydWx5IGNlbnRlcmVkXG4vLyByZWxhdGl2ZSB0byB0aGUgaGVhZGVyLCBsb2dvIHBpbm5lZCBsZWZ0LCB1c2VyIGNvbnRyb2wgcGlubmVkIHJpZ2h0KS5cbi5oZWFkZXItY29udGVudC1yb3cge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0byAxZnI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmhlYWRlci1sb2dvIHtcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xufVxuXG4uaGVhZGVyLXNlYXJjaCB7XG4gICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgd2lkdGg6IDMxcmVtOyAvLyA0OTVweCBzZWFyY2ggcGlsbCBwZXIgRmlnbWEgKGRlZmluaXRlIHdpZHRoIHNvIHRoZSBhdXRvIGdyaWQgdHJhY2sga2VlcHMgaXQpXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAyLjc1cmVtIDAuMzEyNXJlbSAxLjc1cmVtOyAvLyAyOHB4IHRleHQgaW5zZXQsIH4zNXB4IHBpbGwgaGVpZ2h0IHBlciBGaWdtYVxuICAgICAgICBib3JkZXItY29sb3I6ICRjaC1jaGFyY29hbDsgLy8gc29saWQgIzMzMyBwaWxsIG91dGxpbmUgcGVyIEZpZ21hXG4gICAgfVxufVxuXG4vLyBSaWdodCBjb2x1bW46IHRvcC1iYXIgZ3JvdXAgKGxvY2FsZSAvIGN1cnJlbmN5IC8gc29jaWFsIC8gc2lnbiBpbilcbi8vIHdpdGggdGhlIGNhcnQgcGlsbCBzdGFja2VkIGJlbG93LCBhcyBpbiB0aGUgRmlnbWEgXCJVc2VyIGNvbnRyb2wgY2VudGVyXCIuXG4vLyBQaW5uZWQgdG8gdGhlIHRvcCBlZGdlIG9mIHRoZSBoZWFkZXIgYmFuZCAoYWxpZ24tc2VsZjogc3RhcnQpIGluc3RlYWQgb2Zcbi8vIGZsb2F0aW5nIG1pZC1iYW5kOyBsb2dvIGFuZCBzZWFyY2ggc3RheSB2ZXJ0aWNhbGx5IGNlbnRlcmVkIHZpYSB0aGUgcm93LlxuLmhlYWRlci11c2VyLWNvbnRyb2wge1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMC42MjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICRjaC1mb250LWJvZHk7XG59XG5cbi8vIE1vYmlsZSAoPGxnKTogdGhlIGRlc2t0b3AgMy1jb2x1bW4gZ3JpZCBjYW5ub3Qgc2hyaW5rIOKAlCByZXN0YWNrIGl0IGFzIGFcbi8vIHdyYXBwaW5nIGZsZXggcm93OiBsb2dvIHwgY29tcGFjdCBjYXJ0IHwgaGFtYnVyZ2VyIG9uIGxpbmUgMSAoY2FydCBwdXNoZWRcbi8vIHJpZ2h0IHZpYSBtYXJnaW4tbGVmdDphdXRvKSwgc2VhcmNoIGZ1bGwtd2lkdGggb24gbGluZSAyLiBEZXNrdG9wIGlzXG4vLyB1bnRvdWNoZWQgYWJvdmUgdGhpcyBicmVha3BvaW50LlxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLmhlYWRlci1jb250ZW50LXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW0gMC43NXJlbTtcbiAgICB9XG5cbiAgICAuaGVhZGVyLWxvZ28ge1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXVzZXItY29udHJvbCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgZ2FwOiAwO1xuICAgIH1cblxuICAgIC8vIFN3aXRjaGVycyAvIHNvY2lhbCAvIHNpZ24taW4gZHJvcCBvdXQgb2YgdGhlIGNvbXBhY3QgbW9iaWxlIGhlYWRlcjtcbiAgICAvLyB0aGUgY2FydCBwaWxsIHN0YXlzIChvcGVucyB0aGUgc3RvY2sgI29mZmNhbnZhc0NhcnQgZHJhd2VyKS5cbiAgICAvLyAhaW1wb3J0YW50IG5lZWRlZDogdGhlIHRvcC1iYXIgY2FycmllcyBCb290c3RyYXAncyBkLWZsZXggdXRpbGl0eS5cbiAgICAuaGVhZGVyLXVzZXItY29udHJvbCAudG9wLWJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBWZW5kb3IgdGF4b25faGFtYnVyZ2VyIGhvb2thYmxlIChjb2wtYXV0byBkLWxnLW5vbmUgd3JhcHBlcik6IHRvcC1cbiAgICAvLyBhbGlnbmVkIHdpdGggdGhlIGNhcnQgcGlsbCwgYnV0dG9uIHZlcnRpY2FsbHkgY2VudGVyZWQgaW4gaXRzIGJhbmQuXG4gICAgLmhlYWRlci1jb250ZW50LXJvdyA+IC5jb2wtYXV0byB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTsgLy8gPSBjb21wYWN0IGNhcnQgcGlsbCBoZWlnaHRcbiAgICB9XG5cbiAgICAuaGVhZGVyLXNlYXJjaCB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59IiwiLy8gQGltcG9ydCAnQFN5bGl1c1Nob3BCdW5kbGUvUmVzb3VyY2VzL2Fzc2V0cy9zdHlsZXMvbWFpbic7XG5cbi8vIFR3by1mb250IHN5c3RlbTogT3N3YWxkIChoZWFkaW5ncy9tZW51IHRpdGxlcykgKyBPcGVuIFNhbnMgKHRleHQpXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6d2dodEA0MDA7NTAwOzYwMDs3MDAmZmFtaWx5PU9zd2FsZDp3Z2h0QDIwMC4uNzAwJmRpc3BsYXk9c3dhcCcpO1xuXG5AaW1wb3J0ICcuL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuL3BhcnRpYWxzL2hlYWRlcl9jb250ZW50JztcbkBpbXBvcnQgJy4vcGFydGlhbHMvY2FydF93aWRnZXQnO1xuQGltcG9ydCAnLi9wYXJ0aWFscy9ob2xkc19tZW51JztcbkBpbXBvcnQgJy4vcGFydGlhbHMvYnJhbmRzX21lbnUnO1xuQGltcG9ydCAnLi9wYXJ0aWFscy9icmFuZF9iYW5kJztcbkBpbXBvcnQgJy4vcGFydGlhbHMvYnJhbmRfbGFuZGluZyc7XG5AaW1wb3J0ICcuL3BhcnRpYWxzL3RvcF9iYXInO1xuQGltcG9ydCAnLi9wYXJ0aWFscy9zd2l0Y2hlcnMnO1xuQGltcG9ydCAnLi9wYXJ0aWFscy9zb2NpYWxfbGlua3MnO1xuQGltcG9ydCAnLi9wYXJ0aWFscy91c2VyX2NvbnRyb2wnO1xuQGltcG9ydCAnLi9wYXJ0aWFscy9wcm9kdWN0X2NhcmQnO1xuQGltcG9ydCAnLi9wYXJ0aWFscy9mYWNldHMnO1xuQGltcG9ydCAnLi9wYXJ0aWFscy9mb3Jtcyc7XG5AaW1wb3J0ICcuL3BhcnRpYWxzL2NvbG9yX3N3YXRjaGVzJztcbkBpbXBvcnQgJy4vcGFydGlhbHMvaWZzY19iYWRnZSc7XG5AaW1wb3J0ICcuL3BhcnRpYWxzL3Byb2R1Y3RfYXR0cmlidXRlcyc7XG5AaW1wb3J0ICcuL3BhcnRpYWxzL3Byb2R1Y3RfcGFnZSc7XG5AaW1wb3J0ICcuL3BhcnRpYWxzL2hvbWVwYWdlJztcblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICRjaC1mb250LWJvZHk7XG4gICAgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bztcbiAgICAvLyAgIGZvbnQtd2VpZ2h0OiA8d2VpZ2h0PjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgLy8gR3JheSBwYWdlIGJhY2tncm91bmQgcGVyIEZpZ21hIHRva2VucyAoXCJCYWNrZ3JvdW5kIGNvbG9yOiAjRjJGMkYyXCIpO1xuICAgIC8vIGNvbnRlbnQgc2l0cyBpbiB3aGl0ZSBjb250YWluZXJzICguY2gtcHJvZHVjdC1jYXJkIGFuZCBmcmllbmRzKVxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjaC1iZztcbiAgICBjb2xvcjogIzMzMzMzMztcbn1cblxuLy8gVGl0bGVzIChpbmNsLiBCb290c3RyYXAgaGVhZGluZyBjbGFzc2VzKSBzdGF5IG9uIE9zd2FsZCDigJQgbWVudSB0aXRsZXMgYW5kXG4vLyBvdGhlciBkaXNwbGF5IHRleHQgb3B0IGluIHZpYSAkY2gtZm9udC1oZWFkaW5nIGluIHRoZWlyIHBhcnRpYWxzLlxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkY2gtZm9udC1oZWFkaW5nO1xufVxuXG4vLyBGb290ZXIga2VlcHMgT3N3YWxkICh0aGUgb3JpZ2luYWwgbG9vayBiZWZvcmUgdGhlIGJvZHkgbW92ZWQgdG8gT3BlbiBTYW5zKS5cbmZvb3RlciB7XG4gICAgZm9udC1mYW1pbHk6ICRjaC1mb250LWhlYWRpbmc7XG59XG5cbmEge1xuICAgICYubmF2LWxpbmssICYubGluay1yZXNldCB7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5zaG93IHtcbiAgICAgICAgICAgIGNvbG9yOiAjNTU1NTU1ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzU1NTU1NTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICAmLmJ0biB7XG4gICAgICAgICYuYnRuLXByaW1hcnkge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idG4ge1xuICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgJi5idG4tcHJpbWFyeSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xuICAgICAgICBib3JkZXItY29sb3I6ICMzMzMzMzM7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzU1NTU1NTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUHJvZHVjdCBzZWFyY2ggcGlsbCAoQml0QmFnIEVsYXN0aWNzZWFyY2g6IGhlYWRlciBhdXRvY29tcGxldGUgKyB0YXhvbiBsaXN0aW5nIHNlYXJjaClcbi5zZWFyY2hkaXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICNiaXRiYWdfZWxhc3RpY3NlYXJjaF9zZWFyY2hfcXVlcnksXG4gICAgI2JpdGJhZ19lbGFzdGljc2VhcmNoX3RheG9uX3NlYXJjaF9xdWVyeSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjc1cmVtO1xuICAgICAgICAvLyAuZm9ybS1jb250cm9sIHB1bGxzIGl0cyBmb250IGZyb20gLS1icy1ib2R5LWZvbnQtZmFtaWx5LCB3aGljaCB0aGVcbiAgICAgICAgLy8gYm9keSBydWxlIGRvZXMgbm90IG92ZXJyaWRlIOKAlCBkZWNsYXJlIE9zd2FsZCBleHBsaWNpdGx5LlxuICAgICAgICBmb250LWZhbWlseTogJGNoLWZvbnQtaGVhZGluZztcbiAgICB9XG5cbiAgICAjYml0YmFnX2VsYXN0aWNzZWFyY2hfc2VhcmNoX2JveF9zZWFyY2gsXG4gICAgI2JpdGJhZ19lbGFzdGljc2VhcmNoX3RheG9uX3NlYXJjaCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDUwcmVtIDUwcmVtIDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6ICM1NTU1NTU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEhlcm8gY2Fyb3VzZWwgKEZpZ21hKTogY29udGFpbmVyLXdpZGUsIGZpeGVkIDY4MHB4IHRhbGw7IGltYWdlcyBjb3Zlci1jcm9wIHRvIGZpbGxcbiNjYXJvdXNlbEJhbm5lciB7XG4gICAgLmNhcm91c2VsLWl0ZW0ge1xuICAgICAgICBoZWlnaHQ6IDQyLjVyZW07IC8vIDY4MHB4XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gWW91VHViZSBzbGlkZTogb3VyIG93biBtYXhyZXNkZWZhdWx0IGNvdmVyIGhpZGVzIHRoZSBwbGF5ZXIgdW50aWwgaXRzXG4gICAgLy8gc2xpZGUgaXMgdmlzaWJsZTsgdGhlIGlmcmFtZSBsZXR0ZXJib3hlcyB0aGUgMTY6OSB2aWRlbyBpbnNpZGUgdGhlIHNsaWRlXG4gICAgLmhvbWVwYWdlLWJhbm5lcl92aWRlbyB7XG4gICAgICAgIC5ob21lcGFnZS1iYW5uZXJfdmlkZW8tY292ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUgeyAvLyBwbGF5IGJ1dHRvbiBkaXNjXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2OHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjhweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7IC8vIHBsYXkgdHJpYW5nbGVcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zOCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgNTAlLCAwIDEwMCUpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMDgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbaGlkZGVuXSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gYXV0aG9yIHN0eWxlcyB3b3VsZCBvdGhlcndpc2Ugd2luIG92ZXIgdGhlIFVBJ3MgW2hpZGRlbl1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhvbWVwYWdlLWJhbm5lcl9jb250ZW50IHtcbiAgICBib3R0b206IDQuNXJlbTsgLy8gY29ybmVyLWFuY2hvcmVkLCB3aXRoIGJyZWF0aGluZyByb29tXG4gICAgJi5yaWdodCB7XG4gICAgICAgIHJpZ2h0OiA0LjVyZW07XG4gICAgfVxuICAgICYubGVmdCB7XG4gICAgICAgIGxlZnQ6IDQuNXJlbTtcbiAgICB9XG59XG5cbi5jYXJkLmZpeGVkLXJlY3Qge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgYm94LXNoYWRvdyAwLjNzIGVhc2U7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cbiAgICAgICAgLmNhcmQtaW1nLXRvcCB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICB9XG59XG5cbi8vIFByb2R1Y3QgbGlzdGluZyBncmlkOiA0IGNhcmRzIHBlciByb3cgb24gZGVza3RvcFxuLy8gKG92ZXJyaWRlcyBTeWxpdXMgc2hvcC1lbnRyeSdzIG1pbm1heCgyNzBweCwgMWZyKSwgd2hpY2ggY2FwcyBhdCAzIGNvbHVtbnMgaW4gdGhlIHhsIGNvbnRhaW5lcilcbi5wcm9kdWN0cy1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdyaWQtZ2FwOiAwLjc1cmVtO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgfVxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCb290c3RyYXAgLyBTeWxpdXMgVmFyaWFibGUgT3ZlcnJpZGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlc2lnbiB0b2tlbnMg4oCUIGNsaW1iaG9sZHMyMDI1IEZpZ21hLCBcIkNvbG9yc1wiIHBhZ2UgKG5vZGUgMjI1OjE4NDMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gLS0tLS0tLS0gQ29yZSBwYWxldHRlIC0tLS0tLS0tXG4kY2gtcHJpbWFyeS1kYXJrOiAjMzMzMzMzICFkZWZhdWx0OyAgICAgICAgLy8gXCJQcmltYXJ5IERhcms6ICMzMzMzMzNcIiDigJQgdGV4dCwgaWNvbnMsIHByaW1hcnkgYnV0dG9uc1xuJGNoLXNlY29uZGFyeS1ncmF5OiAjODg4ODg4ICFkZWZhdWx0OyAgICAgIC8vIFwiU2Vjb25kYXJ5IEdyYXk6ICM4ODg4ODhcIlxuJGNoLXRlcnRpYXJ5LWxpZ2h0LWdyYXk6ICNjYmNhY2EgIWRlZmF1bHQ7IC8vIFwiVGVyY2lhcnkgTGlnaCBHcmF5OiAjQ0JDQUNBXCIgKGxhYmVsIHR5cG8gaW4gRmlnbWEpXG4kY2gtd2hpdGU6ICNmZmZmZmYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgLy8gXCJXaGl0ZTogI0ZGRkZGRlwiXG4kY2gtYmc6ICNmMmYyZjIgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgLy8gXCJCYWNrZ3JvdW5kIGNvbG9yOiAjRjJGMkYyXCJcblxuLy8gLS0tLS0tLS0gVHlwb2dyYXBoeSAodHdvLWZvbnQgc3lzdGVtIHBlciB1c2VyKSAtLS0tLS0tLVxuLy8gT3N3YWxkIOKAlCBoZWFkaW5ncywgbWVudSB0aXRsZXMsIGxhcmdlciBkaXNwbGF5IHRleHQgKG5hdiByb3dzLCBmYWNldFxuLy8gc2VjdGlvbiB0aXRsZXMsIGNhcmQgbmFtZXMsIGJyYW5kIG5hbWVzKS5cbi8vIE9wZW4gU2FucyDigJQgYm9keSBjb3B5LCBjb250cm9scywgYW5kIGFsbCBvdGhlciBydW5uaW5nIHRleHQuXG4kY2gtZm9udC1oZWFkaW5nOiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGNoLWZvbnQtYm9keTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gLS0tLS0tLS0gQnV0dG9ucyAtLS0tLS0tLVxuLy8gUGlsbCBzaGFwZSAoMjBweCByYWRpdXMgb24gMzZweCBoZWlnaHQpLiBGb2N1cyBhbmQgbG9hZGluZyBzdGF0ZXMgcmV1c2Vcbi8vIHRoZSBkZWZhdWx0IGNvbG9ycyBwZXIgRmlnbWEgKGZvY3VzIGFkZHMgYW4gb3V0bGluZSByaW5nKS5cbi8vIFByaW1hcnkg4oCUIGRhcmtcbiRjaC1idG4tcHJpbWFyeS1iZzogJGNoLXByaW1hcnktZGFyayAhZGVmYXVsdDtcbiRjaC1idG4tcHJpbWFyeS1ob3Zlci1iZzogIzQ0NDQ0NCAhZGVmYXVsdDtcbiRjaC1idG4tcHJpbWFyeS1wcmVzc2VkLWJnOiAjMjIyMjIyICFkZWZhdWx0O1xuJGNoLWJ0bi1wcmltYXJ5LWNvbG9yOiAkY2gtd2hpdGUgIWRlZmF1bHQ7XG4vLyBTZWNvbmRhcnkg4oCUIG1pZCBncmF5XG4kY2gtYnRuLXNlY29uZGFyeS1iZzogJGNoLXNlY29uZGFyeS1ncmF5ICFkZWZhdWx0O1xuJGNoLWJ0bi1zZWNvbmRhcnktaG92ZXItYmc6ICM3Nzc3NzcgIWRlZmF1bHQ7XG4kY2gtYnRuLXNlY29uZGFyeS1wcmVzc2VkLWJnOiAjNjY2NjY2ICFkZWZhdWx0O1xuJGNoLWJ0bi1zZWNvbmRhcnktY29sb3I6ICRjaC13aGl0ZSAhZGVmYXVsdDsgLy8gRmlnbWEgbGFiZWwgc2F5cyAjMzMzMzMzLCBidXQgdGhlIGRlc2lnbiByZW5kZXJzIHdoaXRlIHRleHRcbi8vIFRlcnRpYXJ5IOKAlCBsaWdodCBncmF5XG4kY2gtYnRuLXRlcnRpYXJ5LWJnOiAkY2gtdGVydGlhcnktbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiRjaC1idG4tdGVydGlhcnktaG92ZXItYmc6ICNiOGI3YjcgIWRlZmF1bHQ7XG4kY2gtYnRuLXRlcnRpYXJ5LXByZXNzZWQtYmc6ICNhNWE0YTQgIWRlZmF1bHQ7XG4kY2gtYnRuLXRlcnRpYXJ5LWNvbG9yOiAkY2gtcHJpbWFyeS1kYXJrICFkZWZhdWx0O1xuLy8gV2hpdGUg4oCUIG91dGxpbmVkXG4kY2gtYnRuLXdoaXRlLWJnOiAkY2gtd2hpdGUgIWRlZmF1bHQ7XG4kY2gtYnRuLXdoaXRlLWJvcmRlcjogJGNoLXByaW1hcnktZGFyayAhZGVmYXVsdDtcbiRjaC1idG4td2hpdGUtaG92ZXItYmc6ICNmMmYyZjIgIWRlZmF1bHQ7XG4kY2gtYnRuLXdoaXRlLXByZXNzZWQtYmc6ICNlNmU2ZTYgIWRlZmF1bHQ7XG4kY2gtYnRuLXdoaXRlLWNvbG9yOiAkY2gtcHJpbWFyeS1kYXJrICFkZWZhdWx0O1xuLy8gRGlzYWJsZWRcbiRjaC1idG4tZGlzYWJsZWQtYmc6ICNlMGUwZTAgIWRlZmF1bHQ7ICAgIC8vIHByaW1hcnkgKyBzZWNvbmRhcnlcbiRjaC1idG4tZGlzYWJsZWQtY29sb3I6ICM5OTk5OTkgIWRlZmF1bHQ7IC8vIHByaW1hcnkgKyBzZWNvbmRhcnlcbiRjaC1idG4tdGVydGlhcnktZGlzYWJsZWQtYmc6ICNmMGYwZjAgIWRlZmF1bHQ7XG4kY2gtYnRuLXRlcnRpYXJ5LWRpc2FibGVkLWNvbG9yOiAjYWFhYWFhICFkZWZhdWx0O1xuJGNoLWJ0bi13aGl0ZS1kaXNhYmxlZC1iZzogI2Y1ZjVmNSAhZGVmYXVsdDtcbiRjaC1idG4td2hpdGUtZGlzYWJsZWQtYm9yZGVyOiAjZDBkMGQwICFkZWZhdWx0O1xuJGNoLWJ0bi13aGl0ZS1kaXNhYmxlZC1jb2xvcjogI2FhYWFhYSAhZGVmYXVsdDtcbi8vIFNoYXBlXG4kY2gtYnRuLXJhZGl1czogMS4yNXJlbSAhZGVmYXVsdDsgLy8gMjBweCDigJQgcGlsbCBvbiB0aGUgMzZweCAoMi4yNXJlbSkgRmlnbWEgYnV0dG9uXG5cbi8vIC0tLS0tLS0tIExpbmtzIC0tLS0tLS0tXG4vLyBHcmF5IGxpbmtzIChvbiBsaWdodCBzdXJmYWNlcyk6IGhvdmVyL3ByZXNzZWQgYWRkIHVuZGVybGluZSwgZm9jdXMgYWRkcyBhbiBvdXRsaW5lXG4kY2gtbGluay1jb2xvcjogJGNoLXByaW1hcnktZGFyayAhZGVmYXVsdDtcbiRjaC1saW5rLWhvdmVyLWNvbG9yOiAjNjY2NjY2ICFkZWZhdWx0O1xuJGNoLWxpbmstcHJlc3NlZC1jb2xvcjogIzIyMjIyMiAhZGVmYXVsdDtcbiRjaC1saW5rLWZvY3VzLWNvbG9yOiAkY2gtcHJpbWFyeS1kYXJrICFkZWZhdWx0O1xuJGNoLWxpbmstdmlzaXRlZC1jb2xvcjogIzU1NTU1NSAhZGVmYXVsdDtcbiRjaC1saW5rLWRpc2FibGVkLWNvbG9yOiAjYWFhYWFhICFkZWZhdWx0O1xuLy8gV2hpdGUgbGlua3MgKG9uIGRhcmsgc3VyZmFjZXMpXG4kY2gtbGluay13aGl0ZS1jb2xvcjogJGNoLXdoaXRlICFkZWZhdWx0O1xuJGNoLWxpbmstd2hpdGUtaG92ZXItY29sb3I6ICRjaC10ZXJ0aWFyeS1saWdodC1ncmF5ICFkZWZhdWx0OyAvLyAjY2JjYWNhXG4kY2gtbGluay13aGl0ZS1wcmVzc2VkLWNvbG9yOiAkY2gtd2hpdGUgIWRlZmF1bHQ7XG4kY2gtbGluay13aGl0ZS1mb2N1cy1jb2xvcjogJGNoLXdoaXRlICFkZWZhdWx0O1xuJGNoLWxpbmstd2hpdGUtdmlzaXRlZC1jb2xvcjogJGNoLXRlcnRpYXJ5LWxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kY2gtbGluay13aGl0ZS1kaXNhYmxlZC1jb2xvcjogJGNoLXNlY29uZGFyeS1ncmF5ICFkZWZhdWx0OyAvLyAjODg4ODg4XG5cbi8vIC0tLS0tLS0tIEJyYW5kIGNvbG9ycyAocGVyLWJyYW5kIGJyZWFkY3J1bWJzIGJhY2tncm91bmQpIC0tLS0tLS0tXG4vLyBMb2dvcyBhcmUgd2hpdGUgb24gdGhlc2UgYmFja2dyb3VuZHMsIGV4Y2VwdCBTcXVhZHJhIHdoaWNoIHVzZXMgdGhlIGRhcmsgKCMzMzMpIGxvZ28uXG4kY2gtYnJhbmQtYXhpczogIzAwNmYzZCAhZGVmYXVsdDtcbiRjaC1icmFuZC1ibGVhdXN0b25lOiAjMDA3Y2IwICFkZWZhdWx0O1xuJGNoLWJyYW5kLWNhcHRhaW4tY3J1eDogI2E3MjkyMCAhZGVmYXVsdDtcbiRjaC1icmFuZC1jbGltYi1ob2xkczogI2RlMWEyOSAhZGVmYXVsdDtcbiRjaC1icmFuZC1sYXBpczogI2UyNmUwZSAhZGVmYXVsdDtcbiRjaC1icmFuZC1wbGF5c3RvbmU6ICNmZjE0OTMgIWRlZmF1bHQ7XG4kY2gtYnJhbmQtcmVzZXQ6ICNjMTQ5NDAgIWRlZmF1bHQ7XG4kY2gtYnJhbmQtc3F1YWRyYTogI2ZmYzg0NiAhZGVmYXVsdDtcbiRjaC1icmFuZC0yMy1ob2xkczogIzc2Njg5YSAhZGVmYXVsdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMZWdhY3kgdG9rZW5zIChwcmUtXCJDb2xvcnNcIiBwYWdlKSDigJQgc3RpbGwgcmVmZXJlbmNlZCBieSBwYXJ0aWFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kY2gtY2hhcmNvYWw6ICRjaC1wcmltYXJ5LWRhcmsgIWRlZmF1bHQ7ICAgLy8gUHJpbWFyeSBkYXJrOiB0ZXh0LCBpY29ucywgcGlsbCBmaWxsc1xuJGNoLWNoYXJjb2FsLWhvdmVyOiAjNTU1NTU1ICFkZWZhdWx0OyAgICAgIC8vIFRPRE86IHJlLW1hcCB0byAkY2gtbGluay1ob3Zlci1jb2xvciBpbiB0aGUgYnV0dG9ucy9saW5rcyBwYXNzXG4kY2gtc3VyZmFjZS1ob3ZlcjogJGNoLWJnICFkZWZhdWx0OyAgICAgICAgLy8gTGlnaHQgaG92ZXIgc3VyZmFjZSAoZHJvcGRvd24gaXRlbXMpXG4kY2gtc2hhZG93OiAwIDhweCA4cHggcmdiYSgwLCAwLCAwLCAwLjExKSAhZGVmYXVsdDsgLy8gRWxldmF0aW9uIGZyb20gZGVzaWduIGNhcmRzXG5cbi8vIC0tLS0tLS0tIEJ1dHRvbnMgLS0tLS0tLS1cbiRidG4tcHJpbWFyeS1iZzogIzMzMzMzMyAhZGVmYXVsdDsgICAgICAgICAgLy8gUHJpbWFyeSBidXR0b24gYmFja2dyb3VuZFxuJGJ0bi1wcmltYXJ5LWNvbG9yOiAjZmZmICFkZWZhdWx0OyAgICAgICAgIC8vIFByaW1hcnkgYnV0dG9uIHRleHQgY29sb3JcbiRidG4tcHJpbWFyeS1ib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tc2Vjb25kYXJ5LWJnOiAjZWFlYWVhICFkZWZhdWx0OyAgICAgICAvLyBTZWNvbmRhcnkgYnV0dG9uIGJhY2tncm91bmRcbiRidG4tc2Vjb25kYXJ5LWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzOiA4cHggIWRlZmF1bHQ7ICAgICAgICAgIC8vIEJ1dHRvbiByb3VuZG5lc3NcbiRidG4tcGFkZGluZy15OiAwLjZyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogMS41cmVtICFkZWZhdWx0O1xuXG4vLyAtLS0tLS0tLSBMaW5rcyAtLS0tLS0tLVxuJGxpbmstY29sb3I6ICMzMzMzMzMgIWRlZmF1bHQ7ICAgICAgICAgICAgIC8vIERlZmF1bHQgbGluayBjb2xvciBpbiBib2R5XG4kbGluay1ob3Zlci1jb2xvcjogbGlnaHRlbigkbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4iLCIvLyBDYXJ0IHdpZGdldDogdGhlIGdyYXkgY2Fwc3VsZSBwaWxsIGZyb20gdGhlIEZpZ21hIFwiVXNlciBjb250cm9sIGNlbnRlclwiXG4vLyAoI2NiY2FjYSBwaWxsLCBjaGFyY29hbCBjb250ZW50cywgZGFyayBjb3VudCBiYWRnZSwgYmx1ZSBnby10by1jYXJ0IGFycm93KS5cbi5jYXJ0LXdpZGdldC1waWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4zNzVyZW07XG4gICAgd2lkdGg6IG1pbigyMHJlbSwgMTAwJSk7IC8vIDMyMHB4IHBlciBGaWdtYVxuICAgIG1pbi1oZWlnaHQ6IDIuMjVyZW07IC8vIDM2cHhcbiAgICBwYWRkaW5nOiAwIDEuODc1cmVtIDAgMS4zMTI1cmVtOyAvLyBhcnJvdyBidXR0b24gZW5kcyAzMHB4IGZyb20gdGhlIHJpZ2h0IGVkZ2VcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTByZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDMsIDIwMiwgMjAyLCAwLjkyKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjQ0KTtcbiAgICBjb2xvcjogJGNoLWNoYXJjb2FsO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IC8vIDE0cHhcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxODgsIDE4NiwgMTg2LCAwLjkyKTtcbiAgICB9XG59XG5cbi5jYXJ0LXdpZGdldC1sYWJlbCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNhcnQtd2lkZ2V0LWNvdW50IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEuMTg3NXJlbTsgLy8gMTlweFxuICAgIGhlaWdodDogMS4xODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2gtY2hhcmNvYWw7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07IC8vIDEzcHhcbn1cblxuLmNhcnQtd2lkZ2V0LXRvdGFsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgLy8gMTZweCBhbW91bnRcbn1cblxuLmNhcnQtd2lkZ2V0LXRvdGFsLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyAvLyAxNHB4IFwiVG90YWw6XCJcbn1cblxuLmNhcnQtd2lkZ2V0LWljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMS40NHJlbTsgLy8gMjMuMXB4IHBlciBGaWdtYVxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uY2FydC13aWRnZXQtZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjEyNXJlbTsgLy8gMThweFxuICAgIGhlaWdodDogMS4xMjVyZW07XG59XG5cbi8vIE1vYmlsZSAoPGxnKTogdGhlIDMyMHB4IHBpbGwgc2hyaW5rcyB0byBhbiBpY29uIGNhcHN1bGUgKGNhcnQgaWNvbiArIGNvdW50XG4vLyBiYWRnZSkgc28gaXQgZml0cyB0aGUgY29tcGFjdCBoZWFkZXIgcm93LiBTdGlsbCBvcGVucyB0aGUgI29mZmNhbnZhc0NhcnRcbi8vIGRyYXdlciDigJQgc2FtZSBiZWhhdmlvciwgc21hbGxlciBmb290cHJpbnQuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuY2FydC13aWRnZXQtcGlsbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiAyLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMC43NXJlbTtcbiAgICB9XG5cbiAgICAuY2FydC13aWRnZXQtbGFiZWwsXG4gICAgLmNhcnQtd2lkZ2V0LXRvdGFsLFxuICAgIC5jYXJ0LXdpZGdldC1nbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNhcnQtd2lkZ2V0LWljb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgLy8gd2FzIGF1dG8tcHVzaGVkIHJpZ2h0IGJ5IHRoZSBmdWxsIHBpbGwgbGF5b3V0XG4gICAgfVxufSIsIi8vIFwiSG9sZHMgTWVudSBTZWN0aW9uXCIgKEZpZ21hKTogT3N3YWxkIHVwcGVyY2FzZSBuYXYgcm93IHJlbmRlcmVkIGFib3ZlXG4vLyB0aGUgYnJhbmRzIHRheG9uIG1lbnUgaW4gdGhlIGhlYWRlciBuYXZiYXIuIEJlbG93IGxnIHRoZSBzYW1lIG1hcmt1cCBpc1xuLy8gdGhlIGNvbnRlbnQgb2YgdGhlICNuYXZiYXJOYXYgb2ZmY2FudmFzIGRyYXdlciAoc2VlIG5hdmJhci9tZW51Lmh0bWwudHdpZykuXG4jbmF2YmFyTmF2Lm9mZmNhbnZhcy1sZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBkZWZhdWx0IDQwMHB4IGRyYXdlciB3b3VsZCBvdmVyZmxvdyBzbWFsbCBwaG9uZXNcbn1cblxuLmhvbGRzLW1lbnUge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwIDFyZW07IC8vIGV4dHJhIGFpciBiZWxvdyB0aGUgcm93IG9uIGRlc2t0b3AgKGRyYXdlciByZS1zcGVjaWZpZXMgYmVsb3cgbGcpXG5cbiAgICAuaG9sZHMtbWVudS1uYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDNyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAuaG9sZHMtbWVudS1pdGVtIGEge1xuICAgICAgICBjb2xvcjogJGNoLWNoYXJjb2FsO1xuICAgICAgICBmb250LWZhbWlseTogJGNoLWZvbnQtaGVhZGluZzsgLy8gbWVudSB0aXRsZXMg4oaSIE9zd2FsZFxuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyAvLyAxOHB4IHBlciBGaWdtYVxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGNoLWNoYXJjb2FsLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQlJBTkRTIHRvZ2dsZSBpcyBhIHBsYWluIDxhPiwgc3R5bGVkIGJ5IHRoZSAuaG9sZHMtbWVudS1pdGVtIGEgcnVsZSBhYm92ZSDigJRcbiAgICAvLyBubyBzcGVjaWFsIGFjdGl2ZSBzdHlsaW5nOiB0aGUgb3BlbiBwYW5lbCBhbmQgdGhlIGJyYW5kIGJhbmQgY2FycnkgdGhlIHN0YXRlLlxufVxuXG4vLyBEcmF3ZXIgbGF5b3V0ICg8bGcpOiB2ZXJ0aWNhbCB0YXBwYWJsZSByb3dzIGluc3RlYWQgb2YgdGhlIGNlbnRlcmVkXG4vLyBkZXNrdG9wIHJvdzsgYnJhbmRzIHBhbmVsIChhIEJvb3RzdHJhcCBjb2xsYXBzZSkgZXhwYW5kcyBiZW5lYXRoIHRoZW0uXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuaG9sZHMtbWVudSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIH1cblxuICAgIC5ob2xkcy1tZW51LW5hdiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBnYXA6IDA7XG4gICAgfVxuXG4gICAgLmhvbGRzLW1lbnUtaXRlbSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cblxuICAgIC8vIE5ldXRyYWxpemUgdGhlIC5jb250YWluZXIgb24gdGhlIGJyYW5kcyBjb2xsYXBzZSBpbnNpZGUgdGhlIGRyYXdlclxuICAgIC8vIChpdCBleGlzdHMgZm9yIGRlc2t0b3AgcGFnZS1ncmlkIGFsaWdubWVudCkgYW5kIGFsaWduIHRoZSB0aWxlcyB3aXRoXG4gICAgLy8gdGhlIG1lbnUgcm93cy5cbiAgICAjbmF2YmFyTmF2ICNicmFuZHNNZW51UGFuZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgI25hdmJhck5hdiAuYnJhbmRzLW1lbnUge1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW0gMC43NXJlbTtcbiAgICB9XG59IiwiLy8gXCJCcmFuZHMgTWVudVwiIChGaWdtYSBjbGltYmhvbGRzMjAyNSwgbWVudSBwYWdlKTogcm93IG9mIDkgYnJhbmQgdGlsZXMgdW5kZXJcbi8vIHRoZSBIT0xEUyBsaW5rcy4gVGlsZSA9IHVwcGVyY2FzZSBuYW1lLCBoYWlybGluZSwgZGFyayBsb2dvLiBUaGUgY3VycmVudFxuLy8gYnJhbmQgaXMgTk9UIGhpZ2hsaWdodGVkIGhlcmUg4oCUIHRoZSBmdWxsLXdpZHRoIGJyYW5kIGJhbmQgYmVsb3cgdGhlIG1lbnVcbi8vIChzZWUgX2JyYW5kX2JhbmQuc2NzcykgY2FycmllcyB0aGUgYnJhbmQgY29sb3IgaW5zdGVhZC5cbi5icmFuZHMtbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC41cmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwIDAuNzVyZW07XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgIH1cbn1cblxuLmJyYW5kcy1tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4zNzVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnJhbmRzLW1lbnUtaXRlbS1uYW1lIHtcbiAgICBjb2xvcjogJGNoLXByaW1hcnktZGFyaztcbiAgICBmb250LWZhbWlseTogJGNoLWZvbnQtaGVhZGluZzsgLy8gbWVudSB0aXRsZSDihpIgT3N3YWxkXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgLy8gMTRweCDigJQgbWlkZGxlIGdyb3VuZCBiZXR3ZWVuIEZpZ21hIDExcHggYW5kIDE2cHhcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYnJhbmRzLW1lbnUtaXRlbS1saW5lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDIuNzVyZW07XG4gICAgbWF4LXdpZHRoOiA3cmVtO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2NjY2M7XG59XG5cbi5icmFuZHMtbWVudS1pdGVtLWxvZ28tem9uZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogNS41cmVtO1xuICAgIG1heC13aWR0aDogN3JlbTtcbiAgICBoZWlnaHQ6IDMuNzVyZW07IC8vIDYwcHggcGlsbCBwZXIgRmlnbWFcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbn1cblxuLmJyYW5kcy1tZW51LWl0ZW0tbG9nbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDIuMjVyZW07XG59XG4iLCIvLyBCcmFuZCBiYW5kIChGaWdtYSBjbGltYmhvbGRzMjAyNSk6IGZ1bGwtd2lkdGggc3RyaXAgYmVsb3cgdGhlIGJyYW5kcyBtZW51XG4vLyBvbiBicmFuZCBwYWdlcywgZmlsbGVkIHdpdGggdGhlIGJyYW5kIGNvbG9yLiBCcmVhZGNydW1icyBzaXQgb24gdGhlIGxlZnQsXG4vLyB0aGUgKHdoaXRlKSBsb2dvIGlzIGNlbnRlcmVkLiBTcXVhZHJhIGtlZXBzIGRhcmsgdGV4dCArIGRhcmsgbG9nbyBvbiB5ZWxsb3cuXG4uYnJhbmQtYmFuZCB7XG4gICAgLS1icmFuZC1iYW5kLWNvbG9yOiAjeyRjaC1wcmltYXJ5LWRhcmt9O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDB2dzsgLy8gYnJlYWsgb3V0IG9mIHRoZSBwYWdlIGNvbnRhaW5lciwgZWRnZSB0byBlZGdlXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBhbmNob3IgZm9yIHRoZSBjZW50ZXJlZCBsb2dvXG4gICAgbWluLWhlaWdodDogMy43NXJlbTsgLy8gNjBweCBwZXIgRmlnbWFcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDsgLy8gY3J1bWJzIGFsaWduIHZpYSB0aGUgaW5uZXIgLmNvbnRhaW5lclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJhbmQtY29sb3IpO1xuICAgIGNvbG9yOiAkY2gtd2hpdGU7XG59XG5cbi5icmFuZC1iYW5kW2RhdGEtYnJhbmQtY29kZT1cImF4aXNcIl0ge1xuICAgIC0tYnJhbmQtYmFuZC1jb2xvcjogI3skY2gtYnJhbmQtYXhpc307XG59XG5cbi5icmFuZC1iYW5kW2RhdGEtYnJhbmQtY29kZT1cImJsZWF1c3RvbmVcIl0ge1xuICAgIC0tYnJhbmQtYmFuZC1jb2xvcjogI3skY2gtYnJhbmQtYmxlYXVzdG9uZX07XG59XG5cbi5icmFuZC1iYW5kW2RhdGEtYnJhbmQtY29kZT1cImNsaW1iX2hvbGRzXCJdIHtcbiAgICAtLWJyYW5kLWJhbmQtY29sb3I6ICN7JGNoLWJyYW5kLWNsaW1iLWhvbGRzfTtcbn1cblxuLmJyYW5kLWJhbmRbZGF0YS1icmFuZC1jb2RlPVwiY3J1eFwiXSB7XG4gICAgLS1icmFuZC1iYW5kLWNvbG9yOiAjeyRjaC1icmFuZC1jYXB0YWluLWNydXh9O1xufVxuXG4uYnJhbmQtYmFuZFtkYXRhLWJyYW5kLWNvZGU9XCJsYXBpc1wiXSB7XG4gICAgLS1icmFuZC1iYW5kLWNvbG9yOiAjeyRjaC1icmFuZC1sYXBpc307XG59XG5cbi5icmFuZC1iYW5kW2RhdGEtYnJhbmQtY29kZT1cInBsYXlzdG9uZVwiXSB7XG4gICAgLS1icmFuZC1iYW5kLWNvbG9yOiAjeyRjaC1icmFuZC1wbGF5c3RvbmV9O1xufVxuXG4uYnJhbmQtYmFuZFtkYXRhLWJyYW5kLWNvZGU9XCJyZXNldFwiXSB7XG4gICAgLS1icmFuZC1iYW5kLWNvbG9yOiAjeyRjaC1icmFuZC1yZXNldH07XG59XG5cbi5icmFuZC1iYW5kW2RhdGEtYnJhbmQtY29kZT1cInNxdWFkcmFcIl0ge1xuICAgIC0tYnJhbmQtYmFuZC1jb2xvcjogI3skY2gtYnJhbmQtc3F1YWRyYX07XG4gICAgY29sb3I6ICRjaC1wcmltYXJ5LWRhcms7IC8vIGRhcmsgY3J1bWJzICsgZGFyayBsb2dvIG9uIHllbGxvd1xufVxuXG4uYnJhbmQtYmFuZFtkYXRhLWJyYW5kLWNvZGU9XCIyM19ob2xkc1wiXSB7XG4gICAgLS1icmFuZC1iYW5kLWNvbG9yOiAjeyRjaC1icmFuZC0yMy1ob2xkc307XG59XG5cbi5icmFuZC1iYW5kLWJyZWFkY3J1bWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICRjaC1mb250LWJvZHk7IC8vIGJyZWFkY3J1bWIgdGV4dCDihpIgT3BlbiBTYW5zXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgLy8gMTRweCDigJQgRmlnbWEgc2FpZCAxMnB4LCB0b28gc21hbGwgdG8gcmVhZFxuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJyYW5kLWJhbmQtY3J1bWIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgZmlsbDogbm9uZTtcbiAgICAgICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHN0cm9rZS13aWR0aDogMjtcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgICAgICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4uYnJhbmQtYmFuZC1jcnVtYi0tY3VycmVudCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmJyYW5kLWJhbmQtc2VwIHtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi5icmFuZC1iYW5kLWxvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgaGVpZ2h0OiAxLjg3NXJlbTsgLy8gfmhhbGYgdGhlIGJhbmQgaGVpZ2h0IHBlciBGaWdtYVxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIGF2b2lkIG92ZXJsYXBwaW5nIHRoZSBjcnVtYnMgb24gc21hbGwgc2NyZWVuc1xuICAgIH1cbn1cbiIsIi8vIEJyYW5kIGxhbmRpbmcgKEZpZ21hIGNsaW1iaG9sZHMyMDI1KTogZ3JpZCBvZiB0aGUgYnJhbmQncyBjYXRlZ29yeSB0aWxlc1xuLy8gaW4gdGhlIHByb2R1Y3QtY2FyZCBmb3JtYXQg4oCUIHNxdWFyZSB0aWxlIHdpdGggdGhlIGNhdGVnb3J5IG5hbWUgb24gdG9wIGFuZFxuLy8gdGhlIGJyYW5kIGxvZ28gYm90dG9tIGxlZnQgKHNxdWFyZSBtZWRpYSwgaG92ZXIgb3V0bGluZSBhbmQgbG9nbyBzaXppbmcgYWxsXG4vLyBjb21lIGZyb20gdGhlIHNoYXJlZCBfcHJvZHVjdF9jYXJkLnNjc3MgcGFydGlhbCkuXG4uYnJhbmQtbGFuZGluZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXRlZ29yeS1jYXJkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG4iLCIvLyBIZWFkZXIgdG9wIGJhciAoXCJVc2VyIGNvbnRyb2wgY2VudGVyXCIgZ3JvdXApOiBsb2NhbGUvY3VycmVuY3kgc3dpdGNoZXJzLFxuLy8gc29jaWFsIGxpbmtzIGFuZCB0aGUgdXNlciBjb250cm9sIHBpbGwuIExheW91dCBzdGF5cyBvbiBCb290c3RyYXAnc1xuLy8gcm93L2NvbCBzeXN0ZW0g4oCUIHRoaXMgb25seSBzdHlsZXMgdGhlIGNvbXBvbmVudHMgaW5zaWRlIHRoZSBiYXIuXG4udG9wLWJhciB7XG4gICAgZm9udC1mYW1pbHk6ICRjaC1mb250LWJvZHk7XG4gICAgY29sb3I6ICRjaC1jaGFyY29hbDtcblxuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICAgIGJveC1zaGFkb3c6ICRjaC1zaGFkb3c7XG4gICAgICAgIGNvbG9yOiAkY2gtY2hhcmNvYWw7XG5cbiAgICAgICAgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgICAgICAgY29sb3I6ICRjaC1jaGFyY29hbDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjaC1zdXJmYWNlLWhvdmVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY2gtY2hhcmNvYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBDdXJyZW5jeSAvIGxvY2FsZSBzd2l0Y2hlciB0cmlnZ2VyczogYmFyZSBnbHlwaCArIGNoZXZyb24sIG5vIGJ1dHRvbiBjaHJvbWVcbi8vIChGaWdtYTogXCLigqwg4pa+XCIgYW5kIGZsYWcgKyBjaGV2cm9uLCBkYXJrIGNoYXJjb2FsIG9uIHRoZSBsaWdodCBiYXIpLlxuLnRvcC1iYXItc3dpdGNoZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICRjaC1jaGFyY29hbDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBjb2xvcjogJGNoLWNoYXJjb2FsLWhvdmVyO1xuXG4gICAgICAgIC50b3AtYmFyLXN3aXRjaGVyLWNoZXZyb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItc3dpdGNoZXItY2hldnJvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMC42cmVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxufVxuIiwiLy8gU29jaWFsIGxpbmtzIChGYWNlYm9vayAvIEluc3RhZ3JhbSAvIFlvdVR1YmUpOiBtb25vY2hyb21lIGNoYXJjb2FsIGljb25zXG4vLyBleHBvcnRlZCBmcm9tIHRoZSBGaWdtYSBmaWxlIChhc3NldHMvaW1hZ2VzL2ljb25zLykuXG4udG9wLWJhci1zb2NpYWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICRjaC1jaGFyY29hbDtcblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG59XG4iLCIvLyBVc2VyIGNvbnRyb2w6IGRhcmsgcGlsbCB3aXRoIGFjY291bnQgaWNvbiAoXCJTaWduIGluXCIgLyBcIk15IGFjY291bnRcIilcbi8vIHBsdXMgYSBsb2dvdXQgaWNvbiBidXR0b24gd2hlbiBsb2dnZWQgaW4gKEZpZ21hIFwiU2lnbiBpblwiIGNhcHN1bGUpLlxuLnVzZXItY29udHJvbC1waWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4zNzVyZW07XG4gICAgbWluLWhlaWdodDogMi4yNXJlbTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTByZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNoLWNoYXJjb2FsO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIC51c2VyLWNvbnRyb2wtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjaC1jaGFyY29hbC1ob3ZlcjtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgfVxufVxuXG4udXNlci1jb250cm9sLWxvZ291dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJGNoLWNoYXJjb2FsO1xuXG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGNvbG9yOiAkY2gtY2hhcmNvYWwtaG92ZXI7XG4gICAgfVxufVxuIiwiLy8gUHJvZHVjdCBjYXJkIHRpbGUgKEZpZ21hIGNsaW1iaG9sZHMyMDI1LCBwcm9kdWN0cyBwYWdlKTogc3F1YXJlIGNhcmQgd2l0aFxuLy8gYSAxcHggbGlnaHQgYm9yZGVyIHRoYXQgZ3Jvd3MgdG8gYSA0cHggY2hhcmNvYWwgYm9yZGVyIG9uIGhvdmVyLCB0aGUgcHJpY2Vcbi8vIGNoaXAgZGFya2VucyB0byBjaGFyY29hbCBhcyB3ZWxsLiBUaGUgcGhvdG8gaXMgaW5zZXQgdmVydGljYWxseSDigJQgdGhlIG5hbWVcbi8vICh0b3ApIGFuZCB0aGUgbG9nbyArIHByaWNlIHJvdyAoYm90dG9tKSBzaXQgb24gdGhlIHdoaXRlIGNhcmQgYmFja2dyb3VuZCxcbi8vIG5ldmVyIG9uIHRoZSBwaG90by4gUmVuZGVyZWQgYnkgdGhlIHN5bGl1c19zaG9wLnNoYXJlZC5wcm9kdWN0LmNhcmQgaG9va1xuLy8gdHJlZTsgdGhlIG5hbWUvcHJpY2UvbG9nbyBvdmVybGF5cyBhcmUgYWJzb2x1dGVseSBwb3NpdGlvbmVkIG9uIHRoZSBjYXJkLlxuLnByb2R1Y3QtY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2gtdGVydGlhcnktbGlnaHQtZ3JheTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci13aWR0aCAwLjE1cyBlYXNlLWluLW91dDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjaC1wcmltYXJ5LWRhcms7XG4gICAgICAgIGJvcmRlci13aWR0aDogNHB4OyAvLyBwZXIgRmlnbWEgaG92ZXI6IHNhbWUgb3V0ZXIgc2l6ZSwgdGhpY2tlciBmcmFtZVxuICAgIH1cbn1cblxuLnByb2R1Y3QtY2FyZC1tZWRpYSB7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIC8vIEJyZWF0aGluZyByb29tIGZvciB0aGUgbmFtZSBvdmVybGF5ICh0b3ApIGFuZCB0aGUgbG9nbyArIHByaWNlIGNoaXBcbiAgICAvLyAoYm90dG9tKSDigJQgcHJvcG9ydGlvbnMgZnJvbSBGaWdtYSAoMzNweCAvIDQycHggb24gYSAyNjZweCBjYXJkKS5cbiAgICAvLyBUaGUgbWFpbiBpbWFnZSBpcyBzaXplZCBieSBpdHMgdGVtcGxhdGUgY2xhc3NlcyAody0xMDAgaC0xMDBcbiAgICAvLyBvYmplY3QtZml0LWNvdmVyKTsgZG8gTk9UIGFkZCBiYXJlIGltZyBydWxlcyBoZXJlIOKAlCB0aGV5IHdvdWxkIGFsc29cbiAgICAvLyBoaXQgdGhlIGFic29sdXRlbHkgcG9zaXRpb25lZCAuY2FyZC1icmFuZCBsb2dvIGFuZCBibG93IGl0IHVwLlxuICAgIHBhZGRpbmc6IDEyJSAwIDE2JTtcbn1cblxuLy8gUHJvZHVjdCBuYW1lLCB0b3AgbGVmdCBvZiB0aGUgY2FyZCB0aWxlXG4ucHJvZHVjdC1jYXJkLW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiAkY2gtZm9udC1oZWFkaW5nOyAvLyBjYXJkIHRpdGxlIOKGkiBPc3dhbGRcbiAgICBmb250LXNpemU6IDFyZW07IC8vIDE2cHggcGVyIEZpZ21hXG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgLy8gT3N3YWxkIFJlZ3VsYXIgcGVyIEZpZ21hXG59XG5cbi8vIEJyYW5kIGxvZ28sIGJvdHRvbSBsZWZ0IG9mIHRoZSBjYXJkIHRpbGVcbi5jYXJkLWJyYW5kIHtcbiAgICB3aWR0aDogMTIlO1xuICAgIG1pbi13aWR0aDogMnJlbTsgLy8gMzJweCBwZXIgRmlnbWFcbn1cblxuLy8gQmFkZ2UgY2hpcHMgKFwiTmV3XCIgLyBcIkNvbWluZyBTb29uXCIpLCBsZWZ0LWFsaWduZWQganVzdCBiZWxvdyB0aGUgcHJvZHVjdFxuLy8gbmFtZS4gT25seSB0aGVzZSB0d28gYmFkZ2UgY29kZXMgYXJlIHJlbmRlcmVkIChzZWUgdGhlIHByb2R1Y3RCYWRnZS5odG1sLnR3aWdcbi8vIHRoZW1lIG92ZXJyaWRlKTsgb3RoZXIgYmFkZ2VzIHN0YXkgZGF0YS1vbmx5LiBTbWFsbGVyIHRoYW4gdGhlIHByaWNlIGNoaXAuXG4ucHJvZHVjdC1jYXJkLWJhZGdlcyB7XG4gICAgLy8gVGhlIG1lZGlhIGJveCdzIDEyJSB0b3AgcGFkZGluZyBpcyB0aGUgd2hpdGUgYmFuZCB0aGUgcHJvZHVjdCBuYW1lIHNpdHNcbiAgICAvLyBpbiwgc28gMTIlIChtZWRpYSBpcyBzcXVhcmUpIGxhbmRzIHRoZSBjaGlwcyBhdCB0aGUgcGhvdG8ncyB0b3AgZWRnZSxcbiAgICAvLyB1bmRlciB0aGUgbmFtZTsgdGhlIHRlbXBsYXRlJ3MgbS0yIGFkZHMgdGhlIGdhcCBiZWxvdyB0aGUgYmFuZC5cbiAgICB0b3A6IDEyJTtcbiAgICBnYXA6IDAuMjVyZW07XG5cbiAgICAuYnRuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07IC8vIDExcHgsIHZlcnN1cyB0aGUgMTRweCBwcmljZSBjaGlwXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuNXJlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG59XG5cbi8vIFByaWNlIGNoaXAsIGJvdHRvbSByaWdodCBvZiB0aGUgY2FyZCB0aWxlIOKAlCBkYXJrZW5zIG9uIGhvdmVyIGxpa2UgdGhlIGZyYW1lXG4ucHJvZHVjdC1jYXJkLXByaWNlIHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNoLXNlY29uZGFyeS1ncmF5O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IC8vIDE0cHggcGVyIEZpZ21hXG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtOyAvLyA2cHggcGVyIEZpZ21hXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dDtcblxuICAgIC5wcm9kdWN0LWNhcmQ6aG92ZXIgJixcbiAgICAucHJvZHVjdC1jYXJkOmZvY3VzLXdpdGhpbiAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNoLXByaW1hcnktZGFyaztcbiAgICB9XG59XG4iLCIvLyBFbGFzdGljc2VhcmNoIGZhY2V0cyBzaWRlYmFyIChGaWdtYSBjbGltYmhvbGRzMjAyNSwgcHJvZHVjdHMgcGFnZSk6XG4vLyBPc3dhbGQgdXBwZXJjYXNlIHNlY3Rpb24gdGl0bGVzIG92ZXIgaGFpcmxpbmUgZGl2aWRlcnMsIG9wdGlvbiByb3dzIHdpdGhcbi8vIHNxdWFyZSBjaGVja2JveGVzIOKAlCAxcHggIzMzMyBib3JkZXIsIDJweCByYWRpdXMsIGFuZCBhIGRhcmsgc3F1YXJlIGNlbnRlcmVkXG4vLyBpbnNpZGUgd2hlbiBjaGVja2VkLiBEaXNhYmxlZCBvcHRpb25zIHJlbmRlciBpbiAjOTQ5NDk0LlxuLy8gT3B0aW9uIGxhYmVscyBhcmUgMTJweCBPcGVuIFNhbnMgKEZpZ21hIHNwZWMsIHVzZXItc2V0dGxlZCBhZnRlciAxNHB4LzE2cHhcbi8vIHRyaWFscykgdW5kZXIgMTZweCBPc3dhbGQgc2VjdGlvbiB0aXRsZXMuXG4uYml0YmFnLXN5bGl1cy1lbGFzdGljc2VhcmNoLXBsdWdpbi1mYWNldHMtZm9ybSB7XG4gICAgbGVnZW5kIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogJGNoLWZvbnQtaGVhZGluZzsgLy8gc2VjdGlvbiB0aXRsZXMg4oaSIE9zd2FsZFxuICAgICAgICBmb250LXNpemU6IDFyZW07IC8vIDE2cHggcGVyIEZpZ21hXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkY2gtcHJpbWFyeS1kYXJrO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIH1cblxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjYyNXJlbTsgLy8gMTBweCBiZXR3ZWVuIGJveCBhbmQgbGFiZWwgcGVyIEZpZ21hXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEuNXJlbTsgLy8gMjRweCByb3dzIHBlciBGaWdtYVxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDAuNzVyZW07IC8vIDEycHggc3F1YXJlIHBlciBGaWdtYVxuICAgICAgICBoZWlnaHQ6IDAuNzVyZW07XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaC1wcmltYXJ5LWRhcms7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNoLXByaW1hcnktZGFyaztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjZmZmZmZmOyAvLyBsZWF2ZXMgYSBjZW50ZXJlZCBkYXJrIHNxdWFyZVxuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICM5NDk0OTQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkY2gtZm9udC1ib2R5OyAvLyBvcHRpb24gdGV4dCDihpIgT3BlbiBTYW5zXG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgLy8gMTJweCBwZXIgRmlnbWEgKHVzZXItc2V0dGxlZCBhZnRlciAxNHB4LzE2cHggdHJpYWxzKVxuICAgICAgICBjb2xvcjogJGNoLXByaW1hcnktZGFyaztcbiAgICB9XG5cbiAgICAuZm9ybS1jaGVjay1pbnB1dDpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICM5NDk0OTQ7XG4gICAgfVxufVxuIiwiLy8gR2xvYmFsIHRleHQgZmllbGRzIChsb2dpbiwgcmVnaXN0ZXIsIGNoZWNrb3V0LCBhY2NvdW50LCBjb250YWN0LCDigKYpOlxuLy8gZXZlcnkgaW5wdXQgYW5kIHNlbGVjdCBnZXRzIHRoZSBvdmFsIHNpbGhvdWV0dGUgb2YgdGhlIGhlYWRlciBwcm9kdWN0XG4vLyBzZWFyY2ggcGlsbCDigJQgNTByZW0gcmFkaXVzLCBzb2xpZCBjaGFyY29hbCBvdXRsaW5lLCBnZW5lcm91cyBob3Jpem9udGFsXG4vLyBpbnNldC4gQ2xhc3MtbGV2ZWwgc2VsZWN0b3JzIG9uIHB1cnBvc2U6IEJvb3RzdHJhcCdzIGAuZm9ybS1jb250cm9sLmlzLWludmFsaWRgXG4vLyBhbmQgZnJpZW5kcyBtdXN0IGtlZXAgd2lubmluZyBzbyB2YWxpZGF0aW9uIGJvcmRlcnMgc3RpbGwgdHVybiByZWQuXG4uZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uZm9ybS1zZWxlY3Qge1xuICAgIGJvcmRlci1jb2xvcjogJGNoLWNoYXJjb2FsO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xufVxuXG4vLyBTZWxlY3RzOiBwdXNoIEJvb3RzdHJhcCdzIGNhcmV0IGNsZWFyIG9mIHRoZSBjdXJ2ZS5cbi5mb3JtLXNlbGVjdCB7XG4gICAgcGFkZGluZy1yaWdodDogMi43NXJlbTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxLjM3NXJlbSBjZW50ZXI7XG59XG5cbi8vIE11bHRpLWxpbmUgZmllbGRzIGtlZXAgYSBzb2Z0IHJhZGl1cyDigJQgYSBmdWxsIHN0YWRpdW0gc2hhcGUgY3Jvd2RzIHdyYXBwZWRcbi8vIHRleHQgYWdhaW5zdCB0aGUgY3VydmUgYXQgdGhlIHRvcC1sZWZ0LlxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRjaC1jaGFyY29hbDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2gtYnRuLXJhZGl1cztcbn1cbiIsIi8vIENsaW1iaW5nLWhvbGQgY29sb3Igc3dhdGNoIHJhZGlvcyBvbiB0aGUgcHJvZHVjdCBwYWdlLlxuLy8gTGVnYWN5IHBhcml0eSAob2xkIHN0b3JlIC5wcm9kdWN0LWNvbG9yLXByb3BlcnR5IGJ1dHRvbnMpOiBlYWNoIHN3YXRjaCBpc1xuLy8gdGhlIGhvbGQtc2hhcGVkIGNvbG9yIGljb24gZnJvbSB0aGUgb2xkIHN0b3JlICg0NMOXNDQgdGlsZXMsIG5vIGJvcmRlcikg4oCUXG4vLyBubyB0cmFuc2l0aW9ucyBvciBhbmltYXRpb25zIGJ5IGRlc2lnbi5cbi5jaC1jb2xvci1zd2F0Y2hlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwLjVyZW07XG59XG5cbi5jaC1jb2xvci1zd2F0Y2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jaC1jb2xvci1zd2F0Y2gtaW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uY2gtY29sb3ItYmxvYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIuNzVyZW07XG4gICAgaGVpZ2h0OiAyLjc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5jaC1jb2xvci1zd2F0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jaC1jb2xvci1ibG9iIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZiwgMCAwIDAgNHB4ICRjaC1wcmltYXJ5LWRhcms7XG59XG5cbi5jaC1jb2xvci1zd2F0Y2gtaW5wdXQ6Zm9jdXMtdmlzaWJsZSArIC5jaC1jb2xvci1ibG9iIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJGNoLXByaW1hcnktZGFyaztcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vLyBcInNlbGVjdGVkIHByb3BlcnRpZXNcIiBsaW5lIHVuZGVyIHRoZSBzd2F0Y2hlcyAobGVnYWN5IHBhcml0eTogbGFiZWwgK1xuLy8gY29sb3IgY2hpcCArIG5hbWUgd2l0aCBSQUwgLyBDb21wb3NpdGUgWCAvIEFyYWdvbiBjb2RlcyArIGZsdW9yZXNjZW50IG5vdGUpXG4uY2gtY29sb3Itc2VsZWN0ZWQge1xuICAgIG1hcmdpbjogMC41cmVtIDAgMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4uY2gtY29sb3Itc2VsZWN0ZWQtbGFiZWwge1xuICAgIGNvbG9yOiAkY2gtc2Vjb25kYXJ5LWdyYXk7XG59XG5cbi5jaC1jb2xvci1zZWxlY3RlZC1jaGlwIHtcbiAgICB3aWR0aDogMS4xMjVyZW07XG4gICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXJnaW46IDAgMC4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTg3NXJlbTtcbn1cblxuLmNoLWNvbG9yLXNlbGVjdGVkLW5vdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiAkY2gtc2Vjb25kYXJ5LWdyYXk7XG59XG4iLCIvLyBJRlNDIGNlcnRpZmljYXRpb24gYmFkZ2Ugb3ZlcmxhaWQgb24gdGhlIHByb2R1Y3QgcGFnZSBtYWluIGltYWdlXG4vLyAobGVnYWN5IHBhcml0eTogc3F1YWRyYSA9IHBsYXRpbnVtLCBsYXBpcy9heGlzLzIzX2hvbGRzID0gc2lsdmVyKS5cbi5jaC1pZnNjLWJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjc1cmVtO1xuICAgIGxlZnQ6IDAuNzVyZW07XG4gICAgd2lkdGg6IDQuNXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIG5ldmVyIGJsb2NrcyB0aGUgc3BvdGxpZ2h0IGxpZ2h0Ym94IGxpbmtcbn1cbiIsIi8vIFwiP1wiIGhvdmVyIHRvb2x0aXAgbmV4dCB0byBwcm9kdWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKEhhcHRpY3MsIFN0eWxlKS5cbi8vIENTUy1vbmx5IHBvcnQgb2YgdGhlIG9sZCBzdG9yZSdzIC5oZWxwLmhvdmVyX3RleHQgYnViYmxlIOKAlCBubyBKUyBpbml0LlxuLmNoLWF0dHJpYnV0ZS1oZWxwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjM3NXJlbTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgJi1pY29uIHtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgY29sb3I6ICRjaC1zZWNvbmRhcnktZ3JheTtcbiAgICB9XG5cbiAgICAmLWJ1YmJsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTAyMDtcbiAgICAgICAgdG9wOiAxLjRyZW07XG4gICAgICAgIHJpZ2h0OiAtNnJlbTtcbiAgICAgICAgd2lkdGg6IDEzLjM3NXJlbTsgLy8gMjE0cHgsIGFzIG9uIHRoZSBvbGQgc2l0ZVxuICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGNvbG9yOiAkY2gtcHJpbWFyeS1kYXJrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY2gtd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaC10ZXJ0aWFyeS1saWdodC1ncmF5O1xuICAgICAgICBib3gtc2hhZG93OiAkY2gtc2hhZG93O1xuICAgIH1cblxuICAgICY6aG92ZXIgJi1idWJibGUsXG4gICAgJjpmb2N1cyAmLWJ1YmJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbiIsIi8vIFByb2R1Y3QgcGFnZSBvbiB0aGUgZ3JheSBwYWdlIGJhY2tncm91bmQ6IHdoaXRlIGNvbnRlbnQgY29udGFpbmVyc1xuLy8gKEZpZ21hIHByb2R1Y3QgcGFnZSkg4oCUIHRoZSBtYWluIGdhbGxlcnkraW5mbyBwYW5lbCwgdGhlIGRlc2NyaXB0aW9uIGNhcmRcbi8vIGFuZCB0aGUgY29sbGFwc2VkIERldGFpbHMgY2FyZCBiZWxvdyBpdCBhbGwgc2hhcmUgLmNoLXByb2R1Y3QtY2FyZC5cbi5jaC1wcm9kdWN0LWNhcmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgLy8gc3F1YXJlIGNvbnRhaW5lcnMgcGVyIGRlc2lnblxuICAgIHBhZGRpbmc6IDEuNXJlbTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgIH1cbn1cblxuLy8gVmFyaWF0aW9uICsgbWF0ZXJpYWwgdGFibGUgZGlyZWN0bHkgYmVsb3cgdGhlIHByb2R1Y3QgbmFtZSDigJQgc2FtZVxuLy8gdGFibGUgc3R5bGluZyBhcyB0aGUgYXR0cmlidXRlcyBpbnNpZGUgdGhlIERldGFpbHMgcGFuZWwgYmVsb3dcbi5jaC1wcm9kdWN0LWVzc2VudGlhbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5cbi8vIERlc2NyaXB0aW9uIGNhcmQgYmVsb3cgdGhlIG1haW4gcGFuZWxcbi5jaC1wcm9kdWN0LWRlc2NyaXB0aW9uIHtcbiAgICAuY2gtcHJvZHVjdC1kZXNjcmlwdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkY2gtZm9udC1oZWFkaW5nO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgfVxuXG4gICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi8vIENvbGxhcHNlZCBEZXRhaWxzIHBhbmVsIGluIHRoZSBzdW1tYXJ5IGNvbHVtbiAoYmVsb3cgdGhlIHByb2R1Y3QgbmFtZSxcbi8vIGFib3ZlIHRoZSBzd2F0Y2hlcyDigJQgaW5zaWRlIHRoZSBtYWluIHdoaXRlIGNhcmQpXG4uY2gtcHJvZHVjdC1kZXRhaWxzIHtcbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkY2gtZm9udC1oZWFkaW5nO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxufVxuXG4vLyBQcmljZSB8IHF1YW50aXR5IHwgbGl2ZSB0b3RhbCByb3cgaW5zaWRlIHRoZSBhZGQtdG8tY2FydCBmb3JtXG4uY2gtcHJpY2Utcm93IHtcbiAgICAuY2gtcHJpY2Utcm93LXVuaXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgIC5jaC1wcmljZS1yb3ctYW1vdW50IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRjaC1mb250LWhlYWRpbmc7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAuY2gtcHJpY2Utcm93LWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjaC1zZWNvbmRhcnktZ3JheTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cblxuICAgIC5jaC1wcmljZS1yb3ctcXVhbnRpdHkge1xuICAgICAgICBtYXgtd2lkdGg6IDdyZW07XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBNYXRlcmlhbC1iYXNlZCBlc3RpbWF0ZWQgZGVsaXZlcnkgdGltZSBiZWxvdyB0aGUgYWRkLXRvLWNhcnQgYnV0dG9uXG4uY2gtZGVsaXZlcnktZXN0aW1hdGUge1xuICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogJGNoLXNlY29uZGFyeS1ncmF5O1xufVxuIiwiLy8gSG9tZXBhZ2Ugc2VjdGlvbnMgKGZyb250cGFnZSBkZXNpZ24pOiBjYXRlZ29yeSBsaW5rIHBhbmVscyBhbmQgdGhlXG4vLyBcIk5ldyBwcm9kdWN0c1wiIGNhcm91c2VsIGNhcmQuXG5cbi8vIC0tLS0tLS0tIENhdGVnb3J5IHBhbmVscyAoSG9sZHMgLyBNYWNyb3MgLyBWaWRlb3MgLyBBY2Nlc3NvcmllcykgLS0tLS0tLS1cbi8vIEZsYXQgdGlsZXM6IGltYWdlIGNlbnRlcmVkIGF0IGl0cyBvd24gd2lkdGgsIGNlbnRlcmVkIHRpdGxlIGF0IHRoZSBib3R0b20uXG4vLyBQbGFpbiBsaW5rcyDigJQgbm8gaG92ZXIgbW90aW9uLlxuLmhvbWVwYWdlLWNhdGVnb3J5LXBhbmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2gtd2hpdGU7XG4gICAgLy8gVW5pZm9ybSBvbiBhbGwgc2lkZXMgKG1hdGNoZXMgdGhlIDI0cHggZ3JpZCBndXR0ZXIgYmV0d2VlbiB0aWxlcylcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgLy8gQm9vdHN0cmFwIHVuZGVybGluZXMgbGlua3MgYXQgcmVzdCDigJQgdGhlIHBhbmVsIGlzIGEgcGxhaW4gdGlsZSwgbm90IGFcbiAgICAvLyB0ZXh0IGxpbmtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4uaG9tZXBhZ2UtY2F0ZWdvcnktcGFuZWxfbWVkaWEge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG59XG5cbi8vIFNtYWxsIGNlbnRlcmVkIFlvdVR1YmUgaWNvbiAoVmlkZW9zIHRpbGUpXG4uaG9tZXBhZ2UtY2F0ZWdvcnktcGFuZWxfaWNvbiB7XG4gICAgbWF4LXdpZHRoOiA0cmVtO1xufVxuXG4uaG9tZXBhZ2UtY2F0ZWdvcnktcGFuZWxfdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgY29sb3I6ICRjaC1wcmltYXJ5LWRhcms7XG4gICAgZm9udC1mYW1pbHk6ICRjaC1mb250LWhlYWRpbmc7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IC8vIDI0cHggcGVyIEZpZ21hIHBhbmVsIHRpdGxlc1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gLS0tLS0tLS0gXCJOZXcgcHJvZHVjdHNcIiBjYXJvdXNlbCAtLS0tLS0tLVxuLy8gRmxhdCB3aGl0ZSBjYXJkIOKAlCBubyByYWRpdXMsIG5vIHNoYWRvdy5cbi5ob21lcGFnZS1uZXctcHJvZHVjdHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjaC13aGl0ZTtcbiAgICBwYWRkaW5nOiAyLjVyZW0gNC41cmVtO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAwLjc1cmVtO1xuICAgIH1cbn1cblxuLy8gVGl0bGUgbGVmdCwgXCJBbGwgbmV3IHByb2R1Y3RzXCIgcGlsbCByaWdodCAoZnJvbnRwYWdlIG1vY2t1cCkuXG4uaG9tZXBhZ2UtbmV3LXByb2R1Y3RzX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLmhvbWVwYWdlLW5ldy1wcm9kdWN0c190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtOyAvLyAzNnB4IHBlciBGaWdtYSBzZWN0aW9uIHRpdGxlXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmhvbWVwYWdlLW5ldy1wcm9kdWN0c19hbGwge1xuICAgIGZvbnQtZmFtaWx5OiAkY2gtZm9udC1oZWFkaW5nO1xuICAgIHBhZGRpbmc6IDAuNDVyZW0gMS43NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBDYXJkIGNvbHVtbiBwZXIgdGhlIG1vY2t1cDogbmFtZSDihpIgZGl2aWRlciDihpIgZGFyayBicmFuZCBsb2dvIOKGklxuLy8gcHJvZHVjdCBwaG90byDihpIgXCJTaG9wIG5vd1wiIHBpbGwgKG5vIHByaWNlIG9uIHRoaXMgY2FyZCkuXG4uaG9tZXBhZ2UtbmV3LXByb2R1Y3QtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaG9tZXBhZ2UtbmV3LXByb2R1Y3QtY2FyZF9uYW1lIHtcbiAgICBmb250LWZhbWlseTogJGNoLWZvbnQtaGVhZGluZztcbiAgICBmb250LXNpemU6IDEuMjVyZW07IC8vIDIwcHggcGVyIEZpZ21hIGNhcmQgbmFtZVxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmhvbWVwYWdlLW5ldy1wcm9kdWN0LWNhcmRfZGl2aWRlciB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNoLXRlcnRpYXJ5LWxpZ2h0LWdyYXk7XG4gICAgbWFyZ2luOiAwLjg3NXJlbSAwO1xufVxuXG4uaG9tZXBhZ2UtbmV3LXByb2R1Y3QtY2FyZF9icmFuZCB7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbi8vIFBob3RvIGluIGEgYm91bmRlZCBzcXVhcmUgZnJhbWUgcGVyIHRoZSBtb2NrdXA6IGluc2V0IGZyb20gdGhlIGNhcmQgZWRnZXMsXG4vLyBpbWFnZSBjb250YWluZWQgaW5zaWRlIHRoZSBmcmFtZSAobmV2ZXIgY3JvcHBlZCkuIFRoZSBpbWFnZSBpcyBhYnNvbHV0ZWx5XG4vLyBwb3NpdGlvbmVkIHNvIGl0cyBpbnRyaW5zaWMgc2l6ZSBjYW5ub3Qgc3RyZXRjaCB0aGUgYXNwZWN0LXJhdGlvIGZyYW1lXG4vLyAoZmxleCBpdGVtcyByZXNpc3Qgc2hyaW5raW5nIGJlbG93IGNvbnRlbnQgaGVpZ2h0KS5cbi5ob21lcGFnZS1uZXctcHJvZHVjdC1jYXJkX21lZGlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuXG4gICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxufVxuXG4uaG9tZXBhZ2UtbmV3LXByb2R1Y3QtY2FyZF9idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiAkY2gtZm9udC1oZWFkaW5nO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjY1cmVtIDIuNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQ2Fyb3VzZWwgYXJyb3dzIHNpdCBpbnNpZGUgdGhlIHdoaXRlIGNhcmQ7IGtlZXAgQm9vdHN0cmFwJ3MgY29udHJvbHMgYnV0XG4vLyBzaHJpbmsgdGhlaXIgZ3JhYiBhcmVhIHNvIHRoZXkgZG8gbm90IGNvdmVyIHRoZSBvdXRlciBjYXJkcycgYnV0dG9ucy5cbi5jYXJvdXNlbC1uZXctcHJvZHVjdHMge1xuICAgIC5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4gICAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gICAgICAgIHdpZHRoOiA4JTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/