/*!***************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].use[1]!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].use[3]!../cmsplugins/cmsplugin_frontpage_grid/assets/scss/cmsplugin_frontpage_grid.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * File containing all the SCSS Variables
 */
/**
 * File containing all the SCSS Variables
 */
/**
 *
 * Based on flexbox, and aligned to follow our naming conventions.
 *
 */
/**
 * File containing all the SCSS Variables
 */
/**
 * File containing all the SCSS Variables
 */
/*
  Heading styles
*/
/*
  Body styles
*/
/**
 * File containing all the SCSS Variables
 */
/** GRID **/
.frontpage-grid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 7.5px;
  padding-left: 7.5px;
  margin-top: 7.5px;
  margin-bottom: 7.5px;
}

/** CATEGORY GRID **/
.frontpage-grid__category-grid {
  padding-top: 20px;
  padding-left: 7.5px;
  padding-bottom: 20px;
  padding-right: 7.5px;
}
.frontpage-grid__category-grid h2 {
  margin: 0 auto 30px;
}

.frontpage-grid__category-inner.glide--slider {
  padding-bottom: 20px;
}
.frontpage-grid__category-inner .glide__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50px;
  background-color: hsl(0deg, 0%, 7%);
  border: none;
  color: hsl(0deg, 0%, 100%);
  z-index: 99;
}
.frontpage-grid__category-inner .glide__arrow:hover {
  background-color: hsl(0deg, 0%, 22%);
}
.frontpage-grid__category-inner .glide__arrow.glide__arrow--right {
  right: -10px;
}
.frontpage-grid__category-inner .glide__arrow.glide__arrow--left {
  left: -10px;
}
.frontpage-grid__category-inner .glide__arrow.glide__arrow--disabled {
  cursor: default;
  background-color: hsl(0deg, 0%, 92%);
  color: hsl(0deg, 0%, 46%);
  opacity: 0.8;
}
.frontpage-grid__category-inner .glide__arrow svg {
  width: auto;
}
.frontpage-grid__category-inner .glide__bullets {
  bottom: -22px;
}
.frontpage-grid__category-inner .glide__bullet {
  background-color: hsl(0deg, 0%, 75%);
}
.frontpage-grid__category-inner .glide__bullet:focus {
  background-color: hsl(261deg, 63%, 53%);
  border-color: hsl(261deg, 63%, 53%);
}
.frontpage-grid__category-inner .glide__bullet:hover {
  background-color: hsl(0deg, 0%, 46%);
  border-color: hsl(0deg, 0%, 46%);
}
.frontpage-grid__category-inner .glide__bullet--active {
  background-color: hsl(0deg, 0%, 22%);
}
.frontpage-grid__category-inner .glide__bullet--active:focus {
  background-color: hsl(0deg, 0%, 22%);
}

.frontpage-grid__product-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media (min-width: 992px) {
  .frontpage-grid__product-category {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
  }
}
.frontpage-grid__product-category a {
  color: hsl(0deg, 0%, 7%);
  text-decoration: none;
  -webkit-transition: color 100ms ease-in-out;
  transition: color 100ms ease-in-out;
}
.frontpage-grid__product-category a:hover {
  text-decoration: underline;
}

.frontpage-grid__product-category-link {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .frontpage-grid__product-category-link {
    font-size: 2rem;
  }
}
@media (min-width: 1200px) {
  .frontpage-grid__product-category-link {
    font-size: 2.4rem;
  }
}
.frontpage-grid__product-category-link:hover img {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
.frontpage-grid__product-category-link img {
  display: block;
  max-width: 150px;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-transition: -webkit-transform 100ms ease-in-out;
  transition: -webkit-transform 100ms ease-in-out;
  transition: transform 100ms ease-in-out;
  transition: transform 100ms ease-in-out, -webkit-transform 100ms ease-in-out;
}
@media (min-width: 768px) {
  .frontpage-grid__product-category-link img {
    max-width: 150px;
  }
}
@media (min-width: 992px) {
  .frontpage-grid__product-category-link img {
    max-width: 200px;
  }
}
@media (min-width: 1600px) {
  .frontpage-grid__product-category-link img {
    max-width: 220px;
  }
}

/** ROW **/
.frontpage-grid__row {
  padding-left: 7.5px;
  padding-right: 7.5px;
}

.frontpage-grid__row-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
  margin-left: -7.5px;
  margin-right: -7.5px;
}

.frontpage-grid__row--full-width {
  position: relative;
  left: 0;
  right: 0;
  margin-top: 7.5px;
  margin-bottom: 7.5px;
  margin-left: -7.5px;
  margin-right: -7.5px;
}
.frontpage-grid__row--full-width .frontpage-grid__row-inner {
  margin-right: auto;
  margin-left: auto;
  padding-right: 7.5px;
  padding-left: 7.5px;
}

/** COLUMN **/
.frontpage-grid__column {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
  padding-left: 7.5px;
  padding-right: 7.5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 768px) {
  .frontpage-grid__column {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .frontpage-grid__column--3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }

  .frontpage-grid__column--4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .frontpage-grid__column--6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }

  .frontpage-grid__column--8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .frontpage-grid__column--9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }

  .frontpage-grid__column--12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}
.frontpage-grid__column--auto {
  min-height: 0;
}

.frontpage-grid__column--short {
  min-height: 250px;
}

.frontpage-grid__column--medium {
  min-height: 450px;
}

.frontpage-grid__column--tall {
  min-height: 650px;
}

@media (min-width: 768px) {
  .frontpage-grid__column--auto {
    min-height: 0;
  }

  .frontpage-grid__column--short {
    min-height: 300px;
  }

  .frontpage-grid__column--medium {
    min-height: 600px;
  }

  .frontpage-grid__column--tall {
    min-height: 900px;
  }
}
.frontpage-grid__column--left.frontpage-grid__column--auto,
.frontpage-grid__column--right.frontpage-grid__column--auto {
  min-height: auto;
}
.frontpage-grid__column--left.frontpage-grid__column--auto .frontpage-grid__tile-bg,
.frontpage-grid__column--right.frontpage-grid__column--auto .frontpage-grid__tile-bg {
  min-height: 0;
}
@media (min-width: 768px) {
  .frontpage-grid__column--left.frontpage-grid__column--auto .frontpage-grid__tile-bg,
.frontpage-grid__column--right.frontpage-grid__column--auto .frontpage-grid__tile-bg {
    min-height: 0;
  }
}
.frontpage-grid__column--left.frontpage-grid__column--short,
.frontpage-grid__column--right.frontpage-grid__column--short {
  min-height: auto;
}
.frontpage-grid__column--left.frontpage-grid__column--short .frontpage-grid__tile-bg,
.frontpage-grid__column--right.frontpage-grid__column--short .frontpage-grid__tile-bg {
  min-height: 300px;
}
.frontpage-grid__column--left.frontpage-grid__column--medium,
.frontpage-grid__column--right.frontpage-grid__column--medium {
  min-height: auto;
}
.frontpage-grid__column--left.frontpage-grid__column--medium .frontpage-grid__tile-bg,
.frontpage-grid__column--right.frontpage-grid__column--medium .frontpage-grid__tile-bg {
  min-height: 350px;
}
@media (min-width: 768px) {
  .frontpage-grid__column--left.frontpage-grid__column--medium .frontpage-grid__tile-bg,
.frontpage-grid__column--right.frontpage-grid__column--medium .frontpage-grid__tile-bg {
    min-height: 600px;
  }
}
.frontpage-grid__column--left.frontpage-grid__column--tall,
.frontpage-grid__column--right.frontpage-grid__column--tall {
  min-height: auto;
}
.frontpage-grid__column--left.frontpage-grid__column--tall .frontpage-grid__tile-bg,
.frontpage-grid__column--right.frontpage-grid__column--tall .frontpage-grid__tile-bg {
  min-height: 450px;
}
@media (min-width: 768px) {
  .frontpage-grid__column--left.frontpage-grid__column--tall .frontpage-grid__tile-bg,
.frontpage-grid__column--right.frontpage-grid__column--tall .frontpage-grid__tile-bg {
    min-height: 900px;
  }
}

.frontpage-grid__column--above.frontpage-grid__column--auto,
.frontpage-grid__column--below.frontpage-grid__column--auto {
  min-height: auto;
}
.frontpage-grid__column--above.frontpage-grid__column--auto .frontpage-grid__tile-bg,
.frontpage-grid__column--below.frontpage-grid__column--auto .frontpage-grid__tile-bg {
  min-height: 0;
}
@media (min-width: 768px) {
  .frontpage-grid__column--above.frontpage-grid__column--auto .frontpage-grid__tile-bg,
.frontpage-grid__column--below.frontpage-grid__column--auto .frontpage-grid__tile-bg {
    min-height: 0;
  }
}
.frontpage-grid__column--above.frontpage-grid__column--short,
.frontpage-grid__column--below.frontpage-grid__column--short {
  min-height: auto;
}
.frontpage-grid__column--above.frontpage-grid__column--short .frontpage-grid__tile-bg,
.frontpage-grid__column--below.frontpage-grid__column--short .frontpage-grid__tile-bg {
  min-height: 300px;
}
.frontpage-grid__column--above.frontpage-grid__column--medium,
.frontpage-grid__column--below.frontpage-grid__column--medium {
  min-height: auto;
}
.frontpage-grid__column--above.frontpage-grid__column--medium .frontpage-grid__tile-bg,
.frontpage-grid__column--below.frontpage-grid__column--medium .frontpage-grid__tile-bg {
  min-height: 350px;
}
@media (min-width: 768px) {
  .frontpage-grid__column--above.frontpage-grid__column--medium .frontpage-grid__tile-bg,
.frontpage-grid__column--below.frontpage-grid__column--medium .frontpage-grid__tile-bg {
    min-height: 450px;
  }
}
.frontpage-grid__column--above.frontpage-grid__column--tall,
.frontpage-grid__column--below.frontpage-grid__column--tall {
  min-height: auto;
}
.frontpage-grid__column--above.frontpage-grid__column--tall .frontpage-grid__tile-bg,
.frontpage-grid__column--below.frontpage-grid__column--tall .frontpage-grid__tile-bg {
  min-height: 450px;
}
@media (min-width: 768px) {
  .frontpage-grid__column--above.frontpage-grid__column--tall .frontpage-grid__tile-bg,
.frontpage-grid__column--below.frontpage-grid__column--tall .frontpage-grid__tile-bg {
    min-height: 650px;
  }
}

/** TILE **/
.frontpage-grid__tile {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
  margin-top: 7.5px;
  margin-bottom: 7.5px;
  overflow: hidden;
  padding: 20px 20px;
  border-radius: 2px;
  color: hsl(0deg, 0%, 100%);
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.frontpage-grid__tile:hover, .frontpage-grid__tile:focus {
  text-decoration: none;
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile:focus {
  outline-offset: 5px;
}

.frontpage-grid__row--full-width .frontpage-grid__tile {
  margin-top: 0;
  margin-bottom: 0;
}

.frontpage-grid__tile-overlay {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 1;
  z-index: 2;
}

.frontpage-grid__tile-content {
  max-width: 100%;
  z-index: 3;
}

.frontpage-grid__tile-header {
  font-weight: 900;
  text-transform: uppercase;
  margin: 0;
  line-height: 0.9;
}

.frontpage-grid__tile-body {
  font-weight: 600;
  margin: 0.1em 0 0;
}

.frontpage-grid__tile-subtext {
  margin: 0.8em 0 0;
}
@media (min-width: 768px) {
  .frontpage-grid__tile-subtext {
    margin: 1.2em 0 0;
  }
}
.frontpage-grid__tile-subtext strong {
  font-weight: bold;
}

.frontpage-grid__tile-content--width-full {
  max-width: 100%;
}

@media (min-width: 768px) {
  .frontpage-grid__tile-content--width-1 {
    max-width: 100%;
  }
}
@media (min-width: 1200px) {
  .frontpage-grid__tile-content--width-1 {
    max-width: 80%;
  }
}
@media (min-width: 1600px) {
  .frontpage-grid__tile-content--width-1 {
    max-width: 66%;
  }
}

@media (min-width: 768px) {
  .frontpage-grid__tile-content--width-2 {
    max-width: 80%;
  }
}
@media (min-width: 1200px) {
  .frontpage-grid__tile-content--width-2 {
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  .frontpage-grid__tile-content--width-3 {
    max-width: 50%;
  }
}
@media (min-width: 1200px) {
  .frontpage-grid__tile-content--width-3 {
    max-width: 33%;
  }
}

.frontpage-grid__tile[data-align^=top-] {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.frontpage-grid__tile[data-align^=middle-] {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.frontpage-grid__tile[data-align^=bottom-] {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.frontpage-grid__tile[data-align^=bottom-] .frontpage-grid__tile-content {
  padding-bottom: 20px;
}
.frontpage-grid__tile[data-align$=-left] {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.frontpage-grid__tile[data-align$=-center] {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.frontpage-grid__tile[data-align$=-center] .frontpage-grid__tile-content {
  text-align: center;
}
.frontpage-grid__tile[data-align$=-right] {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.frontpage-grid__tile-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0;
}
.frontpage-grid__tile-bg[data-align^=top-] {
  background-position-y: top;
}
.frontpage-grid__tile-bg[data-align^=middle-] {
  background-position-y: center;
}
.frontpage-grid__tile-bg[data-align^=bottom-] {
  background-position-y: bottom;
}
.frontpage-grid__tile-bg[data-align$=-left] {
  background-position-x: left;
}
.frontpage-grid__tile-bg[data-align$=-center] {
  background-position-x: center;
}
.frontpage-grid__tile-bg[data-align$=-right] {
  background-position-x: right;
}

.frontpage-grid__small-print {
  position: absolute;
  bottom: 12.5px;
  width: 100%;
  color: hsl(0deg, 0%, 100%);
  opacity: 0.6;
  text-align: center;
}
.frontpage-grid__small-print p {
  margin: 0;
  font-size: 1.4rem;
}
.frontpage-grid__small-print a {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__small-print a:hover {
  text-decoration: none;
}

.frontpage-grid__tile--theme-dark {
  background: hsl(0deg, 0%, 0%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark:hover, .frontpage-grid__tile--theme-dark:focus {
  text-decoration: none;
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark[data-align^=top-left] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-dark[data-align^=top-left] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, right top, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-dark[data-align^=top-right] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-dark[data-align^=top-right] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-dark[data-align^=bottom-left] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-dark[data-align^=bottom-left] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, right top, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-dark[data-align^=bottom-right] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-dark[data-align^=bottom-right] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-dark.frontpage-grid__tile--has-bg .frontpage-grid__tile-header,
.frontpage-grid__tile--theme-dark.frontpage-grid__tile--has-bg .frontpage-grid__tile-body {
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
}
.frontpage-grid__tile--theme-dark + .frontpage-grid__small-print {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark + .frontpage-grid__small-print a {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button {
  border-color: hsl(0deg, 0%, 100%);
  background: transparent;
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button:hover {
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark .button:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button:focus:hover {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark .button.button--solid {
  border-color: hsl(0deg, 0%, 100%);
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark .button.button--solid:hover {
  border-color: hsl(0deg, 0%, 86%);
  background: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark .button.button--solid:focus {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark .button.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark .button.button--icon:hover, .frontpage-grid__tile--theme-dark .button.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark .button.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark .button.is-loading::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark .button.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark .button.button--orange {
  border-color: hsl(18deg, 98%, 50%);
  background: transparent;
  color: hsl(18deg, 98%, 50%);
}
.frontpage-grid__tile--theme-dark .button.button--orange:hover {
  background: hsl(18deg, 98%, 50%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button.button--orange:focus {
  color: hsl(18deg, 98%, 50%);
}
.frontpage-grid__tile--theme-dark .button.button--orange:focus:hover {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button.button--orange.button--solid {
  border-color: hsl(18deg, 98%, 50%);
  background: hsl(18deg, 98%, 50%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button.button--orange.button--solid:hover {
  border-color: hsl(18deg, 98%, 65%);
  background: hsl(18deg, 98%, 65%);
}
.frontpage-grid__tile--theme-dark .button.button--orange.button--solid:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button.button--orange.button--link:hover {
  background: transparent;
  color: hsl(18deg, 98%, 65%);
}
.frontpage-grid__tile--theme-dark .button.button--orange.button--icon:hover, .frontpage-grid__tile--theme-dark .button.button--orange.button--icon-large:hover {
  background: transparent;
  color: hsl(18deg, 98%, 65%);
}
.frontpage-grid__tile--theme-dark .button.button--orange.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark .button.button--orange.is-loading::before {
  border-color: hsl(18deg, 98%, 50%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark .button.button--orange.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark .button.button--black {
  border-color: hsl(0deg, 0%, 7%);
  background: transparent;
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark .button.button--black:hover {
  background: hsl(0deg, 0%, 7%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button.button--black:focus {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark .button.button--black:focus:hover {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button.button--black.button--solid {
  border-color: hsl(0deg, 0%, 7%);
  background: hsl(0deg, 0%, 7%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button.button--black.button--solid:hover {
  border-color: hsl(0deg, 0%, 22%);
  background: hsl(0deg, 0%, 22%);
}
.frontpage-grid__tile--theme-dark .button.button--black.button--solid:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button.button--black.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 22%);
}
.frontpage-grid__tile--theme-dark .button.button--black.button--icon:hover, .frontpage-grid__tile--theme-dark .button.button--black.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 22%);
}
.frontpage-grid__tile--theme-dark .button.button--black.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark .button.button--black.is-loading::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark .button.button--black.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark .button.button--white {
  border-color: hsl(0deg, 0%, 100%);
  background: transparent;
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button.button--white:hover {
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark .button.button--white:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark .button.button--white:focus:hover {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark .button.button--white.button--solid {
  border-color: hsl(0deg, 0%, 100%);
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark .button.button--white.button--solid:hover {
  border-color: hsl(0deg, 0%, 86%);
  background: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark .button.button--white.button--solid:focus {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark .button.button--white.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark .button.button--white.button--icon:hover, .frontpage-grid__tile--theme-dark .button.button--white.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark .button.button--white.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark .button.button--white.is-loading::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark .button.button--white.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}

.frontpage-grid__tile--theme-light {
  background: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 0%);
}
.frontpage-grid__tile--theme-light:hover, .frontpage-grid__tile--theme-light:focus {
  text-decoration: none;
  color: hsl(0deg, 0%, 0%);
}
.frontpage-grid__tile--theme-light[data-align^=top-left] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-light[data-align^=top-left] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, right top, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-light[data-align^=top-right] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-light[data-align^=top-right] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-light[data-align^=bottom-left] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-light[data-align^=bottom-left] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, right top, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-light[data-align^=bottom-right] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-light[data-align^=bottom-right] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-light.frontpage-grid__tile--has-bg .frontpage-grid__tile-header,
.frontpage-grid__tile--theme-light.frontpage-grid__tile--has-bg .frontpage-grid__tile-body {
  text-shadow: 0px 0px 8px rgba(245, 245, 245, 0.1);
}
.frontpage-grid__tile--theme-light + .frontpage-grid__small-print {
  color: hsl(0deg, 0%, 0%);
}
.frontpage-grid__tile--theme-light + .frontpage-grid__small-print a {
  color: hsl(0deg, 0%, 0%);
}
.frontpage-grid__tile--theme-light .button.button--orange {
  border-color: hsl(18deg, 98%, 50%);
  background: transparent;
  color: hsl(18deg, 98%, 50%);
}
.frontpage-grid__tile--theme-light .button.button--orange:hover {
  background: hsl(18deg, 98%, 50%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light .button.button--orange:focus {
  color: hsl(18deg, 98%, 50%);
}
.frontpage-grid__tile--theme-light .button.button--orange:focus:hover {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light .button.button--orange.button--solid {
  border-color: hsl(18deg, 98%, 50%);
  background: hsl(18deg, 98%, 50%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light .button.button--orange.button--solid:hover {
  border-color: hsl(18deg, 98%, 65%);
  background: hsl(18deg, 98%, 65%);
}
.frontpage-grid__tile--theme-light .button.button--orange.button--solid:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light .button.button--orange.button--link:hover {
  background: transparent;
  color: hsl(18deg, 98%, 65%);
}
.frontpage-grid__tile--theme-light .button.button--orange.button--icon:hover, .frontpage-grid__tile--theme-light .button.button--orange.button--icon-large:hover {
  background: transparent;
  color: hsl(18deg, 98%, 65%);
}
.frontpage-grid__tile--theme-light .button.button--orange.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-light .button.button--orange.is-loading::before {
  border-color: hsl(18deg, 98%, 50%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-light .button.button--orange.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-light .button.button--black {
  border-color: hsl(0deg, 0%, 7%);
  background: transparent;
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-light .button.button--black:hover {
  background: hsl(0deg, 0%, 7%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light .button.button--black:focus {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-light .button.button--black:focus:hover {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light .button.button--black.button--solid {
  border-color: hsl(0deg, 0%, 7%);
  background: hsl(0deg, 0%, 7%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light .button.button--black.button--solid:hover {
  border-color: hsl(0deg, 0%, 22%);
  background: hsl(0deg, 0%, 22%);
}
.frontpage-grid__tile--theme-light .button.button--black.button--solid:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light .button.button--black.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 22%);
}
.frontpage-grid__tile--theme-light .button.button--black.button--icon:hover, .frontpage-grid__tile--theme-light .button.button--black.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 22%);
}
.frontpage-grid__tile--theme-light .button.button--black.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-light .button.button--black.is-loading::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-light .button.button--black.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-light .button.button--white {
  border-color: hsl(0deg, 0%, 100%);
  background: transparent;
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light .button.button--white:hover {
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-light .button.button--white:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light .button.button--white:focus:hover {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-light .button.button--white.button--solid {
  border-color: hsl(0deg, 0%, 100%);
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-light .button.button--white.button--solid:hover {
  border-color: hsl(0deg, 0%, 86%);
  background: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-light .button.button--white.button--solid:focus {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-light .button.button--white.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-light .button.button--white.button--icon:hover, .frontpage-grid__tile--theme-light .button.button--white.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-light .button.button--white.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-light .button.button--white.is-loading::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-light .button.button--white.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}

.frontpage-grid__tile--theme-dark-brand-underline {
  background: hsl(0deg, 0%, 0%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline:hover, .frontpage-grid__tile--theme-dark-brand-underline:focus {
  text-decoration: none;
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline[data-align^=top-left] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-dark-brand-underline[data-align^=top-left] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, right top, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-dark-brand-underline[data-align^=top-right] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-dark-brand-underline[data-align^=top-right] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-dark-brand-underline[data-align^=bottom-left] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-dark-brand-underline[data-align^=bottom-left] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, right top, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-dark-brand-underline[data-align^=bottom-right] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-dark-brand-underline[data-align^=bottom-right] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-dark-brand-underline.frontpage-grid__tile--has-bg .frontpage-grid__tile-header,
.frontpage-grid__tile--theme-dark-brand-underline.frontpage-grid__tile--has-bg .frontpage-grid__tile-body {
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
}
.frontpage-grid__tile--theme-dark-brand-underline + .frontpage-grid__small-print {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline + .frontpage-grid__small-print a {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button {
  border-color: hsl(0deg, 0%, 100%);
  background: transparent;
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button:hover {
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button:focus:hover {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--solid {
  border-color: hsl(0deg, 0%, 100%);
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--solid:hover {
  border-color: hsl(0deg, 0%, 86%);
  background: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--solid:focus {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--icon:hover, .frontpage-grid__tile--theme-dark-brand-underline .button.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.is-loading::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark-brand-underline .button.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--orange {
  border-color: hsl(18deg, 98%, 50%);
  background: transparent;
  color: hsl(18deg, 98%, 50%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--orange:hover {
  background: hsl(18deg, 98%, 50%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--orange:focus {
  color: hsl(18deg, 98%, 50%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--orange:focus:hover {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--orange.button--solid {
  border-color: hsl(18deg, 98%, 50%);
  background: hsl(18deg, 98%, 50%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--orange.button--solid:hover {
  border-color: hsl(18deg, 98%, 65%);
  background: hsl(18deg, 98%, 65%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--orange.button--solid:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--orange.button--link:hover {
  background: transparent;
  color: hsl(18deg, 98%, 65%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--orange.button--icon:hover, .frontpage-grid__tile--theme-dark-brand-underline .button.button--orange.button--icon-large:hover {
  background: transparent;
  color: hsl(18deg, 98%, 65%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--orange.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--orange.is-loading::before {
  border-color: hsl(18deg, 98%, 50%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--orange.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--black {
  border-color: hsl(0deg, 0%, 7%);
  background: transparent;
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--black:hover {
  background: hsl(0deg, 0%, 7%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--black:focus {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--black:focus:hover {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--black.button--solid {
  border-color: hsl(0deg, 0%, 7%);
  background: hsl(0deg, 0%, 7%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--black.button--solid:hover {
  border-color: hsl(0deg, 0%, 22%);
  background: hsl(0deg, 0%, 22%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--black.button--solid:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--black.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 22%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--black.button--icon:hover, .frontpage-grid__tile--theme-dark-brand-underline .button.button--black.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 22%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--black.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--black.is-loading::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--black.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--white {
  border-color: hsl(0deg, 0%, 100%);
  background: transparent;
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--white:hover {
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--white:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--white:focus:hover {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--white.button--solid {
  border-color: hsl(0deg, 0%, 100%);
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--white.button--solid:hover {
  border-color: hsl(0deg, 0%, 86%);
  background: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--white.button--solid:focus {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--white.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--white.button--icon:hover, .frontpage-grid__tile--theme-dark-brand-underline .button.button--white.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--white.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--white.is-loading::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark-brand-underline .button.button--white.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-dark-brand-underline .frontpage-grid__tile-header span {
  border-bottom: 0.18em solid hsl(18deg, 98%, 50%);
}
.frontpage-grid__tile--theme-dark-brand-underline .frontpage-grid__tile-header + .frontpage-grid__tile-body {
  margin-top: 0.5em;
}
.frontpage-grid__tile--theme-dark-brand-underline .frontpage-grid__tile-header {
  line-height: 1.3;
}

.frontpage-grid__tile--theme-light-brand-underline {
  background: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 0%);
}
.frontpage-grid__tile--theme-light-brand-underline:hover, .frontpage-grid__tile--theme-light-brand-underline:focus {
  text-decoration: none;
  color: hsl(0deg, 0%, 0%);
}
.frontpage-grid__tile--theme-light-brand-underline[data-align^=top-left] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-light-brand-underline[data-align^=top-left] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, right top, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-light-brand-underline[data-align^=top-right] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-light-brand-underline[data-align^=top-right] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-light-brand-underline[data-align^=bottom-left] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-light-brand-underline[data-align^=bottom-left] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, right top, left top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-light-brand-underline[data-align^=bottom-right] .frontpage-grid__tile-overlay {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
}
@media (min-width: 768px) {
  .frontpage-grid__tile--theme-light-brand-underline[data-align^=bottom-right] .frontpage-grid__tile-overlay {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(245, 245, 245, 0.5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgba(245, 245, 245, 0.5) 100%);
  }
}
.frontpage-grid__tile--theme-light-brand-underline.frontpage-grid__tile--has-bg .frontpage-grid__tile-header,
.frontpage-grid__tile--theme-light-brand-underline.frontpage-grid__tile--has-bg .frontpage-grid__tile-body {
  text-shadow: 0px 0px 8px rgba(245, 245, 245, 0.1);
}
.frontpage-grid__tile--theme-light-brand-underline + .frontpage-grid__small-print {
  color: hsl(0deg, 0%, 0%);
}
.frontpage-grid__tile--theme-light-brand-underline + .frontpage-grid__small-print a {
  color: hsl(0deg, 0%, 0%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--orange {
  border-color: hsl(18deg, 98%, 50%);
  background: transparent;
  color: hsl(18deg, 98%, 50%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--orange:hover {
  background: hsl(18deg, 98%, 50%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--orange:focus {
  color: hsl(18deg, 98%, 50%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--orange:focus:hover {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--orange.button--solid {
  border-color: hsl(18deg, 98%, 50%);
  background: hsl(18deg, 98%, 50%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--orange.button--solid:hover {
  border-color: hsl(18deg, 98%, 65%);
  background: hsl(18deg, 98%, 65%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--orange.button--solid:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--orange.button--link:hover {
  background: transparent;
  color: hsl(18deg, 98%, 65%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--orange.button--icon:hover, .frontpage-grid__tile--theme-light-brand-underline .button.button--orange.button--icon-large:hover {
  background: transparent;
  color: hsl(18deg, 98%, 65%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--orange.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--orange.is-loading::before {
  border-color: hsl(18deg, 98%, 50%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--orange.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--black {
  border-color: hsl(0deg, 0%, 7%);
  background: transparent;
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--black:hover {
  background: hsl(0deg, 0%, 7%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--black:focus {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--black:focus:hover {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--black.button--solid {
  border-color: hsl(0deg, 0%, 7%);
  background: hsl(0deg, 0%, 7%);
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--black.button--solid:hover {
  border-color: hsl(0deg, 0%, 22%);
  background: hsl(0deg, 0%, 22%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--black.button--solid:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--black.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 22%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--black.button--icon:hover, .frontpage-grid__tile--theme-light-brand-underline .button.button--black.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 22%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--black.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--black.is-loading::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--black.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--white {
  border-color: hsl(0deg, 0%, 100%);
  background: transparent;
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--white:hover {
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--white:focus {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--white:focus:hover {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--white.button--solid {
  border-color: hsl(0deg, 0%, 100%);
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--white.button--solid:hover {
  border-color: hsl(0deg, 0%, 86%);
  background: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--white.button--solid:focus {
  color: hsl(0deg, 0%, 7%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--white.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--white.button--icon:hover, .frontpage-grid__tile--theme-light-brand-underline .button.button--white.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--white.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--white.is-loading::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-light-brand-underline .button.button--white.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.frontpage-grid__tile--theme-light-brand-underline .frontpage-grid__tile-header span {
  border-bottom: 0.18em solid hsl(18deg, 98%, 50%);
}
.frontpage-grid__tile--theme-light-brand-underline .frontpage-grid__tile-header + .frontpage-grid__tile-body {
  margin-top: 0.5em;
}
.frontpage-grid__tile--theme-light-brand-underline .frontpage-grid__tile-header {
  line-height: 1.3;
}

.frontpage-grid__tile--content-placement-left.frontpage-grid__tile,
.frontpage-grid__tile--content-placement-right.frontpage-grid__tile,
.frontpage-grid__tile--content-placement-above.frontpage-grid__tile,
.frontpage-grid__tile--content-placement-below.frontpage-grid__tile {
  padding: 0;
}
.frontpage-grid__tile--content-placement-left.frontpage-grid__tile .frontpage-grid__tile-overlay,
.frontpage-grid__tile--content-placement-right.frontpage-grid__tile .frontpage-grid__tile-overlay,
.frontpage-grid__tile--content-placement-above.frontpage-grid__tile .frontpage-grid__tile-overlay,
.frontpage-grid__tile--content-placement-below.frontpage-grid__tile .frontpage-grid__tile-overlay {
  display: none;
}
.frontpage-grid__tile--content-placement-left .frontpage-grid__tile-bg,
.frontpage-grid__tile--content-placement-right .frontpage-grid__tile-bg,
.frontpage-grid__tile--content-placement-above .frontpage-grid__tile-bg,
.frontpage-grid__tile--content-placement-below .frontpage-grid__tile-bg {
  position: static;
}
.frontpage-grid__tile--content-placement-left .frontpage-grid__tile-content,
.frontpage-grid__tile--content-placement-right .frontpage-grid__tile-content,
.frontpage-grid__tile--content-placement-above .frontpage-grid__tile-content,
.frontpage-grid__tile--content-placement-below .frontpage-grid__tile-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 10px;
}
@media (min-width: 992px) {
  .frontpage-grid__tile--content-placement-left .frontpage-grid__tile-content,
.frontpage-grid__tile--content-placement-right .frontpage-grid__tile-content,
.frontpage-grid__tile--content-placement-above .frontpage-grid__tile-content,
.frontpage-grid__tile--content-placement-below .frontpage-grid__tile-content {
    padding: 20px;
  }
}

.frontpage-grid__tile--content-placement-left.frontpage-grid__tile[data-align$=-right] .frontpage-grid__tile-content,
.frontpage-grid__tile--content-placement-right.frontpage-grid__tile[data-align$=-right] .frontpage-grid__tile-content {
  text-align: right;
}

.frontpage-grid__tile--content-placement-above.frontpage-grid__tile[data-align$=-right] .frontpage-grid__tile-content,
.frontpage-grid__tile--content-placement-below.frontpage-grid__tile[data-align$=-right] .frontpage-grid__tile-content {
  text-align: right;
}
.frontpage-grid__tile--content-placement-above .frontpage-grid__tile-bg,
.frontpage-grid__tile--content-placement-below .frontpage-grid__tile-bg {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 60%;
          flex: 0 0 60%;
}

.frontpage-grid__tile--content-placement-left.frontpage-grid__tile {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 768px) {
  .frontpage-grid__tile--content-placement-left.frontpage-grid__tile {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.frontpage-grid__tile--content-placement-left .frontpage-grid__tile-content {
  padding: 20px;
}

.frontpage-grid__tile--content-placement-right.frontpage-grid__tile {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 768px) {
  .frontpage-grid__tile--content-placement-right.frontpage-grid__tile {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.frontpage-grid__tile--content-placement-right .frontpage-grid__tile-content {
  padding: 20px;
}

.frontpage-grid__tile--content-placement-above.frontpage-grid__tile {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.frontpage-grid__tile--content-placement-above .frontpage-grid__tile-content {
  width: 100%;
  max-width: none;
}

.frontpage-grid__tile--content-placement-below.frontpage-grid__tile {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.frontpage-grid__tile--content-placement-below .frontpage-grid__tile-content {
  width: 100%;
  max-width: none;
}

/** EDIT MODE **/
.frontpage-grid--edit .frontpage-grid__row-inner {
  position: relative;
}
.frontpage-grid--edit .frontpage-grid__column {
  position: relative;
}
.frontpage-grid--edit .frontpage-grid__column::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px dashed hsl(0deg, 0%, 75%);
  content: " ";
  pointer-events: none;
}

.frontpage-grid__edit {
  position: absolute;
  bottom: 1px;
  background: hsl(0deg, 0%, 92%);
  color: hsl(0deg, 0%, 46%);
  font-size: 14px;
  padding: 2px 5px;
  border: 1px dashed hsl(0deg, 0%, 92%);
  border-left: 0;
  border-top: 0;
  text-shadow: 0 0 1px rgba(255, 255, 255, 0.75);
  z-index: 10;
}
.frontpage-grid__edit svg {
  width: 14px;
  vertical-align: middle;
}

.frontpage-grid__row-inner > .frontpage-grid__edit {
  right: 1px;
}

.frontpage-grid__column > .frontpage-grid__edit {
  left: 1px;
}

/** PRODUCT GRID **/
.frontpage-grid__product-grid-header {
  margin-top: 0;
  margin-bottom: 30px;
  text-align: center;
}
.frontpage-grid__product-grid-header h2 {
  text-transform: uppercase;
  font-weight: 900;
  margin: 0;
}
.frontpage-grid__product-grid-header p {
  margin-top: 0.8em;
  max-width: 740px;
  margin-left: auto;
  margin-right: auto;
}

.frontpage-grid__product-grid {
  padding-top: 20px;
}
.frontpage-grid__product-grid .container--flex {
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.frontpage-grid__product-grid .container--flex .country-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 7.5px 7.5px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 47.5%;
          flex: 0 0 47.5%;
  -ms-flex-preferred-size: calc(50% - 15px);
      flex-basis: calc(50% - 15px);
}
@media (min-width: 992px) {
  .frontpage-grid__product-grid .container--flex .country-container {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 31%;
            flex: 0 0 31%;
    -ms-flex-preferred-size: calc(33.33% - 15px);
        flex-basis: calc(33.33% - 15px);
  }
}
@media (min-width: 1200px) {
  .frontpage-grid__product-grid .container--flex .country-container {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 23.5%;
            flex: 0 0 23.5%;
    -ms-flex-preferred-size: calc(25% - 15px);
        flex-basis: calc(25% - 15px);
  }
}
@media (min-width: 1600px) {
  .frontpage-grid__product-grid .container--flex .country-container {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 19%;
            flex: 0 0 19%;
    -ms-flex-preferred-size: calc(20% - 15px);
        flex-basis: calc(20% - 15px);
  }
}
.frontpage-grid__product-grid .container--flex .country-container .prod-tile {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin: 0 auto;
}
.frontpage-grid__product-grid .row--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  width: 100%;
  margin: 0;
}
@media (min-width: 768px) {
  .frontpage-grid__product-grid .row--flex {
    margin: 0 -10px;
  }
}

/** PRODUCT **/
.frontpage-grid__product {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 7.5px 7.5px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 47.5%;
          flex: 0 0 47.5%;
  -ms-flex-preferred-size: calc(50% - 15px);
      flex-basis: calc(50% - 15px);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  border-radius: 4px;
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
  -webkit-box-shadow: 0 6px 11px rgba(36, 37, 38, 0.04);
          box-shadow: 0 6px 11px rgba(36, 37, 38, 0.04);
  border: 1px solid hsl(0deg, 0%, 92%);
  text-align: left;
  -webkit-transition: -webkit-transform 150ms ease-out, -webkit-box-shadow 150ms ease-out;
  transition: -webkit-transform 150ms ease-out, -webkit-box-shadow 150ms ease-out;
  transition: transform 150ms ease-out, box-shadow 150ms ease-out;
  transition: transform 150ms ease-out, box-shadow 150ms ease-out, -webkit-transform 150ms ease-out, -webkit-box-shadow 150ms ease-out;
}
.frontpage-grid__product::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  opacity: 0;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
}
.frontpage-grid__product:hover {
  background: hsl(0deg, 0%, 100%);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 11px 16px rgba(36, 37, 38, 0.05);
          box-shadow: 0 11px 16px rgba(36, 37, 38, 0.05);
}
.frontpage-grid__product:hover::after {
  opacity: 1;
}
@media (min-width: 992px) {
  .frontpage-grid__product {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 31%;
            flex: 0 0 31%;
    -ms-flex-preferred-size: calc(33.33% - 15px);
        flex-basis: calc(33.33% - 15px);
  }
}
@media (min-width: 1200px) {
  .frontpage-grid__product {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 23.5%;
            flex: 0 0 23.5%;
    -ms-flex-preferred-size: calc(25% - 15px);
        flex-basis: calc(25% - 15px);
  }
}
@media (min-width: 1600px) {
  .frontpage-grid__product {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 19%;
            flex: 0 0 19%;
    -ms-flex-preferred-size: calc(20% - 15px);
        flex-basis: calc(20% - 15px);
  }
}

.frontpage-grid__product-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  min-height: 140px;
  color: hsl(0deg, 0%, 7%);
  text-decoration: none;
}
.frontpage-grid__product-link:hover, .frontpage-grid__product-link:active, .frontpage-grid__product-link:focus {
  color: hsl(0deg, 0%, 7%);
  text-decoration: none;
}
@media (min-width: 768px) {
  .frontpage-grid__product-link {
    min-height: 340px;
  }
}

.frontpage-grid__product-ribbon {
  position: absolute;
  top: 0;
  width: 100%;
  color: hsl(0deg, 0%, 100%);
  background: hsl(0deg, 0%, 7%);
  padding: 3px 15px;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
  text-transform: uppercase;
  font-size: 1.2rem;
}
@media (min-width: 768px) {
  .frontpage-grid__product-ribbon {
    top: 20px;
    left: 20px;
    width: auto;
    z-index: 10;
    border: 1px solid hsl(0deg, 0%, 7%);
    padding: 0.5em 1.25em 0.45em;
    border-radius: 2px;
    font-size: 1.4rem;
  }
}
.frontpage-grid__product-ribbon.product-ribbon--sale {
  border-color: hsl(352deg, 95%, 46%);
  background: hsl(352deg, 95%, 46%);
}
.frontpage-grid__product-ribbon.product-ribbon--addon {
  border-color: hsl(235deg, 60%, 60%);
  background: hsl(235deg, 60%, 60%);
}

.product__image-wrapper {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 200px;
}
@media (min-width: 768px) {
  .product__image-wrapper {
    height: 350px;
  }
}

.product__image {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  padding: 30px 0;
}

.product__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 10px 15px;
  border-top: 1px solid hsl(0deg, 0%, 92%);
}
@media (min-width: 768px) {
  .product__content {
    padding: 20px 25px;
  }
}
.product__content ul {
  display: none;
  margin: 0 0 10px;
  padding: 0 0 0 20px;
}
@media (min-width: 768px) {
  .product__content ul {
    display: block;
  }
}
.product__content ul li {
  margin-bottom: 5px;
}
.product__content ul li:last-child {
  margin-bottom: 0;
}
.product__content p {
  display: none;
}
@media (min-width: 768px) {
  .product__content p {
    display: block;
  }
}
.product__content p + p {
  margin: 0 0 10px;
}

.product__title {
  display: inline-block;
  margin-top: 0;
  margin-bottom: 0.25em;
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  .product__title {
    margin-bottom: 0.5em;
    font-size: 1.8rem;
  }
}
.product__title:hover {
  text-decoration: underline;
  cursor: pointer;
}

.extra-title {
  display: inline-block;
  padding-top: 0.3em;
  font-weight: 400;
}

.product__prices {
  display: block;
  text-align: left;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 5px;
}
@media (min-width: 768px) {
  .product__prices {
    font-size: 1.6rem;
    margin: 0 0 10px;
  }
}
.product__prices .vanadium {
  color: #a35af9;
}

.product__prices-price.tile-price--is-promo {
  display: block;
}
@media (min-width: 768px) {
  .product__prices-price.tile-price--is-promo {
    display: inline-block;
  }
}
.product__prices-price.tile-price--is-promo.is-promo--discount {
  color: hsl(352deg, 95%, 46%);
}
.product__prices-price.tile-price--is-promo.is-promo--discount span:last-child {
  margin-left: 0;
}
.product__prices-price.tile-price--is-promo.is-promo--addon {
  color: hsl(235deg, 60%, 60%);
}
.product__prices-price.tile-price--is-promo span {
  font-size: 70%;
}
.product__prices-price.tile-price--is-promo span:first-child {
  font-weight: 900;
}

.product__prices-price--discount {
  display: inline-block;
  color: hsl(0deg, 0%, 7%);
  margin-top: -19px;
  text-decoration: line-through;
}
.product__prices-price--discount span {
  font-size: 70%;
  text-decoration: line-through;
}

.product__colors-wrapper {
  display: none;
}
@media (min-width: 768px) {
  .product__colors-wrapper {
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
  }
}

.product__colors-list {
  text-align: center;
  padding: 0;
  margin-bottom: 3px;
  height: 20px;
}

.product__color {
  display: inline-block;
  height: 15px;
  width: 15px;
  list-style: none;
}
.product__color + .product__color {
  margin-left: 2px;
}

.colors-list__item-box {
  display: block;
  height: 100%;
  width: 100%;
  border-radius: 50px;
}
.colors-list__item-box.product-tile__options-item-color--white {
  border-color: hsl(0deg, 0%, 7%);
}

/**
 * Benefit banner -- used in frontpage grid.
 *
 * @copyright Copyright (c) 2019 SteelSeries
 */
.frontpage-grid__benefit-banner {
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 15px;
  padding-right: 15px;
}

.frontpage-grid__benefit-banner-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: left;
  padding-top: 1.2em;
  padding-bottom: 1.2em;
  margin-right: 0;
  margin-left: 0;
}
@media (min-width: 992px) {
  .frontpage-grid__benefit-banner-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 1.6em;
    padding-bottom: 1.6em;
  }
}

.frontpage-grid__benefit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-right: 0;
  margin-left: 0;
}
@media (min-width: 992px) {
  .frontpage-grid__benefit {
    margin-right: 10px;
    margin-left: 10px;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 calc(33% - 20px);
            flex: 1 1 calc(33% - 20px);
  }
  .frontpage-grid__benefit:first-of-type {
    margin-left: 0;
  }
  .frontpage-grid__benefit:last-of-type {
    margin-right: 0;
  }
}
.frontpage-grid__benefit + .frontpage-grid__benefit {
  margin-top: 15px;
}
@media (min-width: 992px) {
  .frontpage-grid__benefit + .frontpage-grid__benefit {
    margin-top: 0;
  }
}

.frontpage-grid__benefit-icon {
  -ms-flex-item-align: center;
      align-self: center;
  height: 40px;
}
.frontpage-grid__benefit-icon svg {
  width: 50px;
  height: 40px;
  margin: 0 15px 0 0;
}
@media (min-width: 992px) {
  .frontpage-grid__benefit-icon {
    height: 50px;
  }
  .frontpage-grid__benefit-icon svg {
    width: 60px;
    height: 50px;
    margin: 0 20px 0 0;
  }
}

.frontpage-grid__benefit-content {
  display: inline-block;
}
.frontpage-grid__benefit-content p {
  display: block;
  font-size: 1.4rem;
}
@media (min-width: 768px) {
  .frontpage-grid__benefit-content p {
    font-size: 1.6rem;
  }
}

.frontpage-grid__benefit-banner--full-width {
  position: relative;
  left: 0;
  right: 0;
  padding-left: 0;
  padding-right: 0;
  margin-bottom: -7.5px;
  margin-left: -7.5px;
  margin-right: -7.5px;
}

.frontpage-grid__benefit-banner--theme-light .frontpage-grid__benefit-banner {
  background-color: hsl(0deg, 0%, 96%);
}
.frontpage-grid__benefit-banner--theme-light .frontpage-grid__benefit-banner-inner {
  color: hsl(0deg, 0%, 7%);
}

.frontpage-grid__benefit-banner--theme-dark .frontpage-grid__benefit-banner {
  background-color: hsl(0deg, 0%, 22%);
}
.frontpage-grid__benefit-banner--theme-dark .frontpage-grid__benefit-banner-inner {
  color: hsl(0deg, 0%, 100%);
}
.frontpage-grid__benefit-banner--theme-dark a {
  color: hsl(250deg, 63%, 72%);
}

/**
 * Blog list -- used in frontpage grid.
 *
 * @copyright Copyright (c) 2019 SteelSeries
 */
.frontpage-grid__blog-list-header {
  margin-top: 0;
  margin-bottom: 30px;
  text-align: center;
}
.frontpage-grid__blog-list-header h2 {
  text-transform: uppercase;
  font-weight: 900;
  margin: 0;
}
.frontpage-grid__blog-list-header p {
  margin-top: 0.8em;
  max-width: 740px;
  margin-left: auto;
  margin-right: auto;
}

.frontpage-grid__blog-list {
  padding-top: 20px;
}
.frontpage-grid__blog-list .container--flex {
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.frontpage-grid__blog-list .row--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  width: 100%;
  margin: 0;
}
@media (min-width: 768px) {
  .frontpage-grid__blog-list .row--flex {
    margin: 0 -10px;
  }
}

.frontpage-grid__blog-list-buttons {
  text-align: center;
}
.frontpage-grid__blog-list-buttons .button {
  margin-top: 40px;
  margin-bottom: 20px;
}

/**
 * Blog post -- used in frontpage grid.
 *
 * @copyright Copyright (c) 2019 SteelSeries
 */
.frontpage-grid__blog-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 7.5px 7.5px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  -ms-flex-preferred-size: calc(100% - 15px);
      flex-basis: calc(100% - 15px);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
@media (min-width: 768px) {
  .frontpage-grid__blog-post {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 47.5%;
            flex: 0 0 47.5%;
    -ms-flex-preferred-size: calc(50% - 15px);
        flex-basis: calc(50% - 15px);
  }
}
@media (min-width: 992px) {
  .frontpage-grid__blog-post {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 31%;
            flex: 0 0 31%;
    -ms-flex-preferred-size: calc(33.33% - 15px);
        flex-basis: calc(33.33% - 15px);
  }
}
@media (min-width: 1200px) {
  .frontpage-grid__blog-post {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 23.5%;
            flex: 0 0 23.5%;
    -ms-flex-preferred-size: calc(25% - 15px);
        flex-basis: calc(25% - 15px);
  }
}
.frontpage-grid__blog-post .post-link {
  position: relative;
  width: 100%;
  height: 220px;
}
.frontpage-grid__blog-post .post-link .post-media {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.frontpage-grid__blog-post .post-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background: hsl(0deg, 0%, 96%);
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
  width: 100%;
  padding: 10px;
}
@media (min-width: 992px) {
  .frontpage-grid__blog-post .post-details {
    padding: 20px;
  }
}
.frontpage-grid__blog-post .post-details .post-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.frontpage-grid__blog-post .author-photo-wrapper {
  width: 40px;
  margin-right: 10px;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vY3NzL2Ntc3BsdWdpbl9mcm9udHBhZ2VfZ3JpZC5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0VBQUE7QUFBQTs7RUFBQTtBQ0FBOzs7O0VBQUE7QURBQTs7RUFBQTtBQUFBOztFQUFBO0FFSUE7O0NBQUE7QUFnR0E7O0NBQUE7QUZwR0E7O0VBQUE7QUdBQTtBQUVBO0VGU0U7RUFDQTtFQUNBO0VFUEE7RUFDQTtFQUVBO0VBQ0E7QUN5QkY7O0FDbkNBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBRG9DRjtBQ2xDRTtFQUNFO0FEb0NKOztBQzlCRTtFQUNFO0FEaUNKO0FDOUJFO0VBQ0U7RUFBQTtFQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUNMQ087RUtBUDtFQUNBLDBCTHhCSTtFS3lCSjtBRGdDSjtBQzlCSTtFQUNFLG9DTE5LO0FJc0NYO0FDN0JJO0VBQ0U7QUQrQk47QUM1Qkk7RUFDRTtBRDhCTjtBQzNCSTtFQUNFO0VBQ0Esb0NMekJLO0VLMEJMLHlCTHRCSztFS3VCTDtBRDZCTjtBQzFCSTtFQUNFO0FENEJOO0FDeEJFO0VBQ0U7QUQwQko7QUN2QkU7RUFDRSxvQ0x0Q087QUkrRFg7QUN2Qkk7RUFDRSx1Q0xJTztFS0hQLG1DTEdPO0FJc0JiO0FDdEJJO0VBQ0Usb0NMNUNLO0VLNkNMLGdDTDdDSztBSXFFWDtBQ3BCRTtFQUNFLG9DTGhETztBSXNFWDtBQ3BCSTtFQUNFLG9DTG5ESztBSXlFWDs7QUNoQkE7RUFDRTtFQUFBO0VBQUE7RUFDQTtNQUFBO1VBQUE7QURtQkY7QUUzQ0k7RURzQko7SUFLSTtRQUFBO1lBQUE7RURvQkY7QUFDRjtBQ2xCRTtFQUNFLHdCTGpFTztFS2tFUDtFQUNBO0VBQUE7QURvQko7QUNsQkk7RUFDRTtBRG9CTjs7QUNmQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FEa0JGO0FFL0RJO0VEeUNKO0lBT0k7RURtQkY7QUFDRjtBRXBFSTtFRHlDSjtJQVdJO0VEb0JGO0FB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V0Y7QUFDRjtBRXJZSTtFRytCSjtJQUtJO0VMcVdGO0FBQ0Y7QUUxWUk7RUcrQko7SUFRSTtFTHVXRjtBQUNGOztBRS9ZSTtFRzJDSjtJQUVJO0VMdVdGO0FBQ0Y7QUVyWkk7RUcyQ0o7SUFLSTtFTHlXRjtBQUNGOztBRTFaSTtFR29ESjtJQUVJO0VMeVdGO0FBQ0Y7QUVoYUk7RUdvREo7SUFLSTtFTDJXRjtBQUNGOztBS3JXRTtFQUNFO01BQUE7VUFBQTtBTHdXSjtBS3RXRTtFQUNFO01BQUE7VUFBQTtBTHdXSjtBS3RXRTtFQUNFO01BQUE7VUFBQTtBTHdXSjtBS3ZXSTtFQUNFO0FMeVdOO0FLcldFO0VBQ0U7TUFBQTtVQUFBO0FMdVdKO0FLcldFO0VBQ0U7TUFBQTtVQUFBO0FMdVdKO0FLdFdJO0VBQ0U7QUx3V047QUtyV0U7RUFDRTtNQUFBO1VBQUE7QUx1V0o7O0FLaldBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTG9XRjtBS2xXRTtFQUNFO0FMb1dKO0FLbFdFO0VBQ0U7QUxvV0o7QUtsV0U7RUFDRTtBTG9XSjtBS2pXRTtFQUNFO0FMbVdKO0FLaldFO0VBQ0U7QUxtV0o7QUtqV0U7RUFDRTtBTG1XSjs7QUs3VkE7RUFDRTtFQUNBO0VBQ0E7RUFDQSwwQlQ5TE07RVMrTE47RUFDQTtBTGdXRjtBSzlWRTtFQUNFO0VBQ0E7QUxnV0o7QUs5VkU7RUFDRSwwQlR2TUk7QUl1aUJSO0FLL1ZJO0VBQ0U7QUxpV047O0FLck5BO0VBcElFLDZCVGhOTTtFU2lOTiwwQlRsTk07QUkraUJSO0FLM1ZFO0VBRUU7RUFDQSwwQlR2Tkk7QUltakJSO0FLeFZJO0VBQ0U7RUFBQTtBTDBWTjtBRTdmSTtFR2tLQTtJQVFJO0lBQUE7RUx1Vk47QUFDRjtBSzlVSTtFQUNFO0VBQUE7QUxnVk47QUVyZ0JJO0VHb0xBO0lBUUk7SUFBQTtFTDZVTjtBQUNGO0FLcFVJO0VBQ0U7RUFBQTtBTHNVTjtBRTdnQkk7RUdzTUE7SUFRSTtJQUFBO0VMbVVOO0FBQ0Y7QUsxVEk7RUFDRTtFQUFBO0FMNFROO0FFcmhCSTtFR3dOQTtJQVFJO0lBQUE7RUx5VE47QUFDRjtBS2hUSTs7RUFFRTtBTGtUTjtBSzlTRTtFQUNFLDBCVDFTSTtBSTBsQlI7QUsvU0k7RUFDRSwwQlQ1U0U7QUk2bEJSO0FLN1NFO0VDbFRBLGlDVkVNO0VVRE47RUFDQTtBTmttQkY7QU1obUJFO0VBQ0UsK0JWSEk7RVVJSix3QlZtQk87QUkra0JYO0FNL2xCRTtFQUNFLDBCVlJJO0FJeW1CUjtBTS9sQkk7RUFDRSx3QlZZSztBSXFsQlg7QU03bEJFO0VBQ0UsaUNWaEJJO0VVaUJKLCtCVmpCSTtFVWtCSix3QlZLTztBSTBsQlg7QU03bEJJO0VBQ0UsZ0NWSks7RVVLTCw4QlZMSztBSW9tQlg7QU01bEJJO0VBQ0Usd0JWSEs7QUlpbUJYO0FNemxCSTtFQUNFO0VBQ0EseUJWaEJLO0FJMm1CWDtBTXJsQkk7RUFDRTtFQUNBLHlCVnhCSztBSSttQlg7QU1ubEJFO0VBQ0Usb0NWL0JPO0VVZ0NQLHlCVjFCTztFVTJCUCxnQ1YvQk87QUlvbkJYO0FNamxCSTtFQUNFLGlDVnJERTtFVXNERjtBTm1sQk47QU0va0JNO0VBQ0UsK0JWcENHO0VVcUNIO0FOaWxCUjtBS3BWSTtFQzNURixrQ1ZVVztFVVRYO0VBQ0EsMkJWUVc7QUkwb0JiO0FNaHBCRTtFQUNFLGdDVktTO0VVSlQsMEJWSkk7QUlzcEJSO0FNL29CRTtFQUNFO0FOaXBCSjtBTS9vQkk7RUFDRSwwQlZYRTtBSTRwQlI7QU03b0JFO0VBQ0Usa0NWUlM7RVVTVCxnQ1ZUUztFVVVULDBCVmxCSTtBSWlxQlI7QU03b0JJO0VBQ0Usa0NWZE87RVVlUCxnQ1ZmTztBSThwQmI7QU01b0JJO0VBQ0UsMEJWMUJFO0FJd3FCUjtBTXpvQkk7RUFDRTtFQUNBLDJCVjFCTztBSXFxQmI7QU1yb0JJO0VBQ0U7RUFDQSwyQlZsQ087QUl5cUJiO0FNbm9CRTtFQUNFLG9DVi9CTztFVWdDUCx5QlYxQk87RVUyQlAsZ0NWL0JPO0FJb3FCWDtBTWpvQkk7RUFDRSxrQ1Y3Q087RVU4Q1A7QU5tb0JOO0FNL25CTTtFQUNFLGlDVjNEQTtFVTREQTtBTmlvQlI7QUtoWUk7RUMvVEYsK0JWeUJTO0VVeEJUO0VBQ0Esd0JWdUJTO0FJMnFCWDtBTWhzQkU7RUFDRSw2QlZvQk87RVVuQlAsMEJWSkk7QUlzc0JSO0FNL3JCRTtFQUNFLHdCVmVPO0FJa3JCWDtBTS9yQkk7RUFDRSwwQlZYRTtBSTRzQlI7QU03ckJFO0VBQ0UsK0JWT087RVVOUCw2QlZNTztFVUxQLDBCVmxCSTtBSWl0QlI7QU03ckJJO0VBQ0UsZ0NWQ0s7RVVBTDtBTityQk47QU01ckJJO0VBQ0UsMEJWMUJFO0FJd3RCUjtBTXpyQkk7RUFDRTtFQUNBLHlCVlhLO0FJc3NCWDtBTXJyQkk7RUFDRTtFQUNBLHlCVm5CSztBSTBzQlg7QU1uckJFO0VBQ0Usb0NWL0JPO0VVZ0NQLHlCVjFCTztFVTJCUCxnQ1YvQk87QUlvdEJYO0FNanJCSTtFQUNFLCtCVjlCSztFVStCTDtBTm1yQk47QU0vcUJNO0VBQ0UsaUNWM0RBO0VVNERBO0FOaXJCUjtBSzVhSTtFQ25VRixpQ1ZFTTtFVUROO0VBQ0E7QU5rdkJGO0FNaHZCRTtFQUNFLCtCVkhJO0VVSUosd0JWbUJPO0FJK3RCWDtBTS91QkU7RUFDRSwwQlZSSTtBSXl2QlI7QU0vdUJJO0VBQ0Usd0JWWUs7QUlxdUJYO0FNN3VCRTtFQUNFLGlDVmhCSTtFVWlCSiwrQlZqQkk7RVVrQkosd0JWS087QUkwdUJYO0FNN3VCSTtFQUNFLGdDVkpLO0VVS0wsOEJWTEs7QUlvdkJYO0FNNXVCSTtFQUNFLHdCVkhLO0FJaXZCWDtBTXp1Qkk7RUFDRTtFQUNBLHlCVmhCSztBSTJ2Qlg7QU1ydUJJO0VBQ0U7RUFDQSx5QlZ4Qks7QUkrdkJYO0FNbnVCRTtFQUNFLG9DVi9CTztFVWdDUCx5QlYxQk87RVUyQlAsZ0NWL0JPO0FJb3dCWDtBTWp1Qkk7RUFDRSxpQ1ZyREU7RVVzREY7QU5tdUJOO0FNL3RCTTtFQUNFLCtCVnBDRztFVXFDSDtBTml1QlI7O0FLcmNBO0VBdklFLDhCVGxNUztFU21NVCx3QlRqTk07QUlpeUJSO0FLOWtCRTtFQUVFO0VBQ0Esd0JUdE5JO0FJcXlCUjtBSzNrQkk7RUFDRTtFQUFBO0FMNmtCTjtBRWh2Qkk7RUdrS0E7SUFRSTtJQUFBO0VMMGtCTjtBQUNGO0FLamtCSTtFQUNFO0VBQUE7QUxta0JOO0FFeHZCSTtFR29MQTtJQVFJO0lBQUE7RUxna0JOO0FBQ0Y7QUt2akJJO0VBQ0U7RUFBQTtBTHlqQk47QUVod0JJO0VHc01BO0lBUUk7SUFBQTtFTHNqQk47QUFDRjtBSzdpQkk7RUFDRTtFQUFBO0FMK2lCTjtBRXh3Qkk7RUd3TkE7SUFRSTtJQUFBO0VMNGlCTjtBQUNGO0FLbmlCSTs7RUFFRTtBTHFpQk47QUtqaUJFO0VBQ0Usd0JUelNJO0FJNDBCUjtBS2xpQkk7RUFDRSx3QlQzU0U7QUkrMEJSO0FLdmhCSTtFQzNURixrQ1ZVVztFVVRYO0VBQ0EsMkJWUVc7QUk2MEJiO0FNbjFCRTtFQUNFLGdDVktTO0VVSlQsMEJWSkk7QUl5MUJSO0FNbDFCRTtFQUNFO0FObzFCSjtBTWwxQkk7RUFDRSwwQlZYRTtBSSsxQlI7QU1oMUJFO0VBQ0Usa0NWUlM7RVVTVCxnQ1ZUUztFVVVULDBCVmxCSTtBSW8yQlI7QU1oMUJJO0VBQ0Usa0NWZE87RVVlUCxnQ1ZmTztBSWkyQmI7QU0vMEJJO0VBQ0UsMEJWMUJFO0FJMjJCUjtBTTUwQkk7RUFDRTtFQUNBLDJCVjFCTztBSXcyQmI7QU14MEJJO0VBQ0U7RUFDQSwyQlZsQ087QUk0MkJiO0FNdDBCRTtFQUNFLG9DVi9CTztFVWdDUCx5QlYxQk87RVUyQlAsZ0NWL0JPO0FJdTJCWDtBTXAwQkk7RUFDRSxrQ1Y3Q087RVU4Q1A7QU5zMEJOO0FNbDBCTTtFQUNFLGlDVjNEQTtFVTREQTtBTm8wQlI7QUtua0JJO0VDL1RGLCtCVnlCUztFVXhCVDtFQUNBLHdCVnVCUztBSTgyQlg7QU1uNEJFO0VBQ0UsNkJWb0JPO0VVbkJQLDBCVkpJO0FJeTRCUjtBTWw0QkU7RUFDRSx3QlZlTztBSXEzQlg7QU1sNEJJO0VBQ0UsMEJWWEU7QUkrNEJSO0FNaDRCRTtFQUNFLCtCVk9PO0VVTlAsNkJWTU87RVVMUCwwQlZsQkk7QUlvNUJSO0FNaDRCSTtFQUNFLGdDVkNLO0VVQUw7QU5rNEJOO0FNLzNCSTtFQUNFLDBCVjFCRTtBSTI1QlI7QU01M0JJO0VBQ0U7RUFDQSx5QlZYSztBSXk0Qlg7QU14M0JJO0VBQ0U7RUFDQSx5QlZuQks7QUk2NEJYO0FNdDNCRTtFQUNFLG9DVi9CTztFVWdDUCx5QlYxQk87RVUyQlAsZ0NWL0JPO0FJdTVCWDtBTXAzQkk7RUFDRSwrQlY5Qks7RVUrQkw7QU5zM0JOO0FNbDNCTTtFQUNFLGlDVjNEQTtFVTREQTtBTm8zQlI7QUsvbUJJO0VDblVGLGlDVkVNO0VVRE47RUFDQTtBTnE3QkY7QU1uN0JFO0VBQ0UsK0JWSEk7RVVJSix3QlZtQk87QUlrNkJYO0FNbDdCRTtFQUNFLDBCVlJJO0FJNDdCUjtBTWw3Qkk7RUFDRSx3QlZZSztBSXc2Qlg7QU1oN0JFO0VBQ0UsaUNWaEJJO0VVaUJKLCtCVmpCSTtFVWtCSix3QlZLTztBSTY2Qlg7QU1oN0JJO0VBQ0UsZ0NWSks7RVVLTCw4QlZMSztBSXU3Qlg7QU0vNkJJO0VBQ0Usd0JWSEs7QUlvN0JYO0FNNTZCSTtFQUNFO0VBQ0EseUJWaEJLO0FJODdCWDtBTXg2Qkk7RUFDRTtFQUNBLHlCVnhCSztBSWs4Qlg7QU10NkJFO0VBQ0Usb0NWL0JPO0VVZ0NQLHlCVjFCTztFVTJCUCxnQ1YvQk87QUl1OEJYO0FNcDZCSTtFQUNFLGlDVnJERTtFVXNERjtBTnM2Qk47QU1sNkJNO0VBQ0UsK0JWcENHO0VVcUNIO0FObzZCUjs7QUtyb0JBO0VBMUlFLDZCVGhOTTtFU2lOTiwwQlRsTk07QUlxK0JSO0FLanhCRTtFQUVFO0VBQ0EsMEJUdk5JO0FJeStCUjtBSzl3Qkk7RUFDRTtFQUFBO0FMZ3hCTjtBRW43Qkk7RUdrS0E7SUFRSTtJQUFBO0VMNndCTjtBQUNGO0FLcHdCSTtFQUNFO0VBQUE7QUxzd0JOO0FFMzdCSTtFR29MQTtJQVFJO0lBQUE7RUxtd0JOO0FBQ0Y7QUsxdkJJO0VBQ0U7RUFBQTtBTDR2Qk47QUVuOEJJO0VHc01BO0lBUUk7SUFBQTtFTHl2Qk47QUFDRjtBS2h2Qkk7RUFDRTtFQUFBO0FMa3ZCTjtBRTM4Qkk7RUd3TkE7SUFRSTtJQUFBO0VMK3VCTjtBQUNGO0FLdHVCSTs7RUFFRTtBTHd1Qk47QUtwdUJFO0VBQ0UsMEJUMVNJO0FJZ2hDUjtBS3J1Qkk7RUFDRSwwQlQ1U0U7QUltaENSO0FLbnVCRTtFQ2xUQSxpQ1ZFTTtFVUROO0VBQ0E7QU53aENGO0FNdGhDRTtFQUNFLCtCVkhJO0VVSUosd0JWbUJPO0FJcWdDWDtBTXJoQ0U7RUFDRSwwQlZSSTtBSStoQ1I7QU1yaENJO0VBQ0Usd0JWWUs7QUkyZ0NYO0FNbmhDRTtFQUNFLGlDVmhCSTtFVWlCSiwrQlZqQkk7RVVrQkosd0JWS087QUlnaENYO0FNbmhDSTtFQUNFLGdDVkpLO0VVS0wsOEJWTEs7QUkwaENYO0FNbGhDSTtFQUNFLHdCVkhLO0FJdWhDWDtBTS9nQ0k7RUFDRTtFQUNBLHlCVmhCSztBSWlpQ1g7QU0zZ0NJO0VBQ0U7RUFDQSx5QlZ4Qks7QUlxaUNYO0FNemdDRTtFQUNFLG9DVi9CTztFVWdDUCx5QlYxQk87RVUyQlAsZ0NWL0JPO0FJMGlDWDtBTXZnQ0k7RUFDRSxpQ1ZyREU7RVVzREY7QU55Z0NOO0FNcmdDTTtFQUNFLCtCVnBDRztFVXFDSDtBTnVnQ1I7QUsxd0JJO0VDM1RGLGtDVlVXO0VVVFg7RUFDQSwyQlZRVztBSWdrQ2I7QU10a0NFO0VBQ0UsZ0NWS1M7RVVKVCwwQlZKSTtBSTRrQ1I7QU1ya0NFO0VBQ0U7QU51a0NKO0FNcmtDSTtFQUNFLDBCVlhFO0FJa2xDUjtBTW5rQ0U7RUFDRSxrQ1ZSUztFVVNULGdDVlRTO0VVVVQsMEJWbEJJO0FJdWxDUjtBTW5rQ0k7RUFDRSxrQ1ZkTztFVWVQLGdDVmZPO0FJb2xDYjtBTWxrQ0k7RUFDRSwwQlYxQkU7QUk4bENSO0FNL2pDSTtFQUNFO0VBQ0EsMkJWMUJPO0FJMmxDYjtBTTNqQ0k7RUFDRTtFQUNBLDJCVmxDTztBSStsQ2I7QU16akNFO0VBQ0Usb0NWL0JPO0VVZ0NQLHlCVjFCTztFVTJCUCxnQ1YvQk87QUkwbENYO0FNdmpDSTtFQUNFLGtDVjdDTztFVThDUDtBTnlqQ047QU1yakNNO0VBQ0UsaUNWM0RBO0VVNERBO0FOdWpDUjtBS3R6Qkk7RUMvVEYsK0JWeUJTO0VVeEJUO0VBQ0Esd0JWdUJTO0FJaW1DWDtBTXRuQ0U7RUFDRSw2QlZvQk87RVVuQlAsMEJWSkk7QUk0bkNSO0FNcm5DRTtFQUNFLHdCVmVPO0FJd21DWDtBTXJuQ0k7RUFDRSwwQlZYRTtBSWtvQ1I7QU1ubkNFO0VBQ0UsK0JWT087RVVOUCw2QlZNTztFVUxQLDBCVmxCSTtBSXVvQ1I7QU1ubkNJO0VBQ0UsZ0NWQ0s7RVVBTDtBTnFuQ047QU1sbkNJO0VBQ0UsMEJWMUJFO0FJOG9DUjtBTS9tQ0k7RUFDRTtFQUNBLHlCVlhLO0FJNG5DWDtBTTNtQ0k7RUFDRTtFQUNBLHlCVm5CSztBSWdvQ1g7QU16bUNFO0VBQ0Usb0NWL0JPO0VVZ0NQLHlCVjFCTztFVTJCUCxnQ1YvQk87QUkwb0NYO0FNdm1DSTtFQUNFLCtCVjlCSztFVStCTDtBTnltQ047QU1ybUNNO0VBQ0UsaUNWM0RBO0VVNERBO0FOdW1DUjtBS2wyQkk7RUNuVUYsaUNWRU07RVVETjtFQUNBO0FOd3FDRjtBTXRxQ0U7RUFDRSwrQlZISTtFVUlKLHdCVm1CTztBSXFwQ1g7QU1ycUNFO0VBQ0UsMEJWUkk7QUkrcUNSO0FNcnFDSTtFQUNFLHdCVllLO0FJMnBDWDtBTW5xQ0U7RUFDRSxpQ1ZoQkk7RVVpQkosK0JWakJJO0VVa0JKLHdCVktPO0FJZ3FDWDtBTW5xQ0k7RUFDRSxnQ1ZKSztFVUtMLDhCVkxLO0FJMHFDWDtBTWxxQ0k7RUFDRSx3QlZISztBSXVxQ1g7QU0vcENJO0VBQ0U7RUFDQSx5QlZoQks7QUlpckNYO0FNM3BDSTtFQUNFO0VBQ0EseUJWeEJLO0FJcXJDWDtBTXpwQ0U7RUFDRSxvQ1YvQk87RVVnQ1AseUJWMUJPO0VVMkJQLGdDVi9CTztBSTByQ1g7QU12cENJO0VBQ0UsaUNWckRFO0VVc0RGO0FOeXBDTjtBTXJwQ007RUFDRSwrQlZwQ0c7RVVxQ0g7QU51cENSO0FLMTRCSTtFQUNFO0FMNDRCTjtBS3o0Qkk7RUFHRTtBTHk0Qk47QUsxM0JFO0VBQ0U7QUw0M0JKOztBS3ozQkE7RUFsSkUsOEJUbE1TO0VTbU1ULHdCVGpOTTtBSWd1Q1I7QUs3Z0NFO0VBRUU7RUFDQSx3QlR0Tkk7QUlvdUNSO0FLMWdDSTtFQUNFO0VBQUE7QUw0Z0NOO0FFL3FDSTtFR2tLQTtJQVFJO0lBQUE7RUx5Z0NOO0FBQ0Y7QUtoZ0NJO0VBQ0U7RUFBQTtBTGtnQ047QUV2ckNJO0VHb0xBO0lBUUk7SUFBQTtFTCsvQk47QUFDRjtBS3QvQkk7RUFDRTtFQUFBO0FMdy9CTjtBRS9yQ0k7RUdzTUE7SUFRSTtJQUFBO0VMcS9CTjtBQUNGO0FLNStCSTtFQUNFO0VBQUE7QUw4K0JOO0FFdnNDSTtFR3dOQTtJQVFJO0lBQUE7RUwyK0JOO0FBQ0Y7QUtsK0JJOztFQUVFO0FMbytCTjtBS2grQkU7RUFDRSx3QlR6U0k7QUkyd0NSO0FLaitCSTtFQUNFLHdCVDNTRTtBSTh3Q1I7QUt0OUJJO0VDM1RGLGtDVlVXO0VVVFg7RUFDQSwyQlZRVztBSTR3Q2I7QU1seENFO0VBQ0UsZ0NWS1M7RVVKVCwwQlZKSTtBSXd4Q1I7QU1qeENFO0VBQ0U7QU5teENKO0FNanhDSTtFQUNFLDBCVlhFO0FJOHhDUjtBTS93Q0U7RUFDRSxrQ1ZSUztFVVNULGdDVlRTO0VVVVQsMEJWbEJJO0FJbXlDUjtBTS93Q0k7RUFDRSxrQ1ZkTztFVWVQLGdDVmZPO0FJZ3lDYjtBTTl3Q0k7RUFDRSwwQlYxQkU7QUkweUNSO0FNM3dDSTtFQUNFO0VBQ0EsMkJWMUJPO0FJdXlDYjtBTXZ3Q0k7RUFDRTtFQUNBLDJCVmxDTztBSTJ5Q2I7QU1yd0NFO0VBQ0Usb0NWL0JPO0VVZ0NQLHlCVjFCTztFVTJCUCxnQ1YvQk87QUlzeUNYO0FNbndDSTtFQUNFLGtDVjdDTztFVThDUDtBTnF3Q047QU1qd0NNO0VBQ0UsaUNWM0RBO0VVNERBO0FObXdDUjtBS2xnQ0k7RUMvVEYsK0JWeUJTO0VVeEJUO0VBQ0Esd0JWdUJTO0FJNnlDWDtBTWwwQ0U7RUFDRSw2QlZvQk87RVVuQlAsMEJWSkk7QUl3MENSO0FNajBDRTtFQUNFLHdCVmVPO0FJb3pDWDtBTWowQ0k7RUFDRSwwQlZYRTtBSTgwQ1I7QU0vekNFO0VBQ0UsK0JWT087RVVOUCw2QlZNTztFVUxQLDBCVmxCSTtBSW0xQ1I7QU0vekNJO0VBQ0UsZ0NWQ0s7RVVBTDtBTmkwQ047QU05ekNJO0VBQ0UsMEJWMUJFO0FJMDFDUjtBTTN6Q0k7RUFDRTtFQUNBLHlCVlhLO0FJdzBDWDtBTXZ6Q0k7RUFDRTtFQUNBLHlCVm5CSztBSTQwQ1g7QU1yekNFO0VBQ0Usb0NWL0JPO0VVZ0NQLHlCVjFCTztFVTJCUCxnQ1YvQk87QUlzMUNYO0FNbnpDSTtFQUNFLCtCVjlCSztFVStCTDtBTnF6Q047QU1qekNNO0VBQ0UsaUNWM0RBO0VVNERBO0FObXpDUjtBSzlpQ0k7RUNuVUYsaUNWRU07RVVETjtFQUNBO0FObzNDRjtBTWwzQ0U7RUFDRSwrQlZISTtFVUlKLHdCVm1CTztBSWkyQ1g7QU1qM0NFO0VBQ0UsMEJWUkk7QUkyM0NSO0FNajNDSTtFQUNFLHdCVllLO0FJdTJDWDtBTS8yQ0U7RUFDRSxpQ1ZoQkk7RVVpQkosK0JWakJJO0VVa0JKLHdCVktPO0FJNDJDWDtBTS8yQ0k7RUFDRSxnQ1ZKSztFVUtMLDhCVkxLO0FJczNDWDtBTTkyQ0k7RUFDRSx3QlZISztBSW0zQ1g7QU0zMkNJO0VBQ0U7RUFDQSx5QlZoQks7QUk2M0NYO0FNdjJDSTtFQUNFO0VBQ0EseUJWeEJLO0FJaTRDWDtBTXIyQ0U7RUFDRSxvQ1YvQk87RVVnQ1AseUJWMUJPO0VVMkJQLGdDVi9CTztBSXM0Q1g7QU1uMkNJO0VBQ0UsaUNWckRFO0VVc0RGO0FOcTJDTjtBTWoyQ007RUFDRSwrQlZwQ0c7RVVxQ0g7QU5tMkNSO0FLdGxDSTtFQUNFO0FMd2xDTjtBS3JsQ0k7RUFHRTtBTHFsQ047QUs5akNFO0VBQ0U7QUxna0NKOztBS3hqQ0U7Ozs7RUFDRTtBTDhqQ0o7QUs1akNJOzs7O0VBQ0U7QUxpa0NOO0FLN2pDRTs7OztF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O1FBQUE7WUFBQTtJQUNBO1FBQUE7RVpxa0VGO0FBQ0Y7QVlua0VFO0VBQ0U7RUFDQTtFQUNBO0FacWtFSjtBWW5rRUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBWnFrRU47QVlqa0VFO0VBQ0U7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQSw4QmhCNUJPO0VnQjZCUDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVpta0VKO0FFM2pFSTtFVWxCRjtJQWFJO0Vab2tFSjtBQUNGO0FZbGtFSTtFQUNFO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtNQUFBO1VBQUE7QVpva0VOO0FZaGtFRTtFQUNFO0VBQ0E7QVpra0VKLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvbWl4aW5zL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL2Ntc3BsdWdpbnMvY21zcGx1Z2luX2Zyb250cGFnZV9ncmlkL2Fzc2V0cy9zY3NzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL2Ntc3BsdWdpbnMvY21zcGx1Z2luX2Zyb250cGFnZV9ncmlkL2Fzc2V0cy9zY3NzL2Ntc3BsdWdpbl9mcm9udHBhZ2VfZ3JpZC5zY3NzIiwid2VicGFjazovLy8uLi9jbXNwbHVnaW5zL2Ntc3BsdWdpbl9mcm9udHBhZ2VfZ3JpZC9hc3NldHMvc2Nzcy9fY2F0ZWdvcnktZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uLi9jbXNwbHVnaW5zL2Ntc3BsdWdpbl9mcm9udHBhZ2VfZ3JpZC9hc3NldHMvc2Nzcy9fcm93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL2Ntc3BsdWdpbnMvY21zcGx1Z2luX2Zyb250cGFnZV9ncmlkL2Fzc2V0cy9zY3NzL19jb2x1bW4uc2NzcyIsIndlYnBhY2s6Ly8vLi4vY21zcGx1Z2lucy9jbXNwbHVnaW5fZnJvbnRwYWdlX2dyaWQvYXNzZXRzL3Njc3MvX3RpbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL21peGlucy9fYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL2Ntc3BsdWdpbnMvY21zcGx1Z2luX2Zyb250cGFnZV9ncmlkL2Fzc2V0cy9zY3NzL19lZGl0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL2Ntc3BsdWdpbnMvY21zcGx1Z2luX2Zyb250cGFnZV9ncmlkL2Fzc2V0cy9zY3NzL19wcm9kdWN0LWdyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vY21zcGx1Z2lucy9jbXNwbHVnaW5fZnJvbnRwYWdlX2dyaWQvYXNzZXRzL3Njc3MvX3Byb2R1Y3Quc2NzcyIsIndlYnBhY2s6Ly8vLi4vY21zcGx1Z2lucy9jbXNwbHVnaW5fZnJvbnRwYWdlX2dyaWQvYXNzZXRzL3Njc3MvX2JlbmVmaXQtYmFubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL2Ntc3BsdWdpbnMvY21zcGx1Z2luX2Zyb250cGFnZV9ncmlkL2Fzc2V0cy9zY3NzL19ibG9nLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi4vY21zcGx1Z2lucy9jbXNwbHVnaW5fZnJvbnRwYWdlX2dyaWQvYXNzZXRzL3Njc3MvX2Jsb2ctcG9zdC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRmlsZSBjb250YWluaW5nIGFsbCB0aGUgU0NTUyBWYXJpYWJsZXNcbiAqL1xuXG4vLyBiYXNlIGIvd1xuJHdoaXRlOiBoc2woMCwgMCUsIDEwMCUpO1xuJGJsYWNrOiBoc2woMCwgMCUsIDAlKTtcblxuLy8gZ2xvcmlvdXMgb3JhbmdlXG4kb3JhbmdlLTEwMDogaHNsKDI1LCA5NSUsIDk1JSk7XG4kb3JhbmdlLTIwMDogaHNsKDI1LCA5NSUsIDg4JSk7XG4kb3JhbmdlLTMwMDogaHNsKDE4LCA5NSUsIDc4JSk7XG4kb3JhbmdlLTQwMDogaHNsKDE4LCA5OCUsIDY1JSk7XG4kb3JhbmdlLTUwMDogaHNsKDE4LCA5OCUsIDUwJSk7XG4kb3JhbmdlLTYwMDogaHNsKDE4LCA5OCUsIDQwJSk7XG4kb3JhbmdlLTcwMDogaHNsKDE4LCAxMDAlLCAzMyUpO1xuJG9yYW5nZS04MDA6IGhzbCgxOCwgMTAwJSwgMjUlKTtcbiRvcmFuZ2UtOTAwOiBoc2woMTgsIDEwMCUsIDE2JSk7XG5cbi8vIHN1YnRsZSBncmF5XG4kZ3JheS0xMDA6IGhzbCgwLCAwJSwgOTYlKTtcbiRncmF5LTIwMDogaHNsKDAsIDAlLCA5MiUpO1xuJGdyYXktMzAwOiBoc2woMCwgMCUsIDg2JSk7XG4kZ3JheS00MDA6IGhzbCgwLCAwJSwgNzUlKTtcbiRncmF5LTUwMDogaHNsKDIxNywgNSUsIDYwJSk7XG4kZ3JheS02MDA6IGhzbCgwLCAwJSwgNDYlKTtcbiRncmF5LTcwMDogaHNsKDAsIDAlLCAzNCUpO1xuJGdyYXktODAwOiBoc2woMCwgMCUsIDIyJSk7XG4kZ3JheS05MDA6IGhzbCgwLCAwJSwgNyUpO1xuXG4vLyB2aWN0b3J5IHllbGxvd1xuJHllbGxvdy0xMDA6IGhzbCg1MSwgNzUlLCA5NiUpO1xuJHllbGxvdy0yMDA6IGhzbCg1MSwgNzUlLCA5MiUpO1xuJHllbGxvdy0zMDA6IGhzbCg1MSwgOTElLCA4NyUpO1xuJHllbGxvdy00MDA6IGhzbCg1MSwgODklLCA3OCUpO1xuJHllbGxvdy01MDA6IGhzbCg1MSwgOTAlLCA2MCUpO1xuJHllbGxvdy02MDA6IGhzbCg1MSwgOTAlLCA0NSUpO1xuJHllbGxvdy03MDA6IGhzbCg0OCwgOTYlLCAzNSUpO1xuJHllbGxvdy04MDA6IGhzbCg0OCwgMTAwJSwgMjUlKTtcbiR5ZWxsb3ctOTAwOiBoc2woNDgsIDEwMCUsIDE2JSk7XG5cbi8vIGVtZXJhbGQgZ3JlZW5cbiRncmVlbi0xMDA6IGhzbCgxMzUsIDc1JSwgOTYlKTtcbiRncmVlbi0yMDA6IGhzbCgxMzUsIDc1JSwgOTIlKTtcbiRncmVlbi0zMDA6IGhzbCgxMzUsIDc1JSwgODUlKTtcbiRncmVlbi00MDA6IGhzbCgxMzUsIDc1JSwgNzUlKTtcbiRncmVlbi01MDA6IGhzbCgxNDAsIDczJSwgNTYlKTtcbiRncmVlbi02MDA6IGhzbCgxNDAsIDcxJSwgNDUlKTtcbiRncmVlbi03MDA6IGhzbCgxNDAsIDU2JSwgMzIlKTtcbiRncmVlbi04MDA6IGhzbCgxNDAsIDgwJSwgMjIlKTtcbiRncmVlbi05MDA6IGhzbCgxNDAsIDEwMCUsIDE2JSk7XG5cbi8vIHVsdHJhbWFyaW5lIGJsdWVcbiRibHVlLTEwMDogaHNsKDIzMCwgNjAlLCA5NyUpO1xuJGJsdWUtMjAwOiBoc2woMjMwLCA2MCUsIDg4JSk7XG4kYmx1ZS0zMDA6IGhzbCgyMzAsIDYwJSwgNzUlKTtcbiRibHVlLTQwMDogaHNsKDIzNSwgNjAlLCA2MCUpO1xuJGJsdWUtNTAwOiBoc2woMjQzLCA2NSUsIDQwJSk7XG4kYmx1ZS02MDA6IGhzbCgyNDMsIDY1JSwgMzMlKTtcbiRibHVlLTcwMDogaHNsKDI0MywgNjclLCAyNSUpO1xuJGJsdWUtODAwOiBoc2woMjQzLCA3NSUsIDIwJSk7XG4kYmx1ZS05MDA6IGhzbCgyNDMsIDEwMCUsIDE2JSk7XG5cbi8vIGxveWFsIHB1cnBsZVxuJHB1cnBsZS0xMDA6IGhzbCgyNDUsIDYzJSwgOTUlKTtcbiRwdXJwbGUtMjAwOiBoc2woMjQ1LCA2MyUsIDgyJSk7XG4kcHVycGxlLTMwMDogaHNsKDI1MCwgNjMlLCA3MiUpO1xuJHB1cnBsZS00MDA6IGhzbCgyNjEsIDYzJSwgNjAlKTtcbiRwdXJwbGUtNTAwOiBoc2woMjYxLCA2MyUsIDUzJSk7XG4kcHVycGxlLTYwMDogaHNsKDI2MSwgNjMlLCA0MyUpO1xuJHB1cnBsZS03MDA6IGhzbCgyNjEsIDYzJSwgMzMlKTtcbiRwdXJwbGUtODAwOiBoc2woMjYxLCA2MyUsIDIzJSk7XG4kcHVycGxlLTkwMDogaHNsKDI2MSwgMTAwJSwgMTYlKTtcblxuLy8gcmFjaW5nIHJlZFxuJHJlZC0xMDA6IGhzbCgxNSwgNzUlLCA5NiUpO1xuJHJlZC0yMDA6IGhzbCgyMCwgNzUlLCA4OSUpO1xuJHJlZC0zMDA6IGhzbCg1LCAxMDAlLCA3NSUpO1xuJHJlZC00MDA6IGhzbCgwLCAxMDAlLCA2MyUpO1xuJHJlZC01MDA6IGhzbCgzNTIsIDk1JSwgNDYlKTtcbiRyZWQtNjAwOiBoc2woMzUyLCA5NSUsIDM4JSk7XG4kcmVkLTcwMDogaHNsKDM1MiwgOTYlLCAzMCUpO1xuJHJlZC04MDA6IGhzbCgzNTIsIDk0JSwgMjIlKTtcbiRyZWQtOTAwOiBoc2woMzUyLCAxMDAlLCAxNiUpO1xuXG4vLyBTb2NpYWwgY29sb3JzXG4kZmFjZWJvb2stYmx1ZTogaHNsKDIyMSwgNDQlLCA0MSUpO1xuJHR3aXR0ZXItYmx1ZTogaHNsKDIwMywgODklLCA1MyUpO1xuJGluc3RhZ3JhbS1waW5rOiBoc2woMzM2LCA2OSUsIDUyJSk7XG4keW91dHViZS1yZWQ6IGhzbCgwLCAxMDAlLCA1MCUpO1xuJGRpc2NvcmQtcHVycGxlOiBoc2woMjI3LCA1OCUsIDY1JSk7XG4kdHdpdGNoLXB1cnBsZTogaHNsKDI2MSwgNDMlLCA0NSUpO1xuJHJlZGRpdC1vcmFuZ2U6IGhzbCgxNiwgMTAwJSwgNTAlKTtcbiRsaW5rZWRpbi1ibHVlOiBoc2woMjAxLCAxMDAlLCAzNSUpO1xuJHRpa3Rvay1ibGFjazogaHNsKDAsIDAlLCAwJSk7XG5cbi8vIFByb2R1Y3Qgc3BlY2lmaWMgc3dhdGNoZXNcbiRnYWlhLWdyZWVuOiBoc2woNjIsIDcyJSwgNTQlKTtcblxuLy8gTW9tZW50c1xuJG1vbWVudHMtYmx1ZTogIzE2MTkxZTtcbiRtb21lbnRzLWhhd2tlcy1ibHVlOiAjZDBkOWY2O1xuJG1vbWVudHMtaGF3a2VzLWdyYXk6ICNhN2FlYzQ7XG4kbW9tZW50cy1tYXJ0aW5pcXVlOiAjMzIzOTQzO1xuXG4kbW9tZW50cy1wcmltYXJ5LXB1cnBsZS05MDogIzRiNjBkZjtcbiRtb21lbnRzLXNlY29uZGFyeS1ncmV5LTEwOiAjMmMzMDM0O1xuXG4kbW9tZW50cy1iYWNrZ3JvdW5kLWNvbG9yOiAjMTYxOTFlO1xuJG1vbWVudHMtYmFja2dyb3VuZC1jb2xvci1saWdodGVyOiAjMTkxYzIwO1xuJG1vbWVudHMtYWNjZW50LWNvbG9yOiAjNTE2OGY0O1xuJG1vbWVudHMtY29udHJhc3QtY29sb3I6ICNkMGQ5ZjY7XG4kbW9tZW50cy1hY2NlbnQtY29sb3ItZmFkZTogcmdiYSgkbW9tZW50cy1hY2NlbnQtY29sb3IsIDAuMyk7XG4kbW9tZW50cy1hY2NlbnQtY29sb3ItZmFkZWQ6ICMxZjI1Mzk7XG4kbW9tZW50cy1iYWNrZ3JvdW5kLWNvbG9yLWdyYXk6ICMyOTMyMzk7XG5cbi8vIFNjYWZmb2xkaW5nXG4kYm9keS1iZzogJGJsYWNrO1xuXG4vLyBUeXBvZ3JhcGh5XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90byxcbiAgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsXG4gIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4kZm9udC1mYW1pbHktYmFzZTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG5cbiRmb250LXNpemUtaDE6IDUuMnJlbTtcbiRmb250LXNpemUtaDI6IDMuMnJlbTtcbiRmb250LXNpemUtaDM6IDIuNHJlbTtcbiRmb250LXNpemUtaDQ6IDEuN3JlbTtcbiRmb250LXNpemUtaDU6IDEuNXJlbTtcbiRmb250LXNpemUtaDY6IDEuMnJlbTtcblxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiBcIlJlcGxpY2EgUHJvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90byxcbiAgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsXG4gIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IDkwMDtcblxuLy8gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuJHNjcmVlbi14cy1taW46IDQ4MHB4OyAvLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuJHNjcmVlbi1zbS1taW46IDc2OHB4OyAvLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRzY3JlZW4tbWQtbWluOiA5OTJweDsgLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbiRzY3JlZW4tbGctbWluOiAxMjAwcHg7IC8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJHNjcmVlbi14bC1taW46IDE2MDBweDsgLy8gRXh0cmEgTGFyZ2Ugc2NyZWVuIC8gZnVsbCBoZFxuXG4kc2NyZWVuLXhsLW1heDogMTkyMHB4OyAvLyBAVE9ETzogdGhpcyBzaG91bGRuJ3QgYmUgbmVlZGVkP1xuJHNjcmVlbi1sZy1tYXg6ICgkc2NyZWVuLXhsLW1pbiAtIDEpO1xuXG4vLyBHcmlkIHN5c3RlbVxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAzMHB4O1xuJGdyaWQtZmxvYXQtYnJlYWtwb2ludDogJHNjcmVlbi1tZC1taW47XG5cbi8vIENvbnRhaW5lciBzaXplc1xuJGNvbnRhaW5lci13aWRlLWRlc2t0b3A6IDE0MDBweDtcbiRjb250YWluZXIteGxhcmdlLWRlc2t0b3A6ICgxNTQwICsgJGdyaWQtZ3V0dGVyLXdpZHRoKTtcbiRjb250YWluZXIteGw6ICRjb250YWluZXIteGxhcmdlLWRlc2t0b3A7XG5cbi8vIE5hdmJhclxuJG5hdmJhci1oZWlnaHQ6IDY0cHg7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6IDA7XG5cbiRuYXZiYXItZGVmYXVsdC1jb2xvcjogJHdoaXRlO1xuJG5hdmJhci1kZWZhdWx0LWJnOiAkZ3JheS05MDA7XG5cbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAkd2hpdGU7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjogJHdoaXRlO1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6IHRyYW5zcGFyZW50O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAkd2hpdGU7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICRncmF5LTkwMDtcblxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogJGdyYXktNDAwO1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogJHdoaXRlO1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICRncmF5LTYwMDtcblxuLy8gTmF2c1xuJG5hdi1saW5rLXBhZGRpbmc6IDEwcHggMzBweDtcblxuLy8gRm9ybXNcbiRib3JkZXItcmFkaXVzLWJhc2U6IDA7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAkZ3JheS0zMDA7XG5cbi8vIFBhdGggdmFyaWFibGVzXG4kaW1nOiBcIi4uL2ltZ1wiO1xuXG4vLyBHcmlkIHYyXG5cbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA3NjhweCxcbiAgbWQ6IDk5MnB4LFxuICBsZzogMTIwMHB4LFxuICB4bDogMTYwMHB4LFxuICAvLyB1bHRyYXdpZGUgYnJlYWtwb2ludCB0byBiZSBkZWxldGVkXG4gIHV3OiAyMDAwcHgsXG4pO1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiAoXG4gICAgNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgsXG4gICksXG4gIG1kOiAoXG4gICAgOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgsXG4gICksXG4gIGxnOiAoXG4gICAgMTE0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoLFxuICApLFxuICB4bDogKFxuICAgIDE1NDBweCArICRncmlkLWd1dHRlci13aWR0aCxcbiAgKSxcbiAgLy8gdWx0cmF3aWRlIGJyZWFrcG9pbnQgdG8gYmUgZGVsZXRlZFxuICB1dzpcbiAgICAoXG4gICAgICAxOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgsXG4gICAgKSxcbik7XG5cbi8vIFRvb2x0aXBzXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogMjUwcHg7XG5cbi8vIFRoaXMgaXMgcHJvYmFibHkgd2hlcmUgd2Ugd2FudCB0byBnbywgYnV0IGZvciBub3csIHRoZSBncmlkIGlzIGFsaWduZWRcbi8vIHdpdGggdGhlIGN1cnJlbnQgb25lLlxuLy8gJGdyaWQtYnJlYWtwb2ludHM6IChcbi8vICAgeHM6IDAsXG4vLyAgIHNtOiA2MDBweCxcbi8vICAgbWQ6IDkwMHB4LFxuLy8gICBsZzogMTIwMHB4LFxuLy8gICB4bDogMTgwMHB4XG4vLyApO1xuLy8gJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4vLyAgIHNtOiA1NDBweCxcbi8vICAgbWQ6IDg0MHB4LFxuLy8gICBsZzogMTE0MHB4LFxuLy8gICB4bDogMTc0MHB4XG4vLyApO1xuLy8gJGdyaWQtZ3V0dGVyLXdpZHRoOiAzMHB4O1xuIiwiLyoqXG4gKlxuICogQmFzZWQgb24gZmxleGJveCwgYW5kIGFsaWduZWQgdG8gZm9sbG93IG91ciBuYW1pbmcgY29udmVudGlvbnMuXG4gKlxuICovXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYnJlYWtwb2ludHNcIjtcblxuLy8gTWl4aW5zIHVzZWQgZm9yIGRlZmluaW5nIHN0YW5kYXJkIGdyaWQgY2xhc3Nlc1xuXG5AbWl4aW4gZ3JpZC1jb250YWluZXIoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4vLyAvLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG4vLyBAbWl4aW4gZ3JpZC1jb250YWluZXItYnJlYWtwb2ludHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuLy8gICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuLy8gICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuLy8gICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbi8vICAgICB9XG4vLyAgIH1cbi8vIH1cblxuQG1peGluIGZyb250cGFnZS1ncmlkLXJvdygpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggKiAtMC41KTtcbiAgbWFyZ2luLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggKiAtMC41KTtcbn1cblxuQG1peGluIGZyb250cGFnZS1ncmlkLWNvbHVtbi1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sbGFwc2luZ1xuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoICogMC41KTtcbiAgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoICogMC41KTtcbn1cblxuQG1peGluIGdyaWQtcm93KCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IGNhbGMoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gNCk7XG59XG5cbkBtaXhpbiBncmlkLWNvbHVtbi1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sbGFwc2luZ1xuICBtYXJnaW4tdG9wOiBjYWxjKCRncmlkLWd1dHRlci13aWR0aCAvIDQpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCRncmlkLWd1dHRlci13aWR0aCAvIDQpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKCRncmlkLWd1dHRlci13aWR0aCAvIDQpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gNCk7XG59XG5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZShjYWxjKCRzaXplIC8gJGNvbHVtbnMpKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKGNhbGMoJHNpemUgLyAkY29sdW1ucykpO1xufVxuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWJhc2UoKTtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkc2l6ZSwgJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBjYWxjKCRzaXplIC8gJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cbiIsIi8vIFR5cGUgU3R5bGVzXG4vLyB1c2UgYEBpbmNsdWRlIGhlYWRpbmcteDtgIHRvIG91dHB1dCBzdHlsZXMgaW4gc2VsZWN0b3JcblxuXG4vKlxuICBIZWFkaW5nIHN0eWxlc1xuKi9cblxuQG1peGluIGhlYWRpbmctZ2lnYSB7XG4gIC8vIDMuNnJlbSBpcyBhcyBiaWcgYXMgd2UgY2FuIGdvIG9uIG1vYmlsZVxuICBmb250LXNpemU6IDMuNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7IGZvbnQtc2l6ZTogNC40cmVtOyB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHsgZm9udC1zaXplOiA2LjNyZW07IH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykgeyBmb250LXNpemU6IDcuNnJlbTsgfVxufVxuXG5AbWl4aW4gaGVhZGluZy1tZWdhIHtcbiAgZm9udC1zaXplOiAzLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkgeyBmb250LXNpemU6IDQuNHJlbTsgfVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7IGZvbnQtc2l6ZTogNS40cmVtOyB9XG59XG5cbi8vIHR5cG9ncmFwaHktYWxwaGFcbkBtaXhpbiBoZWFkaW5nLTEwMCB7XG4gIGZvbnQtc2l6ZTogMy42cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHsgZm9udC1zaXplOiA0LjRyZW07IH1cbn1cblxuLy8gdHlwb2dyYXBoeS1iZXRhXG5AbWl4aW4gaGVhZGluZy0yMDAge1xuICBmb250LXNpemU6IDIuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7IGZvbnQtc2l6ZTogMy42cmVtOyB9XG59XG5cbi8vIHR5cG9ncmFwaHktZ2FtbWFcbkBtaXhpbiBoZWFkaW5nLTMwMCB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHsgZm9udC1zaXplOiAyLjhyZW07IH1cbn1cblxuLy8gdHlwb2dyYXBoeS1kZWx0YVxuQG1peGluIGhlYWRpbmctNDAwIHtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLy8gdHlwb2dyYXBoeS1vbWVnYVxuQG1peGluIGhlYWRpbmctNTAwIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8vIHR5cG9ncmFwaHktemV0YVxuQG1peGluIGhlYWRpbmctNjAwIHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLypcbiAgQm9keSBzdHlsZXNcbiovXG5cbi8vIHR5cG9ncmFwaHktdGhldGFcbkBtaXhpbiBib2R5LTEwMCB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG59XG4iLCIvKiogR1JJRCAqKi9cblxuLmZyb250cGFnZS1ncmlkIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb250YWluZXIoKTtcbiAgLy9AaW5jbHVkZSBncmlkLWNvbnRhaW5lci1icmVha3BvaW50cygpO1xuXG4gIHBhZGRpbmctcmlnaHQ6ICRmcm9udHBhZ2UtZ3JpZC1ndXR0ZXIgKiAwLjU7XG4gIHBhZGRpbmctbGVmdDogJGZyb250cGFnZS1ncmlkLWd1dHRlciAqIDAuNTtcblxuICBtYXJnaW4tdG9wOiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogMC41O1xufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uXCI7XG5cblxuLy8gVmFyaWFibGVzXG5cbiRmcm9udHBhZ2UtZ3JpZC1zaXplLXNob3J0LXNtOiAyNTBweDtcbiRmcm9udHBhZ2UtZ3JpZC1zaXplLW1lZGl1bS1zbTogNDUwcHg7XG4kZnJvbnRwYWdlLWdyaWQtc2l6ZS10YWxsLXNtOiA2NTBweDtcblxuJGZyb250cGFnZS1ncmlkLXNpemUtc2hvcnQ6IDMwMHB4O1xuJGZyb250cGFnZS1ncmlkLXNpemUtbWVkaXVtOiA2MDBweDtcbiRmcm9udHBhZ2UtZ3JpZC1zaXplLXRhbGw6IDkwMHB4O1xuXG4kZnJvbnRwYWdlLWdyaWQtZ3V0dGVyOiAxNXB4O1xuXG5cbi8vIEltcGxlbWVudGF0aW9uXG5cbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwiY2F0ZWdvcnktZ3JpZFwiO1xuQGltcG9ydCBcInJvd1wiO1xuQGltcG9ydCBcImNvbHVtblwiO1xuQGltcG9ydCBcInRpbGVcIjtcbkBpbXBvcnQgXCJlZGl0XCI7XG5AaW1wb3J0IFwicHJvZHVjdC1ncmlkXCI7XG5AaW1wb3J0IFwicHJvZHVjdFwiO1xuQGltcG9ydCBcImJlbmVmaXQtYmFubmVyXCI7XG5AaW1wb3J0IFwiYmxvZy1saXN0XCI7XG5AaW1wb3J0IFwiYmxvZy1wb3N0XCI7XG4iLCIvKiogQ0FURUdPUlkgR1JJRCAqKi9cblxuLy8gY29udGFpbmVyXG4uZnJvbnRwYWdlLWdyaWRfX2NhdGVnb3J5LWdyaWQge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogMC41O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1yaWdodDogJGZyb250cGFnZS1ncmlkLWd1dHRlciAqIDAuNTtcblxuICBoMiB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgfVxufVxuXG4uZnJvbnRwYWdlLWdyaWRfX2NhdGVnb3J5LWlubmVyIHtcblxuICAmLmdsaWRlLS1zbGlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLmdsaWRlX19hcnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAzLjJyZW07XG4gICAgaGVpZ2h0OiAzLjJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS05MDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgei1pbmRleDogOTk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTgwMDtcbiAgICB9XG5cbiAgICAmLmdsaWRlX19hcnJvdy0tcmlnaHQge1xuICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgIH1cblxuICAgICYuZ2xpZGVfX2Fycm93LS1sZWZ0IHtcbiAgICAgIGxlZnQ6IC0xMHB4O1xuICAgIH1cblxuICAgICYuZ2xpZGVfX2Fycm93LS1kaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yMDA7XG4gICAgICBjb2xvcjogJGdyYXktNjAwO1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuZ2xpZGVfX2J1bGxldHMge1xuICAgIGJvdHRvbTogLTIycHg7XG4gIH1cblxuICAuZ2xpZGVfX2J1bGxldCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktNDAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlLTUwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHB1cnBsZS01MDA7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS02MDA7XG4gICAgICBib3JkZXItY29sb3I6ICRncmF5LTYwMDtcbiAgICB9XG4gIH1cblxuICAuZ2xpZGVfX2J1bGxldC0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS04MDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTgwMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gcHJvZHVjdCBjYXRlZ29yeVxuLmZyb250cGFnZS1ncmlkX19wcm9kdWN0LWNhdGVnb3J5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGdyYXktOTAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAxMDBtcyBlYXNlLWluLW91dDtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbi5mcm9udHBhZ2UtZ3JpZF9fcHJvZHVjdC1jYXRlZ29yeS1saW5rIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlLWluLW91dDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG4vLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAycHgsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKiBST1cgKiovXG5cbi5mcm9udHBhZ2UtZ3JpZF9fcm93IHtcbiAgcGFkZGluZy1sZWZ0OiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogMC41O1xuICBwYWRkaW5nLXJpZ2h0OiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogMC41O1xufVxuXG4uZnJvbnRwYWdlLWdyaWRfX3Jvdy1pbm5lciB7XG4gIEBpbmNsdWRlIGZyb250cGFnZS1ncmlkLXJvdygpO1xuXG4gIG1hcmdpbi1sZWZ0OiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogLTAuNTtcbiAgbWFyZ2luLXJpZ2h0OiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogLTAuNTtcbn1cblxuLmZyb250cGFnZS1ncmlkX19yb3ctLWZ1bGwtd2lkdGgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogMC41O1xuICBtYXJnaW4tbGVmdDogLSgkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogMC41KTtcbiAgbWFyZ2luLXJpZ2h0OiAtKCRmcm9udHBhZ2UtZ3JpZC1ndXR0ZXIgKiAwLjUpO1xuXG4gIC5mcm9udHBhZ2UtZ3JpZF9fcm93LWlubmVyIHtcbiAgICAvL0BpbmNsdWRlIGdyaWQtY29udGFpbmVyLWJyZWFrcG9pbnRzKCk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgcGFkZGluZy1yaWdodDogJGZyb250cGFnZS1ncmlkLWd1dHRlciAqIDAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmcm9udHBhZ2UtZ3JpZC1ndXR0ZXIgKiAwLjU7XG4gIH1cbn1cbiIsIi8qKiBDT0xVTU4gKiovXG5cbi5mcm9udHBhZ2UtZ3JpZF9fY29sdW1uIHtcbiAgQGluY2x1ZGUgZnJvbnRwYWdlLWdyaWQtY29sdW1uLWJhc2UoKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgcGFkZGluZy1sZWZ0OiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogMC41O1xuICBwYWRkaW5nLXJpZ2h0OiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogMC41O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vIENvbHVtbnNcblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tMyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgzKTtcbiAgfVxuICAuZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tNCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSg0KTtcbiAgfVxuICAuZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tNiB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSg2KTtcbiAgfVxuICAuZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tOCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSg4KTtcbiAgfVxuICAuZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tOSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSg5KTtcbiAgfVxuICAuZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tMTIge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoMTIpO1xuICB9XG59XG5cbi8vIEhlaWdodFxuXG4uZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tYXV0byB7XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG4uZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tc2hvcnQge1xuICBtaW4taGVpZ2h0OiAkZnJvbnRwYWdlLWdyaWQtc2l6ZS1zaG9ydC1zbTtcbn1cbi5mcm9udHBhZ2UtZ3JpZF9fY29sdW1uLS1tZWRpdW0ge1xuICBtaW4taGVpZ2h0OiAkZnJvbnRwYWdlLWdyaWQtc2l6ZS1tZWRpdW0tc207XG59XG4uZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tdGFsbCB7XG4gIG1pbi1oZWlnaHQ6ICRmcm9udHBhZ2UtZ3JpZC1zaXplLXRhbGwtc207XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLmZyb250cGFnZS1ncmlkX19jb2x1bW4tLWF1dG8ge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cbiAgLmZyb250cGFnZS1ncmlkX19jb2x1bW4tLXNob3J0IHtcbiAgICBtaW4taGVpZ2h0OiAkZnJvbnRwYWdlLWdyaWQtc2l6ZS1zaG9ydDtcbiAgfVxuICAuZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tbWVkaXVtIHtcbiAgICBtaW4taGVpZ2h0OiAkZnJvbnRwYWdlLWdyaWQtc2l6ZS1tZWRpdW07XG4gIH1cbiAgLmZyb250cGFnZS1ncmlkX19jb2x1bW4tLXRhbGwge1xuICAgIG1pbi1oZWlnaHQ6ICRmcm9udHBhZ2UtZ3JpZC1zaXplLXRhbGw7XG4gIH1cbn1cblxuLy8gcmVtb3ZlcyBtaW4taGVpZ2h0IHdoZW4gY29udGVudCBpcyBvdXRzaWRlIGltZ1xuLmZyb250cGFnZS1ncmlkX19jb2x1bW4tLWxlZnQsXG4uZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tcmlnaHQge1xuICAmLmZyb250cGFnZS1ncmlkX19jb2x1bW4tLWF1dG8ge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG5cbiAgICAuZnJvbnRwYWdlLWdyaWRfX3RpbGUtYmcge1xuICAgICAgbWluLWhlaWdodDogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZyb250cGFnZS1ncmlkX19jb2x1bW4tLXNob3J0IHtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuXG4gICAgLmZyb250cGFnZS1ncmlkX190aWxlLWJnIHtcbiAgICAgIG1pbi1oZWlnaHQ6ICRmcm9udHBhZ2UtZ3JpZC1zaXplLXNob3J0O1xuICAgIH1cbiAgfVxuICAmLmZyb250cGFnZS1ncmlkX19jb2x1bW4tLW1lZGl1bSB7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIC5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1iZyB7XG4gICAgICBtaW4taGVpZ2h0OiAzNTBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBtaW4taGVpZ2h0OiAkZnJvbnRwYWdlLWdyaWQtc2l6ZS1tZWRpdW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tdGFsbCB7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIC5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1iZyB7XG4gICAgICBtaW4taGVpZ2h0OiA0NTBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBtaW4taGVpZ2h0OiAkZnJvbnRwYWdlLWdyaWQtc2l6ZS10YWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tYWJvdmUsXG4uZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tYmVsb3cge1xuICAmLmZyb250cGFnZS1ncmlkX19jb2x1bW4tLWF1dG8ge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG5cbiAgICAuZnJvbnRwYWdlLWdyaWRfX3RpbGUtYmcge1xuICAgICAgbWluLWhlaWdodDogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZyb250cGFnZS1ncmlkX19jb2x1bW4tLXNob3J0IHtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuXG4gICAgLmZyb250cGFnZS1ncmlkX190aWxlLWJnIHtcbiAgICAgIG1pbi1oZWlnaHQ6ICRmcm9udHBhZ2UtZ3JpZC1zaXplLXNob3J0O1xuICAgIH1cbiAgfVxuICAmLmZyb250cGFnZS1ncmlkX19jb2x1bW4tLW1lZGl1bSB7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIC5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1iZyB7XG4gICAgICBtaW4taGVpZ2h0OiAzNTBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBtaW4taGVpZ2h0OiAkZnJvbnRwYWdlLWdyaWQtc2l6ZS1tZWRpdW0tc207XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuZnJvbnRwYWdlLWdyaWRfX2NvbHVtbi0tdGFsbCB7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIC5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1iZyB7XG4gICAgICBtaW4taGVpZ2h0OiA0NTBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBtaW4taGVpZ2h0OiAkZnJvbnRwYWdlLWdyaWQtc2l6ZS10YWxsLXNtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqIFRJTEUgKiovXG5cbi5mcm9udHBhZ2UtZ3JpZF9fdGlsZSB7XG4gIGZsZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBtYXJnaW4tdG9wOiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZnJvbnRwYWdlLWdyaWQtZ3V0dGVyICogMC41O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogJHdoaXRlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lLW9mZnNldDogNXB4O1xuICB9XG59XG5cbi5mcm9udHBhZ2UtZ3JpZF9fcm93LS1mdWxsLXdpZHRoIC5mcm9udHBhZ2UtZ3JpZF9fdGlsZSB7XG4gIC8vIGZ1bGwgd2lkdGggcm93cyB0YWtlIGNhcmUgb2YgdGhlaXIgb3duIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyBNb2JpbGUgcmVhZGFiaWxpdHkgZml4XG5cbi5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDI7XG59XG5cbi8vIENvbnRlbnRcblxuLmZyb250cGFnZS1ncmlkX190aWxlLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1oZWFkZXIge1xuICBmb250LXdlaWdodDogOTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAwLjk7XG59XG5cbi5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1ib2R5IHtcbiAgLy8gaSdtIHNvcnJ5IG1yIGphY2tzb25cbiAgLy8gdWhoaCwgaSBhbSBmb3IgcmVlZWFsXG4gIC8vIG5ldmVyIG1lYW50IHRvIG1ha2UgeW91ciBmb250LXdlaWdodCBoaWdoXG4gIC8vIGkgYXBvbG9naXplIGEgbWlsbGlvbiB0aW1lc1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDAuMWVtIDAgMDtcbn1cblxuLmZyb250cGFnZS1ncmlkX190aWxlLXN1YnRleHQge1xuICBtYXJnaW46IDAuOGVtIDAgMDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbWFyZ2luOiAxLjJlbSAwIDA7XG4gIH1cblxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG59XG5cbi8vIENvbnRlbnQgc2l6ZVxuLy8gLS13aWR0aC1YIGNsYXNzZXMgYXJlIFwid2lkdGggZ3JvdXBzXCIsIHNvIHRoYXQ6XG4vLyAgIDEgPSBiZXR3ZWVuIDEgYW5kIDQgY29sdW1uc1xuLy8gICAyID0gYmV0d2VlbiA1IGFuZCA4IGNvbHVtbnNcbi8vICAgMyA9IGJldHdlZW4gOSBhbmQgMTIgY29sdW1uc1xuXG4uZnJvbnRwYWdlLWdyaWRfX3RpbGUtY29udGVudC0td2lkdGgtZnVsbCB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmZyb250cGFnZS1ncmlkX190aWxlLWNvbnRlbnQtLXdpZHRoLTEge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgbWF4LXdpZHRoOiA2NiU7XG4gIH1cbn1cblxuLmZyb250cGFnZS1ncmlkX190aWxlLWNvbnRlbnQtLXdpZHRoLTIge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG59XG5cbi5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1jb250ZW50LS13aWR0aC0zIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBtYXgtd2lkdGg6IDMzJTtcbiAgfVxufVxuXG4vLyBBbGlnbm1lbnRcblxuLmZyb250cGFnZS1ncmlkX190aWxlIHtcbiAgJltkYXRhLWFsaWduXj1cInRvcC1cIl0ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gICZbZGF0YS1hbGlnbl49XCJtaWRkbGUtXCJdIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gICZbZGF0YS1hbGlnbl49XCJib3R0b20tXCJdIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgLmZyb250cGFnZS1ncmlkX190aWxlLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFsaWduJD1cIi1sZWZ0XCJdIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgJltkYXRhLWFsaWduJD1cIi1jZW50ZXJcIl0ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1jb250ZW50IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgJltkYXRhLWFsaWduJD1cIi1yaWdodFwiXSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuXG4vLyBCYWNrZ3JvdW5kXG5cbi5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB6LWluZGV4OiAwO1xuXG4gICZbZGF0YS1hbGlnbl49XCJ0b3AtXCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IHRvcDtcbiAgfVxuICAmW2RhdGEtYWxpZ25ePVwibWlkZGxlLVwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XG4gIH1cbiAgJltkYXRhLWFsaWduXj1cImJvdHRvbS1cIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogYm90dG9tO1xuICB9XG5cbiAgJltkYXRhLWFsaWduJD1cIi1sZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGxlZnQ7XG4gIH1cbiAgJltkYXRhLWFsaWduJD1cIi1jZW50ZXJcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xuICB9XG4gICZbZGF0YS1hbGlnbiQ9XCItcmlnaHRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogcmlnaHQ7XG4gIH1cbn1cblxuLy8gU21hbGwgcHJpbnRcblxuLmZyb250cGFnZS1ncmlkX19zbWFsbC1wcmludCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAoJGZyb250cGFnZS1ncmlkLWd1dHRlciAqIDAuNSkgKyA1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJHdoaXRlO1xuICBvcGFjaXR5OiAwLjY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlbWVzXG5cbkBtaXhpbiBmcm9udHBhZ2UtZ3JpZC10aGVtZSgkY29sb3IsICRidXR0b24tY29sb3IsICRiYWNrZ3JvdW5kKSB7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJltkYXRhLWFsaWduXj1cInRvcC1sZWZ0XCJdIHtcbiAgICAuZnJvbnRwYWdlLWdyaWRfX3RpbGUtb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHRvIHRvcCxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSA1MCUsXG4gICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNSkgMTAwJVxuICAgICAgKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgdG8gbGVmdCxcbiAgICAgICAgICByZ2JhKDAsIDAsIDAsIDApIDUwJSxcbiAgICAgICAgICByZ2JhKCRiYWNrZ3JvdW5kLCAwLjUpIDEwMCVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2RhdGEtYWxpZ25ePVwidG9wLXJpZ2h0XCJdIHtcbiAgICAuZnJvbnRwYWdlLWdyaWRfX3RpbGUtb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHRvIHRvcCxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSA1MCUsXG4gICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNSkgMTAwJVxuICAgICAgKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSA1MCUsXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC41KSAxMDAlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFsaWduXj1cImJvdHRvbS1sZWZ0XCJdIHtcbiAgICAuZnJvbnRwYWdlLWdyaWRfX3RpbGUtb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHRvIGJvdHRvbSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSA1MCUsXG4gICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNSkgMTAwJVxuICAgICAgKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgdG8gbGVmdCxcbiAgICAgICAgICByZ2JhKDAsIDAsIDAsIDApIDUwJSxcbiAgICAgICAgICByZ2JhKCRiYWNrZ3JvdW5kLCAwLjUpIDEwMCVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2RhdGEtYWxpZ25ePVwiYm90dG9tLXJpZ2h0XCJdIHtcbiAgICAuZnJvbnRwYWdlLWdyaWRfX3RpbGUtb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHRvIGJvdHRvbSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSA1MCUsXG4gICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNSkgMTAwJVxuICAgICAgKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSA1MCUsXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC41KSAxMDAlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mcm9udHBhZ2UtZ3JpZF9fdGlsZS0taGFzLWJnIHtcbiAgICAuZnJvbnRwYWdlLWdyaWRfX3RpbGUtaGVhZGVyLFxuICAgIC5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1ib2R5IHtcbiAgICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDhweCByZ2JhKCRiYWNrZ3JvdW5kLCAwLjEpO1xuICAgIH1cbiAgfVxuXG4gICYgKyAuZnJvbnRwYWdlLWdyaWRfX3NtYWxsLXByaW50IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBAaWYgJGJ1dHRvbi1jb2xvciA9PSB3aGl0ZSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24td2hpdGUoKTtcbiAgICB9IEBlbHNlIGlmICRidXR0b24tY29sb3IgPT0gb3JhbmdlIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1vcmFuZ2UoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIGRlZmF1bHRcbiAgICB9XG5cbiAgICAmLmJ1dHRvbi0tb3JhbmdlIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1vcmFuZ2UoKTtcbiAgICB9XG5cbiAgICAmLmJ1dHRvbi0tYmxhY2sge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWJsYWNrKCk7XG4gICAgfVxuXG4gICAgJi5idXR0b24tLXdoaXRlIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi13aGl0ZSgpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZnJvbnRwYWdlLWdyaWQtdGhlbWUtdW5kZXJsaW5lKCR1bmRlcmxpbmUtY29sb3IpIHtcbiAgLmZyb250cGFnZS1ncmlkX190aWxlLWhlYWRlciB7XG4gICAgc3BhbiB7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjE4ZW0gc29saWQgJHVuZGVybGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmICsgLmZyb250cGFnZS1ncmlkX190aWxlLWJvZHkge1xuICAgICAgLy8gYWRkIGEgYml0IG9mIHNwYWNpbmcgdG8gcG90ZW50aWFsIGJvZHlcbiAgICAgIC8vIHRvIGFjY291bnQgZm9yIHRoZSB1bmRlcmxpbmVcbiAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgIH1cbiAgfVxufVxuXG4uZnJvbnRwYWdlLWdyaWRfX3RpbGUtLXRoZW1lLWRhcmsge1xuICBAaW5jbHVkZSBmcm9udHBhZ2UtZ3JpZC10aGVtZSgkd2hpdGUsIHdoaXRlLCAkYmxhY2spO1xufVxuLmZyb250cGFnZS1ncmlkX190aWxlLS10aGVtZS1saWdodCB7XG4gIEBpbmNsdWRlIGZyb250cGFnZS1ncmlkLXRoZW1lKCRibGFjaywgYmxhY2ssICRncmF5LTEwMCk7XG59XG4uZnJvbnRwYWdlLWdyaWRfX3RpbGUtLXRoZW1lLWRhcmstYnJhbmQtdW5kZXJsaW5lIHtcbiAgQGluY2x1ZGUgZnJvbnRwYWdlLWdyaWQtdGhlbWUoJHdoaXRlLCB3aGl0ZSwgJGJsYWNrKTtcbiAgQGluY2x1ZGUgZnJvbnRwYWdlLWdyaWQtdGhlbWUtdW5kZXJsaW5lKCRvcmFuZ2UtNTAwKTtcblxuICAuZnJvbnRwYWdlLWdyaWRfX3RpbGUtaGVhZGVyIHtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG59XG4uZnJvbnRwYWdlLWdyaWRfX3RpbGUtLXRoZW1lLWxpZ2h0LWJyYW5kLXVuZGVybGluZSB7XG4gIEBpbmNsdWRlIGZyb250cGFnZS1ncmlkLXRoZW1lKCRibGFjaywgYmxhY2ssICRncmF5LTEwMCk7XG4gIEBpbmNsdWRlIGZyb250cGFnZS1ncmlkLXRoZW1lLXVuZGVybGluZSgkb3JhbmdlLTUwMCk7XG5cbiAgLmZyb250cGFnZS1ncmlkX190aWxlLWhlYWRlciB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxufVxuXG4uZnJvbnRwYWdlLWdyaWRfX3RpbGUtLWNvbnRlbnQtcGxhY2VtZW50LWxlZnQsXG4uZnJvbnRwYWdlLWdyaWRfX3RpbGUtLWNvbnRlbnQtcGxhY2VtZW50LXJpZ2h0LFxuLmZyb250cGFnZS1ncmlkX190aWxlLS1jb250ZW50LXBsYWNlbWVudC1hYm92ZSxcbi5mcm9udHBhZ2UtZ3JpZF9fdGlsZS0tY29udGVudC1wbGFjZW1lbnQtYmVsb3cge1xuICAmLmZyb250cGFnZS1ncmlkX190aWxlIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmZyb250cGFnZS1ncmlkX190aWxlLW92ZXJsYXkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZnJvbnRwYWdlLWdyaWRfX3RpbGUtYmcge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cblxuICAuZnJvbnRwYWdlLWdyaWRfX3RpbGUtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLmZyb250cGFnZS1ncmlkX190aWxlLS1jb250ZW50LXBsYWNlbWVudC1sZWZ0LFxuLmZyb250cGFnZS1ncmlkX190aWxlLS1jb250ZW50LXBsYWNlbWVudC1yaWdodCB7XG4gICYuZnJvbnRwYWdlLWdyaWRfX3RpbGUge1xuICAgICZbZGF0YS1hbGlnbiQ9XCItcmlnaHRcIl0ge1xuICAgICAgLmZyb250cGFnZS1ncmlkX190aWxlLWNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZyb250cGFnZS1ncmlkX190aWxlLS1jb250ZW50LXBsYWNlbWVudC1hYm92ZSxcbi5mcm9udHBhZ2UtZ3JpZF9fdGlsZS0tY29udGVudC1wbGFjZW1lbnQtYmVsb3cge1xuICAmLmZyb250cGFnZS1ncmlkX190aWxlIHtcbiAgICAmW2RhdGEtYWxpZ24kPVwiLXJpZ2h0XCJdIHtcbiAgICAgIC5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1jb250ZW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZyb250cGFnZS1ncmlkX190aWxlLWJnIHtcbiAgICBmbGV4OiAwIDAgNjAlO1xuICB9XG59XG5cbi5mcm9udHBhZ2UtZ3JpZF9fdGlsZS0tY29udGVudC1wbGFjZW1lbnQtbGVmdCB7XG4gICYuZnJvbnRwYWdlLWdyaWRfX3RpbGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuICB9XG4gIC5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG4uZnJvbnRwYWdlLWdyaWRfX3RpbGUtLWNvbnRlbnQtcGxhY2VtZW50LXJpZ2h0IHtcbiAgJi5mcm9udHBhZ2UtZ3JpZF9fdGlsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICB9XG4gIC5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG4uZnJvbnRwYWdlLWdyaWRfX3RpbGUtLWNvbnRlbnQtcGxhY2VtZW50LWFib3ZlIHtcbiAgJi5mcm9udHBhZ2UtZ3JpZF9fdGlsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG4gIC5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cbi5mcm9udHBhZ2UtZ3JpZF9fdGlsZS0tY29udGVudC1wbGFjZW1lbnQtYmVsb3cge1xuICAmLmZyb250cGFnZS1ncmlkX190aWxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5mcm9udHBhZ2UtZ3JpZF9fdGlsZS1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuQG1peGluIGJ1dHRvbi1jb2xvcigkcHJpbWFyeSwgJHNlY29uZGFyeSwgJGhvdmVyKSB7XG4gIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHByaW1hcnk7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJHByaW1hcnk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gICYuYnV0dG9uLS1zb2xpZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICBjb2xvcjogJHNlY29uZGFyeTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaG92ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiAkaG92ZXI7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICB9XG4gIH1cblxuICAmLmJ1dHRvbi0tbGluayB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAkaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgJi5idXR0b24tLWljb24sXG4gICYuYnV0dG9uLS1pY29uLWxhcmdlIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRob3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLmlzLWluYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG4gICAgY29sb3I6ICRncmF5LTcwMDtcbiAgICBib3JkZXItY29sb3I6ICRncmF5LTMwMDtcbiAgfVxuXG4gICYuaXMtbG9hZGluZyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICYuYnV0dG9uLS1zb2xpZCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3JhbmdlKCkge1xuICBAaW5jbHVkZSBidXR0b24tY29sb3IoJG9yYW5nZS01MDAsICR3aGl0ZSwgJG9yYW5nZS00MDApO1xufVxuXG5AbWl4aW4gYnV0dG9uLXB1cnBsZSgpIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWNvbG9yKCRwdXJwbGUtNTAwLCAkd2hpdGUsICRwdXJwbGUtNDAwKTtcbn1cblxuQG1peGluIGJ1dHRvbi13aGl0ZSgpIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWNvbG9yKCR3aGl0ZSwgJGdyYXktOTAwLCAkZ3JheS0zMDApO1xufVxuXG5AbWl4aW4gYnV0dG9uLWJsYWNrKCkge1xuICBAaW5jbHVkZSBidXR0b24tY29sb3IoJGdyYXktOTAwLCAkd2hpdGUsICRncmF5LTgwMCk7XG59XG4iLCIvKiogRURJVCBNT0RFICoqL1xuXG4uZnJvbnRwYWdlLWdyaWQtLWVkaXQge1xuICAuZnJvbnRwYWdlLWdyaWRfX3Jvdy1pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmZyb250cGFnZS1ncmlkX19jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAkZ3JheS00MDA7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZnJvbnRwYWdlLWdyaWRfX2VkaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMXB4O1xuICBiYWNrZ3JvdW5kOiAkZ3JheS0yMDA7XG4gIGNvbG9yOiAkZ3JheS02MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogMnB4IDVweDtcbiAgYm9yZGVyOiAxcHggZGFzaGVkICRncmF5LTIwMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIGJvcmRlci10b3A6IDA7XG4gIHRleHQtc2hhZG93OiAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjc1KTtcbiAgei1pbmRleDogMTA7XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbi5mcm9udHBhZ2UtZ3JpZF9fcm93LWlubmVyID4gLmZyb250cGFnZS1ncmlkX19lZGl0IHtcbiAgcmlnaHQ6IDFweDtcbn1cblxuLmZyb250cGFnZS1ncmlkX19jb2x1bW4gPiAuZnJvbnRwYWdlLWdyaWRfX2VkaXQge1xuICBsZWZ0OiAxcHg7XG59XG4iLCIvKiogUFJPRFVDVCBHUklEICoqL1xuXG4uZnJvbnRwYWdlLWdyaWRfX3Byb2R1Y3QtZ3JpZC1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgaDIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAwLjhlbTtcbiAgICBtYXgtd2lkdGg6IDc0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4vLyBHcmlkIENvbXBvbmVudFxuLmZyb250cGFnZS1ncmlkX19wcm9kdWN0LWdyaWQge1xuICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAuY29udGFpbmVyLS1mbGV4IHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAvLyBGaXggZm9yID9lZGl0IG1vZGUuXG4gICAgLmNvdW50cnktY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW46IDAgNy41cHggNy41cHg7XG4gICAgICBmbGV4OiAwIDAgNDcuNSU7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDE1cHgpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZsZXg6IDAgMCAzMSU7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMTVweCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgZmxleDogMCAwIDIzLjUlO1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtIDE1cHgpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIGZsZXg6IDAgMCAxOSU7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMjAlIC0gMTVweCk7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kLXRpbGUge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yb3ctLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBtYXJnaW46IDAgLTEwcHg7XG4gICAgfVxuICB9XG59XG4iLCIvKiogUFJPRFVDVCAqKi9cblxuLmZyb250cGFnZS1ncmlkX19wcm9kdWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwIDcuNXB4IDcuNXB4O1xuICBmbGV4OiAwIDAgNDcuNSU7XG4gIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMTVweCk7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGNvbG9yOiAkZ3JheS05MDA7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDExcHggcmdiYSgzNiwgMzcsIDM4LCAwLjA0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMjAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgZWFzZS1vdXQsIGJveC1zaGFkb3cgMTUwbXMgZWFzZS1vdXQ7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4yMCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDExcHggMTZweCByZ2JhKDM2LCAzNywgMzgsIDAuMDUpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgZmxleDogMCAwIDMxJTtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDE1cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIGZsZXg6IDAgMCAyMy41JTtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtIDE1cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIGZsZXg6IDAgMCAxOSU7XG4gICAgZmxleC1iYXNpczogY2FsYygyMCUgLSAxNXB4KTtcbiAgfVxufVxuXG4uZnJvbnRwYWdlLWdyaWRfX3Byb2R1Y3QtbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTQwcHg7XG4gIGNvbG9yOiAkZ3JheS05MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRncmF5LTkwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbWluLWhlaWdodDogMzQwcHg7XG4gIH1cbn1cblxuLmZyb250cGFnZS1ncmlkX19wcm9kdWN0LXJpYmJvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgYmFja2dyb3VuZDogJGdyYXktOTAwO1xuICBwYWRkaW5nOiAzcHggMTVweDtcbiAgLy8gQWxsb3dpbmcgM3B4IHJhZGl1cyB0byBtYXRjaCB3aGF0IDRweCBsb29rcyBsaWtlIG9uIHRoZSBiaWdnZXIgdGlsZVxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTkwMDtcbiAgICBwYWRkaW5nOiAwLjVlbSAxLjI1ZW0gMC40NWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgfVxuXG4gICYucHJvZHVjdC1yaWJib24tLXNhbGUge1xuICAgIGJvcmRlci1jb2xvcjogJHJlZC01MDA7XG4gICAgYmFja2dyb3VuZDogJHJlZC01MDA7XG4gIH1cblxuICAmLnByb2R1Y3QtcmliYm9uLS1hZGRvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmx1ZS00MDA7XG4gICAgYmFja2dyb3VuZDogJGJsdWUtNDAwO1xuICB9XG59XG5cbi5wcm9kdWN0X19pbWFnZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjAwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGhlaWdodDogMzUwcHg7XG4gIH1cbn1cblxuLnByb2R1Y3RfX2ltYWdlIHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAzMHB4IDA7XG59XG5cbi8vIFByb2R1Y3QgdGV4dCBjb250ZW50XG4ucHJvZHVjdF9fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXktMjAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XG4gIH1cblxuICB1bCB7XG4gICAgLy8gaGlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgbW9iaWxlIHRpbGVzXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvLyBCYXNlIFN0eWxpbmcgZm9yIFdZU0lXWUcgZmllbGRcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgLy8gaGlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgbW9iaWxlIHRpbGVzXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYgKyBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0X190aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICBmb250LXNpemU6IDEuNnJlbTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwIChzbSkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5leHRyYS10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6IDAuM2VtO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vLyBQcmljZXNcbi5wcm9kdWN0X19wcmljZXMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMCAwIDVweDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgfVxuXG4gIC52YW5hZGl1bSB7XG4gICAgY29sb3I6ICNhMzVhZjk7XG4gIH1cbn1cblxuLnByb2R1Y3RfX3ByaWNlcy1wcmljZSB7XG4gICYudGlsZS1wcmljZS0taXMtcHJvbW8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgICYuaXMtcHJvbW8tLWRpc2NvdW50IHtcbiAgICAgIGNvbG9yOiAkcmVkLTUwMDtcblxuICAgICAgc3BhbiB7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtcHJvbW8tLWFkZG9uIHtcbiAgICAgIGNvbG9yOiAkYmx1ZS00MDA7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDcwJTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0X19wcmljZXMtcHJpY2UtLWRpc2NvdW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogJGdyYXktOTAwO1xuICBtYXJnaW4tdG9wOiAtMTlweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cbiAgc3BhbiB7XG4gICAgZm9udC1zaXplOiA3MCU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIH1cbn1cblxuLy8gQ29sb3IgVmFyaWFudHMvU3dhdGNoZXNcbi5wcm9kdWN0X19jb2xvcnMtd3JhcHBlciB7XG4gIC8vIGhpZGVzIGZ1bmN0aW9uYWxpdHkgZm9yIG1vYmlsZSB0aWxlc1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5wcm9kdWN0X19jb2xvcnMtbGlzdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5wcm9kdWN0X19jb2xvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAmICsgJiB7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgfVxufVxuXG4uY29sb3JzLWxpc3RfX2l0ZW0tYm94IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG5cbiAgJi5wcm9kdWN0LXRpbGVfX29wdGlvbnMtaXRlbS1jb2xvci0td2hpdGUge1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXktOTAwO1xuICB9XG59XG4iLCIvKipcbiAqIEJlbmVmaXQgYmFubmVyIC0tIHVzZWQgaW4gZnJvbnRwYWdlIGdyaWQuXG4gKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgU3RlZWxTZXJpZXNcbiAqL1xuXG4uZnJvbnRwYWdlLWdyaWRfX2JlbmVmaXQtYmFubmVyIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6ICRmcm9udHBhZ2UtZ3JpZC1ndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6ICRmcm9udHBhZ2UtZ3JpZC1ndXR0ZXI7XG59XG5cbi5mcm9udHBhZ2UtZ3JpZF9fYmVuZWZpdC1iYW5uZXItaW5uZXIge1xuICBAaW5jbHVkZSBmcm9udHBhZ2UtZ3JpZC1yb3coKTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogMS4yZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjJlbTtcblxuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXRvcDogMS42ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuNmVtO1xuICB9XG59XG5cbi5mcm9udHBhZ2UtZ3JpZF9fYmVuZWZpdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBmbGV4OiAxIDEgY2FsYygzMyUgLSAyMHB4KTtcblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gICsgLmZyb250cGFnZS1ncmlkX19iZW5lZml0IHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZyb250cGFnZS1ncmlkX19iZW5lZml0LWljb24ge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGhlaWdodDogNDBweDtcblxuICBzdmcge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IDAgMTVweCAwIDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICAgIH1cbiAgfVxufVxuXG4uZnJvbnRwYWdlLWdyaWRfX2JlbmVmaXQtY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGdWxsIHdpZHRoXG5cbi5mcm9udHBhZ2UtZ3JpZF9fYmVuZWZpdC1iYW5uZXItLWZ1bGwtd2lkdGgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IC0oJGZyb250cGFnZS1ncmlkLWd1dHRlciAqIDAuNSk7XG4gIG1hcmdpbi1sZWZ0OiAtKCRmcm9udHBhZ2UtZ3JpZC1ndXR0ZXIgKiAwLjUpO1xuICBtYXJnaW4tcmlnaHQ6IC0oJGZyb250cGFnZS1ncmlkLWd1dHRlciAqIDAuNSk7XG59XG5cbi8vIFRoZW1lc1xuXG4uZnJvbnRwYWdlLWdyaWRfX2JlbmVmaXQtYmFubmVyLS10aGVtZS1saWdodCB7XG4gIC5mcm9udHBhZ2UtZ3JpZF9fYmVuZWZpdC1iYW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMDtcbiAgfVxuICAuZnJvbnRwYWdlLWdyaWRfX2JlbmVmaXQtYmFubmVyLWlubmVyIHtcbiAgICBjb2xvcjogJGdyYXktOTAwO1xuICB9XG59XG5cbi5mcm9udHBhZ2UtZ3JpZF9fYmVuZWZpdC1iYW5uZXItLXRoZW1lLWRhcmsge1xuICAuZnJvbnRwYWdlLWdyaWRfX2JlbmVmaXQtYmFubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS04MDA7XG4gIH1cbiAgLmZyb250cGFnZS1ncmlkX19iZW5lZml0LWJhbm5lci1pbm5lciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogJHB1cnBsZS0zMDA7XG4gIH1cbn1cbiIsIi8qKlxuICogQmxvZyBsaXN0IC0tIHVzZWQgaW4gZnJvbnRwYWdlIGdyaWQuXG4gKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgU3RlZWxTZXJpZXNcbiAqL1xuXG4uZnJvbnRwYWdlLWdyaWRfX2Jsb2ctbGlzdC1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgaDIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAwLjhlbTtcbiAgICBtYXgtd2lkdGg6IDc0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4vLyBHcmlkIENvbXBvbmVudFxuLmZyb250cGFnZS1ncmlkX19ibG9nLWxpc3Qge1xuICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAuY29udGFpbmVyLS1mbGV4IHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAucm93LS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgbWFyZ2luOiAwIC0xMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uZnJvbnRwYWdlLWdyaWRfX2Jsb2ctbGlzdC1idXR0b25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG4iLCIvKipcbiAqIEJsb2cgcG9zdCAtLSB1c2VkIGluIGZyb250cGFnZSBncmlkLlxuICpcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IFN0ZWVsU2VyaWVzXG4gKi9cblxuIC5mcm9udHBhZ2UtZ3JpZF9fYmxvZy1wb3N0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwIDcuNXB4IDcuNXB4O1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgZmxleC1iYXNpczogY2FsYygxMDAlIC0gMTVweCk7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBjb2xvcjogJGdyYXktOTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBmbGV4OiAwIDAgNDcuNSU7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAxNXB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBmbGV4OiAwIDAgMzElO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMTVweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgZmxleDogMCAwIDIzLjUlO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gMTVweCk7XG4gIH1cblxuICAucG9zdC1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyMjBweDtcblxuICAgIC5wb3N0LW1lZGlhIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAycHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG5cbiAgLnBvc3QtZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS0xMDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG5cbiAgICAucG9zdC1tZXRhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cblxuICAuYXV0aG9yLXBob3RvLXdyYXBwZXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/