@charset "UTF-8";
/*!
	Theme Name: Garden Picks
	Theme URI:
	Description: This is the theme created for Garden Picks
	Author: Khoozh
	Author URI:

	Version: 1.0.1

	Tags: one-column, two-columns, left-sidebar, right-sidebar, accessibility-ready, custom-colors, custom-logo, custom-menu, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready

	Template: genesis

	License: GPL-2.0+
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
/* Table of Contents
sass/
|
|- abstracts/
|   |- _variables.scss    # Sass Variables
|   |- _functions.scss    # Sass Functions
|   |- _mixins.scss       # Sass Mixins
|   |- _placeholders.scss # Sass Placeholders
|
|- fonts/
|   |- _nucleo.scss       # Icon Pack
|
|– base/
|   |- _reset.scss        # Reset/normalize
|   |- _typography.scss   # Typography rules
|   |- _defaults.scss     # Genesis Defaults
|   |- _animations.scss   # Animations
|
|– components/
|   |- _graphics.scss            # Graphics
|   |- _buttons.scss             # Buttons
|   |- _widget.scss              # Genesis Default Widget and Plugins
|   |- _forms.scss               # Forms
|   |- _list-pagination.scss     # List and pagination
|   |- -title-divider.scss       # Title and dividers
|   |- _objects.scss             # Customised objects
|   |- _banners.scss             # Banners
|   |- _hero-slider.scss         # Hero Slider
|
|– layout/
|   |- _grid.scss         # Grid
|   |- _gs-structure-layout.scss # Genesis default structure and layout
|   |- _header.scss       # Header
|   |- _sidebar.scss      # Sidebar
|   |- _footer.scss       # Footer
|
|– pages/
|   |- _post-archive.scss        # Post archive styles
|   |- _post-single.scss         # Single Post Styles
|
|– themes/
|   |- _khoozh.scss       # Default theme
|   |- _woocommerce.scss  # Woocommerce Styles
|
|– vendors/
|   |- _slick.scss        # Slick Slider
|   |- _slick-theme.scss  # Slick Slider Theme
|   |- _featherlight.scss # Featherlight Gallery
|
|- main.scss              # Main Sass file
*/
/* Variables
 ============================================= */
/* Body Text Styles */
/* Font Weight */
/* Colors */
/* Etc. */
/* Background pattern image link*/
/* Graphic divider link */
/* Mixins
 ============================================= */
/* Media Queries
 --------------------------------------------- */
/* Container
 --------------------------------------------- */
/* Image Aspect Ratio
 ---------------------------------------------
 <figure> // Apply image ratio to figure
   <img src=""/>
 </figure>
*/
/* Absolute
 --------------------------------------------- */
/* Gradient Fade
 --------------------------------------------- */
/* Badge / Tag label
 --------------------------------------------- */
/* Icons
 --------------------------------------------- */
.wpcf7 form .wpcf7-response-output:before, .single-benefit-list p:before, .single-benefit-list .item-list li:before, .item-list .single-benefit-list li:before, .single-benefit-list .post-single .entry-content > ul li:before, .post-single .entry-content > ul .single-benefit-list li:before, .single-benefit-list div.product .woocommerce-product-details__short-description ul li:before, div.product .woocommerce-product-details__short-description ul .single-benefit-list li:before, .single-benefit-list .number-list li:before, .number-list .single-benefit-list li:before, .single-benefit-list .post-single .entry-content > ol li:before, .post-single .entry-content > ol .single-benefit-list li:before, .single-benefit-list div.product .woocommerce-product-details__short-description ol li:before, div.product .woocommerce-product-details__short-description ol .single-benefit-list li:before, table.cart .product-remove a:after {
  display: inline-block;
  font: normal normal normal 1em/1 'baseicon';
  speak: none;
  text-transform: none;
  /* Better Font Rendering */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* Circle Object
 --------------------------------------------- */
/* Thumbnail Card
 ---------------------------------------------
<article class="thumbnail-card">
  <figure>
    <img src="">
  </figure>
  <div class="caption">
    <h4></h4>
    <p></p>
    <a href="#"></a>
  </div>
</article>
 */
/* Line Border
 --------------------------------------------- */
/* Child Margin
 --------------------------------------------- */
/* Clear Fix
--------------------------------------------- */
/* Functions
 ============================================= */
/* Placeholders
 ============================================= */
/* White Gradient
  --------------------------------------------- */
/* Transitions
 --------------------------------------------- */
.slick-dots li button:before, .site-header, input[type="checkbox"] + *:after, .hero-slider, .menu-shop-menu-container a, .widget_product_categories a, li.product, .shop_table.woocommerce-checkout-review-order-table .variation, .woocommerce-MyAccount-navigation-link a, .interactive-cart-header .interactive-cart-close {
  transition: all 0.3s ease-in-out; }

/* Flexbox
 --------------------------------------------- */
.header-widget-area #woocommerce-product-search-button, #menu-social-media-menu i, .btn-icon-text i, .wpcf7 form .wpcf7-response-output:before, .pagination, .floating-whatsapp-button, .cta-mini-single i, #sidebar-toggle-close, table.cart .product-remove a, .widget_layered_nav_filters ul li a::before, #cart-items, .interactive-cart-summary > div, li.product .onsale, .woocommerce-info a,
.woocommerce-message a, .woocommerce-pagination .page-numbers, .woocommerce-pagination li {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: flex; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./js/plugins/slick/ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./js/plugins/slick/fonts/slick.eot");
  src: url("./js/plugins/slick/fonts/slick.eot?#iefix") format("embedded-opentype"), url("./js/plugins/slick/fonts/slick.woff") format("woff"), url("./js/plugins/slick/fonts/slick.ttf") format("truetype"), url("./js/plugins/slick/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-next,
.slick-prev {
  position: absolute;
  display: block;
  height: 30px;
  width: 30px;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  z-index: 2; }
  .slick-next:focus, .slick-next:hover,
  .slick-prev:focus,
  .slick-prev:hover {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-next:focus:before, .slick-next:hover:before,
    .slick-prev:focus:before,
    .slick-prev:hover:before {
      opacity: 1; }
  .slick-next.slick-disabled:before,
  .slick-prev.slick-disabled:before {
    opacity: 0.25; }
  .slick-next:before,
  .slick-prev:before {
    font-family: "slick";
    font-size: 30px;
    line-height: 1;
    color: #ddd;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: 15px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -35px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: 15px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0;
      font-size: 0;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:focus, .slick-dots li button:hover {
        outline: none; }
        .slick-dots li button:focus:before, .slick-dots li button:hover:before {
          opacity: 1;
          font-size: 18px; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 12px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/**
 * Featherlight – ultra slim jQuery lightbox
 * Version 1.7.13 - http://noelboss.github.io/featherlight/
 *
 * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
 * MIT Licensed.
**/
html.with-featherlight {
  /* disable global scrolling when featherlights are visible */
  overflow: hidden; }

.featherlight {
  display: none;
  /* dimensions: spanning the background from edge to edge */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2147483647;
  /* z-index needs to be >= elements on the site. */
  /* position: centering content */
  text-align: center;
  /* insures that the ::before pseudo element doesn't force wrap with fixed width content; */
  white-space: nowrap;
  /* styling */
  cursor: pointer;
  background: #333;
  /* IE8 "hack" for nested featherlights */
  background: rgba(0, 0, 0, 0); }

/* support for nested featherlights. Does not work in IE8 (use JS to fix) */
.featherlight:last-of-type {
  background: rgba(0, 0, 0, 0.8); }

.featherlight:before {
  /* position: trick to center content vertically */
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.featherlight .featherlight-content {
  /* make content container for positioned elements (close button) */
  position: relative;
  /* position: centering vertical and horizontal */
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  /* dimensions: cut off images */
  overflow: auto;
  padding: 25px 25px 0;
  border-bottom: 25px solid transparent;
  /* dimensions: handling large content */
  margin-left: 5%;
  margin-right: 5%;
  max-height: 95%;
  /* styling */
  cursor: auto;
  /* reset white-space wrapping */
  white-space: normal; }

/* contains the content */
.featherlight .featherlight-inner {
  /* make sure its visible */
  display: block; }

/* don't show these though */
.featherlight script.featherlight-inner,
.featherlight link.featherlight-inner,
.featherlight style.featherlight-inner {
  display: none; }

.featherlight .featherlight-close-icon {
  /* position: centering vertical and horizontal */
  position: absolute;
  z-index: 9999;
  top: 0;
  right: 0;
  /* dimensions: 25px x 25px */
  line-height: 25px;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  /* styling */
  cursor: pointer;
  text-align: center;
  font-family: Arial, sans-serif;
  background: #fff;
  /* Set the background in case it overlaps the content */
  background: rgba(255, 255, 255, 0.3);
  color: #000;
  border: none;
  padding: 0; }

/* See http://stackoverflow.com/questions/16077341/how-to-reset-all-default-styles-of-the-html5-button-element */
.featherlight .featherlight-close-icon::-moz-focus-inner {
  border: 0;
  padding: 0; }

.featherlight .featherlight-image {
  /* styling */
  width: 100%; }

.featherlight-iframe .featherlight-content {
  /* removed the border for image croping since iframe is edge to edge */
  border-bottom: 0;
  padding: 0;
  -webkit-overflow-scrolling: touch; }

.featherlight iframe {
  /* styling */
  border: none; }

.featherlight * {
  /* See https://github.com/noelboss/featherlight/issues/42 */
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

/* handling phones and small screens */
@media only screen and (max-width: 1024px) {
  .featherlight .featherlight-content {
    /* dimensions: maximize lightbox with for small screens */
    margin-left: 0;
    margin-right: 0;
    max-height: 98%;
    padding: 10px 10px 0;
    border-bottom: 10px solid transparent; } }

/* hide non featherlight items when printing */
@media print {
  html.with-featherlight > * > :not(.featherlight) {
    display: none; } }

/* --------------------------------

baseicon Web Font
Generated using nucleoapp.com

-------------------------------- */
@font-face {
  font-family: 'baseicon';
  src: url("fonts/baseicon.eot");
  src: url("fonts/baseicon.eot") format("embedded-opentype"), url("fonts/baseicon.woff2") format("woff2"), url("fonts/baseicon.woff") format("woff"), url("fonts/baseicon.ttf") format("truetype"), url("fonts/baseicon.svg") format("svg");
  font-weight: normal;
  font-style: normal; }

/*------------------------
	base class definition
-------------------------*/
.icon {
  display: inline-block;
  font: normal normal normal 1em/1 'baseicon';
  speak: none;
  text-transform: none;
  /* Better Font Rendering */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/*------------------------
  change icon size
-------------------------*/
/* relative units */
.icon-sm {
  font-size: 0.8em; }

.icon-lg {
  font-size: 1.2em; }

/* absolute units */
.icon-16 {
  font-size: 16px; }

.icon-32 {
  font-size: 32px; }

/*----------------------------------
  add a square/circle background
-----------------------------------*/
.icon-bg-square,
.icon-bg-circle {
  padding: 0.35em;
  background-color: #eee; }

.icon-bg-circle {
  border-radius: 50%; }

/*------------------------------------
  use icons as list item markers
-------------------------------------*/
.icon-ul {
  padding-left: 0;
  list-style-type: none; }
  .icon-ul > li {
    display: flex;
    align-items: flex-start;
    line-height: 1.4; }
  .icon-ul > li > .icon {
    margin-right: 0.4em;
    line-height: inherit; }

/*------------------------
  spinning icons
-------------------------*/
.icon-is-spinning {
  -webkit-animation: icon-spin 2s infinite linear;
  -moz-animation: icon-spin 2s infinite linear;
  animation: icon-spin 2s infinite linear; }

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

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

@keyframes icon-spin {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

/*------------------------
  rotated/flipped icons
-------------------------*/
.icon-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg); }

.icon-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg); }

.icon-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -moz-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  -o-transform: rotate(270deg);
  transform: rotate(270deg); }

.icon-flip-y {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0);
  -webkit-transform: scale(-1, 1);
  -moz-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  -o-transform: scale(-1, 1);
  transform: scale(-1, 1); }

.icon-flip-x {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: scale(1, -1);
  -moz-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  -o-transform: scale(1, -1);
  transform: scale(1, -1); }

/*------------------------
	icons
-------------------------*/
.icon-account::before {
  content: "\ea01"; }

.icon-bag-09::before {
  content: "\ea02"; }

.icon-checked-symbol::before {
  content: "\ea03"; }

.icon-facebook-1::before {
  content: "\ea04"; }

.icon-facebook-circle::before {
  content: "\ea05"; }

.icon-facebook::before {
  content: "\ea06"; }

.icon-fax::before {
  content: "\ea07"; }

.icon-ic_access_time_48px::before {
  content: "\ea08"; }

.icon-ic_arrow_back_36px::before {
  content: "\ea09"; }

.icon-ic_close_48px::before {
  content: "\ea0a"; }

.icon-ic_mail_outline_48px::before {
  content: "\ea0b"; }

.icon-instagram::before {
  content: "\ea0c"; }

.icon-lock::before {
  content: "\ea0d"; }

.icon-phone-2-2::before {
  content: "\ea0e"; }

.icon-phone-2::before {
  content: "\ea0f"; }

.icon-pin::before {
  content: "\ea10"; }

.icon-placeholder::before {
  content: "\ea11"; }

.icon-plus::before {
  content: "\ea12"; }

.icon-shopping-cart::before {
  content: "\ea13"; }

.icon-single-01::before {
  content: "\ea14"; }

.icon-star::before {
  content: "\ea15"; }

.icon-whatsapp-logo::before {
  content: "\ea16"; }

.icon-youtube::before {
  content: "\ea17"; }

.icon-zoom-2::before {
  content: "\ea18"; }

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: 700; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
  line-height: 1.3;
  display: inline-block; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
[type="button"],
[type="reset"],
[type="submit"],
button {
  -webkit-appearance: button;
  border: 0;
  cursor: pointer;
  background-color: transparent; }

/**
 * Remove the inner border and padding in Firefox.
 */
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/* Box Sizing
 --------------------------------------------- */
html {
  box-sizing: border-box; }

*,
*::after,
*::before {
  box-sizing: inherit; }

/* Typographical Elements
 --------------------------------------------- */
html {
  font-size: 56%;
  /* 10px browser default */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth; }
  @media only screen and (min-width: 960px) {
    html {
      font-size: 62.5%; } }

/* Chrome fix */
body > div {
  font-size: 14px;
  font-size: 1.4rem; }

body {
  background-color: #fff;
  color: #777;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625; }

button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button,
.gallery img {
  transition: all 0.2s ease-in-out; }

ol,
ul {
  margin: 0;
  padding: 0; }

li {
  list-style-type: none; }

hr {
  border: 0;
  border-collapse: collapse;
  border-top: 1px solid #eee;
  clear: both;
  margin: 30px 0; }

b,
strong {
  font-weight: 700; }

blockquote,
cite,
em,
i {
  font-style: italic; }

mark {
  background: #ddd;
  color: #333; }

blockquote {
  margin: 30px; }

blockquote::before {
  content: "\201C";
  display: block;
  font-size: 30px;
  font-size: 3rem;
  height: 0;
  left: -20px;
  position: relative;
  top: -10px; }

/* Headings
 --------------------------------------------- */
h1,
h2,
h3,
form.woocommerce-checkout .col-1 h4,
form.woocommerce-checkout .checkout_coupon h4,
h4,
h5,
h6 {
  font-weight: 700;
  color: #527f23;
  line-height: 1.2;
  margin: 0 0 2rem; }

h1 {
  font-size: 6rem;
  font-family: "Open Sans", sans-serif; }
  @media only screen and (max-width: 670px) {
    h1 {
      font-size: 5rem; } }

h2 {
  font-size: 3.6rem;
  font-family: "Open Sans", sans-serif; }


h3,
form.woocommerce-checkout .col-1 h4,
form.woocommerce-checkout .checkout_coupon h4 {
  font-size: 2.4rem;
  font-family: "Open Sans", sans-serif; }

h4 {
  font-size: 1.8rem;
  font-weight: 400; }

h5 {
  font-size: 1.6rem; }

h6 {
  font-size: 1.3rem; }

a {
  text-decoration: none;
  font-weight: 700;
  color: #456b1d; }
  a:hover {
    text-decoration: underline;
    color: #2b4312; }

label {
  font-size: 1.4rem;
  color: #999999; }

/* Text
 --------------------------------------------- */
p, .item-list li, .post-single .entry-content > ul li, div.product .woocommerce-product-details__short-description ul li, .number-list li, .post-single .entry-content > ol li, div.product .woocommerce-product-details__short-description ol li {
  font-size: 1.7rem;
  line-height: 2.6rem;
  margin: 0 0 15px; }
  p.x-small, .item-list li.x-small, .post-single .entry-content > ul li.x-small, div.product .woocommerce-product-details__short-description ul li.x-small, .number-list li.x-small, .post-single .entry-content > ol li.x-small, div.product .woocommerce-product-details__short-description ol li.x-small {
    font-size: 1.2rem;
    line-height: 1.2; }
  p.small, .site-footer > .wrap > p, .item-list .site-footer > .wrap > li, .post-single .entry-content > ul .site-footer > .wrap > li, div.product .woocommerce-product-details__short-description ul .site-footer > .wrap > li, .number-list .site-footer > .wrap > li, .post-single .entry-content > ol .site-footer > .wrap > li, div.product .woocommerce-product-details__short-description ol .site-footer > .wrap > li, .item-list li.small, .post-single .entry-content > ul li.small, div.product .woocommerce-product-details__short-description ul li.small, .number-list li.small, .post-single .entry-content > ol li.small, div.product .woocommerce-product-details__short-description ol li.small, .item-list .entry-content li.entry-meta, .entry-content .item-list li.entry-meta, .post-single .entry-content > ul li.entry-meta, div.product .woocommerce-product-details__short-description ul .entry-content li.entry-meta, .entry-content div.product .woocommerce-product-details__short-description ul li.entry-meta, .number-list .entry-content li.entry-meta, .entry-content .number-list li.entry-meta, .post-single .entry-content > ol li.entry-meta, div.product .woocommerce-product-details__short-description ol .entry-content li.entry-meta, .entry-content div.product .woocommerce-product-details__short-description ol li.entry-meta, .post-entry-list p, .post-entry-list .item-list li, .item-list .post-entry-list li, .post-entry-list .post-single .entry-content > ul li, .post-single .entry-content > ul .post-entry-list li, .post-entry-list div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .post-entry-list li, .post-entry-list .number-list li, .number-list .post-entry-list li, .post-entry-list .post-single .entry-content > ol li, .post-single .entry-content > ol .post-entry-list li, .post-entry-list div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .post-entry-list li, .entry-content p.entry-meta, .services-wrapper .caption p, .services-wrapper .caption .item-list li, .item-list .services-wrapper .caption li, .services-wrapper .caption .post-single .entry-content > ul li, .post-single .entry-content > ul .services-wrapper .caption li, .services-wrapper .caption div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .services-wrapper .caption li, .services-wrapper .caption .number-list li, .number-list .services-wrapper .caption li, .services-wrapper .caption .post-single .entry-content > ol li, .post-single .entry-content > ol .services-wrapper .caption li, .services-wrapper .caption div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .services-wrapper .caption li, .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .item-list li, .item-list .woocommerce-privacy-policy-text li, .woocommerce-privacy-policy-text .post-single .entry-content > ul li, .post-single .entry-content > ul .woocommerce-privacy-policy-text li, .woocommerce-privacy-policy-text div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .woocommerce-privacy-policy-text li, .woocommerce-privacy-policy-text .number-list li, .number-list .woocommerce-privacy-policy-text li, .woocommerce-privacy-policy-text .post-single .entry-content > ol li, .post-single .entry-content > ol .woocommerce-privacy-policy-text li, .woocommerce-privacy-policy-text div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .woocommerce-privacy-policy-text li {
    font-size: 1.4rem;
    line-height: 1.2; }
  p.large, .item-list li.large, .post-single .entry-content > ul li.large, div.product .woocommerce-product-details__short-description ul li.large, .number-list li.large, .post-single .entry-content > ol li.large, div.product .woocommerce-product-details__short-description ol li.large {
    font-size: 1.8rem;
    line-height: 1.5; }

/* Dark theme
 --------------------------------------------- */
.post-single .has-post-thumbnail .entry-header a, .has-post-thumbnail .entry-header a,
.post-single .has-post-thumbnail .entry-header p,
.has-post-thumbnail .entry-header p,
.has-post-thumbnail .entry-header .item-list li,
.item-list .has-post-thumbnail .entry-header li,
.post-single .has-post-thumbnail .entry-header .entry-content > ul li,
.has-post-thumbnail .entry-header .post-single .entry-content > ul li,
.post-single .entry-content > ul .has-post-thumbnail .entry-header li,
.has-post-thumbnail .entry-header div.product .woocommerce-product-details__short-description ul li,
div.product .woocommerce-product-details__short-description ul .has-post-thumbnail .entry-header li,
.has-post-thumbnail .entry-header .number-list li,
.number-list .has-post-thumbnail .entry-header li,
.post-single .has-post-thumbnail .entry-header .entry-content > ol li,
.has-post-thumbnail .entry-header .post-single .entry-content > ol li,
.post-single .entry-content > ol .has-post-thumbnail .entry-header li,
.has-post-thumbnail .entry-header div.product .woocommerce-product-details__short-description ol li,
div.product .woocommerce-product-details__short-description ol .has-post-thumbnail .entry-header li {
  color: #fff; }

.post-single .has-post-thumbnail .entry-header h1, .has-post-thumbnail .entry-header h1,
.post-single .has-post-thumbnail .entry-header h2,
.has-post-thumbnail .entry-header h2,
.post-single .has-post-thumbnail .entry-header h3,
.has-post-thumbnail .entry-header h3,
.has-post-thumbnail .entry-header form.woocommerce-checkout .col-1 h4,
form.woocommerce-checkout .col-1 .has-post-thumbnail .entry-header h4,
.has-post-thumbnail .entry-header form.woocommerce-checkout .checkout_coupon h4,
form.woocommerce-checkout .checkout_coupon .has-post-thumbnail .entry-header h4,
.post-single .has-post-thumbnail .entry-header h4,
.has-post-thumbnail .entry-header h4,
.post-single .has-post-thumbnail .entry-header h5,
.has-post-thumbnail .entry-header h5,
.post-single .has-post-thumbnail .entry-header h6,
.has-post-thumbnail .entry-header h6 {
  color: #fff; }

.post-single .has-post-thumbnail .entry-header hr, .has-post-thumbnail .entry-header hr {
  border-color: #fff; }

.post-single .entry-content h2,
.post-single .entry-content h3,
.post-single .entry-content form.woocommerce-checkout .col-1 h4,
form.woocommerce-checkout .col-1 .post-single .entry-content h4,
.post-single .entry-content form.woocommerce-checkout .checkout_coupon h4,
form.woocommerce-checkout .checkout_coupon .post-single .entry-content h4,
.post-single .entry-content h4,
.post-single .entry-content h5,
.post-single .entry-content h6 {
  line-height: 1.5;
  margin-top: 4rem; }

.post-single .entry-content li,
.post-single .entry-content p,
.post-single .entry-content .item-list li,
.item-list .post-single .entry-content li,
.post-single .entry-content > ul li,
.post-single .entry-content div.product .woocommerce-product-details__short-description ul li,
div.product .woocommerce-product-details__short-description ul .post-single .entry-content li,
.post-single .entry-content .number-list li,
.number-list .post-single .entry-content li,
.post-single .entry-content > ol li,
.post-single .entry-content div.product .woocommerce-product-details__short-description ol li,
div.product .woocommerce-product-details__short-description ol .post-single .entry-content li {
  margin-bottom: 1.2em;
  line-height: 2;
  text-align: justify; }
  @media only screen and (max-width: 670px) {
    .post-single .entry-content li,
    .post-single .entry-content p,
    .post-single .entry-content .item-list li,
    .item-list .post-single .entry-content li,
    .post-single .entry-content > ul li,
    .post-single .entry-content div.product .woocommerce-product-details__short-description ul li,
    div.product .woocommerce-product-details__short-description ul .post-single .entry-content li,
    .post-single .entry-content .number-list li,
    .number-list .post-single .entry-content li,
    .post-single .entry-content > ol li,
    .post-single .entry-content div.product .woocommerce-product-details__short-description ol li,
    div.product .woocommerce-product-details__short-description ol .post-single .entry-content li {
      font-size: 1.7rem; } }

/* Seafood lobang specific
 --------------------------------------------- */
h1,
h2,
h3,
form.woocommerce-checkout .col-1 h4,
form.woocommerce-checkout .checkout_coupon h4 {
  letter-spacing: -0.1rem;
  text-transform: uppercase; }

/* Defaults
 ============================================= */
/* Objects
 --------------------------------------------- */
.wp-caption,
embed,
iframe,
img,
object,
video {
  max-width: 100%; }

img {
  height: auto;
  vertical-align: top; }

figure {
  margin: 0; }

/* Gallery
 --------------------------------------------- */
.gallery {
  overflow: hidden; }
  .gallery img {
    height: auto; }
    .gallery img:focus, .gallery img:hover {
      outline: none; }

/* Tables
 --------------------------------------------- */
table {
  border-collapse: collapse;
  border-spacing: 0;
  line-height: 2;
  margin-bottom: 40px;
  width: 100%; }

tbody {
  border-bottom: 1px solid #eee; }

td,
th {
  text-align: left; }
  td:first-child,
  th:first-child {
    padding-left: 0; }

td {
  border-top: 1px solid #eee;
  padding: 6px; }

th {
  font-weight: 400;
  padding: 0 6px; }

/* Screen Reader Text
 --------------------------------------------- */
.screen-reader-shortcut,
.screen-reader-text,
.screen-reader-text span {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; }

.screen-reader-shortcut:focus,
.screen-reader-text:focus {
  background: #fff;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #333;
  display: block;
  font-size: 1em;
  font-weight: 700;
  height: auto;
  padding: 15px 23px 14px;
  text-decoration: none;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */ }

.more-link {
  position: relative; }

/* Image release
 --------------------------------------------- */
.image-release, .full-width-form {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: none;
  display: block; }
  .image-release img, .full-width-form img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

/* Vertical align column objects
 --------------------------------------------- */
.vertical-center .wp-block-column {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center; }

/* Animations
 ============================================= */
.hidden, .fade-right-before, .fade-left-before, .fade-scale-before {
  transition: all 0.5s ease-in-out;
  opacity: 0; }

/* fade in top */
.hidden {
  transform: translateY(30px); }

.shown {
  opacity: 1;
  transform: translateY(0px); }

/* fade in right */
.fade-right-before {
  transform: translateX(-30px); }

.fade-right {
  opacity: 1;
  transform: translateX(0px); }

/* fade in left */
.fade-left-before {
  transform: translateX(30px); }

.fade-left {
  opacity: 1;
  transform: translateX(0px); }

/* fade in scale */
.fade-scale-before {
  transform: scale(0.9); }

.fade-scale {
  opacity: 1;
  transform: scale(1); }

/* Grid
 ============================================= */
/* Column Mixin
 --------------------------------------------- */
.entry-header p, .regular-banner p, .post-archive .archive-description p, .shop-banner p, .entry-header .item-list li, .item-list .entry-header li, .regular-banner .item-list li, .item-list .regular-banner li, .post-archive .archive-description .item-list li, .item-list .post-archive .archive-description li, .shop-banner .item-list li, .item-list .shop-banner li, .entry-header .post-single .entry-content > ul li, .post-single .entry-content > ul .entry-header li, .regular-banner .post-single .entry-content > ul li, .post-single .entry-content > ul .regular-banner li, .post-archive .archive-description .post-single .entry-content > ul li, .post-single .entry-content > ul .post-archive .archive-description li, .shop-banner .post-single .entry-content > ul li, .post-single .entry-content > ul .shop-banner li, .entry-header div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .entry-header li, .regular-banner div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .regular-banner li, .post-archive .archive-description div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .post-archive .archive-description li, .shop-banner div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .shop-banner li, .entry-header .number-list li, .number-list .entry-header li, .regular-banner .number-list li, .number-list .regular-banner li, .post-archive .archive-description .number-list li, .number-list .post-archive .archive-description li, .shop-banner .number-list li, .number-list .shop-banner li, .entry-header .post-single .entry-content > ol li, .post-single .entry-content > ol .entry-header li, .regular-banner .post-single .entry-content > ol li, .post-single .entry-content > ol .regular-banner li, .post-archive .archive-description .post-single .entry-content > ol li, .post-single .entry-content > ol .post-archive .archive-description li, .shop-banner .post-single .entry-content > ol li, .post-single .entry-content > ol .shop-banner li, .entry-header div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .entry-header li, .regular-banner div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .regular-banner li, .post-archive .archive-description div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .post-archive .archive-description li, .shop-banner div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .shop-banner li, .woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-order-details, .woocommerce-order-pay .woocommerce, .woocommerce-lost-password .woocommerce {
  padding: 0 5%; }
  @media only screen and (min-width: 960px) {
    .entry-header p, .regular-banner p, .post-archive .archive-description p, .shop-banner p, .entry-header .item-list li, .item-list .entry-header li, .regular-banner .item-list li, .item-list .regular-banner li, .post-archive .archive-description .item-list li, .item-list .post-archive .archive-description li, .shop-banner .item-list li, .item-list .shop-banner li, .entry-header .post-single .entry-content > ul li, .post-single .entry-content > ul .entry-header li, .regular-banner .post-single .entry-content > ul li, .post-single .entry-content > ul .regular-banner li, .post-archive .archive-description .post-single .entry-content > ul li, .post-single .entry-content > ul .post-archive .archive-description li, .shop-banner .post-single .entry-content > ul li, .post-single .entry-content > ul .shop-banner li, .entry-header div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .entry-header li, .regular-banner div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .regular-banner li, .post-archive .archive-description div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .post-archive .archive-description li, .shop-banner div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .shop-banner li, .entry-header .number-list li, .number-list .entry-header li, .regular-banner .number-list li, .number-list .regular-banner li, .post-archive .archive-description .number-list li, .number-list .post-archive .archive-description li, .shop-banner .number-list li, .number-list .shop-banner li, .entry-header .post-single .entry-content > ol li, .post-single .entry-content > ol .entry-header li, .regular-banner .post-single .entry-content > ol li, .post-single .entry-content > ol .regular-banner li, .post-archive .archive-description .post-single .entry-content > ol li, .post-single .entry-content > ol .post-archive .archive-description li, .shop-banner .post-single .entry-content > ol li, .post-single .entry-content > ol .shop-banner li, .entry-header div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .entry-header li, .regular-banner div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .regular-banner li, .post-archive .archive-description div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .post-archive .archive-description li, .shop-banner div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .shop-banner li, .woocommerce-order-received .woocommerce-customer-details,
    .woocommerce-order-received .woocommerce-order-details, .woocommerce-order-pay .woocommerce, .woocommerce-lost-password .woocommerce {
      padding: 0;
      max-width: 700px;
      margin-left: auto;
      margin-right: auto; } }

.cols-2, .woocommerce-account.logged-in .woocommerce, .col2-set {
  display: flex;
  flex-flow: row wrap; }
  .cols-2 > *, .woocommerce-account.logged-in .woocommerce > *, .col2-set > * {
    width: 100%;
    margin-bottom: 30px; }
    @media only screen and (min-width: 670px) {
      .cols-2 > *, .woocommerce-account.logged-in .woocommerce > *, .col2-set > * {
        width: calc((100% - (30px * (2 - 1))) / 2);
        margin-right: 30px; }
        .cols-2 > *:nth-child(2n), .woocommerce-account.logged-in .woocommerce > *:nth-child(2n), .col2-set > *:nth-child(2n) {
          margin-right: 0; } }

.cols-3, .services-wrapper {
  display: flex;
  flex-flow: row wrap; }
  .cols-3 > *, .services-wrapper > * {
    width: 100%;
    margin-bottom: 30px; }
    @media only screen and (min-width: 670px) {
      .cols-3 > *, .services-wrapper > * {
        width: calc((100% - (30px * (3 - 1))) / 3);
        margin-right: 30px; }
        .cols-3 > *:nth-child(3n), .services-wrapper > *:nth-child(3n) {
          margin-right: 0; } }

/* Column Layouts
 --------------------------------------------- */
@media only screen and (min-width: 670px) {
  .two-one > *:nth-child(1) {
    flex: 2 1 0; }
  .two-one > *:nth-child(2) {
    flex: 1 1 0; } }

/* Wrapper
 --------------------------------------------- */
section.wrapper {
  width: 100%;
  padding: 50px 5%; }
  @media only screen and (min-width: 960px) {
    section.wrapper {
      padding: 80px 10%; } }
  section.wrapper-small {
    width: 100%;
    padding: 15px 5%; }
    @media only screen and (min-width: 960px) {
      section.wrapper-small {
        padding: 30px 10%; } }
  section.wrapper-large {
    width: 100%;
    padding: 80px 5%; }
    @media only screen and (min-width: 960px) {
      section.wrapper-large {
        padding: 120px 10%; } }
  section.wrapper-full {
    width: 100%;
    padding: 50px 0; }
    @media only screen and (min-width: 960px) {
      section.wrapper-full {
        padding: 80px 0; } }

/* Genesis Structure and Layout
  ============================================== */
/* Site Container
 --------------------------------------------- */
.site-container {
  word-wrap: break-word;
  overflow: hidden;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  min-height: 100vh; }

main.content {
  flex: 1 1 100%; }

/* Common Classes
------------------------------------------------------------------------------------------ */
/* Genesis
 --------------------------------------------- */
.after-entry,
.archive-description,
.author-box {
  margin-bottom: 40px; }

.after-entry {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
  padding: 20px 30px; }

.after-entry .widget:last-of-type {
  margin-bottom: 0; }

.breadcrumb {
  border-bottom: 1px solid #eee;
  font-size: 16px;
  font-size: 1.6rem;
  margin-bottom: 40px;
  padding-bottom: 10px; }

.archive-description p:last-child, .archive-description .item-list li:last-child, .item-list .archive-description li:last-child, .archive-description .post-single .entry-content > ul li:last-child, .post-single .entry-content > ul .archive-description li:last-child, .archive-description div.product .woocommerce-product-details__short-description ul li:last-child, div.product .woocommerce-product-details__short-description ul .archive-description li:last-child, .archive-description .number-list li:last-child, .number-list .archive-description li:last-child, .archive-description .post-single .entry-content > ol li:last-child, .post-single .entry-content > ol .archive-description li:last-child, .archive-description div.product .woocommerce-product-details__short-description ol li:last-child, div.product .woocommerce-product-details__short-description ol .archive-description li:last-child,
.author-box p:last-child,
.author-box .item-list li:last-child,
.item-list .author-box li:last-child,
.author-box .post-single .entry-content > ul li:last-child,
.post-single .entry-content > ul .author-box li:last-child,
.author-box div.product .woocommerce-product-details__short-description ul li:last-child,
div.product .woocommerce-product-details__short-description ul .author-box li:last-child,
.author-box .number-list li:last-child,
.number-list .author-box li:last-child,
.author-box .post-single .entry-content > ol li:last-child,
.post-single .entry-content > ol .author-box li:last-child,
.author-box div.product .woocommerce-product-details__short-description ol li:last-child,
div.product .woocommerce-product-details__short-description ol .author-box li:last-child {
  margin-bottom: 0; }

/* Search Form
 --------------------------------------------- */
.search-form {
  overflow: hidden; }

.entry-content .search-form {
  margin-bottom: 40px;
  width: 50%; }

.post-password-form input[type="submit"],
.search-form input[type="submit"] {
  margin-top: 10px; }

.widget_search input[type="submit"] {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  width: 1px; }

/* Titles
 --------------------------------------------- */
.entry-title a,
.sidebar .widget-title a {
  color: #333;
  text-decoration: none; }

.entry-title a:focus,
.entry-title a:hover {
  color: #0073e5; }

.widget-title {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 20px; }

/* WordPress
 --------------------------------------------- */
.aligncenter {
  text-align: center; }

a.aligncenter img {
  display: block;
  margin: 0 auto; }

a.alignnone {
  display: inline-block; }

.alignleft {
  float: left;
  text-align: left; }

.alignright {
  float: right;
  text-align: right; }

a.alignleft,
a.alignnone,
a.alignright {
  max-width: 100%; }

.aligncenter,
img.centered {
  display: block;
  margin: 0 auto 30px; }

.wp-caption.alignleft,
a.alignleft,
img.alignleft {
  margin: 0 20px 20px 0; }

.wp-caption.alignright,
a.alignright,
img.alignright {
  margin: 0 0 20px 20px; }

.gallery-caption,
.wp-caption-text {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 600;
  margin: 0;
  text-align: center; }

.entry-content p.wp-caption-text, .entry-content .item-list li.wp-caption-text, .item-list .entry-content li.wp-caption-text, .post-single .entry-content > ul li.wp-caption-text, .entry-content div.product .woocommerce-product-details__short-description ul li.wp-caption-text, div.product .woocommerce-product-details__short-description ul .entry-content li.wp-caption-text, .entry-content .number-list li.wp-caption-text, .number-list .entry-content li.wp-caption-text, .post-single .entry-content > ol li.wp-caption-text, .entry-content div.product .woocommerce-product-details__short-description ol li.wp-caption-text, div.product .woocommerce-product-details__short-description ol .entry-content li.wp-caption-text {
  margin-bottom: 0; }

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
  margin: 0 0 30px; }

/* Header Buttons
 --------------------------------------------- */
/* Skip Links
 --------------------------------------------- */
.genesis-skip-link {
  margin: 0; }
  .genesis-skip-link .skip-link-hidden {
    display: none;
    visibility: hidden; }
  .genesis-skip-link li {
    height: 0;
    list-style: none;
    width: 0; }

/* Site Header
 --------------------------------------------- */
.site-header {
  position: relative;
  z-index: 999;
  background-color: #fff;
  top: 0;
  width: 100%; }
  .site-header > .wrap {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    /* Structure */ }
    @media only screen and (max-width: 670px) {
      .site-header > .wrap {
        flex-flow: row wrap; } }
    .site-header > .wrap > *.pre-header {
      flex: 0 0 100%; }
    .site-header > .wrap > *.title-area {
      flex: 1 1 auto; }
      @media only screen and (min-width: 960px) {
        .site-header > .wrap > *.title-area {
          flex: 1 0 50%; } }
    .site-header > .wrap > *.header-widget-area {
      flex: 1 1 auto; }
      @media only screen and (min-width: 960px) {
        .site-header > .wrap > *.header-widget-area {
          flex: 1 0 50%; } }
    .site-header > .wrap > *.menu-toggle {
      flex: 1 1 100%; }
      @media only screen and (min-width: 960px) {
        .site-header > .wrap > *.menu-toggle {
          flex: 1 1 0; } }

/* Title Area
 --------------------------------------------- */
.title-area {
  padding: 12px 0 15px;
  margin: 0 auto;
  width: 100%;
  max-width: 60vw; }
  @media only screen and (min-width: 960px) {
    .title-area {
      max-width: none; } }
  .title-area a {
    display: block;
    margin: 0 0 0 5%;
    max-width: 500px; }

.site-description,
.wp-custom-logo .site-title {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; }

/* Responsive Menu
 --------------------------------------------- */
.menu .menu-item:focus {
  position: static; }

.menu .menu-item > a:focus + ul.sub-menu,
.menu .menu-item.sfHover > ul.sub-menu {
  left: auto;
  opacity: 1; }

.genesis-responsive-menu {
  position: relative;
  display: none; }
  @media only screen and (min-width: 960px) {
    .genesis-responsive-menu {
      display: inherit; } }

/* Menu Toggle & Sub Menu Toggle */
.menu-toggle,
.sub-menu-toggle {
  background-color: transparent;
  border-width: 0;
  color: #fff;
  display: block;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
  visibility: visible; }
  @media only screen and (min-width: 960px) {
    .menu-toggle,
    .sub-menu-toggle {
      display: none;
      visibility: hidden; } }
  .menu-toggle:focus, .menu-toggle:hover,
  .sub-menu-toggle:focus,
  .sub-menu-toggle:hover {
    border-width: 0; }

/* Menu Toggle */
.menu-toggle {
  position: relative;
  z-index: 1000;
  overflow: hidden;
  padding: 10px 0;
  order: -1;
  margin: 0;
  font-size: 0;
  text-align: right;
  background-color: #674a2b; }
  .menu-toggle::before {
    position: relative;
    text-rendering: auto;
    margin-right: 20px; }
  .menu-toggle.activated::before {
    content: "\f335"; }

/* Sub Menu Toggle */
.sub-menu-toggle {
  position: absolute;
  right: 5px;
  top: 15px;
  z-index: 100;
  text-align: center; }
  .sub-menu-toggle:before {
    display: inline-block;
    text-rendering: auto;
    transform: rotate(0);
    transition: transform 0.25s ease-in-out;
    color: #5f9328; }
  .sub-menu-toggle.activated:before {
    transform: rotate(180deg);
    color: #79bb33; }

/* Header Menu
 --------------------------------------------- */
.menu-primary > li:focus, .menu-primary > li:hover {
  background-color: #553d23; }
  @media only screen and (min-width: 960px) {
    .menu-primary > li:focus, .menu-primary > li:hover {
      background-color: #f3c922; } }

/* Header Menu Structure */
.nav-primary {
  position: relative;
  width: 100%;
  height: 100%;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  overflow-y: scroll;
  display: none; }
  @media only screen and (min-width: 960px) {
    .nav-primary {
      top: 0;
      height: auto;
      width: 100%;
      background-color: #fff;
      display: flex;
      flex-flow: row wrap;
      align-self: stretch;
      justify-content: center;
      overflow-y: visible;
      margin-top: 20px; } }
  @media only screen and (min-width: 960px) {
    .nav-primary .wrap {
      height: 100%; } }

/* Main Header Menu */
.menu-primary {
  display: flex;
  flex-flow: row wrap;
  position: relative;
  line-height: 1;
  height: 100%;
  background-color: #fafafa;
  box-shadow: inset 0 0 20px 0 rgba(0, 0, 0, 0.1);
  /* Generic li style*/
  /* Generic nav link style */
  /* First level li */
  /* Level 2 Menu */ }
  @media only screen and (max-width: 670px) {
    .menu-primary {
      justify-content: center;
      background-color: #674a2b; } }
  @media only screen and (min-width: 960px) {
    .menu-primary {
      background-color: transparent;
      box-shadow: none; } }
  .menu-primary .sub-menu {
    z-index: 99;
    box-shadow: inset 0 0 8px 0 rgba(0, 0, 0, 0.15);
    display: none;
    /* Second level li */ }
    @media only screen and (min-width: 960px) {
      .menu-primary .sub-menu {
        position: absolute;
        min-width: 250px;
        width: auto;
        opacity: 0;
        left: 9999px;
        background-color: #fff;
        box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.1);
        border-radius: 0 0 8px 8px; } }

/* Styles for Main Navigation
--------------------------------------------- */
@media only screen and (min-width: 960px) {
  .menu-primary .menu-item {
    border: 0;
    margin-right: 5px; } }

.menu-primary > li {
  position: relative;
  width: 100%;
  /* If have children */
  /* If Highlighted */ }
  @media only screen and (min-width: 960px) {
    .menu-primary > li {
      display: block;
      height: 100%;
      width: auto; } }
  .menu-primary > li.menu-item--highlight > a {
    background-color: #5f9328;
    color: #fff;
    margin: 0 10px; }

@media only screen and (min-width: 960px) {
  .menu-primary .sub-menu .menu-item:hover {
    background-color: #5f9328; }
    .menu-primary .sub-menu .menu-item:hover > a {
      color: #fff; } }

.menu-primary a {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  font-weight: 700;
  font-family: "Open Sans", sans-serif;
  color: #fff;
  text-transform: uppercase;
  font-size: 16px; }
  @media only screen and (min-width: 960px) {
    .menu-primary a {
      height: 100%;
      text-align: left;
      align-items: center;
      justify-content: flex-start;
      background-color: #674a2b;
      font-size: 18px; } }
  .menu-primary a:hover {
    text-decoration: none; }
  .menu-primary a i {
    font-weight: 400; }
  .menu-primary > li > a {
    padding: 15px 25px;
    letter-spacing: 1px; }
    @media only screen and (min-width: 960px) {
      .menu-primary > li > a {
        padding: 10px 25px; } }
  .menu-primary .sub-menu .menu-item > a {
    padding: 14px 15px;
    font-size: 14px; }
    @media only screen and (min-width: 960px) {
      .menu-primary .sub-menu .menu-item > a {
        font-size: 14px; }
        .menu-primary .sub-menu .menu-item > a:hover {
          color: #fff;
          background-color: #5f9328; } }

/* Header Widget Area
 --------------------------------------------- */
.header-widget-area {
  display: flex;
  flex-flow: row wrap;
  position: relative;
  justify-content: center;
  z-index: 101;
  order: 20;
  padding: 15px 5vw; }
  @media only screen and (min-width: 960px) {
    .header-widget-area {
      justify-content: flex-end;
      padding: 0 5vw;
      order: 0; } }
  .header-widget-area .menu {
    display: flex;
    flex-flow: row wrap; }
    .header-widget-area .menu li {
      margin-bottom: 0; }
  .header-widget-area .widget {
    margin-bottom: 0; }
  .header-widget-area a {
    text-transform: uppercase;
    font-size: 1.9rem;
    color: #674a2b; }
    .header-widget-area a:hover {
      text-decoration: none; }
    .header-widget-area a bdi {
      color: #689447; }
  .header-widget-area .woocommerce-product-search {
    position: relative;
    margin-top: 25px;
    width: 100%;
    display: flex;
    justify-content: flex-end; }
    @media only screen and (max-width: 670px) {
      .header-widget-area .woocommerce-product-search {
        max-width: 70vw; } }
  .header-widget-area #woocommerce-product-search-button {
    position: absolute;
    width: 46px;
    height: 46px;
    background-color: #eec10d;
    border-radius: 50%;
    font-size: 20px;
    border: 3px solid #fff;
    box-shadow: 0 0 5px 0 rgba(26, 26, 26, 0.5);
    padding: 0;
    right: -23px;
    top: 0; }
    .header-widget-area #woocommerce-product-search-button:hover,
    .header-widget-area #woocommerce-product-search-button a:hover {
      text-decoration: none; }
    .header-widget-area #woocommerce-product-search-button i {
      font-weight: 700; }
  .header-widget-area #woocommerce-product-search-field {
    height: 46px;
    max-width: 380px;
    border-radius: 10px;
    font-size: 18px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2); }

/* Pre Header
 --------------------------------------------- */
.pre-header {
  position: relative;
  font-size: 10px;
  display: flex;
  justify-content: space-between;
  background-color: #f7f7f7;
  padding: 3px 3%; }
  .pre-header > * {
    margin-bottom: 0; }
    .pre-header > * i {
      margin: 0 3px;
      font-weight: 700; }
    .pre-header > *:nth-child(odd) {
      flex: 1 1 0;
      display: flex;
      line-height: 2;
      align-items: center; }
    .pre-header > *:nth-child(even) {
      flex: 11 1 0;
      text-align: center; }
      @media only screen and (min-width: 670px) {
        .pre-header > *:nth-child(even) {
          flex: 2 1 0; } }
    .pre-header > *:last-child {
      text-align: right;
      justify-content: flex-end; }
  .pre-header p, .pre-header .item-list li, .item-list .pre-header li, .pre-header .post-single .entry-content > ul li, .post-single .entry-content > ul .pre-header li, .pre-header div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .pre-header li, .pre-header .number-list li, .number-list .pre-header li, .pre-header .post-single .entry-content > ol li, .post-single .entry-content > ol .pre-header li, .pre-header div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .pre-header li {
    color: #333333; }
  @media only screen and (max-width: 670px) {
    .pre-header a span {
      display: none; } }

/* Garden Picks Specific */
ul[id^="menu-category-menu"] a:before, ul[id^="menu-category-menu"].header-category-list .menu-item a:before {
  content: "";
  position: relative;
  display: block;
  width: 35px;
  height: 35px;
  background-repeat: no-repeat;
  background-position: -8px 2px;
  background-size: auto 33px; }
  @media only screen and (min-width: 960px) {
    ul[id^="menu-category-menu"] a:before, ul[id^="menu-category-menu"].header-category-list .menu-item a:before {
      width: 45px;
      height: 45px;
      background-size: auto 40px; } }

ul[id^="menu-category-menu"] a {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  padding: 4px 0;
  color: #674a2b;
  font-weight: 400;
  font-size: 17px; }
  ul[id^="menu-category-menu"] a:before {
    margin-right: 10px; }

ul[id^="menu-category-menu"].header-category-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%; }
  ul[id^="menu-category-menu"].header-category-list .menu-item {
    flex: 1 1 25%;
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-content: flex-start; }
    @media only screen and (min-width: 960px) {
      ul[id^="menu-category-menu"].header-category-list .menu-item {
        flex: 1 1 0;
        max-width: 140px; } }
    ul[id^="menu-category-menu"].header-category-list .menu-item:hover a {
      background-color: #f2f2f2;
      color: #674a2b; }
    ul[id^="menu-category-menu"].header-category-list .menu-item span {
      text-align: center;
      width: 100%; }
    ul[id^="menu-category-menu"].header-category-list .menu-item a {
      display: flex;
      flex-flow: column nowrap;
      justify-content: space-around;
      padding: 15px 8px;
      font-family: "Open Sans", sans-serif;
      text-transform: uppercase;
      text-align: center;
      line-height: 1;
      height: 100%; }
      ul[id^="menu-category-menu"].header-category-list .menu-item a:before {
        margin: 0 auto 5px; }

.menu-nuts-and-seeds a:before {
  background-image: url("../../../wp-content/uploads/nuts-and-seeds.png"); }

.menu-dried-fruits a:before {
  background-image: url("../../../wp-content/uploads/dried-fruits.png"); }

.menu-snack-foods a:before {
  background-image: url("../../../wp-content/uploads/snack-foods.png"); }

.menu-cereals-and-grains a:before {
  background-image: url("../../../wp-content/uploads/cereals-grains.png"); }

.menu-mixes a:before {
  background-image: url("../../../wp-content/uploads/mixes.png"); }

.menu-gifts a:before {
  background-image: url("../../../wp-content/uploads/gifts.png"); }

.menu-others a:before {
  background-image: url("../../../wp-content/uploads/others.png"); }

.menu-promo a:before {
  background-image: url("../../../wp-content/uploads/sale.png"); }

/* Sidebar
 --------------------------------------------- */
.sidebar {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5; }

.sidebar .widget {
  margin-bottom: 50px; }

.sidebar p, .sidebar .item-list li, .item-list .sidebar li, .sidebar .post-single .entry-content > ul li, .post-single .entry-content > ul .sidebar li, .sidebar div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .sidebar li, .sidebar .number-list li, .number-list .sidebar li, .sidebar .post-single .entry-content > ol li, .post-single .entry-content > ol .sidebar li, .sidebar div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .sidebar li {
  margin-bottom: 20px; }

/* Footer
  ============================================== */
/* Footer Widgets
 --------------------------------------------- */
.footer-widgets {
  width: 100%;
  padding: 30px 0;
  background-color: #fff; }
  @media only screen and (min-width: 960px) {
    .footer-widgets {
      padding: 30px 5%; } }
  .footer-widgets .wrap {
    display: flex;
    flex-flow: column nowrap;
    align-items: center; }
    @media only screen and (min-width: 960px) {
      .footer-widgets .wrap {
        margin-left: auto;
        margin-right: auto;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between; }
        .footer-widgets .wrap > * {
          margin-right: 30px; }
          .footer-widgets .wrap > *:last-child {
            margin-right: 0; } }

.footer-widget-area {
  margin-bottom: 20px; }
  @media only screen and (min-width: 960px) {
    .footer-widget-area {
      margin-bottom: 0; } }

.footer-widgets-1 {
  flex: 1 1 auto; }

.footer-widgets .menu {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  background-color: #674a2b; }
  .footer-widgets .menu li {
    margin: 0 8px;
    width: 100%;
    display: flex;
    align-items: center; }
    @media only screen and (min-width: 670px) {
      .footer-widgets .menu li:not(:last-child):after {
        content: "|";
        color: #fff;
        font-size: 1.6rem;
        margin-left: 17px;
        font-weight: 700; } }
    @media only screen and (min-width: 960px) {
      .footer-widgets .menu li {
        width: auto; } }
    .footer-widgets .menu li a {
      display: block;
      padding: 12px;
      text-align: center;
      font-size: 1.6rem;
      color: #fff;
      text-transform: uppercase;
      width: 100%; }
      @media only screen and (min-width: 960px) {
        .footer-widgets .menu li a {
          text-align: left;
          padding: 6px 0;
          width: auto; } }
      .footer-widgets .menu li a i {
        font-size: 16px; }

.footer-widgets-1 {
  align-self: center; }
  .footer-widgets-1 img {
    width: 230px;
    display: block;
    margin: 0 auto; }
    @media only screen and (min-width: 960px) {
      .footer-widgets-1 img {
        margin: 0 auto 0 0; } }

.footer-widget-area:last-child,
.footer-widgets .widget:last-child {
  margin-bottom: 0; }

#menu-social-media-menu {
  justify-content: center; }
  @media only screen and (max-width: 670px) {
    #menu-social-media-menu .menu-item {
      width: auto; }
    .site-header #menu-social-media-menu {
      display: none; } }
  #menu-social-media-menu i {
    width: 25px;
    height: 25px;
    background-color: #5f9328;
    border-radius: 50%;
    font-size: 14px;
    display: inline-flex;
    color: #fff;
    margin-right: 10px; }
    #menu-social-media-menu i:hover,
    #menu-social-media-menu i a:hover {
      text-decoration: none; }

/* Site Footer
 --------------------------------------------- */
.site-footer {
  line-height: 1.5;
  padding: 15px 5% 5px; }
  .site-footer > .wrap {
    display: flex;
    flex-flow: column nowrap;
    text-align: center; }
    .site-footer > .wrap > p, .item-list .site-footer > .wrap > li, .post-single .entry-content > ul .site-footer > .wrap > li, div.product .woocommerce-product-details__short-description ul .site-footer > .wrap > li, .number-list .site-footer > .wrap > li, .post-single .entry-content > ol .site-footer > .wrap > li, div.product .woocommerce-product-details__short-description ol .site-footer > .wrap > li {
      font-size: 12px;
      margin: 0 0 5px; }

/* Graphics
 ============================================= */
/* Secondary Graphic
 --------------------------------------------- */
/* Background Pattern
--------------------------------------------- */
.entry-header,
.regular-banner, .post-archive .archive-description, .shop-banner, .mini-cta {
  background: url("../../../static/background-pattern.jpg") repeat center; }
  @media only screen and (min-width: 960px) {
    .entry-header,
    .regular-banner, .post-archive .archive-description, .shop-banner, .mini-cta {
      background-attachment: fixed; } }

/* Graphic Divider 1
--------------------------------------------- */
.homepage-services:before, .homepage-services:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 120px;
  left: 0;
  background: url("../../../static/graphic-divider.svg") no-repeat bottom/102vw auto; }

.homepage-services:before {
  top: -119px; }

.homepage-services:after {
  transform: rotate(180deg);
  bottom: -119px; }

/* Graphic Divider 2 - brush
--------------------------------------------- */
.homepage-about:before, .homepage-about:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 50px;
  left: 0;
  background: url("../../../static/graphic-divider-brush.png") no-repeat bottom/102vw auto; }

.homepage-about:before {
  top: -49px; }

.homepage-about:after {
  transform: rotate(180deg);
  bottom: -49px; }

/* Divider after title
--------------------------------------------- */
/* Buttons
 =============================================
 btn-1
 btn-2
 btn-icon-text
 */
/* Structure of a button */
.btn, form input[type="submit"], .added_to_cart, .tabs.wc-tabs a, button[type="submit"],
.button, .woocommerce-info a,
.woocommerce-message a {
  position: relative;
  display: inline-block;
  line-height: initial;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  top: 0;
  border: 0;
  transition: all 0.15s ease-in-out;
  cursor: pointer;
  padding: 0.9em 1.2em;
  font-size: 1.3rem; }
  .btn:hover, form input:hover[type="submit"], .added_to_cart:hover, .tabs.wc-tabs a:hover, button:hover[type="submit"],
  .button:hover, .woocommerce-info a:hover,
  .woocommerce-message a:hover {
    text-decoration: none; }
  .btn-small, .post-entry-list .category-link, header.woocommerce-Address-title a {
    position: relative;
    display: inline-block;
    line-height: initial;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    top: 0;
    border: 0;
    transition: all 0.15s ease-in-out;
    cursor: pointer;
    padding: 0.6em 0.9em;
    font-size: 1.2rem; }
    .btn-small:hover, .post-entry-list .category-link:hover, header.woocommerce-Address-title a:hover {
      text-decoration: none; }
  .btn-large, #sidebar-toggle, #shipping_method label {
    position: relative;
    display: inline-block;
    line-height: initial;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    top: 0;
    border: 0;
    transition: all 0.15s ease-in-out;
    cursor: pointer;
    padding: 1.2em;
    font-size: 1.4rem; }
    .btn-large:hover, #sidebar-toggle:hover, #shipping_method label:hover {
      text-decoration: none; }

.btn.align-c {
  margin: 0 auto;
  display: table; }

/* Solid Button - btn-1
   --------------------------------------------- */
.btn-1, form input[type="submit"], #sidebar-toggle, #shipping_method input[type="radio"]:checked + label, .woocommerce-form-login__submit,
.woocommerce-form-register__submit, .checkout-button,
a.add_to_cart_button,
button.add_to_cart_button, button[type="submit"], .wc-backward, .woocommerce-info a,
.woocommerce-message a {
  background-color: #456b1d;
  color: #fff;
  border-radius: 3px; }
  .btn-1:hover, form input:hover[type="submit"], #sidebar-toggle:hover, #shipping_method input[type="radio"]:checked + label:hover, .woocommerce-form-login__submit:hover,
  .woocommerce-form-register__submit:hover, .checkout-button:hover,
  a.add_to_cart_button:hover,
  button.add_to_cart_button:hover, button:hover[type="submit"], .wc-backward:hover, .woocommerce-info a:hover,
  .woocommerce-message a:hover {
    color: #fff;
    background-color: #1e2f0d; }
  .btn-1:active, form input:active[type="submit"], #sidebar-toggle:active, #shipping_method input[type="radio"]:checked + label:active, .woocommerce-form-login__submit:active,
  .woocommerce-form-register__submit:active, .checkout-button:active,
  a.add_to_cart_button:active,
  button.add_to_cart_button:active,
  button:active[type="submit"], .wc-backward:active, .woocommerce-info a:active,
  .woocommerce-message a:active {
    transform: translateY(3px); }
  .btn-1-secondary, header.woocommerce-Address-title a {
    background-color: #999999;
    color: white;
    border-radius: 3px; }
    .btn-1-secondary:hover, header.woocommerce-Address-title a:hover {
      color: #fff;
      background-color: #737373; }
    .btn-1-secondary:active, header.woocommerce-Address-title a:active {
      transform: translateY(3px); }
  .btn-1-orange {
    background-color: #eec10d;
    color: white;
    border-radius: 3px; }
    .btn-1-orange:hover {
      color: #fff;
      background-color: #a58609; }
    .btn-1-orange:active {
      transform: translateY(3px); }
  .btn-1-light, .post-entry-list .category-link, .added_to_cart, .tabs.wc-tabs a, #shipping_method label, .shop_table .button {
    background-color: #e6e6e6;
    color: gray;
    border-radius: 3px; }
    .btn-1-light:hover, .post-entry-list .category-link:hover, .added_to_cart:hover, .tabs.wc-tabs a:hover, #shipping_method label:hover, .shop_table .button:hover {
      color: #fff;
      background-color: #bfbfbf; }
    .btn-1-light:active, .post-entry-list .category-link:active, .added_to_cart:active, .tabs.wc-tabs a:active, #shipping_method label:active, .shop_table .button:active {
      transform: translateY(3px); }
  .btn-1-success {
    background-color: #689447;
    color: white;
    border-radius: 3px; }
    .btn-1-success:hover {
      color: #fff;
      background-color: #44602e; }
    .btn-1-success:active {
      transform: translateY(3px); }
  .btn-1-info {
    background-color: #369;
    color: white;
    border-radius: 3px; }
    .btn-1-info:hover {
      color: #fff;
      background-color: #204060; }
    .btn-1-info:active {
      transform: translateY(3px); }
  .btn-1-warning {
    background-color: #f7e720;
    color: #484303;
    border-radius: 3px; }
    .btn-1-warning:hover {
      color: #fff;
      background-color: #c3b507; }
    .btn-1-warning:active {
      transform: translateY(3px); }
  .btn-1-danger {
    background-color: #9e1c25;
    color: white;
    border-radius: 3px; }
    .btn-1-danger:hover {
      color: #fff;
      background-color: #5d1016; }
    .btn-1-danger:active {
      transform: translateY(3px); }

/* Outline Button - btn-2
   --------------------------------------------- */
.btn-2 {
  background-color: transparent;
  color: #5f9328;
  border: 2px solid #79bb33;
  border-radius: 5px;
  text-transform: none; }
  .btn-2:hover {
    background-color: #5f9328;
    border-color: #5f9328;
    color: #fff; }
  .btn-2-white {
    background-color: transparent;
    color: #fff;
    border: 2px solid white;
    border-radius: 5px;
    text-transform: none; }
    .btn-2-white:hover {
      background-color: #fff;
      border-color: #fff;
      color: #fff; }
    .btn-2-white:hover {
      color: #385718; }

/* Button Icon Text - .btn-icon-text
   --------------------------------------------- */
.btn-icon-text {
  display: flex;
  align-items: center;
  border-radius: 3px;
  background-color: #385718;
  color: #fff;
  width: auto;
  padding: 6px 12px; }
  .btn-icon-text:hover {
    color: #fff; }
  .btn-icon-text i {
    width: 30px;
    height: 30px;
    background-color: rgba(255, 255, 255, 0);
    border-radius: 50%;
    font-size: 18px;
    margin-right: 5px;
    margin-left: -5px; }
    .btn-icon-text i:hover,
    .btn-icon-text i a:hover {
      text-decoration: none; }

/* Genesis Widgets
 ============================================= */
/* Widget
 --------------------------------------------- */
.widget {
  margin-bottom: 40px; }

.widget p:last-child, .widget .item-list li:last-child, .item-list .widget li:last-child, .widget .post-single .entry-content > ul li:last-child, .post-single .entry-content > ul .widget li:last-child, .widget div.product .woocommerce-product-details__short-description ul li:last-child, div.product .woocommerce-product-details__short-description ul .widget li:last-child, .widget .number-list li:last-child, .number-list .widget li:last-child, .widget .post-single .entry-content > ol li:last-child, .post-single .entry-content > ol .widget li:last-child, .widget div.product .woocommerce-product-details__short-description ol li:last-child, div.product .woocommerce-product-details__short-description ol .widget li:last-child,
.widget ul > li:last-of-type {
  margin-bottom: 0; }

.widget ul > li {
  margin-bottom: 10px; }

.widget ul > li:last-of-type {
  padding-bottom: 0; }

.widget ol > li {
  list-style-position: inside;
  list-style-type: decimal;
  padding-left: 20px;
  text-indent: -20px; }

.widget li li {
  border: 0;
  margin: 0 0 0 30px;
  padding: 0; }

.widget_calendar table {
  width: 100%; }

.widget_calendar td,
.widget_calendar th {
  text-align: center; }

/* Featured Content
 --------------------------------------------- */
/* Plugins
 ---------------------------------------------------------------------------------------------------- */
/* Genesis eNews Extended
 --------------------------------------------- */
/* Genesis Simple FAQ
 --------------------------------------------- */
/* Jetpack
 --------------------------------------------- */
/* Forms
  ============================================== */
/*
 ** Form Errors
 */
.woocommerce-invalid-required-field label {
  color: #9e1c25 !important; }

.StripeElement.invalid, .woocommerce-invalid-required-field input {
  box-shadow: 0 0 0 2px #9e1c25 !important;
  border: 1px solid white !important; }

/*CONTACT FORM*/
:focus {
  outline: 0; }

::placeholder {
  opacity: 0.5; }

input:not([type="submit"]):not([type="file"]):not([type="radio"]),
textarea {
  height: 38px;
  width: 100%;
  padding: 6px 10px;
  background-color: #fff;
  border: 1px solid #D1D1D1;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box;
  color: #555; }
  @media only screen and (max-width: 670px) {
    input:not([type="submit"]):not([type="file"]):not([type="radio"]),
    textarea {
      font-size: 16px;
      line-height: 1.5; } }

/* Removes awkward default styles on some inputs for iOS */
input:not([type="submit"]):not([type="file"]):not([type="radio"]),
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input:not([type="submit"]):not([type="file"]):not([type="radio"]):focus, input:not([type="submit"]):not([type="file"]):not([type="radio"]):hover,
select:focus,
select:hover,
textarea:focus,
textarea:hover {
  background-color: #eaeaea;
  border: 1px solid #bbbbbb;
  outline: 0; }

input:not([type="submit"]):not([type="file"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
  box-shadow: 0 0 0 2px #5fa11a;
  border: 1px solid white; }

input[type="checkbox"],
input[type="radio"] {
  display: inline; }

form p, form .item-list li, .item-list form li, form .post-single .entry-content > ul li, .post-single .entry-content > ul form li, form div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul form li, form .number-list li, .number-list form li, form .post-single .entry-content > ol li, .post-single .entry-content > ol form li, form div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol form li {
  margin-bottom: 20px; }

form label {
  font-weight: 700; }

form textarea {
  min-height: 80px; }

form input[type="file"] {
  padding: 0.6em 0;
  background-color: transparent;
  border: 0; }

form input[type="submit"] {
  width: 100%; }
  form input[type="submit"]:disabled {
    background: #f1f1f2;
    box-shadow: 0 0 0 0 #ccc; }
    form input[type="submit"]:disabled:hover {
      top: 0; }

/*WPCF7 SPECIFIC ERROR AND APPROVAL MESSAGES*/
.wpcf7 form .wpcf7-list-item {
  margin: 0; }

.wpcf7 form .wpcf7-not-valid-tip {
  color: #fff;
  background-color: #cc4a4a;
  padding: 0.2em 0.6em;
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 0 0 5px 5px;
  text-align: center; }

.wpcf7 form .wpcf7-response-output {
  position: relative;
  margin: 10px 0;
  padding: 0.5em 1em;
  border: 0 solid #cc4a4a;
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #fff;
  background-color: #cc4a4a;
  border-radius: 5px;
  font-weight: 600; }
  .wpcf7 form .wpcf7-response-output:before {
    font-weight: 700;
    left: 5px;
    top: calc(50% - 15px);
    position: absolute;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background-color: rgba(255, 255, 255, 0.3); }

.wpcf7 form .wpcf7-acceptance-missing,
.wpcf7 form .wpcf7-validation-errors {
  padding-left: 40px; }
  .wpcf7 form .wpcf7-acceptance-missing:before,
  .wpcf7 form .wpcf7-validation-errors:before {
    content: "\ea0a"; }

.wpcf7 form .wpcf7-mail-sent-ok {
  padding-left: 40px;
  background-color: green; }
  .wpcf7 form .wpcf7-mail-sent-ok:before {
    content: "\ea03"; }

/* Select Reset
   --------------------------------------------- */
select {
  display: block;
  font-size: 1.5rem;
  color: #555;
  line-height: 1.3;
  padding: 0.6em 1.4em 0.5em 0.8em;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  border: 1px solid #ccc;
  border-radius: 0.3em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat, repeat;
  background-position: right 0.7em top 50%, 0 0;
  background-size: 0.65em auto, 100%; }
  select::-ms-expand {
    display: none; }
  select:hover {
    border-color: #888; }
  select:focus {
    border-color: #aaa;
    box-shadow: 0 0 1px 3px rgba(59, 153, 252, 0.7);
    box-shadow: 0 0 0 3px -moz-mac-focusring;
    color: #222;
    outline: none; }
  select option {
    font-weight: normal; }

/* Checkbox Reset
 --------------------------------------------- */
input[type="checkbox"] {
  display: none;
  position: absolute;
  -webkit-appearance: none; }
  input[type="checkbox"] + * {
    position: relative;
    line-height: 1.5;
    display: inline; }
    input[type="checkbox"] + * > * {
      float: left; }
    input[type="checkbox"] + *:after, input[type="checkbox"] + *:before {
      pointer-events: none;
      content: ""; }
    input[type="checkbox"] + *:before {
      display: inline-flex;
      height: 16px;
      min-width: 16px;
      width: 16px;
      border: solid 2px #ccc;
      background: #fff;
      margin-right: 10px; }
    input[type="checkbox"] + *:after {
      position: absolute;
      height: 11px;
      width: 22px;
      top: 0;
      left: 0;
      border-bottom: solid 3px #999;
      border-left: solid 3px #999;
      background: none;
      transform: rotate(-45deg) scale(0);
      transform-origin: center center; }
  input[type="checkbox"] + *:hover {
    opacity: 0.8; }
  input[type="checkbox"]:checked + *:before {
    border-color: #f2f2f2;
    background-color: #f2f2f2; }
  input[type="checkbox"]:checked + *:after {
    opacity: 1;
    transform: rotate(-45deg) scale(0.8);
    border-bottom: solid 4px #689447;
    border-left: solid 4px #689447; }

/* List style
 --------------------------------------------- */
.item-list, .post-single .entry-content > ul, div.product .woocommerce-product-details__short-description ul, .number-list, .post-single .entry-content > ol, div.product .woocommerce-product-details__short-description ol {
  margin-bottom: 24px; }
  .item-list li, .post-single .entry-content > ul li, div.product .woocommerce-product-details__short-description ul li, .number-list li, .post-single .entry-content > ol li, div.product .woocommerce-product-details__short-description ol li {
    margin-bottom: 12px;
    margin-left: 24px; }
  .item-list ol, .post-single .entry-content > ul ol, div.product .woocommerce-product-details__short-description ul ol, .number-list ol, .post-single .entry-content > ol ol, div.product .woocommerce-product-details__short-description ol ol,
  .item-list ul,
  .post-single .entry-content > ul ul,
  div.product .woocommerce-product-details__short-description ul ul,
  .number-list ul,
  .post-single .entry-content > ol ul,
  div.product .woocommerce-product-details__short-description ol ul {
    margin-bottom: 0; }

.item-list > li, .post-single .entry-content > ul > li, div.product .woocommerce-product-details__short-description ul > li {
  list-style-type: disc;
  text-align: left; }

.number-list > li, .post-single .entry-content > ol > li, div.product .woocommerce-product-details__short-description ol > li {
  list-style-type: decimal; }

/* Entry Meta
 --------------------------------------------- */
.entry-footer .entry-meta {
  border-top: 1px solid #eee;
  padding-top: 20px; }

.entry-comments-link::before {
  content: "\2014";
  margin: 0 6px 0 2px; }

/* Pagination
 --------------------------------------------- */
.pagination {
  position: relative;
  margin: 60px 0; }

.adjacent-entry-pagination {
  margin-bottom: 0; }

.archive-pagination li {
  display: inline; }

.archive-pagination li a {
  background-color: #f5f5f5;
  color: #333;
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 4px;
  padding: 8px 12px;
  text-decoration: none; }

.archive-pagination li a:focus,
.archive-pagination li a:hover,
.archive-pagination li.active a {
  background-color: #333;
  color: #fff; }

/* Section Title
 --------------------------------------------- */
.section-title {
  margin-bottom: 20px; }
  .section-title.align-c {
    text-align: center;
    margin: 0 auto; }
  .section-title h4 {
    position: relative;
    color: #eec10d;
    font-family: "Open Sans", sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 10px; }

/* Divider
 --------------------------------------------- */
hr {
  border: 0; }

hr.small, .entry-content hr.entry-meta {
  margin: 10px 0; }

.divider, .divider-c {
  position: relative;
  margin: 15px 0;
  border-top: 1px solid #5f9328;
  width: 50px; }

.divider-c {
  margin-left: auto;
  margin-right: auto; }

.divider--full {
  width: 100%;
  border-color: #eec10d;
  border-width: 3px; }

/* Image Card
 ---------------------------------------------
<figure class="img-card">
  <img src="">
  <figcaption></figcaption>
</figure>
*/
.img-card {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  overflow: hidden;
  z-index: 0;
  background-color: #000; }
  .img-card:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100px;
    z-index: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(to top, #1c1817 0%, rgba(28, 24, 23, 0) 100%); }
  .img-card:hover img {
    transform: scale(1.05);
    opacity: 1; }
  .img-card img {
    transition: all 0.8s ease-in-out;
    width: 100%;
    object-fit: cover;
    opacity: 0.8; }
  .img-card figcaption {
    position: absolute;
    padding: 15px 20px;
    font-size: 1.76rem;
    line-height: 1.2;
    color: #fff;
    text-transform: uppercase;
    width: 100%;
    z-index: 1; }

/* Logo Gallery
 ---------------------------------------------
<section class="logo-showcase">
  <header class="section-title align-c">
    <h2>Our Clients</h2>
    <hr class="divider-c">
    <p>Here are some of our our clients.</p>
  </header>

  <div class="logo-showcase-gallery">
    <img src="../../../static/logo-1.jpg">
  </div>
</section>
*/
/* Image Banner
  ==========================================
  <section class="image-banner">
    <div class="container container-left">
      <h3>Title</h3>
      <p>Description</p>
      <a href="#" class="btn btn-3">Learn More</a>
    </div>
    <img src="/static/asd.jpg">
  </section>

  */
/* Banners
  ============================================== */
.entry-header,
.regular-banner, .post-archive .archive-description, .shop-banner, .hero-slider {
  position: relative;
  width: 100%;
  z-index: 0;
  padding: 50px 5%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center; }
  .entry-header img, .regular-banner img, .post-archive .archive-description img, .shop-banner img, .hero-slider img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    object-fit: cover; }

/* Regular Banner
   --------------------------------------------- */
.entry-header,
.regular-banner, .post-archive .archive-description, .shop-banner {
  height: auto;
  min-height: 250px;
  text-align: center; }
  .entry-header > *, .regular-banner > *, .post-archive .archive-description > *, .shop-banner > * {
    margin-bottom: 10px; }
    .entry-header > *:last-child, .regular-banner > *:last-child, .post-archive .archive-description > *:last-child, .shop-banner > *:last-child {
      margin-bottom: 0; }
  .entry-header p, .regular-banner p, .post-archive .archive-description p, .shop-banner p, .entry-header .item-list li, .item-list .entry-header li, .regular-banner .item-list li, .item-list .regular-banner li, .post-archive .archive-description .item-list li, .item-list .post-archive .archive-description li, .shop-banner .item-list li, .item-list .shop-banner li, .entry-header .post-single .entry-content > ul li, .post-single .entry-content > ul .entry-header li, .regular-banner .post-single .entry-content > ul li, .post-single .entry-content > ul .regular-banner li, .post-archive .archive-description .post-single .entry-content > ul li, .post-single .entry-content > ul .post-archive .archive-description li, .shop-banner .post-single .entry-content > ul li, .post-single .entry-content > ul .shop-banner li, .entry-header div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .entry-header li, .regular-banner div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .regular-banner li, .post-archive .archive-description div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .post-archive .archive-description li, .shop-banner div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .shop-banner li, .entry-header .number-list li, .number-list .entry-header li, .regular-banner .number-list li, .number-list .regular-banner li, .post-archive .archive-description .number-list li, .number-list .post-archive .archive-description li, .shop-banner .number-list li, .number-list .shop-banner li, .entry-header .post-single .entry-content > ol li, .post-single .entry-content > ol .entry-header li, .regular-banner .post-single .entry-content > ol li, .post-single .entry-content > ol .regular-banner li, .post-archive .archive-description .post-single .entry-content > ol li, .post-single .entry-content > ol .post-archive .archive-description li, .shop-banner .post-single .entry-content > ol li, .post-single .entry-content > ol .shop-banner li, .entry-header div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .entry-header li, .regular-banner div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .regular-banner li, .post-archive .archive-description div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .post-archive .archive-description li, .shop-banner div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .shop-banner li {
    font-family: "Open Sans", sans-serif; }

/* Giant Banner
 --------------------------------------------- */
/* Hero Slider
 ============================================= */
/* Giant Banner Slider */
.hero-slider {
  visibility: hidden;
  opacity: 0;
  padding: 0;
  overflow: hidden;
  height: auto; }
  @media only screen and (max-width: 670px) {
    .hero-slider {
      max-height: none; } }
  @media only screen and (min-width: 670px) {
    .hero-slider {
      max-height: 720px; } }
  .hero-slider .slick-next,
  .hero-slider .slick-prev {
    z-index: 5; }
    @media only screen and (max-width: 670px) {
      .hero-slider .slick-next,
      .hero-slider .slick-prev {
        top: 50vw; } }
    .hero-slider .slick-next:before,
    .hero-slider .slick-prev:before {
      color: #111b07; }
  .hero-slider .slick-prev {
    left: 1%; }
  .hero-slider .slick-next {
    right: 1%; }

@media only screen and (min-width: 670px) {
  .hero-slider--short {
    max-height: 500px; } }

@media only screen and (min-width: 670px) {
  .hero-slider--short .hero-slide {
    height: 500px; } }

@media only screen and (min-width: 960px) {
  .hero-slider--short .hero-slide {
    max-height: 500px;
    height: 100vh; } }

/* Giant Banner Slide */
.hero-slide {
  height: auto;
  /* Generic Figcaption Styles */
  /* Caption Positions */
  /* Dark font styles */ }
  @media only screen and (max-width: 670px) {
    .hero-slide {
      flex-direction: column; } }
  @media only screen and (min-width: 670px) {
    .hero-slide {
      height: 70vh; } }
  @media only screen and (min-width: 960px) {
    .hero-slide {
      max-height: calc(100vw / 16 * 9);
      height: 100vh; } }
  .hero-slide figcaption {
    position: relative;
    height: auto;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    z-index: 0;
    width: 100%; }
    @media only screen and (max-width: 670px) {
      .hero-slide figcaption {
        padding: 40px 5%;
        background-color: #eec10d;
        text-align: center;
        align-items: center; }
        .hero-slide figcaption > *,
        .hero-slide figcaption h2 {
          color: #fff;
          font-weight: 700; }
        .hero-slide figcaption br {
          display: none; }
        .hero-slide figcaption p, .hero-slide figcaption .item-list li, .item-list .hero-slide figcaption li, .hero-slide figcaption .post-single .entry-content > ul li, .post-single .entry-content > ul .hero-slide figcaption li, .hero-slide figcaption div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .hero-slide figcaption li, .hero-slide figcaption .number-list li, .number-list .hero-slide figcaption li, .hero-slide figcaption .post-single .entry-content > ol li, .post-single .entry-content > ol .hero-slide figcaption li, .hero-slide figcaption div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .hero-slide figcaption li {
          margin-bottom: 10px !important; } }
    @media only screen and (min-width: 670px) {
      .hero-slide figcaption {
        position: absolute; } }
    .hero-slide figcaption h2 {
      font-size: 4.8rem;
      color: #1e2f0d;
      font-weight: 700; }
    .hero-slide figcaption h4 {
      font-family: "Open Sans", sans-serif;
      font-size: 1.4rem;
      color: #456b1d;
      font-weight: 700;
      margin-bottom: 0; }
  @media only screen and (max-width: 670px) {
    .hero-slide img {
      position: relative;
      height: 70vw; } }
  .hero-slide--left:before {
    left: 0; }
  .hero-slide--left.hero-slide--light:before {
    background: linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 100%); }
  .hero-slide--left.hero-slide--dark:before {
    background: linear-gradient(to right, black 0%, rgba(0, 0, 0, 0) 100%); }
  @media only screen and (min-width: 670px) {
    .hero-slide--left figcaption {
      left: 5vw; } }
  .hero-slide--right:before {
    right: 0; }
  .hero-slide--right.hero-slide--light:before {
    background: linear-gradient(to left, white 0%, rgba(255, 255, 255, 0) 100%); }
  .hero-slide--right.hero-slide--dark:before {
    background: linear-gradient(to left, black 0%, rgba(0, 0, 0, 0) 100%); }
  @media only screen and (min-width: 670px) {
    .hero-slide--right figcaption {
      right: 5vw;
      text-align: right;
      align-items: flex-end; } }
  .hero-slide--top:before {
    top: 0; }
  .hero-slide--top.hero-slide--light:before {
    background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 100%); }
  .hero-slide--top.hero-slide--dark:before {
    background: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0) 100%); }
  @media only screen and (min-width: 670px) {
    .hero-slide--top figcaption {
      top: 0; } }
  .hero-slide--center:before {
    top: 0; }
  .hero-slide--center.hero-slide--light:before {
    background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 100%); }
  .hero-slide--center.hero-slide--dark:before {
    background: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0) 100%); }
  @media only screen and (min-width: 670px) {
    .hero-slide--center figcaption {
      top: 50%;
      transform: translateY(-50%); } }
  .hero-slide--bottom:before {
    bottom: 0; }
  .hero-slide--bottom.hero-slide--light:before {
    background: linear-gradient(to top, white 0%, rgba(255, 255, 255, 0) 100%); }
  .hero-slide--bottom.hero-slide--dark:before {
    background: linear-gradient(to top, black 0%, rgba(0, 0, 0, 0) 100%); }
  @media only screen and (min-width: 670px) {
    .hero-slide--bottom figcaption {
      bottom: 0; } }
  @media only screen and (min-width: 670px) {
    .hero-slide--dark figcaption * {
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); }
    .hero-slide--dark figcaption h2 {
      color: #fff; }
    .hero-slide--dark figcaption h4 {
      color: #fff; }
    .hero-slide--dark figcaption p, .hero-slide--dark figcaption .item-list li, .item-list .hero-slide--dark figcaption li, .hero-slide--dark figcaption .post-single .entry-content > ul li, .post-single .entry-content > ul .hero-slide--dark figcaption li, .hero-slide--dark figcaption div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .hero-slide--dark figcaption li, .hero-slide--dark figcaption .number-list li, .number-list .hero-slide--dark figcaption li, .hero-slide--dark figcaption .post-single .entry-content > ol li, .post-single .entry-content > ol .hero-slide--dark figcaption li, .hero-slide--dark figcaption div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .hero-slide--dark figcaption li {
      color: #fff;
      font-weight: 700; } }

/* Left and right figcaption*/
@media only screen and (min-width: 670px) {
  .hero-slide--left figcaption, .hero-slide--right figcaption {
    top: 50%;
    transform: translateY(-50%);
    width: 40%;
    max-width: 400px; }
  .hero-slide--top figcaption, .hero-slide--center figcaption, .hero-slide--bottom figcaption {
    left: 0;
    height: 50%;
    padding: 0 20%;
    text-align: center;
    align-items: center;
    justify-content: center; } }

.hero-slide--left:before, .hero-slide--right:before, .hero-slide--top:before, .hero-slide--center:before, .hero-slide--bottom:before {
  position: absolute;
  mix-blend-mode: overlay;
  opacity: 0.5; }
  @media only screen and (min-width: 670px) {
    .hero-slide--left:before, .hero-slide--right:before, .hero-slide--top:before, .hero-slide--center:before, .hero-slide--bottom:before {
      content: ""; } }
  .hero-slide--left:before, .hero-slide--right:before {
    top: 0;
    width: 50%;
    height: 100%; }
  .hero-slide--top:before, .hero-slide--center:before, .hero-slide--bottom:before {
    left: 0;
    width: 100%;
    height: 50%; }

@media only screen and (max-width: 670px) {
  .hero-slide figcaption img {
    height: auto; }
  .hero-slide figcaption a {
    background-color: #fff;
    color: #eec10d; } }

.hero-slide a.btn {
  border-radius: 22px; }

.post-archive {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin: 0 auto; }
  .post-archive > * {
    margin-bottom: 50px; }
    .post-archive > *:last-child {
      margin-bottom: 0; }
  .post-archive .post-entry-list {
    padding: 0 5%;
    width: 100%; }
    @media only screen and (min-width: 670px) {
      .post-archive .post-entry-list {
        padding: 0;
        flex: 3 1 0;
        margin-left: 5%;
        margin-right: 50px;
        max-width: 650px; } }
  .post-archive .sidebar {
    padding: 0 5%;
    width: 100%; }
    @media only screen and (min-width: 670px) {
      .post-archive .sidebar {
        padding: 0;
        flex: 1 1 0;
        margin-right: 5%;
        max-width: 280px; } }

.post-entry-list > * {
  margin-bottom: 30px; }
  .post-entry-list > *:last-child {
    margin-bottom: 0; }

.post-entry-list .entry-content {
  display: flex;
  flex-flow: row wrap; }
  .post-entry-list .entry-content > * {
    width: 100%;
    margin-bottom: 15px; }
    @media only screen and (min-width: 670px) {
      .post-entry-list .entry-content > * {
        width: calc((100% - (15px * (2 - 1))) / 2);
        margin-right: 15px; }
        .post-entry-list .entry-content > *:nth-child(2n) {
          margin-right: 0; } }
  @media only screen and (min-width: 670px) {
    .post-entry-list .entry-content > *:nth-child(1) {
      flex: 2 1 0; }
    .post-entry-list .entry-content > *:nth-child(2) {
      flex: 3 1 0; } }

.post-entry-list h3, .post-entry-list form.woocommerce-checkout .col-1 h4, form.woocommerce-checkout .col-1 .post-entry-list h4, .post-entry-list form.woocommerce-checkout .checkout_coupon h4, form.woocommerce-checkout .checkout_coupon .post-entry-list h4 {
  margin: 10px 0; }

.post-entry-list p, .post-entry-list .item-list li, .item-list .post-entry-list li, .post-entry-list .post-single .entry-content > ul li, .post-single .entry-content > ul .post-entry-list li, .post-entry-list div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .post-entry-list li, .post-entry-list .number-list li, .number-list .post-entry-list li, .post-entry-list .post-single .entry-content > ol li, .post-single .entry-content > ol .post-entry-list li, .post-entry-list div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .post-entry-list li {
  line-height: 1.5; }

.post-entry-list .category-link {
  padding: 2px 6px; }

.post-entry-list .entry-content__thumbnail-link {
  position: relative;
  min-height: 170px; }
  .post-entry-list .entry-content__thumbnail-link img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    object-fit: cover; }

/* Structure of single post*/
.post-single .entry {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin: 0 auto; }
  .post-single .entry > * {
    margin-bottom: 50px; }
    .post-single .entry > *:last-child {
      margin-bottom: 0; }

.post-single .has-post-thumbnail .entry-header {
  background: #5f9328; }
  .post-single .has-post-thumbnail .entry-header img {
    opacity: 0.7;
    mix-blend-mode: multiply; }

.post-single .entry-content {
  padding: 0 5%;
  width: 100%; }
  @media only screen and (min-width: 670px) {
    .post-single .entry-content {
      padding: 0;
      flex: 3 1 0;
      margin-left: 5%;
      margin-right: 50px;
      max-width: 650px; } }

.post-single .sidebar {
  padding: 0 5%;
  width: 100%; }
  @media only screen and (min-width: 670px) {
    .post-single .sidebar {
      padding: 0;
      flex: 1 1 0;
      margin-right: 5%;
      max-width: 280px; } }

/* Primary sidebar only */
.sidebar-primary .widget-title {
  border-bottom: 4px solid #d9d9d9;
  padding-bottom: 10px;
  margin-bottom: 10px; }

.entry-content .entry-meta {
  color: #b3b3b3; }

/* Single Page Content
  ========================================== */
.single-page .entry-content {
  width: 100%;
  padding: 0 5%;
  margin: 0 auto; }
  @media only screen and (min-width: 960px) {
    .single-page .entry-content {
      max-width: 1180px;
      padding: 50px; } }
  .single-page .entry-content p, .single-page .entry-content .item-list li, .item-list .single-page .entry-content li, .single-page .post-single .entry-content > ul li, .post-single .single-page .entry-content > ul li, .single-page .entry-content div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .single-page .entry-content li, .single-page .entry-content .number-list li, .number-list .single-page .entry-content li, .single-page .post-single .entry-content > ol li, .post-single .single-page .entry-content > ol li, .single-page .entry-content div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .single-page .entry-content li {
    color: #674a2b; }

.has-post-thumbnail .entry-header {
  min-height: 400px;
  background: none;
  padding: 0; }
  .has-post-thumbnail .entry-header img {
    position: relative;
    max-height: 500px; }
  .has-post-thumbnail .entry-header .entry-title {
    order: 2;
    color: #5f9328;
    margin-top: 50px; }

/* Specific to garden picks */
.single-page .wp-block-column {
  display: flex;
  flex-flow: column nowrap; }

/*
 * Quick Book Section
 */
/* Homepage about */
.homepage-about {
  position: relative;
  z-index: 2;
  padding: 100px 5%;
  background-color: #fff; }
  .homepage-about p, .homepage-about .item-list li, .item-list .homepage-about li, .homepage-about .post-single .entry-content > ul li, .post-single .entry-content > ul .homepage-about li, .homepage-about div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .homepage-about li, .homepage-about .number-list li, .number-list .homepage-about li, .homepage-about .post-single .entry-content > ol li, .post-single .entry-content > ol .homepage-about li, .homepage-about div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .homepage-about li {
    font-weight: 700; }
  .homepage-about .homepage-about-1,
  .homepage-about .homepage-about-2 {
    position: absolute;
    top: 50%;
    z-index: -1;
    height: auto;
    max-height: 400px;
    width: 60%;
    opacity: 0.1; }
    @media only screen and (min-width: 960px) {
      .homepage-about .homepage-about-1,
      .homepage-about .homepage-about-2 {
        width: 280px;
        opacity: 1; } }
  .homepage-about .homepage-about-1 {
    top: 0;
    left: -20px; }
    .homepage-about .homepage-about-1 img:not(.feature-image__main):nth-child(2) {
      right: -65px;
      top: 80px; }
    .homepage-about .homepage-about-1 img:not(.feature-image__main):nth-child(3) {
      bottom: 80px;
      right: -50px; }
  .homepage-about .homepage-about-2 {
    right: -20px;
    top: auto;
    bottom: 0; }
    .homepage-about .homepage-about-2 img:not(.feature-image__main) {
      bottom: 150px;
      left: -60px; }
  .homepage-about img {
    object-fit: contain;
    object-position: left; }
    .homepage-about img:not(.feature-image__main) {
      position: absolute;
      width: 80px;
      height: 80px; }
  .homepage-about .col-1, .homepage-about .checkout_coupon {
    max-width: 600px;
    margin: 0 auto;
    text-align: center; }

.ecommerce-highlights {
  display: flex;
  flex-flow: row wrap;
  background-color: #5f9328;
  padding: 20px 5%; }
  .ecommerce-highlights > * {
    width: 100%;
    margin-bottom: 15px; }
    @media only screen and (min-width: 670px) {
      .ecommerce-highlights > * {
        width: calc((100% - (15px * (4 - 1))) / 4);
        margin-right: 15px; }
        .ecommerce-highlights > *:nth-child(4n) {
          margin-right: 0; } }
  @media only screen and (min-width: 960px) {
    .ecommerce-highlights {
      padding: 20px 10%; } }
  @media only screen and (min-width: 670px) {
    .ecommerce-highlights > * {
      margin-bottom: 0; } }
  .ecommerce-highlights .icon-card img {
    filter: saturate(0) invert(1);
    opacity: 1; }
  .ecommerce-highlights .icon-card h4 {
    color: #fff; }

.icon-card {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center; }
  .icon-card > figure {
    position: relative;
    width: 100%;
    padding-top: 40px; }
    .icon-card > figure > img {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      object-fit: cover; }
  .icon-card .caption {
    flex: 1 1 0;
    position: relative;
    padding: 10px;
    background-color: #fff; }
  @media only screen and (min-width: 670px) {
    .icon-card {
      flex-flow: column nowrap; } }
  @media only screen and (min-width: 960px) {
    .icon-card {
      flex-flow: row wrap; } }
  .icon-card img {
    width: 40px;
    height: 40px;
    opacity: 0.6;
    margin-right: 10px; }
  .icon-card h4 {
    text-transform: uppercase;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0;
    color: #2b4312; }
    @media only screen and (min-width: 670px) {
      .icon-card h4 {
        text-align: center; } }
    @media only screen and (min-width: 960px) {
      .icon-card h4 {
        text-align: left; } }
  .icon-card .caption {
    background: transparent; }

/* Services */
.homepage-services {
  position: relative;
  background-color: #fff;
  z-index: 2; }

.services-wrapper {
  margin-top: 50px; }
  .services-wrapper .caption {
    position: relative;
    margin-bottom: 30px; }
    @media only screen and (max-width: 670px) {
      .services-wrapper .caption {
        margin-left: 30px; } }
    .services-wrapper .caption em {
      font-style: normal;
      position: absolute;
      left: -30px;
      top: -50px;
      opacity: 0.2;
      font-size: 8rem; }
      @media only screen and (max-width: 670px) {
        .services-wrapper .caption em {
          top: -20px; } }
    .services-wrapper .caption p, .services-wrapper .caption .item-list li, .item-list .services-wrapper .caption li, .services-wrapper .caption .post-single .entry-content > ul li, .post-single .entry-content > ul .services-wrapper .caption li, .services-wrapper .caption div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .services-wrapper .caption li, .services-wrapper .caption .number-list li, .number-list .services-wrapper .caption li, .services-wrapper .caption .post-single .entry-content > ol li, .post-single .entry-content > ol .services-wrapper .caption li, .services-wrapper .caption div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .services-wrapper .caption li {
      line-height: 1.5; }

.mini-cta {
  display: flex;
  flex-flow: row wrap;
  padding: 0 10%; }
  .mini-cta > * {
    width: 100%;
    margin-bottom: 0px; }
    @media only screen and (min-width: 670px) {
      .mini-cta > * {
        width: calc((100% - (0px * (2 - 1))) / 2);
        margin-right: 0px; }
        .mini-cta > *:nth-child(2n) {
          margin-right: 0; } }
  .mini-cta figure {
    position: relative;
    display: block;
    padding-top: 10px;
    overflow: hidden; }
    .mini-cta figure img {
      position: absolute;
      width: 100%;
      height: 100%;
      object-fit: contain;
      mix-blend-mode: multiply; }
  .mini-cta .form-wrapper {
    padding: 50px 0; }
    .mini-cta .form-wrapper p, .mini-cta .form-wrapper .item-list li, .item-list .mini-cta .form-wrapper li, .mini-cta .form-wrapper .post-single .entry-content > ul li, .post-single .entry-content > ul .mini-cta .form-wrapper li, .mini-cta .form-wrapper div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .mini-cta .form-wrapper li, .mini-cta .form-wrapper .number-list li, .number-list .mini-cta .form-wrapper li, .mini-cta .form-wrapper .post-single .entry-content > ol li, .post-single .entry-content > ol .mini-cta .form-wrapper li, .mini-cta .form-wrapper div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .mini-cta .form-wrapper li {
      margin-bottom: 0;
      display: flex;
      flex-flow: row wrap; }
      .mini-cta .form-wrapper p > *, .mini-cta .form-wrapper .item-list li > *, .item-list .mini-cta .form-wrapper li > *, .mini-cta .form-wrapper .post-single .entry-content > ul li > *, .post-single .entry-content > ul .mini-cta .form-wrapper li > *, .mini-cta .form-wrapper div.product .woocommerce-product-details__short-description ul li > *, div.product .woocommerce-product-details__short-description ul .mini-cta .form-wrapper li > *, .mini-cta .form-wrapper .number-list li > *, .number-list .mini-cta .form-wrapper li > *, .mini-cta .form-wrapper .post-single .entry-content > ol li > *, .post-single .entry-content > ol .mini-cta .form-wrapper li > *, .mini-cta .form-wrapper div.product .woocommerce-product-details__short-description ol li > *, div.product .woocommerce-product-details__short-description ol .mini-cta .form-wrapper li > * {
        width: 100%;
        margin-bottom: 0px; }
        @media only screen and (min-width: 670px) {
          .mini-cta .form-wrapper p > *, .mini-cta .form-wrapper .item-list li > *, .item-list .mini-cta .form-wrapper li > *, .mini-cta .form-wrapper .post-single .entry-content > ul li > *, .post-single .entry-content > ul .mini-cta .form-wrapper li > *, .mini-cta .form-wrapper div.product .woocommerce-product-details__short-description ul li > *, div.product .woocommerce-product-details__short-description ul .mini-cta .form-wrapper li > *, .mini-cta .form-wrapper .number-list li > *, .number-list .mini-cta .form-wrapper li > *, .mini-cta .form-wrapper .post-single .entry-content > ol li > *, .post-single .entry-content > ol .mini-cta .form-wrapper li > *, .mini-cta .form-wrapper div.product .woocommerce-product-details__short-description ol li > *, div.product .woocommerce-product-details__short-description ol .mini-cta .form-wrapper li > * {
            width: calc((100% - (0px * (2 - 1))) / 2);
            margin-right: 0px; }
            .mini-cta .form-wrapper p > *:nth-child(2n), .mini-cta .form-wrapper .item-list li > *:nth-child(2n), .item-list .mini-cta .form-wrapper li > *:nth-child(2n), .mini-cta .form-wrapper .post-single .entry-content > ul li > *:nth-child(2n), .post-single .entry-content > ul .mini-cta .form-wrapper li > *:nth-child(2n), .mini-cta .form-wrapper div.product .woocommerce-product-details__short-description ul li > *:nth-child(2n), div.product .woocommerce-product-details__short-description ul .mini-cta .form-wrapper li > *:nth-child(2n), .mini-cta .form-wrapper .number-list li > *:nth-child(2n), .number-list .mini-cta .form-wrapper li > *:nth-child(2n), .mini-cta .form-wrapper .post-single .entry-content > ol li > *:nth-child(2n), .post-single .entry-content > ol .mini-cta .form-wrapper li > *:nth-child(2n), .mini-cta .form-wrapper div.product .woocommerce-product-details__short-description ol li > *:nth-child(2n), div.product .woocommerce-product-details__short-description ol .mini-cta .form-wrapper li > *:nth-child(2n) {
              margin-right: 0; } }
    .mini-cta .form-wrapper input[type="submit"] {
      margin-top: 0; }

.background-image-divider {
  background: url("../../../wp-content/uploads/jurong-fishery-port.jpg") no-repeat center/cover; }

.background-image-divider-2 {
  background: url("../../../wp-content/uploads/seafood-feature-scaled.jpg") no-repeat center/cover; }

.background-image-divider, .background-image-divider-2 {
  position: relative;
  width: 100%;
  height: 50vh; }
  @media only screen and (min-width: 670px) {
    .background-image-divider, .background-image-divider-2 {
      height: 70vh;
      background-attachment: fixed; } }

/* Floating button */
.floating-whatsapp-button {
  width: 46px;
  height: 46px;
  background-color: #25d366;
  border-radius: 50%;
  font-size: 23px;
  position: fixed;
  font-weight: 400;
  right: 10px;
  bottom: 10px;
  z-index: 9999999;
  color: #fff;
  text-align: center;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
  line-height: 46px; }
  .floating-whatsapp-button:hover,
  .floating-whatsapp-button a:hover {
    text-decoration: none; }

/* Homepage Category Feature */
.homepage-category-feature {
  display: flex;
  flex-flow: row wrap; }
  .homepage-category-feature > * {
    width: 100%;
    margin-bottom: 20px; }
    @media only screen and (min-width: 670px) {
      .homepage-category-feature > * {
        width: calc((100% - (20px * (3 - 1))) / 3);
        margin-right: 20px; }
        .homepage-category-feature > *:nth-child(3n) {
          margin-right: 0; } }

/* Our Achievements */
.our-achievements {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: column nowrap; }

.cols-2-mb-0 > * {
  margin-bottom: 0; }

.cta-mini-wrapper {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  padding: 0 10%; }

.cta-mini-single {
  margin-top: 25px;
  display: flex;
  align-items: center;
  text-transform: uppercase;
  color: #2b4312;
  font-size: 1.6rem; }
  @media only screen and (max-width: 670px) {
    .cta-mini-single {
      flex-flow: column nowrap; } }
  .cta-mini-single:not(:last-child) {
    margin-right: 35px; }
  .cta-mini-single:hover {
    text-decoration: none; }
  .cta-mini-single i {
    width: 40px;
    height: 40px;
    background-color: #5f9328;
    border-radius: 50%;
    font-size: 20px;
    color: #fff;
    margin-right: 5px; }
    .cta-mini-single i:hover,
    .cta-mini-single i a:hover {
      text-decoration: none; }

.full-width-form {
  background-color: #f3d250;
  padding: 50px;
  text-align: center; }
  .full-width-form > * {
    max-width: 670px;
    margin: 0 auto; }

.wvs-has-image-tooltip:before,
[data-wvstooltip]:before {
  display: none !important; }

/* popup free pack */
.modal-dialog {
  max-width: 900px; }
  .modal-dialog .outer-row {
    padding: 5px 0; }
  .modal-dialog .prod-title {
    font-size: 13px;
    line-height: 1.3; }

/*
 * Edited 20190727
 */
/*
* TABLE OF CONTENTS
* ----------- *
* - Woocommerce Variables
* - Woocommerce Global Styles
* - Add to Cart Button
* - Breadcrumb
* - Sale Label
* - Message box
* - Pagination
*/
/* Woocommerce Variables */
div.product-type-variable .single_variation_wrap .woocommerce-variation-price .price:before, .variation .wc-item-meta-label,
.variation dt,
.wc-item-meta .wc-item-meta-label,
.wc-item-meta dt, .woocommerce-order-overview .deliveryDetails > span, .addresses address:before,
.woocommerce-customer-details address:before, .addresses address p:before, .addresses address .item-list li:before, .item-list .addresses address li:before, .addresses address .post-single .entry-content > ul li:before, .post-single .entry-content > ul .addresses address li:before, .addresses address div.product .woocommerce-product-details__short-description ul li:before, div.product .woocommerce-product-details__short-description ul .addresses address li:before, .addresses address .number-list li:before, .number-list .addresses address li:before, .addresses address .post-single .entry-content > ol li:before, .post-single .entry-content > ol .addresses address li:before, .addresses address div.product .woocommerce-product-details__short-description ol li:before, div.product .woocommerce-product-details__short-description ol .addresses address li:before,
.woocommerce-customer-details address p:before, .woocommerce-customer-details address .item-list li:before, .item-list .woocommerce-customer-details address li:before, .woocommerce-customer-details address .post-single .entry-content > ul li:before, .post-single .entry-content > ul .woocommerce-customer-details address li:before, .woocommerce-customer-details address div.product .woocommerce-product-details__short-description ul li:before, div.product .woocommerce-product-details__short-description ul .woocommerce-customer-details address li:before, .woocommerce-customer-details address .number-list li:before, .number-list .woocommerce-customer-details address li:before, .woocommerce-customer-details address .post-single .entry-content > ol li:before, .post-single .entry-content > ol .woocommerce-customer-details address li:before, .woocommerce-customer-details address div.product .woocommerce-product-details__short-description ol li:before, div.product .woocommerce-product-details__short-description ol .woocommerce-customer-details address li:before, form label {
  display: block;
  clip: unset;
  width: auto;
  height: auto;
  text-transform: none;
  font-size: 14px;
  cursor: pointer;
  color: gray;
  font-weight: 700; }

div.product-type-variable .single_variation_wrap .woocommerce-variation-price .price:before {
  font-weight: 700;
  font-size: 1.6rem;
  color: #666; }

/* Archive Page Main Layout
 ============================================= */
.archive.woocommerce .content {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  padding: 0 3vw;
  margin-top: 0; }
  @media only screen and (min-width: 960px) {
    .archive.woocommerce .content {
      padding: 0 5%; } }

.archive.woocommerce aside.widget-area {
  align-self: stretch; }
  @media only screen and (max-width: 670px) {
    .archive.woocommerce aside.widget-area {
      position: fixed;
      display: none;
      width: 100%;
      margin-right: 0;
      border-right: 0;
      z-index: 10000;
      background: #fff;
      height: 100vh;
      top: 0;
      left: 0;
      padding: 100px 50px; } }

/* Shop Banner
--------------------------------------------- */
.shop-banner {
  min-height: 0;
  text-align: left;
  padding-top: 30px;
  padding-bottom: 30px; }
  .shop-banner p, .shop-banner .item-list li, .item-list .shop-banner li, .shop-banner .post-single .entry-content > ul li, .post-single .entry-content > ul .shop-banner li, .shop-banner div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .shop-banner li, .shop-banner .number-list li, .number-list .shop-banner li, .shop-banner .post-single .entry-content > ol li, .post-single .entry-content > ol .shop-banner li, .shop-banner div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .shop-banner li {
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.4rem; }
    @media only screen and (min-width: 960px) {
      .shop-banner p, .shop-banner .item-list li, .item-list .shop-banner li, .shop-banner .post-single .entry-content > ul li, .post-single .entry-content > ul .shop-banner li, .shop-banner div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .shop-banner li, .shop-banner .number-list li, .number-list .shop-banner li, .shop-banner .post-single .entry-content > ol li, .post-single .entry-content > ol .shop-banner li, .shop-banner div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .shop-banner li {
        max-width: 60vw; } }

/* Shop Archive Top Bar
--------------------------------------------- */
.archive-topbar {
  border-bottom: 2px solid #f1f1f1;
  padding-bottom: 30px;
  margin-bottom: 30px;
  position: relative;
  width: 100%;
  padding: 20px 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center; }

.woocommerce-result-count {
  margin-bottom: 0;
  color: #999999;
  font-size: 1.2rem; }

.woocommerce-ordering {
  width: 100%; }
  @media only screen and (max-width: 670px) {
    .woocommerce-ordering {
      margin-bottom: 10px; } }
  @media only screen and (min-width: 960px) {
    .woocommerce-ordering {
      width: 250px; } }

/* Shop Archive Widget Area
--------------------------------------------- */
.woocommerce aside.widget-area {
  border-right: 2px solid #f1f1f1;
  padding-right: 15px;
  margin-right: 15px;
  margin-bottom: 30px;
  width: 150px; }
  @media only screen and (min-width: 960px) {
    .woocommerce aside.widget-area {
      border-right: 2px solid #f1f1f1;
      padding-right: 30px;
      margin-right: 30px;
      width: 250px; } }
  .woocommerce aside.widget-area .widget {
    border-bottom: 2px solid #f1f1f1;
    padding-bottom: 30px;
    margin-bottom: 30px; }

/* Sidebar Toggle */
#sidebar-toggle {
  width: 100%; }
  @media only screen and (min-width: 670px) {
    #sidebar-toggle {
      display: none; } }

#sidebar-toggle-close {
  width: 40px;
  height: 40px;
  background-color: #f1f1f1;
  border-radius: 50%;
  font-size: 25px;
  color: #385718;
  position: absolute;
  top: 5vw;
  right: 5vw; }
  #sidebar-toggle-close:hover,
  #sidebar-toggle-close a:hover {
    text-decoration: none; }
  @media only screen and (min-width: 670px) {
    #sidebar-toggle-close {
      display: none; } }

/* Specifically for product category */
.menu-shop-menu-container,
.widget_product_categories {
  font-size: 1.4rem; }
  .menu-shop-menu-container a, .widget_product_categories a {
    color: #999999;
    display: block;
    padding: 0.2em 0; }
    .menu-shop-menu-container a:hover, .widget_product_categories a:hover {
      color: #666666;
      padding-left: 0.4em;
      text-decoration: none; }

/* Products
--------------------------------------------- */
/* Structure of products to differentiate it from related products */
.archive.woocommerce .products.columns-4 {
  display: flex;
  flex-flow: row wrap; }
  .archive.woocommerce .products.columns-4 > * {
    width: calc((100% - (5px / 2 * (2 - 1))) / 2);
    margin-right: 2.5px; }
    @media only screen and (max-width: 670px) {
      .archive.woocommerce .products.columns-4 > * {
        margin-bottom: 2.5px; } }
    @media only screen and (max-width: 670px) {
      .archive.woocommerce .products.columns-4 > *:nth-child(2n) {
        margin-right: 0; } }
    @media only screen and (min-width: 670px) {
      .archive.woocommerce .products.columns-4 > * {
        width: calc((100% - (5px * (4 - 1))) / 4);
        margin-right: 5px; }
        .archive.woocommerce .products.columns-4 > *:nth-child(4n) {
          margin-right: 0; } }

.archive.woocommerce .products.columns-2 {
  display: flex;
  flex-flow: row wrap; }
  .archive.woocommerce .products.columns-2 > * {
    width: 100%;
    margin-bottom: 5px; }
    @media only screen and (min-width: 670px) {
      .archive.woocommerce .products.columns-2 > * {
        width: calc((100% - (5px * (2 - 1))) / 2);
        margin-right: 5px; }
        .archive.woocommerce .products.columns-2 > *:nth-child(2n) {
          margin-right: 0; } }

ul.products {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  flex: 1 1 0;
  margin-bottom: 30px; }
  @media only screen and (min-width: 960px) {
    ul.products {
      justify-content: flex-start; } }

/* Product List */
li.product {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  text-align: center;
  padding: 5px; }
  li.product > * {
    margin-bottom: 10px; }
    li.product > *:last-child {
      margin-bottom: 0; }
  @media only screen and (min-width: 960px) {
    li.product {
      padding: 10px; }
      li.product:hover {
        box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15); } }
  li.product a {
    width: 100%;
    text-decoration: none; }
  li.product .attachment-woocommerce_thumbnail {
    object-fit: cover;
    width: 100%;
    height: auto;
    margin-bottom: 30px; }
    @media only screen and (min-width: 960px) {
      li.product .attachment-woocommerce_thumbnail {
        transition: all 0.2s ease-in-out;
        margin-left: auto;
        margin-right: auto; } }
  li.product .woocommerce-loop-product__title {
    font-size: 1.6rem;
    color: #456b1d;
    margin-bottom: 5px; }
  li.product .price {
    font-size: 1.4rem;
    font-weight: 400;
    color: gray;
    /* For sale item */ }
    li.product .price ins {
      font-weight: 700;
      color: #5f9328;
      text-decoration: none; }

/* Added to cart button */
/* Garden Picks Only */
.shop-page.woocommerce .content .product-category {
  padding: 30px; }
  .shop-page.woocommerce .content .product-category a > * {
    margin-bottom: 20px; }
    .shop-page.woocommerce .content .product-category a > *:last-child {
      margin-bottom: 0; }
  .shop-page.woocommerce .content .product-category:hover {
    border-radius: 20px;
    background-color: #689447; }
    .shop-page.woocommerce .content .product-category:hover a {
      color: #fff; }
  .shop-page.woocommerce .content .product-category:nth-child(n+8) {
    display: none; }

/* Single Product Layout */
.single-product .product-primary-information {
  background-color: #f7f7f7;
  padding: 0 2.5%; }
  @media only screen and (min-width: 670px) {
    .single-product .product-primary-information {
      padding: 0 5%; } }

/* Simple AND Variable Product */
div.product {
  position: relative;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  /* Common Product Description / Summary */ }
  div.product .summary {
    position: relative; }
    div.product .summary > * {
      margin-bottom: 15px; }
      div.product .summary > *:last-child {
        margin-bottom: 0; }
    @media only screen and (min-width: 670px) {
      div.product .summary {
        flex: 1 1 0; } }
  div.product .product_title {
    font-size: 3rem; }
  div.product .price {
    font-size: 2rem;
    font-weight: 700; }
  div.product .woocommerce-product-details__short-description {
    padding: 20px 10px;
    background-color: white;
    border-radius: 5px;
    border: 1px solid #e6e6e6; }
    @media only screen and (min-width: 670px) {
      div.product .woocommerce-product-details__short-description {
        padding: 20px; } }
    div.product .woocommerce-product-details__short-description > *:last-child {
      margin-bottom: 0; }

/* Common Product Page Gallery */
.woocommerce-product-gallery img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: none; }

.woocommerce-product-gallery div.thumbnails {
  padding-top: 1em; }

.woocommerce-product-gallery.woocommerce-product-gallery {
  position: relative;
  margin-bottom: 40px;
  display: flex;
  flex-flow: row wrap; }
  @media only screen and (min-width: 670px) {
    .woocommerce-product-gallery.woocommerce-product-gallery {
      flex: 1 1 0;
      margin-right: 50px;
      flex-flow: row-reverse nowrap;
      max-width: 42vw; } }
  .woocommerce-product-gallery.woocommerce-product-gallery .woocommerce-product-gallery__image {
    background-color: transparent; }
    .woocommerce-product-gallery.woocommerce-product-gallery .woocommerce-product-gallery__image a > img {
      height: 400px;
      object-fit: contain; }
      @media only screen and (min-width: 670px) {
        .woocommerce-product-gallery.woocommerce-product-gallery .woocommerce-product-gallery__image a > img {
          height: 500px; } }

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  transition: all cubic-bezier(0.795, -0.035, 0, 1) 0.5s;
  margin: 0;
  padding: 0; }

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper .zoomImg {
  background-color: #fff;
  opacity: 0; }

.woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder {
  border: 1px solid #f2f2f2; }

.woocommerce-product-gallery .woocommerce-product-gallery__image:nth-child(n+2) {
  width: 25%;
  display: inline-block; }

.woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  font-size: 2em;
  z-index: 9;
  width: 36px;
  height: 36px;
  background: #fff;
  text-indent: -9999px;
  border-radius: 100%;
  box-sizing: content-box; }
  .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border: 2px solid #000;
    border-radius: 100%;
    position: absolute;
    top: 9px;
    left: 9px;
    box-sizing: content-box; }
  .woocommerce-product-gallery .woocommerce-product-gallery__trigger::after {
    content: "";
    display: block;
    width: 2px;
    height: 8px;
    background: #000;
    border-radius: 6px;
    position: absolute;
    top: 19px;
    left: 22px;
    transform: rotate(-45deg);
    box-sizing: content-box; }

.woocommerce-product-gallery .flex-control-thumbs {
  zoom: 1;
  margin: 0;
  padding: 0;
  align-self: flex-start;
  margin-top: 30px; }
  @media only screen and (min-width: 670px) {
    .woocommerce-product-gallery .flex-control-thumbs {
      width: 80px;
      max-width: 80px;
      min-width: 80px; } }
  .woocommerce-product-gallery .flex-control-thumbs li {
    padding: 0 10px 10px;
    float: left;
    margin: 0;
    list-style: none; }
    .woocommerce-product-gallery .flex-control-thumbs li img {
      cursor: pointer;
      opacity: 0.5;
      margin: 0;
      width: 40px; }
      @media only screen and (min-width: 670px) {
        .woocommerce-product-gallery .flex-control-thumbs li img {
          width: 80px; } }
      .woocommerce-product-gallery .flex-control-thumbs li img:hover {
        opacity: 1; }
  .woocommerce-product-gallery .flex-control-thumbs .slick-list {
    display: flex;
    flex-flow: row wrap;
    align-items: center; }
    @media only screen and (min-width: 670px) {
      .woocommerce-product-gallery .flex-control-thumbs .slick-list {
        flex-direction: column; } }
  .woocommerce-product-gallery .flex-control-thumbs .slick-current img {
    opacity: 1; }
    @media only screen and (min-width: 670px) {
      .woocommerce-product-gallery .flex-control-thumbs .slick-current img {
        box-shadow: 0 0 0 3px #fff, 0 0 0 4px #ccc; } }
  @media only screen and (min-width: 670px) {
    .woocommerce-product-gallery .flex-control-thumbs .slick-next {
      transform: rotate(90deg) translateY(50%);
      top: auto;
      bottom: -30px;
      left: 50%; } }
  @media only screen and (min-width: 670px) {
    .woocommerce-product-gallery .flex-control-thumbs .slick-prev {
      transform: rotate(90deg) translateY(50%);
      top: -30px;
      left: 50%; } }

/* Variable Product */
div.product-type-variable {
  /* For variations */
  /* After variation select */ }
  div.product-type-variable table.variations {
    table-layout: fixed;
    margin-bottom: 10px; }
    div.product-type-variable table.variations tbody {
      vertical-align: top;
      border: 0; }
    div.product-type-variable table.variations td {
      border: 0; }
    div.product-type-variable table.variations .label {
      width: 120px; }
    div.product-type-variable table.variations .value {
      width: auto; }
      div.product-type-variable table.variations .value select {
        width: 100%; }
      div.product-type-variable table.variations .value .reset_variations {
        display: none !important; }
  div.product-type-variable .single_variation_wrap > * {
    margin-bottom: 15px; }
  div.product-type-variable .single_variation_wrap .single_variation {
    padding: 20px 10px;
    background-color: white;
    border-radius: 5px;
    border: 1px solid #e6e6e6; }
    @media only screen and (min-width: 670px) {
      div.product-type-variable .single_variation_wrap .single_variation {
        padding: 20px; } }
  div.product-type-variable .single_variation_wrap .woocommerce-variation-price {
    border-top: 1px solid #f1f1f1;
    padding-top: 20px;
    margin-top: 20px; }
    div.product-type-variable .single_variation_wrap .woocommerce-variation-price .price {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      align-items: center;
      width: 100%; }
      div.product-type-variable .single_variation_wrap .woocommerce-variation-price .price:before {
        content: "Price";
        display: inline-block;
        width: 120px;
        margin-right: 6px; }
      div.product-type-variable .single_variation_wrap .woocommerce-variation-price .price del {
        font-size: 1.2rem;
        opacity: 0.6;
        margin-right: 3px;
        margin-left: auto; }

/* Quantity and Add to cart module */
div.product-type-variable .woocommerce-variation-add-to-cart, div.product-type-simple form.cart {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  padding: 15px 0; }
  div.product-type-variable .woocommerce-variation-add-to-cart input.qty, div.product-type-simple form.cart input.qty {
    height: 100%;
    width: 40px; }
  div.product-type-variable .woocommerce-variation-add-to-cart .quantity, div.product-type-simple form.cart .quantity {
    position: relative;
    z-index: 2;
    display: flex;
    flex-flow: row nowrap;
    flex: 0 0 40px; }
    div.product-type-variable .woocommerce-variation-add-to-cart .quantity input, div.product-type-simple form.cart .quantity input {
      border: 0;
      border-top: 1px solid #cccccc;
      border-bottom: 1px solid #cccccc;
      text-align: center;
      border-radius: 0;
      z-index: 1;
      /* Hide HTML5 Up and Down arrows. */ }
      div.product-type-variable .woocommerce-variation-add-to-cart .quantity input[type="number"]::-webkit-outer-spin-button, div.product-type-simple form.cart .quantity input[type="number"]::-webkit-outer-spin-button, div.product-type-variable .woocommerce-variation-add-to-cart .quantity input[type="number"]::-webkit-inner-spin-button, div.product-type-simple form.cart .quantity input[type="number"]::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0; }
      div.product-type-variable .woocommerce-variation-add-to-cart .quantity input[type="number"], div.product-type-simple form.cart .quantity input[type="number"] {
        -moz-appearance: textfield; }
  div.product-type-variable .woocommerce-variation-add-to-cart .minus, div.product-type-simple form.cart .minus,
  div.product-type-variable .woocommerce-variation-add-to-cart .plus,
  div.product-type-simple form.cart .plus {
    font-size: 20px;
    width: 40px;
    height: 40px;
    padding: 0;
    font-weight: 700;
    border: 1px solid #cccccc; }
  div.product-type-variable .woocommerce-variation-add-to-cart .minus, div.product-type-simple form.cart .minus {
    border-radius: 4px 0 0 4px; }
  
  div.product-type-variable .woocommerce-variation-add-to-cart .plus,
  div.product-type-simple form.cart .plus {
    border-radius: 0 4px 4px 0; }
  div.product-type-variable .woocommerce-variation-add-to-cart .button.single_add_to_cart_button, div.product-type-simple form.cart .button.single_add_to_cart_button {
    flex: 1 1 0;
    margin-left: 15px; }

/* Woocommerce Tabs */
.woocommerce .woocommerce-tabs {
  width: 100%; }

/* Related Products */
.related.products {
  position: relative;
  width: 100%;
  padding: 50px 2.5%; }
  @media only screen and (min-width: 670px) {
    .related.products {
      padding: 50px 5%; } }
  .related.products > h2 {
    position: relative;
    text-align: center;
    font-size: 2.8rem; }
  .related.products .products {
    display: flex;
    flex-flow: row wrap; }
    .related.products .products > * {
      width: calc((100% - (20px / 2 * (2 - 1))) / 2);
      margin-right: 10px; }
      @media only screen and (max-width: 670px) {
        .related.products .products > * {
          margin-bottom: 10px; } }
      @media only screen and (max-width: 670px) {
        .related.products .products > *:nth-child(2n) {
          margin-right: 0; } }
      @media only screen and (min-width: 670px) {
        .related.products .products > * {
          width: calc((100% - (20px * (4 - 1))) / 4);
          margin-right: 20px; }
          .related.products .products > *:nth-child(4n) {
            margin-right: 0; } }

/* Seafood Lobang Only */
.single-product-additional-fields {
  align-items: flex-start;
  margin-top: -10px; }
  .single-product-additional-fields > * {
    margin-bottom: 0;
    min-width: 50%; }
    @media only screen and (max-width: 670px) {
      .single-product-additional-fields > * {
        width: 100%;
        margin-bottom: 10px; } }

.name-languages {
  display: flex;
  flex-flow: row wrap; }
  .name-languages label {
    flex: 1 1 100%; }
  .name-languages p, .name-languages .item-list li, .item-list .name-languages li, .name-languages .post-single .entry-content > ul li, .post-single .entry-content > ul .name-languages li, .name-languages div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .name-languages li, .name-languages .number-list li, .number-list .name-languages li, .name-languages .post-single .entry-content > ol li, .post-single .entry-content > ol .name-languages li, .name-languages div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .name-languages li {
    margin-bottom: 0;
    line-height: 1.3; }

.single-benefit-list {
  padding: 20px 10px;
  background-color: white;
  border-radius: 5px;
  border: 1px solid #e6e6e6; }
  .single-benefit-list > * {
    margin-right: 10px; }
    .single-benefit-list > *:last-child {
      margin-right: 0; }
  @media only screen and (min-width: 670px) {
    .single-benefit-list {
      padding: 20px; } }
  .single-benefit-list p, .single-benefit-list .item-list li, .item-list .single-benefit-list li, .single-benefit-list .post-single .entry-content > ul li, .post-single .entry-content > ul .single-benefit-list li, .single-benefit-list div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .single-benefit-list li, .single-benefit-list .number-list li, .number-list .single-benefit-list li, .single-benefit-list .post-single .entry-content > ol li, .post-single .entry-content > ol .single-benefit-list li, .single-benefit-list div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .single-benefit-list li {
    margin-top: 0;
    margin-bottom: 5px;
    display: block;
    text-align: left;
    font-size: 1.4rem; }
    .single-benefit-list p:before, .single-benefit-list .item-list li:before, .item-list .single-benefit-list li:before, .single-benefit-list .post-single .entry-content > ul li:before, .post-single .entry-content > ul .single-benefit-list li:before, .single-benefit-list div.product .woocommerce-product-details__short-description ul li:before, div.product .woocommerce-product-details__short-description ul .single-benefit-list li:before, .single-benefit-list .number-list li:before, .number-list .single-benefit-list li:before, .single-benefit-list .post-single .entry-content > ol li:before, .post-single .entry-content > ol .single-benefit-list li:before, .single-benefit-list div.product .woocommerce-product-details__short-description ol li:before, div.product .woocommerce-product-details__short-description ol .single-benefit-list li:before {
      content: "";
      margin-right: 10px;
      color: #689447;
      font-size: 1.6rem; }

/* Single product attributes */
.single-product-attributes {
  display: flex;
  flex-flow: row wrap;
  margin: 0 0 0 auto; }
  @media only screen and (min-width: 670px) {
    .single-product-attributes {
      justify-content: flex-end; } }
  .single-product-attributes .tag-label {
    position: relative;
    display: inline-block;
    border-radius: 5px;
    margin-bottom: 5px;
    background-color: #f7f7f7;
    font-weight: 700;
    font-size: 12px;
    padding: 3px 8px;
    font-size: 1.4rem;
    color: #666;
    text-align: center;
    line-height: 1;
    border: 1px solid gray;
    margin: 3px; }
    .single-product-attributes .tag-label:hover {
      background-color: #dedede; }
    .single-product-attributes .tag-label small {
      font-size: 1rem;
      letter-spacing: 0.3px;
      text-transform: uppercase;
      display: block;
      opacity: 0.8;
      margin-bottom: 5px; }

/* Single product add to any plugin */
.summary .addtoany_header {
  width: 100%; }
  @media only screen and (max-width: 670px) {
    .summary .addtoany_header {
      text-align: center; } }
  @media only screen and (min-width: 670px) {
    .summary .addtoany_header {
      float: left;
      line-height: 30px;
      width: 120px; } }

.summary .a2a_kit {
  position: relative;
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 670px) {
    .summary .a2a_kit {
      width: 100%;
      margin-top: -10px;
      padding-bottom: 30px;
      justify-content: center; } }
  @media only screen and (min-width: 670px) {
    .summary .a2a_kit {
      left: 10px; } }

/* Woocommerce Tabs */
.woocommerce .woocommerce-tabs {
  width: 100%;
  margin-top: 0 !important;
  padding: 50px 5%;
  background: url("../../../static/background-pattern.jpg"); }
  @media only screen and (min-width: 960px) {
    .woocommerce .woocommerce-tabs {
      padding: 100px; } }

.tabs.wc-tabs {
  display: flex;
  flex-flow: row wrap;
  max-width: 750px;
  margin: 0 auto; }
  @media only screen and (max-width: 670px) {
    .tabs.wc-tabs > * {
      flex: 1 1 0; }
      .tabs.wc-tabs > * a {
        width: 100%;
        margin-top: 0; } }
  .tabs.wc-tabs li.active a {
    background-color: #fff;
    color: #5f9328; }
  .tabs.wc-tabs a {
    border-radius: 0; }

.woocommerce-Tabs-panel.entry-content {
  padding: 30px;
  background-color: #fff;
  max-width: 750px;
  margin: 0 auto;
  box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.05); }
  @media only screen and (min-width: 960px) {
    .woocommerce-Tabs-panel.entry-content {
      padding: 50px; } }
  .woocommerce-Tabs-panel.entry-content > h2:first-of-type {
    display: none; }

.product_meta {
  display: none; }

.woocommerce .prod-add-info .panel-heading .accordion-toggle:after {
  font-family: 'Glyphicons Halflings';
  content: "\e080";
  float: left;
  color: #64482a;
  margin-right: 15px; }

.woocommerce .prod-add-info .panel-heading .accordion-toggle[aria-expanded="true"]:after {
  content: "\e114"; }

.panel-title {
  text-transform: uppercase;
  color: #456b1d; }

.variations .label label {
  text-align: left;
  float: left; }

.variations .label .woo-selected-variation-item-name {
  color: grey;
  float: left;
  font-size: 1.4rem; }

.variations .woo-variation-items-wrapper {
  width: calc(100% - 120px); }
  .variations .woo-variation-items-wrapper .button-variable-wrapper > * {
    margin-bottom: 5px; }
    .variations .woo-variation-items-wrapper .button-variable-wrapper > *:last-child {
      margin-bottom: 0; }
  .variations .woo-variation-items-wrapper .button-variable-item {
    padding: 6px 12px;
    border-radius: 6px;
    background-color: #fff;
    border: 1px solid #ccc; }
    .variations .woo-variation-items-wrapper .button-variable-item.selected {
      background-color: #5f9328;
      color: #fff;
      font-weight: 700; }

/* Woo Cart
 ============================================= */
/* Structure */
.woocommerce-cart .woocommerce {
  padding: 50px 3vw 80px;
  width: 100%;
  display: flex;
  flex-flow: row wrap; }
  @media only screen and (min-width: 960px) {
    .woocommerce-cart .woocommerce {
      padding: 50px 5% 80px; } }

.woocommerce-cart .entry-content {
  max-width: none;
  padding: 0; }

.woocommerce-cart .woocommerce-cart-form {
  flex: 1 1 100%; }
  @media only screen and (min-width: 960px) {
    .woocommerce-cart .woocommerce-cart-form {
      margin-right: 5vw;
      flex: 2 1 0; } }

.woocommerce-cart .cart-collaterals {
  flex: 1 1 100%; }
  @media only screen and (min-width: 960px) {
    .woocommerce-cart .cart-collaterals {
      flex: 1 1 0; } }

/* General Table */
.shop_table {
  background-color: #fff;
  font-size: 1.4rem;
  table-layout: fixed;
  overflow: hidden; }
  .shop_table p, .shop_table .item-list li, .item-list .shop_table li, .shop_table .post-single .entry-content > ul li, .post-single .entry-content > ul .shop_table li, .shop_table div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .shop_table li, .shop_table .number-list li, .number-list .shop_table li, .shop_table .post-single .entry-content > ol li, .post-single .entry-content > ol .shop_table li, .shop_table div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .shop_table li {
    margin: 0; }
  .shop_table thead {
    color: #999999;
    font-size: 1.2rem;
    text-transform: uppercase;
    border-bottom: 5px solid #eee; }
  .shop_table th {
    padding: 8px 10px;
    font-weight: 700;
    border-top: 1px solid #eee; }
  .shop_table td {
    padding: 15px 10px; }
    @media only screen and (min-width: 960px) {
      .shop_table td {
        padding: 25px 15px; } }
    .shop_table td:before {
      text-transform: uppercase;
      font-size: 1.2rem;
      color: #999; }
  .shop_table td.product-name {
    font-weight: 700;
    color: #456b1d;
    font-size: 1.4rem;
    width: auto;
    line-height: 2.2rem; }
    .shop_table td.product-name a {
      color: #4d4d4d;
      font-weight: 700; }
    .shop_table td.product-name p, .shop_table td.product-name .item-list li, .item-list .shop_table td.product-name li, .shop_table td.product-name .post-single .entry-content > ul li, .post-single .entry-content > ul .shop_table td.product-name li, .shop_table td.product-name div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .shop_table td.product-name li, .shop_table td.product-name .number-list li, .number-list .shop_table td.product-name li, .shop_table td.product-name .post-single .entry-content > ol li, .post-single .entry-content > ol .shop_table td.product-name li, .shop_table td.product-name div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .shop_table td.product-name li {
      color: #999999;
      font-size: 1.2rem;
      margin-bottom: 15px;
      font-weight: 400; }
      .shop_table td.product-name p:last-child, .shop_table td.product-name .item-list li:last-child, .item-list .shop_table td.product-name li:last-child, .shop_table td.product-name .post-single .entry-content > ul li:last-child, .post-single .entry-content > ul .shop_table td.product-name li:last-child, .shop_table td.product-name div.product .woocommerce-product-details__short-description ul li:last-child, div.product .woocommerce-product-details__short-description ul .shop_table td.product-name li:last-child, .shop_table td.product-name .number-list li:last-child, .number-list .shop_table td.product-name li:last-child, .shop_table td.product-name .post-single .entry-content > ol li:last-child, .post-single .entry-content > ol .shop_table td.product-name li:last-child, .shop_table td.product-name div.product .woocommerce-product-details__short-description ol li:last-child, div.product .woocommerce-product-details__short-description ol .shop_table td.product-name li:last-child {
        margin-bottom: 0; }
  .shop_table .product-quantity {
    width: 100%; }
    @media only screen and (min-width: 670px) {
      .shop_table .product-quantity {
        width: 100px; } }
    .shop_table .product-quantity input {
      width: 50px;
      text-align: center; }
      @media only screen and (min-width: 670px) {
        .shop_table .product-quantity input {
          width: 80%;
          text-align: left; } }
  @media only screen and (min-width: 670px) {
    .shop_table .product-price {
      width: 100px; }
    .shop_table .product-subtotal {
      width: 100px; } }

/* Cart Table */
table.cart {
  /* Mobile Table */ }
  table.cart .product-remove {
    font-weight: 700;
    padding: 10px; }
    @media only screen and (min-width: 670px) {
      table.cart .product-remove {
        width: 30px; } }
    table.cart .product-remove a {
      width: 26px;
      height: 26px;
      background-color: #9e1c25;
      border-radius: 50%;
      font-size: 0;
      color: #fff;
      margin: 0 0 0 auto;
      font-size: 0; }
      table.cart .product-remove a:hover,
      table.cart .product-remove a a:hover {
        text-decoration: none; }
      @media only screen and (min-width: 960px) {
        table.cart .product-remove a {
          width: 20px;
          height: 20px;
          opacity: 0.6; }
          table.cart .product-remove a:hover {
            opacity: 1;
            text-decoration: none; } }
      table.cart .product-remove a:after {
        content: "\ea0a";
        font-size: 14px;
        font-weight: 700; }
  @media only screen and (min-width: 670px) {
    table.cart .product-thumbnail {
      width: 100px;
      text-align: center; }
      table.cart .product-thumbnail img {
        width: 80px;
        height: 80px;
        object-fit: contain;
        padding: 5px; } }
  table.cart .actions {
    padding: 20px;
    border-top: 3px solid #eee;
    *zoom: 1; }
    table.cart .actions::after, table.cart .actions::before {
      content: ' ';
      display: table; }
    table.cart .actions::after {
      clear: both; }
    table.cart .actions .button {
      margin: 0;
      font-size: 1.3rem; }
    table.cart .actions .coupon {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      float: left; }
      table.cart .actions .coupon label[for="coupon_code"] {
        display: none; }
    table.cart .actions button[name="update_cart"] {
      float: right; }
    table.cart .actions #coupon_code {
      width: 50%; }
      @media only screen and (min-width: 960px) {
        table.cart .actions #coupon_code {
          width: auto; } }
  @media only screen and (max-width: 670px) {
    table.cart tbody tr.cart_item {
      border: 1px solid #eee;
      margin-bottom: 20px;
      border-radius: 10px; }
      table.cart tbody tr.cart_item td {
        border-color: #f5f5f5; } }

/* Variation text within table */
.variation,
.wc-item-meta {
  margin: 0; }
  .variation .wc-item-meta-label,
  .variation dt,
  .wc-item-meta .wc-item-meta-label,
  .wc-item-meta dt {
    margin-top: 10px; }
  .variation dd,
  .wc-item-meta dd {
    margin: 0; }

/* Cart Totals Table */
.cart_totals {
  background-color: #f7f7f7;
  padding: 5px 20px 20px; }
  .cart_totals .shop_table {
    background-color: transparent;
    border-radius: 0;
    box-shadow: 0 0 0 0 transparent;
    margin-bottom: 10px; }
  @media only screen and (min-width: 670px) {
    .cart_totals .woocommerce-shipping-totals {
      width: 200%; } }
  .cart_totals > h2 {
    display: none; }
  .cart_totals tr:first-child > * {
    border-top: 0; }
  .cart_totals td,
  .cart_totals th {
    padding: 12px 0; }
  .cart_totals th {
    width: auto;
    border-top: 1px solid #eee;
    color: #666; }
  .cart_totals td {
    text-align: right; }
  .cart_totals .woocommerce-shipping-destination {
    line-height: 20px;
    font-size: 1.2rem;
    margin: 10px 0;
    opacity: 0.8; }
    .cart_totals .woocommerce-shipping-destination strong {
      display: block; }
  .cart_totals .checkout-button i {
    font-size: 1.4rem; }

#shipping_method {
  font: 700 1.4rem "Open Sans", sans-serif; }
  #shipping_method > li {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    width: 100%; }
  #shipping_method input[type="radio"] {
    margin-top: 0;
    margin-right: 10px; }
    #shipping_method input[type="radio"]:checked + label {
      border-left: 5px solid #1e2f0d; }
  #shipping_method label {
    width: 100%;
    text-transform: capitalize; }

.cart-empty {
  width: 100%;
  text-align: center; }

.return-to-shop {
  width: 100%;
  text-align: center; }

.woocommerce .cart-collaterals .woocommerce-shipping-totals {
  display: flex;
  flex-flow: column nowrap; }
  @media only screen and (max-width: 670px) {
    .woocommerce .cart-collaterals .woocommerce-shipping-totals td:before {
      content: "Select your shipping method"; } }
  @media only screen and (min-width: 670px) {
    .woocommerce .cart-collaterals .woocommerce-shipping-totals {
      width: 200%; } }
  .woocommerce .cart-collaterals .woocommerce-shipping-totals h3, .woocommerce .cart-collaterals .woocommerce-shipping-totals form.woocommerce-checkout .col-1 h4, form.woocommerce-checkout .col-1 .woocommerce .cart-collaterals .woocommerce-shipping-totals h4, .woocommerce .cart-collaterals .woocommerce-shipping-totals form.woocommerce-checkout .checkout_coupon h4, form.woocommerce-checkout .checkout_coupon .woocommerce .cart-collaterals .woocommerce-shipping-totals h4 {
    font-size: 2rem; }
  .woocommerce .cart-collaterals .woocommerce-shipping-totals th p, .woocommerce .cart-collaterals .woocommerce-shipping-totals th .item-list li, .item-list .woocommerce .cart-collaterals .woocommerce-shipping-totals th li, .woocommerce .cart-collaterals .woocommerce-shipping-totals th .post-single .entry-content > ul li, .post-single .entry-content > ul .woocommerce .cart-collaterals .woocommerce-shipping-totals th li, .woocommerce .cart-collaterals .woocommerce-shipping-totals th div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .woocommerce .cart-collaterals .woocommerce-shipping-totals th li, .woocommerce .cart-collaterals .woocommerce-shipping-totals th .number-list li, .number-list .woocommerce .cart-collaterals .woocommerce-shipping-totals th li, .woocommerce .cart-collaterals .woocommerce-shipping-totals th .post-single .entry-content > ol li, .post-single .entry-content > ol .woocommerce .cart-collaterals .woocommerce-shipping-totals th li, .woocommerce .cart-collaterals .woocommerce-shipping-totals th div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .woocommerce .cart-collaterals .woocommerce-shipping-totals th li {
    font-size: 1.1rem;
    line-height: 1.5; }
  @media only screen and (max-width: 670px) {
    .woocommerce .cart-collaterals .woocommerce-shipping-totals #shipping_method {
      padding-left: 0; } }

.woocommerce-order-received .entry-content {
  padding: 0;
  max-width: none; }

.woocommerce-checkout:not(.woocommerce-order-received) .cta-mini-wrapper,
.woocommerce-checkout:not(.woocommerce-order-received) .our-achievements {
  display: none; }

.woocommerce-checkout:not(.woocommerce-order-received) .entry,
.woocommerce-checkout:not(.woocommerce-order-received) .entry-content {
  padding: 0;
  max-width: none; }

.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce {
  padding: 0 5% 50px;
  max-width: none; }
  .woocommerce-checkout:not(.woocommerce-order-received) .woocommerce .woocommerce-form-login-toggle {
    flex: 1 1 100%; }
  .woocommerce-checkout:not(.woocommerce-order-received) .woocommerce h3, .woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.woocommerce-checkout .col-1 h4, form.woocommerce-checkout .col-1 .woocommerce-checkout:not(.woocommerce-order-received) .woocommerce h4, .woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.woocommerce-checkout .checkout_coupon h4, form.woocommerce-checkout .checkout_coupon .woocommerce-checkout:not(.woocommerce-order-received) .woocommerce h4 {
    margin-bottom: 20px; }

.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address span {
  font-size: 1.6rem;
  font-weight: 400; }

.woocommerce-checkout:not(.woocommerce-order-received) .footer-widgets {
  display: none; }

form.woocommerce-checkout .col2-set {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  position: relative; }
  form.woocommerce-checkout .col2-set > * {
    width: 100%;
    margin-bottom: 30px 2; }
    @media only screen and (min-width: 670px) {
      form.woocommerce-checkout .col2-set > * {
        width: calc((100% - (30px 2 * (2 - 1))) / 2);
        margin-right: 30px 2; }
        form.woocommerce-checkout .col2-set > *:nth-child(2n) {
          margin-right: 0; } }
  @media only screen and (min-width: 670px) {
    form.woocommerce-checkout .col2-set > *:nth-child(1) {
      flex: 3 1 0; }
    form.woocommerce-checkout .col2-set > *:nth-child(2) {
      flex: 2 1 0; } }

form.woocommerce-checkout .col-1, form.woocommerce-checkout .checkout_coupon {
  margin-bottom: 50px; }
  form.woocommerce-checkout .col-1 > *, form.woocommerce-checkout .checkout_coupon > * {
    margin-bottom: 25px; }
    form.woocommerce-checkout .col-1 > *:last-child, form.woocommerce-checkout .checkout_coupon > *:last-child {
      margin-bottom: 0; }
  @media only screen and (max-width: 670px) {
    form.woocommerce-checkout .col-1, form.woocommerce-checkout .checkout_coupon {
      padding: 0; } }
  form.woocommerce-checkout .col-1 h4, form.woocommerce-checkout .checkout_coupon h4 {
    border-top: 1px solid #e6e6e6;
    padding-top: 50px;
    margin-top: 50px; }

form.woocommerce-checkout .col-2 {
  padding: 30px 10px;
  align-self: flex-start; }
  @media only screen and (min-width: 960px) {
    form.woocommerce-checkout .col-2 {
      padding: 0; } }

@media only screen and (min-width: 960px) {
  #order-review-wrapper {
    border-left: 1px solid #f2f2f2;
    padding-left: 50px;
    margin-left: 50px;
    max-width: 400px; } }

/* Ship to a different address */
.woocommerce-form__label-for-checkbox span {
  font-size: 1.6rem;
  font-weight: 700;
  font-family: "Open Sans", sans-serif;
  letter-spacing: 0; }

/* Select shipping method
--------------------------------------------- */
.checkout-select-shipping-method {
  border-top: 1px solid #d9d9d9;
  padding-top: 60px;
  margin-top: 60px; }

/* Payment method
--------------------------------------------- */
.woocommerce-checkout-review-order h4 {
  font-weight: 700; }

/* Checkout Page Order Summary Table
--------------------------------------------- */
.shop_table.woocommerce-checkout-review-order-table .product-total,
.shop_table.woocommerce-checkout-review-order-table tfoot td {
  width: 80px;
  text-align: right;
  vertical-align: top; }

.shop_table.woocommerce-checkout-review-order-table thead {
  display: none; }

.shop_table.woocommerce-checkout-review-order-table th {
  padding: 8px 0; }

.shop_table.woocommerce-checkout-review-order-table td {
  font-size: 13px;
  line-height: 1.3;
  padding: 13px 0; }

.shop_table.woocommerce-checkout-review-order-table .variation {
  overflow: hidden;
  max-height: 0; }
  .shop_table.woocommerce-checkout-review-order-table .variation p, .shop_table.woocommerce-checkout-review-order-table .variation .item-list li, .item-list .shop_table.woocommerce-checkout-review-order-table .variation li, .shop_table.woocommerce-checkout-review-order-table .variation .post-single .entry-content > ul li, .post-single .entry-content > ul .shop_table.woocommerce-checkout-review-order-table .variation li, .shop_table.woocommerce-checkout-review-order-table .variation div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .shop_table.woocommerce-checkout-review-order-table .variation li, .shop_table.woocommerce-checkout-review-order-table .variation .number-list li, .number-list .shop_table.woocommerce-checkout-review-order-table .variation li, .shop_table.woocommerce-checkout-review-order-table .variation .post-single .entry-content > ol li, .post-single .entry-content > ol .shop_table.woocommerce-checkout-review-order-table .variation li, .shop_table.woocommerce-checkout-review-order-table .variation div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .shop_table.woocommerce-checkout-review-order-table .variation li {
    font-size: 12px; }

.shop_table.woocommerce-checkout-review-order-table .variation--active {
  max-height: 500px; }

.shop_table.woocommerce-checkout-review-order-table .order-total {
  border-bottom: 4px double #bfbfbf; }

.shop_table.woocommerce-checkout-review-order-table .product-name {
  cursor: pointer; }
  .shop_table.woocommerce-checkout-review-order-table .product-name:hover {
    color: #1e2f0d; }

/* Payment Section
--------------------------------------------- */
#payment {
  background-color: #eeeeec;
  padding: 30px;
  border-radius: 20px;
  /* To select saved payment methods */ }
  #payment .wc-saved-payment-methods {
    margin: 15px 0; }
    #payment .wc-saved-payment-methods label {
      padding: 0.5rem 1rem; }
      #payment .wc-saved-payment-methods label:hover {
        background-color: #e6e6e6; }

input[id^="payment_method"] {
  display: block !important;
  float: left;
  margin-right: 10px; }

.wc_payment_methods {
  margin-bottom: 25px; }

.wc_payment_method {
  margin-bottom: 15px; }
  .wc_payment_method > label {
    cursor: pointer;
    color: #674a2b;
    margin-left: 23px; }
    .wc_payment_method > label img {
      float: right; }

.payment_box {
  border: 1px solid #e0e0e0;
  border-radius: 7px;
  padding: 20px;
  background-color: #fafafa;
  /* Error inside payment */ }
  .payment_box > * {
    margin-bottom: 10px; }
    .payment_box > *:last-child {
      margin-bottom: 0; }
  @media only screen and (min-width: 960px) {
    .payment_box {
      padding: 20px; } }
  .payment_box p, .payment_box .item-list li, .item-list .payment_box li, .payment_box .post-single .entry-content > ul li, .post-single .entry-content > ul .payment_box li, .payment_box div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .payment_box li, .payment_box .number-list li, .number-list .payment_box li, .payment_box .post-single .entry-content > ol li, .post-single .entry-content > ol .payment_box li, .payment_box div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .payment_box li {
    font-size: 16px; }
  .payment_box .wc-payment-form {
    border: 0;
    padding: 0; }
    .payment_box .wc-payment-form .form-row {
      margin-bottom: 10px; }
  .payment_box .woocommerce_error {
    font-weight: 700;
    padding: 0.5rem 1rem;
    text-align: center; }

/* For Stripe only
--------------------------------------------- */
#stripe-payment-data p, #stripe-payment-data .item-list li, .item-list #stripe-payment-data li, #stripe-payment-data .post-single .entry-content > ul li, .post-single .entry-content > ul #stripe-payment-data li, #stripe-payment-data div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul #stripe-payment-data li, #stripe-payment-data .number-list li, .number-list #stripe-payment-data li, #stripe-payment-data .post-single .entry-content > ol li, .post-single .entry-content > ol #stripe-payment-data li, #stripe-payment-data div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol #stripe-payment-data li {
  font-size: 1.3rem;
  line-height: 1.5; }

label[for="payment_method_stripe"] img {
  display: none; }

/* After payment box
--------------------------------------------- */
.place-order .woocommerce-terms-and-conditions-checkbox-text {
  display: inline-flex; }
  .place-order .woocommerce-terms-and-conditions-checkbox-text a {
    margin-left: 3px; }

.place-order p, .place-order .item-list li, .item-list .place-order li, .place-order .post-single .entry-content > ul li, .post-single .entry-content > ul .place-order li, .place-order div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .place-order li, .place-order .number-list li, .number-list .place-order li, .place-order .post-single .entry-content > ol li, .post-single .entry-content > ol .place-order li, .place-order div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .place-order li {
  font-size: 1.4rem;
  color: #666; }

#place_order {
  width: 100%; }

/* Errors
--------------------------------------------- */
/* Order Delivery Date Only */
#orddd_time_slot_field .select2-selection,
#orddd_time_slot_field .select2-selection__arrow {
  height: 40px; }

#orddd_time_slot_field .select2-selection__rendered {
  line-height: 38px; }

#payment .payment_methods > li > label img {
  display: none; }

/* Checkout coupon*/
.checkout_coupon {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center; }
  .checkout_coupon button {
    width: 100%; }
  .checkout_coupon .form-row {
    margin-left: 0;
    margin-right: 0; }

#order_review_heading {
  font-family: "Open Sans", sans-serif;
  font-weight: 700; }

.woocommerce-checkout .woocommerce-form-login .form-row {
  width: 100%; }

.woocommerce_agreement {
  display: flex;
  flex-flow: row-reverse nowrap;
  justify-content: flex-end;
  line-height: 1.5; }
  .woocommerce_agreement .required {
    font-size: 0; }

#privacy_policy-description {
  display: block !important;
  font-size: 12px;
  padding-top: 10px;
  padding-left: 25px;
  line-height: 1.5;
  color: #888; }

/* 1 item to review
 ============================================= */
.woocommerce-order-received .entry-title {
  font-size: 4rem; }

.woocommerce-order-received .woocommerce-order {
  padding: 50px 5%;
  background-color: #f7f7f7; }
  .woocommerce-order-received .woocommerce-order > * {
    margin-bottom: 40px; }
    .woocommerce-order-received .woocommerce-order > *:last-child {
      margin-bottom: 0; }
  @media only screen and (min-width: 960px) {
    .woocommerce-order-received .woocommerce-order {
      padding: 50px 10%; } }

.woocommerce-order-received .woocommerce-order-details__title {
  font-size: 2rem; }

@media only screen and (max-width: 670px) {
  .woocommerce-order-received .woocommerce-customer-details,
  .woocommerce-order-received .woocommerce-order-details {
    padding: 0; } }

/* Overview bar */
.woocommerce-order-overview {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  background-color: #fff;
  position: relative;
  margin: 0 auto;
  border-top: 3px solid #5f9328;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
  /* REVIEW THIS */ }
  .woocommerce-order-overview > * {
    flex: 1 1 100%;
    position: relative;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.2rem;
    padding: 10px 20px;
    border-right: 1px dotted #ddd;
    border-bottom: 1px dotted #ddd;
    color: #888; }
    @media only screen and (min-width: 960px) {
      .woocommerce-order-overview > * {
        flex: 1 1 auto; } }
    .woocommerce-order-overview > *:last-child {
      border-right: 0; }
    .woocommerce-order-overview > * strong {
      position: relative;
      text-transform: none;
      display: block;
      font-weight: 700;
      font-size: 1.6rem;
      color: #263b10;
      line-height: 20px; }
  .woocommerce-order-overview .deliveryDetails {
    flex: 1 1 100%;
    background-color: #456b1d;
    margin: 0;
    color: #fff;
    font-size: 1.6rem;
    text-transform: capitalize; }
    @media only screen and (min-width: 960px) {
      .woocommerce-order-overview .deliveryDetails {
        text-align: center;
        flex: 1 1 50%; } }
    .woocommerce-order-overview .deliveryDetails > span {
      color: #fff; }

.woocommerce-thankyou-order-received {
  text-align: center; }

.woocommerce-table--order-details .product-total,
.woocommerce-table--order-details tfoot td {
  width: 50%;
  text-align: right;
  vertical-align: top; }

.woocommerce-order-pay .entry-content {
  background-color: #f7f7f7; }

.woocommerce-order-pay .product-quantity {
  width: auto; }

/* Woocommerce Account Page
 ============================================= */
/* Main Structure */
.woocommerce-MyAccount-content {
  padding: 35px 17.5px;
  background-color: white;
  border-radius: 10px;
  border: 1px solid #ddd; }
  @media only screen and (min-width: 670px) {
    .woocommerce-MyAccount-content {
      padding: 35px; } }

/* general woocommerce account style. For my account, logged in, and lost password */
.woocommerce-account {
  /* Woocommerce account logged in specific style*/ }
  .woocommerce-account .entry-content {
    position: relative;
    background-color: #f7f7f7;
    padding: 30px 5%; }
    @media only screen and (min-width: 960px) {
      .woocommerce-account .entry-content {
        max-width: none;
        width: 100%;
        padding: 30px 10%; } }
  .woocommerce-account.logged-in .woocommerce {
    align-items: flex-start; }
    @media only screen and (min-width: 670px) {
      .woocommerce-account.logged-in .woocommerce > *:nth-child(1) {
        flex: 1 1 0; }
      .woocommerce-account.logged-in .woocommerce > *:nth-child(2) {
        flex: 3 1 0; } }

/* My Account Navigation */
.woocommerce-MyAccount-navigation {
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid #ddd;
  padding: 15px 0; }

.woocommerce-MyAccount-navigation-link {
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 10px; }
  .woocommerce-MyAccount-navigation-link.is-active a {
    font-weight: 700;
    color: #456b1d; }
  .woocommerce-MyAccount-navigation-link a {
    display: block;
    padding: 0 12px;
    color: #888;
    font-size: 1.5rem;
    font-weight: 400; }
    .woocommerce-MyAccount-navigation-link a:hover {
      text-decoration: none;
      padding-left: 18px;
      color: #555; }

/* Content */
.woocommerce-MyAccount-content {
  display: flex;
  flex-flow: column nowrap;
  margin: 0 auto; }
  .woocommerce-MyAccount-content em {
    opacity: 0.8;
    font-size: 1.4rem; }
  .woocommerce-MyAccount-content mark {
    position: relative;
    display: inline-block;
    border-radius: 5px;
    margin-bottom: 5px;
    background-color: #f2f2f2;
    font-weight: 700;
    font-size: 12px;
    padding: 3px 8px;
    color: #333333; }
    .woocommerce-MyAccount-content mark:hover {
      background-color: #d9d9d9; }
  .woocommerce-MyAccount-content fieldset {
    background-color: #fcfcfc;
    border: 1px solid #e6e6e6;
    padding: 10px 30px;
    margin: 20px 0; }
    .woocommerce-MyAccount-content fieldset legend {
      font-weight: 700;
      font-size: 1.6rem;
      color: #666666;
      padding: 0 10px;
      margin: 0 -10px; }

/* Remove dashboard link */
.woocommerce-MyAccount-navigation-link--dashboard {
  display: none; }

/* Password strength */
.woocommerce-password-strength {
  padding: 5px 0; }
  .woocommerce-password-strength.short {
    color: #9e1c25; }
  .woocommerce-password-strength.bad {
    color: #eec10d; }
  .woocommerce-password-strength.good {
    color: #689447; }
  .woocommerce-password-strength.strong {
    color: #689447; }

/* Woocommerce Account Orders Table */
.woocommerce-orders-table__cell-order-delivery-date, .woocommerce-orders-table__header-order-delivery-date {
  display: none !important; }

@media only screen and (min-width: 960px) {
  .woocommerce-orders-table__header-order-number {
    width: 80px; }
  .woocommerce-orders-table__header-order-actions, .woocommerce-orders-table__header-order-status {
    width: 120px; } }

.woocommerce-table--order-details td {
  padding: 15px 10px;
  line-height: 1.5; }

/* Login
 ============================================= */
/* My account page
--------------------------------------------- */
#customer_login {
  display: flex;
  flex-flow: row wrap; }
  #customer_login > * {
    width: 100%;
    margin-bottom: 5vw; }
    @media only screen and (min-width: 670px) {
      #customer_login > * {
        width: calc((100% - (5vw * (2 - 1))) / 2);
        margin-right: 5vw; }
        #customer_login > *:nth-child(2n) {
          margin-right: 0; } }
  #customer_login .woocommerce-form-login {
    background-color: transparent;
    padding: 0; }
  #customer_login .col-1, #customer_login .checkout_coupon {
    border-bottom: 1px solid #d9d9d9;
    margin-bottom: 30px; }
    @media only screen and (min-width: 960px) {
      #customer_login .col-1, #customer_login .checkout_coupon {
        border-bottom: 0;
        margin-bottom: 0; } }

.woocommerce-form-login {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  background-color: #fff;
  padding: 30px;
  width: 100%; }
  @media only screen and (min-width: 960px) {
    .woocommerce-form-login {
      max-width: 50vw;
      margin: 0 auto; } }
  .woocommerce-form-login label.woocommerce-form__label {
    float: right;
    font-size: 1.4rem; }

.woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .item-list li, .item-list .woocommerce-privacy-policy-text li, .woocommerce-privacy-policy-text .post-single .entry-content > ul li, .post-single .entry-content > ul .woocommerce-privacy-policy-text li, .woocommerce-privacy-policy-text div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .woocommerce-privacy-policy-text li, .woocommerce-privacy-policy-text .number-list li, .number-list .woocommerce-privacy-policy-text li, .woocommerce-privacy-policy-text .post-single .entry-content > ol li, .post-single .entry-content > ol .woocommerce-privacy-policy-text li, .woocommerce-privacy-policy-text div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .woocommerce-privacy-policy-text li {
  line-height: 1.5;
  color: #999999; }

/* For lost password page */
.widget_layered_nav_filters ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none outside;
  zoom: 1; }
  .widget_layered_nav_filters ul li {
    float: left;
    padding: 0 1em 1px 1px;
    list-style: none; }
    .widget_layered_nav_filters ul li a {
      color: #888;
      font-size: 1.3rem;
      text-decoration: none; }
      .widget_layered_nav_filters ul li a::before {
        display: inline-block;
        font: normal normal normal 1em/1 'baseicon';
        speak: none;
        text-transform: none;
        /* Better Font Rendering */
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: "\ea0a";
        font-weight: 700;
        margin-right: 8px;
        width: 15px;
        height: 15px;
        background-color: #9e1c25;
        border-radius: 50%;
        font-size: 1.4rem;
        color: #fff; }
        .widget_layered_nav_filters ul li a::before:hover,
        .widget_layered_nav_filters ul li a::before a:hover {
          text-decoration: none; }

/* Interactive Cart
 ============================================= */
/* Header buttons */
#cart-items {
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #5f9328;
  border-radius: 50%;
  font-size: 1.4rem;
  font-weight: 700;
  top: -5px;
  right: -3px;
  color: #fff; }
  #cart-items:hover,
  #cart-items a:hover {
    text-decoration: none; }

#interactive-cart-activate {
  position: relative; }

.interactive-cart__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  background-color: rgba(0, 0, 20, 0.5); }

.interactive-cart-wrapper {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 99999;
  display: none; }

.interactive-cart {
  position: relative;
  background-color: #f2f2f2;
  margin: 0 0 0 auto;
  height: 100vh;
  display: flex;
  flex-flow: column nowrap;
  overflow: hidden; }
  @media only screen and (min-width: 960px) {
    .interactive-cart {
      width: 40vw; } }

/* Cart Header */
.interactive-cart-header {
  position: relative;
  background-color: #fff;
  padding: 20px 12px;
  flex: 0 1 0; }
  @media only screen and (min-width: 960px) {
    .interactive-cart-header {
      padding: 12px; } }
  .interactive-cart-header > * {
    margin: 0;
    text-align: center;
    color: #888; }
  .interactive-cart-header a:hover {
    text-decoration: none; }
  .interactive-cart-header .interactive-cart-close {
    position: absolute;
    display: flex;
    justify-content: center;
    left: 0;
    top: 0;
    color: gray;
    height: 100%;
    width: 50px;
    font-size: 25px; }
    .interactive-cart-header .interactive-cart-close:hover {
      left: -3px;
      color: #777; }

/* Cart Item List */
.interactive-cart-items {
  flex: 1 1 0;
  padding: 20px 0;
  overflow-y: scroll;
  width: 100%;
  height: 100%; }
  @media only screen and (min-width: 960px) {
    .interactive-cart-items {
      margin-right: -17px;
      padding-right: 17px;
      /* Increase/decrease this value for cross-browser compatibility */
      box-sizing: content-box;
      /* So the width will be 100% + 17px */ } }

/* Cart Item */
.cart-item-card {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  flex-wrap: nowrap;
  width: calc(100% - 6%);
  background-color: #fff;
  border-radius: 8px;
  margin-left: 3%;
  margin-right: 3%;
  margin-bottom: 10px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden; }
  .cart-item-card > figure {
    position: relative;
    width: 80px;
    padding-top: 80px; }
    .cart-item-card > figure > img {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      object-fit: cover; }
  .cart-item-card .caption {
    flex: 1 1 0;
    position: relative;
    padding: 15px;
    background-color: #fff; }
  @media only screen and (min-width: 960px) {
    .cart-item-card {
      width: calc(100% - 7%);
      margin-left: 5%;
      margin-right: auto; } }
  .cart-item-card img {
    align-self: center;
    margin: 10px;
    display: block;
    width: 100px;
    height: 100px;
    object-fit: cover; }
  .cart-item-card .caption {
    flex: 1 1 auto; }
    .cart-item-card .caption > * {
      margin-bottom: 8px; }
      .cart-item-card .caption > *:last-child {
        margin-bottom: 0; }
    .cart-item-card .caption > * {
      font-size: 1.4rem; }
  .cart-item-card .product-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #1e2f0d; }
  .cart-item-card .remove_from_cart_button {
    flex: 0 0 auto;
    align-self: flex-start;
    width: 40px;
    height: 40px;
    font-size: 20px;
    text-align: center;
    line-height: 40px;
    text-decoration: none;
    font-weight: 700;
    color: #9e1c25; }

.interactive-cart-summary {
  position: relative;
  background-color: #fff;
  flex: 0 1 0; }
  .interactive-cart-summary > div {
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 5px;
    margin-bottom: 5px;
    position: relative;
    justify-content: space-between;
    padding: 8px 5%; }
    .interactive-cart-summary > div > * {
      margin-bottom: 0; }
    .interactive-cart-summary > div:last-of-type {
      margin-bottom: 0; }
  .interactive-cart-summary a {
    width: 100%; }

/* If there are no products */
.no-product-text {
  position: relative;
  display: block;
  text-align: center;
  padding: 0 5%; }

/* Woocommerce address component
 =============================================
1. Order order-received
2. My Account edit address
*/
/* Address section */
header.woocommerce-Address-title {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px; }
  header.woocommerce-Address-title h2,
  header.woocommerce-Address-title h3,
  header.woocommerce-Address-title form.woocommerce-checkout .col-1 h4,
  form.woocommerce-checkout .col-1 header.woocommerce-Address-title h4,
  header.woocommerce-Address-title form.woocommerce-checkout .checkout_coupon h4,
  form.woocommerce-checkout .checkout_coupon header.woocommerce-Address-title h4 {
    margin-bottom: 0; }

/* Addresses */
.addresses h2,
.addresses h3,
.addresses form.woocommerce-checkout .col-1 h4,
form.woocommerce-checkout .col-1 .addresses h4,
.addresses form.woocommerce-checkout .checkout_coupon h4,
form.woocommerce-checkout .checkout_coupon .addresses h4,
.woocommerce-customer-details h2,
.woocommerce-customer-details h3,
.woocommerce-customer-details form.woocommerce-checkout .col-1 h4,
form.woocommerce-checkout .col-1 .woocommerce-customer-details h4,
.woocommerce-customer-details form.woocommerce-checkout .checkout_coupon h4,
form.woocommerce-checkout .checkout_coupon .woocommerce-customer-details h4 {
  font-size: 1.8rem; }

.addresses address,
.woocommerce-customer-details address {
  padding: 15px 7.5px;
  background-color: white;
  border-radius: 5px;
  border: 1px solid #e6e6e6;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5; }
  @media only screen and (min-width: 670px) {
    .addresses address,
    .woocommerce-customer-details address {
      padding: 15px; } }
  .addresses address:before,
  .woocommerce-customer-details address:before {
    content: "Address: "; }
  .addresses address p, .addresses address .item-list li, .item-list .addresses address li, .addresses address .post-single .entry-content > ul li, .post-single .entry-content > ul .addresses address li, .addresses address div.product .woocommerce-product-details__short-description ul li, div.product .woocommerce-product-details__short-description ul .addresses address li, .addresses address .number-list li, .number-list .addresses address li, .addresses address .post-single .entry-content > ol li, .post-single .entry-content > ol .addresses address li, .addresses address div.product .woocommerce-product-details__short-description ol li, div.product .woocommerce-product-details__short-description ol .addresses address li,
  .woocommerce-customer-details address p,
  .woocommerce-customer-details address .item-list li,
  .item-list .woocommerce-customer-details address li,
  .woocommerce-customer-details address .post-single .entry-content > ul li,
  .post-single .entry-content > ul .woocommerce-customer-details address li,
  .woocommerce-customer-details address div.product .woocommerce-product-details__short-description ul li,
  div.product .woocommerce-product-details__short-description ul .woocommerce-customer-details address li,
  .woocommerce-customer-details address .number-list li,
  .number-list .woocommerce-customer-details address li,
  .woocommerce-customer-details address .post-single .entry-content > ol li,
  .post-single .entry-content > ol .woocommerce-customer-details address li,
  .woocommerce-customer-details address div.product .woocommerce-product-details__short-description ol li,
  div.product .woocommerce-product-details__short-description ol .woocommerce-customer-details address li {
    margin-top: 15px;
    margin-bottom: 0;
    line-height: 1.5;
    font-size: 1.4rem; }
    .addresses address p.woocommerce-customer-details--phone:before, .addresses address .item-list li.woocommerce-customer-details--phone:before, .item-list .addresses address li.woocommerce-customer-details--phone:before, .addresses address .post-single .entry-content > ul li.woocommerce-customer-details--phone:before, .post-single .entry-content > ul .addresses address li.woocommerce-customer-details--phone:before, .addresses address div.product .woocommerce-product-details__short-description ul li.woocommerce-customer-details--phone:before, div.product .woocommerce-product-details__short-description ul .addresses address li.woocommerce-customer-details--phone:before, .addresses address .number-list li.woocommerce-customer-details--phone:before, .number-list .addresses address li.woocommerce-customer-details--phone:before, .addresses address .post-single .entry-content > ol li.woocommerce-customer-details--phone:before, .post-single .entry-content > ol .addresses address li.woocommerce-customer-details--phone:before, .addresses address div.product .woocommerce-product-details__short-description ol li.woocommerce-customer-details--phone:before, div.product .woocommerce-product-details__short-description ol .addresses address li.woocommerce-customer-details--phone:before,
    .woocommerce-customer-details address p.woocommerce-customer-details--phone:before,
    .woocommerce-customer-details address .item-list li.woocommerce-customer-details--phone:before,
    .item-list .woocommerce-customer-details address li.woocommerce-customer-details--phone:before,
    .woocommerce-customer-details address .post-single .entry-content > ul li.woocommerce-customer-details--phone:before,
    .post-single .entry-content > ul .woocommerce-customer-details address li.woocommerce-customer-details--phone:before,
    .woocommerce-customer-details address div.product .woocommerce-product-details__short-description ul li.woocommerce-customer-details--phone:before,
    div.product .woocommerce-product-details__short-description ul .woocommerce-customer-details address li.woocommerce-customer-details--phone:before,
    .woocommerce-customer-details address .number-list li.woocommerce-customer-details--phone:before,
    .number-list .woocommerce-customer-details address li.woocommerce-customer-details--phone:before,
    .woocommerce-customer-details address .post-single .entry-content > ol li.woocommerce-customer-details--phone:before,
    .post-single .entry-content > ol .woocommerce-customer-details address li.woocommerce-customer-details--phone:before,
    .woocommerce-customer-details address div.product .woocommerce-product-details__short-description ol li.woocommerce-customer-details--phone:before,
    div.product .woocommerce-product-details__short-description ol .woocommerce-customer-details address li.woocommerce-customer-details--phone:before {
      content: "Phone: "; }
    .addresses address p.woocommerce-customer-details--email:before, .addresses address .item-list li.woocommerce-customer-details--email:before, .item-list .addresses address li.woocommerce-customer-details--email:before, .addresses address .post-single .entry-content > ul li.woocommerce-customer-details--email:before, .post-single .entry-content > ul .addresses address li.woocommerce-customer-details--email:before, .addresses address div.product .woocommerce-product-details__short-description ul li.woocommerce-customer-details--email:before, div.product .woocommerce-product-details__short-description ul .addresses address li.woocommerce-customer-details--email:before, .addresses address .number-list li.woocommerce-customer-details--email:before, .number-list .addresses address li.woocommerce-customer-details--email:before, .addresses address .post-single .entry-content > ol li.woocommerce-customer-details--email:before, .post-single .entry-content > ol .addresses address li.woocommerce-customer-details--email:before, .addresses address div.product .woocommerce-product-details__short-description ol li.woocommerce-customer-details--email:before, div.product .woocommerce-product-details__short-description ol .addresses address li.woocommerce-customer-details--email:before,
    .woocommerce-customer-details address p.woocommerce-customer-details--email:before,
    .woocommerce-customer-details address .item-list li.woocommerce-customer-details--email:before,
    .item-list .woocommerce-customer-details address li.woocommerce-customer-details--email:before,
    .woocommerce-customer-details address .post-single .entry-content > ul li.woocommerce-customer-details--email:before,
    .post-single .entry-content > ul .woocommerce-customer-details address li.woocommerce-customer-details--email:before,
    .woocommerce-customer-details address div.product .woocommerce-product-details__short-description ul li.woocommerce-customer-details--email:before,
    div.product .woocommerce-product-details__short-description ul .woocommerce-customer-details address li.woocommerce-customer-details--email:before,
    .woocommerce-customer-details address .number-list li.woocommerce-customer-details--email:before,
    .number-list .woocommerce-customer-details address li.woocommerce-customer-details--email:before,
    .woocommerce-customer-details address .post-single .entry-content > ol li.woocommerce-customer-details--email:before,
    .post-single .entry-content > ol .woocommerce-customer-details address li.woocommerce-customer-details--email:before,
    .woocommerce-customer-details address div.product .woocommerce-product-details__short-description ol li.woocommerce-customer-details--email:before,
    div.product .woocommerce-product-details__short-description ol .woocommerce-customer-details address li.woocommerce-customer-details--email:before {
      content: "Email address: "; }

/**
 * woocommerce-smallscreen.scss
 * Optimises the default WooCommerce frontend layout when viewed on smaller screens.
 */
/**
 * Style begins
 */
@media only screen and (max-width: 670px) {
  .woocommerce,
  .woocommerce-page {
    /**
	 * General layout
	 */
    /**
	 * Products
	 */
    /**
	 * Product Details
	 */
    /**
	 * Cart
	 */
    /**
	 * Checkout
	 */
    /**
	 * Account
	 */ }
    .woocommerce table.shop_table_responsive thead,
    .woocommerce-page table.shop_table_responsive thead {
      display: none; }
    .woocommerce table.shop_table_responsive tbody tr:first-child td:first-child,
    .woocommerce-page table.shop_table_responsive tbody tr:first-child td:first-child {
      border-top: 0; }
    .woocommerce table.shop_table_responsive tbody th,
    .woocommerce-page table.shop_table_responsive tbody th {
      display: none; }
    .woocommerce table.shop_table_responsive tr,
    .woocommerce-page table.shop_table_responsive tr {
      display: block; }
      .woocommerce table.shop_table_responsive tr td,
      .woocommerce-page table.shop_table_responsive tr td {
        display: block;
        text-align: right !important; }
        .woocommerce table.shop_table_responsive tr td.order-actions,
        .woocommerce-page table.shop_table_responsive tr td.order-actions {
          text-align: left !important; }
        .woocommerce table.shop_table_responsive tr td::before,
        .woocommerce-page table.shop_table_responsive tr td::before {
          content: attr(data-title) ": ";
          font-weight: 700;
          float: left; }
        .woocommerce table.shop_table_responsive tr td.actions::before, .woocommerce table.shop_table_responsive tr td.product-remove::before,
        .woocommerce-page table.shop_table_responsive tr td.actions::before,
        .woocommerce-page table.shop_table_responsive tr td.product-remove::before {
          display: none; }
      .woocommerce table.shop_table_responsive tr:nth-child(2n) td,
      .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
        background-color: rgba(0, 0, 0, 0.025); }
    .woocommerce table.my_account_orders tr td.order-actions,
    .woocommerce-page table.my_account_orders tr td.order-actions {
      text-align: left; }
      .woocommerce table.my_account_orders tr td.order-actions::before,
      .woocommerce-page table.my_account_orders tr td.order-actions::before {
        display: none; }
      .woocommerce table.my_account_orders tr td.order-actions .button,
      .woocommerce-page table.my_account_orders tr td.order-actions .button {
        float: none;
        margin: 0.125em 0.25em 0.125em 0; }
    .woocommerce .col2-set .col-1, .woocommerce .col2-set .checkout_coupon,
    .woocommerce .col2-set .col-2,
    .woocommerce-page .col2-set .col-1,
    .woocommerce-page .col2-set .checkout_coupon,
    .woocommerce-page .col2-set .col-2 {
      float: none;
      width: 100%; }
    .woocommerce #content div.product div.images,
    .woocommerce #content div.product div.summary,
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary,
    .woocommerce-page #content div.product div.images,
    .woocommerce-page #content div.product div.summary,
    .woocommerce-page div.product div.images,
    .woocommerce-page div.product div.summary {
      float: none;
      width: 100%; }
    .woocommerce #content table.cart .product-thumbnail,
    .woocommerce table.cart .product-thumbnail,
    .woocommerce-page #content table.cart .product-thumbnail,
    .woocommerce-page table.cart .product-thumbnail {
      display: none; }
    .woocommerce #content table.cart td.actions,
    .woocommerce table.cart td.actions,
    .woocommerce-page #content table.cart td.actions,
    .woocommerce-page table.cart td.actions {
      text-align: left; }
      .woocommerce #content table.cart td.actions .coupon,
      .woocommerce table.cart td.actions .coupon,
      .woocommerce-page #content table.cart td.actions .coupon,
      .woocommerce-page table.cart td.actions .coupon {
        float: none;
        *zoom: 1;
        padding-bottom: 0.5em; }
        .woocommerce #content table.cart td.actions .coupon::after, .woocommerce #content table.cart td.actions .coupon::before,
        .woocommerce table.cart td.actions .coupon::after,
        .woocommerce table.cart td.actions .coupon::before,
        .woocommerce-page #content table.cart td.actions .coupon::after,
        .woocommerce-page #content table.cart td.actions .coupon::before,
        .woocommerce-page table.cart td.actions .coupon::after,
        .woocommerce-page table.cart td.actions .coupon::before {
          content: ' ';
          display: table; }
        .woocommerce #content table.cart td.actions .coupon::after,
        .woocommerce table.cart td.actions .coupon::after,
        .woocommerce-page #content table.cart td.actions .coupon::after,
        .woocommerce-page table.cart td.actions .coupon::after {
          clear: both; }
        .woocommerce #content table.cart td.actions .coupon .button,
        .woocommerce #content table.cart td.actions .coupon .input-text,
        .woocommerce #content table.cart td.actions .coupon input,
        .woocommerce table.cart td.actions .coupon .button,
        .woocommerce table.cart td.actions .coupon .input-text,
        .woocommerce table.cart td.actions .coupon input,
        .woocommerce-page #content table.cart td.actions .coupon .button,
        .woocommerce-page #content table.cart td.actions .coupon .input-text,
        .woocommerce-page #content table.cart td.actions .coupon input,
        .woocommerce-page table.cart td.actions .coupon .button,
        .woocommerce-page table.cart td.actions .coupon .input-text,
        .woocommerce-page table.cart td.actions .coupon input {
          width: 48%;
          box-sizing: border-box; }
        .woocommerce #content table.cart td.actions .coupon .button.alt,
        .woocommerce #content table.cart td.actions .coupon .input-text + .button,
        .woocommerce table.cart td.actions .coupon .button.alt,
        .woocommerce table.cart td.actions .coupon .input-text + .button,
        .woocommerce-page #content table.cart td.actions .coupon .button.alt,
        .woocommerce-page #content table.cart td.actions .coupon .input-text + .button,
        .woocommerce-page table.cart td.actions .coupon .button.alt,
        .woocommerce-page table.cart td.actions .coupon .input-text + .button {
          float: right; }
      .woocommerce #content table.cart td.actions .button,
      .woocommerce table.cart td.actions .button,
      .woocommerce-page #content table.cart td.actions .button,
      .woocommerce-page table.cart td.actions .button {
        display: block;
        width: 100%; }
    .woocommerce .cart-collaterals .cart_totals,
    .woocommerce .cart-collaterals .cross-sells,
    .woocommerce .cart-collaterals .shipping_calculator,
    .woocommerce-page .cart-collaterals .cart_totals,
    .woocommerce-page .cart-collaterals .cross-sells,
    .woocommerce-page .cart-collaterals .shipping_calculator {
      width: 100%;
      float: none;
      text-align: left; }
    .woocommerce.woocommerce-checkout form.login .form-row,
    .woocommerce-page.woocommerce-checkout form.login .form-row {
      width: 100%;
      float: none; }
    .woocommerce #payment .terms,
    .woocommerce-page #payment .terms {
      text-align: left;
      padding: 0; }
    .woocommerce #payment #place_order,
    .woocommerce-page #payment #place_order {
      float: none;
      width: 100%;
      box-sizing: border-box;
      margin-bottom: 1em; }
    .woocommerce .lost_reset_password .form-row-first,
    .woocommerce .lost_reset_password .form-row-last,
    .woocommerce-page .lost_reset_password .form-row-first,
    .woocommerce-page .lost_reset_password .form-row-last {
      width: 100%;
      float: none;
      margin-right: 0; }
  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-account .woocommerce-MyAccount-navigation {
    float: none;
    width: 100%; }
  /**
 * Twenty Thirteen specific styles
 */
  .single-product .twentythirteen .panel {
    padding-left: 20px !important;
    padding-right: 20px !important; } }

/* Woocommerce Global Styles */
.woocommerce {
  *zoom: 1; }
  .woocommerce::after, .woocommerce::before {
    content: ' ';
    display: table; }
  .woocommerce::after {
    clear: both; }

/* Newly discovered global styles */
.woocommerce-column__title {
  margin-bottom: 10px; }

/* Global forms */
/* Button styles for woocommerce */
/* Add to Cart Button AKA Main button */
.checkout-button,
a.add_to_cart_button,
button.add_to_cart_button,
button[type="submit"] {
  margin-bottom: 0;
  display: block; }

button.disabled {
  background-color: #cccccc;
  cursor: not-allowed; }
  button.disabled:hover {
    background-color: #cccccc; }

@media only screen and (max-width: 670px) {
  .wc-backward {
    display: block; } }

/* BREADCRUMB */
.woocommerce-breadcrumb {
  font-size: 1.3rem;
  text-transform: uppercase;
  /* Archive Page */
  /* Single Product Breadcrumbs */ }
  .woocommerce.archive .woocommerce-breadcrumb {
    letter-spacing: 1px; }
  .single-product .woocommerce-breadcrumb {
    border-bottom: 2px solid #f1f1f1;
    padding-bottom: 20px;
    margin-bottom: 20px;
    width: 100%;
    color: #888;
    font-size: 1.4rem;
    padding: 20px 0; }
    @media only screen and (min-width: 670px) {
      .single-product .woocommerce-breadcrumb {
        padding: 30px 0; } }
    .single-product .woocommerce-breadcrumb a {
      margin: 0;
      font-weight: 700; }

/* SALE LABEL */
.onsale {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff; }
  li.product .onsale {
    position: absolute;
    top: 0;
    right: 0;
    width: 46px;
    height: 46px;
    background-color: #eec10d;
    border-radius: 50%;
    font-size: 12px;
    border: 5px solid #e4b90c; }
    li.product .onsale:hover,
    li.product .onsale a:hover {
      text-decoration: none; }
  .summary .onsale {
    position: relative;
    display: inline-block;
    border-radius: 5px;
    margin-bottom: 5px;
    background-color: #eec10d;
    font-weight: 700;
    font-size: 12px;
    padding: 3px 8px; }
    .summary .onsale:hover {
      background-color: #be9a0a; }

/* Message box */
.woocommerce-notices-wrapper {
  margin: 30px auto 0;
  flex: 1 1 100%; }
  .woocommerce-account.logged-in .woocommerce-notices-wrapper {
    margin-top: 0; }
  .woocommerce-cart .woocommerce-notices-wrapper {
    margin-top: 0; }

.woocommerce-NoticeGroup {
  margin: 30px auto 0;
  flex: 1 1 100%; }

/* All information and messages */
.woocommerce-info,
.woocommerce-message {
  position: relative;
  border-radius: 3px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 400;
  background-color: #f2f2f2;
  color: #555;
  list-style: none outside;
  width: 100%;
  margin: 0 auto 2em;
  word-wrap: break-word;
  text-align: center;
  padding: 12px; }
  @media only screen and (min-width: 960px) {
    .woocommerce-info,
    .woocommerce-message {
      margin-bottom: 30px;
      padding: 12px 24px 12px 12px; } }
  .woocommerce-info a,
  .woocommerce-message a {
    width: 100%;
    height: auto;
    white-space: nowrap;
    border-radius: 3px;
    margin: 0 0 10px; }
    @media only screen and (min-width: 960px) {
      .woocommerce-info a,
      .woocommerce-message a {
        width: auto;
        margin: 0 10px; } }
  .woocommerce-info .restore-item,
  .woocommerce-message .restore-item {
    display: none; }

/* All errors */
.woocommerce-error {
  position: relative;
  border-radius: 3px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 400;
  list-style: none outside;
  width: 100%;
  word-wrap: break-word;
  display: flex;
  flex-flow: column nowrap;
  padding: 12px;
  margin-bottom: 30px; }
  .woocommerce-error li {
    list-style: none outside !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    width: 100%;
    margin-bottom: 0 !important; }
    .woocommerce-NoticeGroup-checkout .woocommerce-error li {
      margin-bottom: 10px !important; }
      .woocommerce-NoticeGroup-checkout .woocommerce-error li:last-child {
        margin-bottom: 0 !important; }

.woocommerce-message {
  color: #fff;
  background-color: #689447; }
  .woocommerce-message a {
    background: #5c833f; }
    .woocommerce-message a:hover {
      background-color: #507236; }

.woocommerce-info {
  color: #fff;
  background-color: #ccc; }
  .woocommerce-info a {
    background: #bfbfbf; }
    .woocommerce-info a:hover {
      background-color: #b3b3b3; }

.woocommerce-error {
  color: #fff;
  background-color: #9e1c25; }
  .woocommerce-error a {
    background: #881820; }
    .woocommerce-error a:hover {
      background-color: #73141b; }

/* PAGINATION */
.woocommerce-pagination {
  position: relative;
  text-align: center;
  margin: 10px 0;
  flex: 1 1 100%; }
  .woocommerce-pagination li {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc; }
    .woocommerce-pagination li:last-child {
      border-right: 1px solid #ccc; }
  .woocommerce-pagination a,
  .woocommerce-pagination span {
    font-size: 1.6rem;
    font-weight: 400;
    width: 30px;
    height: 30px;
    border-left: 1px solid #ccc; }
  .woocommerce-pagination span {
    cursor: unset;
    background-color: #f1f1f1; }
  .woocommerce-pagination a {
    color: #689447; }

/* Woocommerce Store Notice */
.woocommerce-store-notice {
  position: fixed;
  width: 100%;
  color: #fff;
  background-color: #5f9328;
  text-align: center;
  margin-bottom: 0;
  padding: 12px 5%;
  z-index: 88;
  bottom: 0; }
  @media only screen and (min-width: 960px) {
    .woocommerce-store-notice {
      position: relative;
      padding: 6px 5%; } }

.woocommerce-store-notice__dismiss-link {
  position: absolute;
  right: 5%;
  color: #fff;
  font-size: 18px; }

.out-of-stock {
  background-color: #f3e7d7;
  color: #674a2b;
  line-height: 1;
  padding: 5px 8px;
  border-radius: 3px;
  margin-top: 5px;
  display: table;
  margin: 5px auto; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJhYnN0cmFjdHMvX2Z1bmN0aW9ucy5zY3NzIiwiYWJzdHJhY3RzL19wbGFjZWhvbGRlcnMuc2NzcyIsInZlbmRvcnMvX3NsaWNrLnNjc3MiLCJ2ZW5kb3JzL19zbGljay10aGVtZS5zY3NzIiwidmVuZG9ycy9fZmVhdGhlcmxpZ2h0LnNjc3MiLCJmb250cy9udWNsZW8uc2NzcyIsImZvbnRzL192YXJpYWJsZXMuc2NzcyIsImZvbnRzL19taXhpbnMuc2NzcyIsImZvbnRzL2ljb25zLnNjc3MiLCJiYXNlL19yZXNldC5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fZGVmYXVsdHMuc2NzcyIsImJhc2UvX2FuaW1hdGlvbnMuc2NzcyIsImxheW91dC9fZ3JpZC5zY3NzIiwibGF5b3V0L19ncy1zdHJ1Y3R1cmUtbGF5b3V0LnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19zaWRlYmFyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fZ3JhcGhpY3Muc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX3dpZGdldC5zY3NzIiwiY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvX2xpc3QtcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fdGl0bGUtZGl2aWRlci5zY3NzIiwiY29tcG9uZW50cy9fb2JqZWN0cy5zY3NzIiwiY29tcG9uZW50cy9fYmFubmVycy5zY3NzIiwiY29tcG9uZW50cy9faGVyby1zbGlkZXIuc2NzcyIsInBhZ2VzL19wb3N0LWFyY2hpdmUuc2NzcyIsInBhZ2VzL19wb3N0LXNpbmdsZS5zY3NzIiwicGFnZXMvX3BhZ2Utc2luZ2xlLnNjc3MiLCJ0aGVtZXMva2hvb3poLnNjc3MiLCJ0aGVtZXMvd29vY29tbWVyY2Uuc2NzcyIsInRoZW1lcy9fd29vLXN0eWxlcy9hcmNoaXZlLnNjc3MiLCJ0aGVtZXMvX3dvby1zdHlsZXMvc2luZ2xlLnNjc3MiLCJ0aGVtZXMvX3dvby1zdHlsZXMvY2FydC5zY3NzIiwidGhlbWVzL193b28tc3R5bGVzL2NoZWNrb3V0LnNjc3MiLCJ0aGVtZXMvX3dvby1zdHlsZXMvb3JkZXItcmVjZWl2ZWQuc2NzcyIsInRoZW1lcy9fd29vLXN0eWxlcy9vcmRlci1wYXkuc2NzcyIsInRoZW1lcy9fd29vLXN0eWxlcy9hY2NvdW50LnNjc3MiLCJ0aGVtZXMvX3dvby1zdHlsZXMvbG9naW4uc2NzcyIsInRoZW1lcy9fd29vLXN0eWxlcy93aWRnZXRzLnNjc3MiLCJ0aGVtZXMvX3dvby1zdHlsZXMvaW50ZXJhY3RpdmUtY2FydC5zY3NzIiwidGhlbWVzL193b28tc3R5bGVzL2FkZHJlc3Muc2NzcyIsInRoZW1lcy9fd29vLXN0eWxlcy9zbWFsbHNjcmVlbi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIVxuXHRUaGVtZSBOYW1lOiBHYXJkZW4gUGlja3Ncblx0VGhlbWUgVVJJOlxuXHREZXNjcmlwdGlvbjogVGhpcyBpcyB0aGUgdGhlbWUgY3JlYXRlZCBmb3IgR2FyZGVuIFBpY2tzXG5cdEF1dGhvcjogS2hvb3poXG5cdEF1dGhvciBVUkk6XG5cblx0VmVyc2lvbjogMS4wLjFcblxuXHRUYWdzOiBvbmUtY29sdW1uLCB0d28tY29sdW1ucywgbGVmdC1zaWRlYmFyLCByaWdodC1zaWRlYmFyLCBhY2Nlc3NpYmlsaXR5LXJlYWR5LCBjdXN0b20tY29sb3JzLCBjdXN0b20tbG9nbywgY3VzdG9tLW1lbnUsIGZlYXR1cmVkLWltYWdlcywgZm9vdGVyLXdpZGdldHMsIGZ1bGwtd2lkdGgtdGVtcGxhdGUsIHJ0bC1sYW5ndWFnZS1zdXBwb3J0LCBzdGlja3ktcG9zdCwgdGhlbWUtb3B0aW9ucywgdGhyZWFkZWQtY29tbWVudHMsIHRyYW5zbGF0aW9uLXJlYWR5XG5cblx0VGVtcGxhdGU6IGdlbmVzaXNcblxuXHRMaWNlbnNlOiBHUEwtMi4wK1xuXHRMaWNlbnNlIFVSSTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuKi9cbi8qIFRhYmxlIG9mIENvbnRlbnRzXG5zYXNzL1xufFxufC0gYWJzdHJhY3RzL1xufCAgIHwtIF92YXJpYWJsZXMuc2NzcyAgICAjIFNhc3MgVmFyaWFibGVzXG58ICAgfC0gX2Z1bmN0aW9ucy5zY3NzICAgICMgU2FzcyBGdW5jdGlvbnNcbnwgICB8LSBfbWl4aW5zLnNjc3MgICAgICAgIyBTYXNzIE1peGluc1xufCAgIHwtIF9wbGFjZWhvbGRlcnMuc2NzcyAjIFNhc3MgUGxhY2Vob2xkZXJzXG58XG58LSBmb250cy9cbnwgICB8LSBfbnVjbGVvLnNjc3MgICAgICAgIyBJY29uIFBhY2tcbnxcbnzigJMgYmFzZS9cbnwgICB8LSBfcmVzZXQuc2NzcyAgICAgICAgIyBSZXNldC9ub3JtYWxpemVcbnwgICB8LSBfdHlwb2dyYXBoeS5zY3NzICAgIyBUeXBvZ3JhcGh5IHJ1bGVzXG58ICAgfC0gX2RlZmF1bHRzLnNjc3MgICAgICMgR2VuZXNpcyBEZWZhdWx0c1xufCAgIHwtIF9hbmltYXRpb25zLnNjc3MgICAjIEFuaW1hdGlvbnNcbnxcbnzigJMgY29tcG9uZW50cy9cbnwgICB8LSBfZ3JhcGhpY3Muc2NzcyAgICAgICAgICAgICMgR3JhcGhpY3NcbnwgICB8LSBfYnV0dG9ucy5zY3NzICAgICAgICAgICAgICMgQnV0dG9uc1xufCAgIHwtIF93aWRnZXQuc2NzcyAgICAgICAgICAgICAgIyBHZW5lc2lzIERlZmF1bHQgV2lkZ2V0IGFuZCBQbHVnaW5zXG58ICAgfC0gX2Zvcm1zLnNjc3MgICAgICAgICAgICAgICAjIEZvcm1zXG58ICAgfC0gX2xpc3QtcGFnaW5hdGlvbi5zY3NzICAgICAjIExpc3QgYW5kIHBhZ2luYXRpb25cbnwgICB8LSAtdGl0bGUtZGl2aWRlci5zY3NzICAgICAgICMgVGl0bGUgYW5kIGRpdmlkZXJzXG58ICAgfC0gX29iamVjdHMuc2NzcyAgICAgICAgICAgICAjIEN1c3RvbWlzZWQgb2JqZWN0c1xufCAgIHwtIF9iYW5uZXJzLnNjc3MgICAgICAgICAgICAgIyBCYW5uZXJzXG58ICAgfC0gX2hlcm8tc2xpZGVyLnNjc3MgICAgICAgICAjIEhlcm8gU2xpZGVyXG58XG584oCTIGxheW91dC9cbnwgICB8LSBfZ3JpZC5zY3NzICAgICAgICAgIyBHcmlkXG58ICAgfC0gX2dzLXN0cnVjdHVyZS1sYXlvdXQuc2NzcyAjIEdlbmVzaXMgZGVmYXVsdCBzdHJ1Y3R1cmUgYW5kIGxheW91dFxufCAgIHwtIF9oZWFkZXIuc2NzcyAgICAgICAjIEhlYWRlclxufCAgIHwtIF9zaWRlYmFyLnNjc3MgICAgICAjIFNpZGViYXJcbnwgICB8LSBfZm9vdGVyLnNjc3MgICAgICAgIyBGb290ZXJcbnxcbnzigJMgcGFnZXMvXG58ICAgfC0gX3Bvc3QtYXJjaGl2ZS5zY3NzICAgICAgICAjIFBvc3QgYXJjaGl2ZSBzdHlsZXNcbnwgICB8LSBfcG9zdC1zaW5nbGUuc2NzcyAgICAgICAgICMgU2luZ2xlIFBvc3QgU3R5bGVzXG58XG584oCTIHRoZW1lcy9cbnwgICB8LSBfa2hvb3poLnNjc3MgICAgICAgIyBEZWZhdWx0IHRoZW1lXG58ICAgfC0gX3dvb2NvbW1lcmNlLnNjc3MgICMgV29vY29tbWVyY2UgU3R5bGVzXG58XG584oCTIHZlbmRvcnMvXG58ICAgfC0gX3NsaWNrLnNjc3MgICAgICAgICMgU2xpY2sgU2xpZGVyXG58ICAgfC0gX3NsaWNrLXRoZW1lLnNjc3MgICMgU2xpY2sgU2xpZGVyIFRoZW1lXG58ICAgfC0gX2ZlYXRoZXJsaWdodC5zY3NzICMgRmVhdGhlcmxpZ2h0IEdhbGxlcnlcbnxcbnwtIG1haW4uc2NzcyAgICAgICAgICAgICAgIyBNYWluIFNhc3MgZmlsZVxuKi9cblxuQGltcG9ydCAnYWJzdHJhY3RzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdhYnN0cmFjdHMvbWl4aW5zJztcbkBpbXBvcnQgJ2Fic3RyYWN0cy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnYWJzdHJhY3RzL3BsYWNlaG9sZGVycyc7XG5cbkBpbXBvcnQgJ3ZlbmRvcnMvc2xpY2snO1xuQGltcG9ydCAndmVuZG9ycy9zbGljay10aGVtZSc7XG5AaW1wb3J0ICd2ZW5kb3JzL2ZlYXRoZXJsaWdodCc7XG5cbkBpbXBvcnQgJ2ZvbnRzL251Y2xlbyc7XG5cbkBpbXBvcnQgJ2Jhc2UvcmVzZXQnO1xuQGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Jhc2UvZGVmYXVsdHMnO1xuQGltcG9ydCAnYmFzZS9hbmltYXRpb25zJztcblxuQGltcG9ydCAnbGF5b3V0L2dyaWQnO1xuQGltcG9ydCAnbGF5b3V0L2dzLXN0cnVjdHVyZS1sYXlvdXQnO1xuQGltcG9ydCAnbGF5b3V0L2hlYWRlcic7XG5AaW1wb3J0ICdsYXlvdXQvc2lkZWJhcic7XG5AaW1wb3J0ICdsYXlvdXQvZm9vdGVyJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9ncmFwaGljcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy93aWRnZXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xpc3QtcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWRpdmlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9vYmplY3RzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFubmVycyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hlcm8tc2xpZGVyJztcblxuQGltcG9ydCAncGFnZXMvcG9zdC1hcmNoaXZlJztcbkBpbXBvcnQgJ3BhZ2VzL3Bvc3Qtc2luZ2xlJztcbkBpbXBvcnQgJ3BhZ2VzL3BhZ2Utc2luZ2xlJztcbi8vIEBpbXBvcnQgJ3BhZ2VzL2NvbnRhY3QnO1xuXG5AaW1wb3J0ICd0aGVtZXMva2hvb3poJztcbkBpbXBvcnQgJ3RoZW1lcy93b29jb21tZXJjZSc7XG4iLCIvKiBWYXJpYWJsZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJvZHkgVGV4dCBTdHlsZXMgKi9cbiRiYXNlLWZvbnQtc2l6ZTogMS42cmVtO1xuJHN1YnRpdGxlLWZvbnQ6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuJHRpdGxlLWZvbnQ6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuJG1haW4tZm9udDogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG5cbi8qIEZvbnQgV2VpZ2h0ICovXG4kZm9udC1saWdodDogMjAwO1xuJGZvbnQtbm9ybTogNDAwO1xuJGZvbnQtYm9sZDogNzAwO1xuLyogQ29sb3JzICovXG4kbWFpbi1jb2xvcjogIzVmOTMyODtcbiRvZmYtd2hpdGU6ICNmM2U3ZDc7XG4kcmVkOiAjOWUxYzI1O1xuJG9yYW5nZTogI2VlYzEwZDtcbiRncmVlbjogIzY4OTQ0NztcbiRibHVlOiAjMzY5O1xuJHllbGxvdzogI2Y3ZTcyMDtcbiRicm93bjogIzY3NGEyYjtcbiRncmV5OiBoc2woMCwwJSw1MCUpOyAvL2lucHV0cyB0aGF0IGFyZSBub3Qgc3VibWl0IGFuZCBidXR0b25cbi8qIEV0Yy4gKi9cbiRpbnB1dC1maWVsZHM6ICdpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKSc7XG4vKiBCYWNrZ3JvdW5kIHBhdHRlcm4gaW1hZ2UgbGluayovXG4kcGF0dGVybi0xLWxpbms6IHVybChcIi4uLy4uLy4uL3N0YXRpYy9iYWNrZ3JvdW5kLXBhdHRlcm4uanBnXCIpO1xuLyogR3JhcGhpYyBkaXZpZGVyIGxpbmsgKi9cbiRncmFwaGljLWRpdmlkZXItMS1saW5rOiB1cmwoXCIuLi8uLi8uLi9zdGF0aWMvZ3JhcGhpYy1kaXZpZGVyLnN2Z1wiKTtcbiRncmFwaGljLWRpdmlkZXItMi1saW5rOiB1cmwoXCIuLi8uLi8uLi9zdGF0aWMvZ3JhcGhpYy1kaXZpZGVyLWJydXNoLnBuZ1wiKTtcbiIsIi8qIE1peGluc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTWVkaWEgUXVlcmllc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJHRhYmxldC13aWR0aDogNjcwcHg7XG4kZGVza3RvcC13aWR0aDogOTYwcHg7XG4kZGVza3RvcC14bC13aWR0aDogMTQwMHB4O1xuQG1peGluIG1vYmlsZSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skdGFibGV0LXdpZHRofSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gdGFibGV0IHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyR0YWJsZXQtd2lkdGh9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBkZXNrdG9wIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRkZXNrdG9wLXdpZHRofSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gZGVza3RvcC14bCB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skZGVza3RvcC14bC13aWR0aH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuLyogQ29udGFpbmVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gY29udGFpbmVyKCRwYWRkaW5nLCAkYmcsICRib3JkZXItcmFkaXVzLCAkYm9yZGVyKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nICgkcGFkZGluZyAvIDIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBib3JkZXI6ICRib3JkZXI7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gIH1cbn1cbi8qIEltYWdlIEFzcGVjdCBSYXRpb1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIDxmaWd1cmU+IC8vIEFwcGx5IGltYWdlIHJhdGlvIHRvIGZpZ3VyZVxuICAgPGltZyBzcmM9XCJcIi8+XG4gPC9maWd1cmU+XG4qL1xuQG1peGluIGltZy1yYXRpbygkd2lkdGgsICRwLXRvcCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIHBhZGRpbmctdG9wOiAkcC10b3A7XG5cbiAgPiBpbWcge1xuICAgIEBpbmNsdWRlIGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuLyogQWJzb2x1dGVcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBhYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLyogR3JhZGllbnQgRmFkZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGdyYWRpZW50LWZhZGUoJGgsJHMsJGwsJGRpcmVjdGlvbikge1xuICBAaWYgJGRpcmVjdGlvbiA9PSBib3R0b20ge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIGhzbGEoJGgsJHMsJGwsMSkgMCUsaHNsYSgkaCwkcywkbCwwKSAxMDAlKTtcbiAgfSBAZWxzZVxuICBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCBoc2xhKCRoLCRzLCRsLDEpIDAlLGhzbGEoJGgsJHMsJGwsMCkgMTAwJSk7XG4gIH0gQGVsc2VcbiAgaWYgJGRpcmVjdGlvbiA9PSB0b3Age1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIGhzbGEoJGgsJHMsJGwsMSkgMCUsaHNsYSgkaCwkcywkbCwwKSAxMDAlKTtcbiAgfSBAZWxzZVxuICBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGhzbGEoJGgsJHMsJGwsMSkgMCUsaHNsYSgkaCwkcywkbCwwKSAxMDAlKTtcbiAgfVxufVxuLyogQmFkZ2UgLyBUYWcgbGFiZWxcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiB0YWctbGFiZWwoJGJnLCAkc2l6ZSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gIEBpZiAkc2l6ZSA9PSBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gIH1cbiAgQGlmICRzaXplID09IG1lZGl1bSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICB9XG4gIEBpZiAkc2l6ZSA9PSBsYXJnZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gIH1cbn1cbi8qIEljb25zXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4laWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMWVtLzEgJ2Jhc2VpY29uJztcbiAgc3BlYWs6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5AbWl4aW4gaWNvbigkdHlwZSkge1xuICBAZXh0ZW5kICVpY29uO1xuICBjb250ZW50OiAkdHlwZTtcbn1cbi8qIENpcmNsZSBPYmplY3RcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjaXJjbGUtb2JqZWN0KCRkaWFtZXRlciwgJGJnLWNvbG9yLCAkZm9udC1zaXplKSB7XG4gIEBleHRlbmQgJWZsZXhib3gtYy1jO1xuICB3aWR0aDogJGRpYW1ldGVyO1xuICBoZWlnaHQ6ICRkaWFtZXRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAmOmhvdmVyLFxuICBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi8qIFRodW1ibmFpbCBDYXJkXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG48YXJ0aWNsZSBjbGFzcz1cInRodW1ibmFpbC1jYXJkXCI+XG4gIDxmaWd1cmU+XG4gICAgPGltZyBzcmM9XCJcIj5cbiAgPC9maWd1cmU+XG4gIDxkaXYgY2xhc3M9XCJjYXB0aW9uXCI+XG4gICAgPGg0PjwvaDQ+XG4gICAgPHA+PC9wPlxuICAgIDxhIGhyZWY9XCIjXCI+PC9hPlxuICA8L2Rpdj5cbjwvYXJ0aWNsZT5cbiAqL1xuQG1peGluIHRodW1ibmFpbC1jYXJkKCR0aHVtYlcsICR0aHVtYkgsICRjYXB0aW9uLXBvcywgJHBhZGRpbmcpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBAaWYgJGNhcHRpb24tcG9zID09IGJvdHRvbSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgLmNhcHRpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgPiBmaWd1cmUge1xuICAgIEBpbmNsdWRlIGltZy1yYXRpbygkdGh1bWJXLCAkdGh1bWJIKTtcbiAgfVxuXG4gIC5jYXB0aW9uIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxufVxuLyogTGluZSBCb3JkZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBsaW5lLWJvcmRlcigkd2lkdGgsICRjb2xvciwgJGRpcmVjdGlvbiwgJHNwYWNlKSB7XG4gIGJvcmRlci0jeyRkaXJlY3Rpb259OiAkd2lkdGggc29saWQgJGNvbG9yO1xuICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06ICRzcGFjZTtcbiAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICRzcGFjZTtcbn1cbi8qIENoaWxkIE1hcmdpblxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGNoaWxkLW1hcmdpbigkZGlyZWN0aW9uLCAkc3BhY2UsICRzZWxlY3RvcjogbnVsbCkge1xuICBAaWYgJHNlbGVjdG9yID09IG51bGwge1xuICAgID4gKiB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogJHNwYWNlO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAkc3BhY2U7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogQ2xlYXIgRml4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgKnpvb206IDE7XG5cbiAgJjo6YWZ0ZXIsXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbiVjbGVhciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCIvKiBGdW5jdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiIsIi8qIFBsYWNlaG9sZGVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogV2hpdGUgR3JhZGllbnRcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ld2hpdGUtZ3JhZGllbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogMTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDAsMCwxMDAsdG9wKTtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgfVxuICB9XG59XG4vKiBUcmFuc2l0aW9uc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJXRyYW5zaXRpb24tZHVyYXRpb24ge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cbi8qIEZsZXhib3hcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVmbGV4Ym94LWMtYyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7IC8vIERlZmF1bHQgVmFyaWFibGVzXG4vLyBTbGljayBpY29uIGVudGl0eSBjb2RlcyBvdXRwdXRzIHRoZSBmb2xsb3dpbmdcbi8vIFwiXFwyMTkwXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpBcIlxuLy8gXCJcXDIxOTJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGklwiXG4vLyBcIlxcMjAyMlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oCiXCJcbiRzbGljay1mb250LXBhdGg6IFwiLi9qcy9wbHVnaW5zL3NsaWNrL2ZvbnRzL1wiICFkZWZhdWx0O1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBcInNsaWNrXCIgIWRlZmF1bHQ7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi9qcy9wbHVnaW5zL3NsaWNrL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiAjZGRkICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiAxMnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgfVxufVxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgfVxufVxuLyogU2xpZGVyICovXG4uc2xpY2stbGlzdCB7XG4gIC5zbGljay1sb2FkaW5nICYge1xuICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICB9XG59XG4vKiBJY29ucyAqL1xuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG59XG4vKiBBcnJvd3MgKi9cbi5zbGljay1uZXh0LFxuLnNsaWNrLXByZXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBsaW5lLWhlaWdodDogMDtcbiAgZm9udC1zaXplOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHotaW5kZXg6IDI7XG5cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IDE1cHg7XG5cbiAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAtMzVweDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG5cbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgIH1cbiAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAxNXB4O1xuXG4gIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICB9XG4gIH1cbn1cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTI1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBidXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgQGV4dGVuZCAldHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEZlYXRoZXJsaWdodCDigJMgdWx0cmEgc2xpbSBqUXVlcnkgbGlnaHRib3hcbiAqIFZlcnNpb24gMS43LjEzIC0gaHR0cDovL25vZWxib3NzLmdpdGh1Yi5pby9mZWF0aGVybGlnaHQvXG4gKlxuICogQ29weXJpZ2h0IDIwMTgsIE5vw6tsIFJhb3VsIEJvc3NhcnQgKGh0dHA6Ly93d3cubm9lbGJvc3MuY29tKVxuICogTUlUIExpY2Vuc2VkLlxuKiovXG5cbmh0bWwud2l0aC1mZWF0aGVybGlnaHQge1xuXHQvKiBkaXNhYmxlIGdsb2JhbCBzY3JvbGxpbmcgd2hlbiBmZWF0aGVybGlnaHRzIGFyZSB2aXNpYmxlICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mZWF0aGVybGlnaHQge1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdC8qIGRpbWVuc2lvbnM6IHNwYW5uaW5nIHRoZSBiYWNrZ3JvdW5kIGZyb20gZWRnZSB0byBlZGdlICovXG5cdHBvc2l0aW9uOmZpeGVkO1xuXHR0b3A6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IGxlZnQ6IDA7XG5cdHotaW5kZXg6IDIxNDc0ODM2NDc7IC8qIHotaW5kZXggbmVlZHMgdG8gYmUgPj0gZWxlbWVudHMgb24gdGhlIHNpdGUuICovXG5cblx0LyogcG9zaXRpb246IGNlbnRlcmluZyBjb250ZW50ICovXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQvKiBpbnN1cmVzIHRoYXQgdGhlIDo6YmVmb3JlIHBzZXVkbyBlbGVtZW50IGRvZXNuJ3QgZm9yY2Ugd3JhcCB3aXRoIGZpeGVkIHdpZHRoIGNvbnRlbnQ7ICovXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0Lyogc3R5bGluZyAqL1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJhY2tncm91bmQ6ICMzMzM7XG5cdC8qIElFOCBcImhhY2tcIiBmb3IgbmVzdGVkIGZlYXRoZXJsaWdodHMgKi9cblx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLyogc3VwcG9ydCBmb3IgbmVzdGVkIGZlYXRoZXJsaWdodHMuIERvZXMgbm90IHdvcmsgaW4gSUU4ICh1c2UgSlMgdG8gZml4KSAqL1xuLmZlYXRoZXJsaWdodDpsYXN0LW9mLXR5cGUge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG5cbi5mZWF0aGVybGlnaHQ6YmVmb3JlIHtcblx0LyogcG9zaXRpb246IHRyaWNrIHRvIGNlbnRlciBjb250ZW50IHZlcnRpY2FsbHkgKi9cblx0Y29udGVudDogJyc7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0aGVpZ2h0OiAxMDAlO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtY29udGVudCB7XG5cdC8qIG1ha2UgY29udGVudCBjb250YWluZXIgZm9yIHBvc2l0aW9uZWQgZWxlbWVudHMgKGNsb3NlIGJ1dHRvbikgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC8qIHBvc2l0aW9uOiBjZW50ZXJpbmcgdmVydGljYWwgYW5kIGhvcml6b250YWwgKi9cblx0dGV4dC1hbGlnbjogbGVmdDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdC8qIGRpbWVuc2lvbnM6IGN1dCBvZmYgaW1hZ2VzICovXG5cdG92ZXJmbG93OiBhdXRvO1xuXHRwYWRkaW5nOiAyNXB4IDI1cHggMDtcblx0Ym9yZGVyLWJvdHRvbTogMjVweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHQvKiBkaW1lbnNpb25zOiBoYW5kbGluZyBsYXJnZSBjb250ZW50ICovXG5cdG1hcmdpbi1sZWZ0OiA1JTtcblx0bWFyZ2luLXJpZ2h0OiA1JTtcblx0bWF4LWhlaWdodDogOTUlO1xuXG5cdC8qIHN0eWxpbmcgKi9cblx0Ly8gYmFja2dyb3VuZDogI2ZmZjtcblx0Y3Vyc29yOiBhdXRvO1xuXG5cdC8qIHJlc2V0IHdoaXRlLXNwYWNlIHdyYXBwaW5nICovXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi8qIGNvbnRhaW5zIHRoZSBjb250ZW50ICovXG4uZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtaW5uZXIge1xuXHQvKiBtYWtlIHN1cmUgaXRzIHZpc2libGUgKi9cblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIGRvbid0IHNob3cgdGhlc2UgdGhvdWdoICovXG4uZmVhdGhlcmxpZ2h0IHNjcmlwdC5mZWF0aGVybGlnaHQtaW5uZXIsXG4uZmVhdGhlcmxpZ2h0IGxpbmsuZmVhdGhlcmxpZ2h0LWlubmVyLFxuLmZlYXRoZXJsaWdodCBzdHlsZS5mZWF0aGVybGlnaHQtaW5uZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtY2xvc2UtaWNvbiB7XG5cdC8qIHBvc2l0aW9uOiBjZW50ZXJpbmcgdmVydGljYWwgYW5kIGhvcml6b250YWwgKi9cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiA5OTk5O1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAwO1xuXG5cdC8qIGRpbWVuc2lvbnM6IDI1cHggeCAyNXB4ICovXG5cdGxpbmUtaGVpZ2h0OiAyNXB4O1xuXHR3aWR0aDogMjVweDtcblx0aGVpZ2h0OiAyNXB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cblx0Lyogc3R5bGluZyAqL1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuXHRiYWNrZ3JvdW5kOiAjZmZmOyAvKiBTZXQgdGhlIGJhY2tncm91bmQgaW4gY2FzZSBpdCBvdmVybGFwcyB0aGUgY29udGVudCAqL1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG5cdGNvbG9yOiAjMDAwO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIFNlZSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE2MDc3MzQxL2hvdy10by1yZXNldC1hbGwtZGVmYXVsdC1zdHlsZXMtb2YtdGhlLWh0bWw1LWJ1dHRvbi1lbGVtZW50ICovXG4uZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtY2xvc2UtaWNvbjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdGJvcmRlcjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuLmZlYXRoZXJsaWdodCAuZmVhdGhlcmxpZ2h0LWltYWdlIHtcblx0Lyogc3R5bGluZyAqL1xuXHR3aWR0aDogMTAwJTtcbn1cblxuXG4uZmVhdGhlcmxpZ2h0LWlmcmFtZSAuZmVhdGhlcmxpZ2h0LWNvbnRlbnQge1xuXHQvKiByZW1vdmVkIHRoZSBib3JkZXIgZm9yIGltYWdlIGNyb3Bpbmcgc2luY2UgaWZyYW1lIGlzIGVkZ2UgdG8gZWRnZSAqL1xuXHRib3JkZXItYm90dG9tOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5mZWF0aGVybGlnaHQgaWZyYW1lIHtcblx0Lyogc3R5bGluZyAqL1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5mZWF0aGVybGlnaHQgKiB7IC8qIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbm9lbGJvc3MvZmVhdGhlcmxpZ2h0L2lzc3Vlcy80MiAqL1xuXHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogaGFuZGxpbmcgcGhvbmVzIGFuZCBzbWFsbCBzY3JlZW5zICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuXHQuZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtY29udGVudCB7XG5cdFx0LyogZGltZW5zaW9uczogbWF4aW1pemUgbGlnaHRib3ggd2l0aCBmb3Igc21hbGwgc2NyZWVucyAqL1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXgtaGVpZ2h0OiA5OCU7XG5cblx0XHRwYWRkaW5nOiAxMHB4IDEwcHggMDtcblx0XHRib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHR9XG59XG5cbi8qIGhpZGUgbm9uIGZlYXRoZXJsaWdodCBpdGVtcyB3aGVuIHByaW50aW5nICovXG5AbWVkaWEgcHJpbnQge1xuXHRodG1sLndpdGgtZmVhdGhlcmxpZ2h0ID4gKiA+IDpub3QoLmZlYXRoZXJsaWdodCkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmJhc2VpY29uIFdlYiBGb250XG5HZW5lcmF0ZWQgdXNpbmcgbnVjbGVvYXBwLmNvbVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdiYXNlaWNvbic7XG4gIHNyYzogdXJsKCcjeyRpY29uLWZvbnQtcGF0aH0vYmFzZWljb24uZW90Jyk7XG4gIHNyYzogdXJsKCcjeyRpY29uLWZvbnQtcGF0aH0vYmFzZWljb24uZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnI3skaWNvbi1mb250LXBhdGh9L2Jhc2VpY29uLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnI3skaWNvbi1mb250LXBhdGh9L2Jhc2VpY29uLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGljb24tZm9udC1wYXRofS9iYXNlaWNvbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRpY29uLWZvbnQtcGF0aH0vYmFzZWljb24uc3ZnJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHRiYXNlIGNsYXNzIGRlZmluaXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMWVtLzEgJ2Jhc2VpY29uJztcbiAgc3BlYWs6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGNoYW5nZSBpY29uIHNpemVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiByZWxhdGl2ZSB1bml0cyAqL1xuLmljb24tc20ge1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuLmljb24tbGcge1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuLyogYWJzb2x1dGUgdW5pdHMgKi9cbi5pY29uLTE2IHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuLmljb24tMzIge1xuICBmb250LXNpemU6IDMycHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBhZGQgYSBzcXVhcmUvY2lyY2xlIGJhY2tncm91bmRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmljb24tYmctc3F1YXJlLFxuLmljb24tYmctY2lyY2xlIHtcbiAgcGFkZGluZzogMC4zNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1iYWNrZ3JvdW5kLWNvbG9yO1xufVxuXG4uaWNvbi1iZy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIHVzZSBpY29ucyBhcyBsaXN0IGl0ZW0gbWFya2Vyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5pY29uLXVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG5cbiAgPiBsaSA+IC5pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRpY29uLWxpLW1hcmdpbi1yaWdodDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBzcGlubmluZyBpY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5pY29uLWlzLXNwaW5uaW5nIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGljb24tc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gIC1tb3otYW5pbWF0aW9uOiBpY29uLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGljb24tc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBpY29uLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbkAtbW96LWtleWZyYW1lcyBpY29uLXNwaW4ge1xuICAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaWNvbi1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgcm90YXRlZC9mbGlwcGVkIGljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmljb24tcm90YXRlLTkwICB7XG5cdEBpbmNsdWRlIGljb24tcm90YXRlKDkwZGVnLCAxKTtcbn1cblxuLmljb24tcm90YXRlLTE4MCB7XG5cdEBpbmNsdWRlIGljb24tcm90YXRlKDE4MGRlZywgMik7XG59XG5cbi5pY29uLXJvdGF0ZS0yNzAge1xuXHRAaW5jbHVkZSBpY29uLXJvdGF0ZSgyNzBkZWcsIDMpO1xufVxuXG4uaWNvbi1mbGlwLXkge1xuXHRAaW5jbHVkZSBpY29uLWZsaXAoLTEsIDEsIDApO1xufVxuLmljb24tZmxpcC14IHtcblx0QGluY2x1ZGUgaWNvbi1mbGlwKDEsIC0xLCAyKTtcbn1cblxuQGltcG9ydCBcImljb25zXCI7XG4iLCIkaWNvbi1mb250LXBhdGg6ICAgICAgICBcImZvbnRzXCIgIWRlZmF1bHQ7XG4kaWNvbi1iYWNrZ3JvdW5kLWNvbG9yOiAjZWVlICFkZWZhdWx0O1xuJGljb24tbGktbWFyZ2luLXJpZ2h0OiAgMC40ZW0gIWRlZmF1bHQ7XG4iLCJAbWl4aW4gaWNvbi1yb3RhdGUoJGRlZ3JlZXMsICRyb3RhdGlvbikge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5cbkBtaXhpbiBpY29uLWZsaXAoJGhvcml6LCAkdmVydCwgJHJvdGF0aW9uKSB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xuICB0cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0aWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGZ1bmN0aW9uIHVuaWNvZGUoJHN0cikge1xuICBAcmV0dXJuIHVucXVvdGUoXCJcXFwiXFxcXCN7JHN0cn1cXFwiXCIpO1xufVxuXG4kaWNvbi1hY2NvdW50OiB1bmljb2RlKGVhMDEpO1xuJGljb24tYmFnLTA5OiB1bmljb2RlKGVhMDIpO1xuJGljb24tY2hlY2tlZC1zeW1ib2w6IHVuaWNvZGUoZWEwMyk7XG4kaWNvbi1mYWNlYm9vay0xOiB1bmljb2RlKGVhMDQpO1xuJGljb24tZmFjZWJvb2stY2lyY2xlOiB1bmljb2RlKGVhMDUpO1xuJGljb24tZmFjZWJvb2s6IHVuaWNvZGUoZWEwNik7XG4kaWNvbi1mYXg6IHVuaWNvZGUoZWEwNyk7XG4kaWNvbi1pY19hY2Nlc3NfdGltZV80OHB4OiB1bmljb2RlKGVhMDgpO1xuJGljb24taWNfYXJyb3dfYmFja18zNnB4OiB1bmljb2RlKGVhMDkpO1xuJGljb24taWNfY2xvc2VfNDhweDogdW5pY29kZShlYTBhKTtcbiRpY29uLWljX21haWxfb3V0bGluZV80OHB4OiB1bmljb2RlKGVhMGIpO1xuJGljb24taW5zdGFncmFtOiB1bmljb2RlKGVhMGMpO1xuJGljb24tbG9jazogdW5pY29kZShlYTBkKTtcbiRpY29uLXBob25lLTItMjogdW5pY29kZShlYTBlKTtcbiRpY29uLXBob25lLTI6IHVuaWNvZGUoZWEwZik7XG4kaWNvbi1waW46IHVuaWNvZGUoZWExMCk7XG4kaWNvbi1wbGFjZWhvbGRlcjogdW5pY29kZShlYTExKTtcbiRpY29uLXBsdXM6IHVuaWNvZGUoZWExMik7XG4kaWNvbi1zaG9wcGluZy1jYXJ0OiB1bmljb2RlKGVhMTMpO1xuJGljb24tc2luZ2xlLTAxOiB1bmljb2RlKGVhMTQpO1xuJGljb24tc3RhcjogdW5pY29kZShlYTE1KTtcbiRpY29uLXdoYXRzYXBwLWxvZ286IHVuaWNvZGUoZWExNik7XG4kaWNvbi15b3V0dWJlOiB1bmljb2RlKGVhMTcpO1xuJGljb24tem9vbS0yOiB1bmljb2RlKGVhMTgpO1xuXG4uaWNvbi1hY2NvdW50OjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1hY2NvdW50O1xufVxuXG4uaWNvbi1iYWctMDk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWJhZy0wOTtcbn1cblxuLmljb24tY2hlY2tlZC1zeW1ib2w6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWNoZWNrZWQtc3ltYm9sO1xufVxuXG4uaWNvbi1mYWNlYm9vay0xOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1mYWNlYm9vay0xO1xufVxuXG4uaWNvbi1mYWNlYm9vay1jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWZhY2Vib29rLWNpcmNsZTtcbn1cblxuLmljb24tZmFjZWJvb2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWZhY2Vib29rO1xufVxuXG4uaWNvbi1mYXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWZheDtcbn1cblxuLmljb24taWNfYWNjZXNzX3RpbWVfNDhweDo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24taWNfYWNjZXNzX3RpbWVfNDhweDtcbn1cblxuLmljb24taWNfYXJyb3dfYmFja18zNnB4OjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1pY19hcnJvd19iYWNrXzM2cHg7XG59XG5cbi5pY29uLWljX2Nsb3NlXzQ4cHg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWljX2Nsb3NlXzQ4cHg7XG59XG5cbi5pY29uLWljX21haWxfb3V0bGluZV80OHB4OjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1pY19tYWlsX291dGxpbmVfNDhweDtcbn1cblxuLmljb24taW5zdGFncmFtOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1pbnN0YWdyYW07XG59XG5cbi5pY29uLWxvY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWxvY2s7XG59XG5cbi5pY29uLXBob25lLTItMjo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tcGhvbmUtMi0yO1xufVxuXG4uaWNvbi1waG9uZS0yOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1waG9uZS0yO1xufVxuXG4uaWNvbi1waW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLXBpbjtcbn1cblxuLmljb24tcGxhY2Vob2xkZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLXBsYWNlaG9sZGVyO1xufVxuXG4uaWNvbi1wbHVzOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1wbHVzO1xufVxuXG4uaWNvbi1zaG9wcGluZy1jYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1zaG9wcGluZy1jYXJ0O1xufVxuXG4uaWNvbi1zaW5nbGUtMDE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLXNpbmdsZS0wMTtcbn1cblxuLmljb24tc3Rhcjo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tc3Rhcjtcbn1cblxuLmljb24td2hhdHNhcHAtbG9nbzo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24td2hhdHNhcHAtbG9nbztcbn1cblxuLmljb24teW91dHViZTo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24teW91dHViZTtcbn1cblxuLmljb24tem9vbS0yOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi16b29tLTI7XG59XG5cbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdLFxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3JpbmcsXG5idXR0b246LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovXG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xufVxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogQm94IFNpemluZ1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOjphZnRlcixcbio6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG4iLCIvKiBUeXBvZ3JhcGhpY2FsIEVsZW1lbnRzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sIHtcbiAgZm9udC1zaXplOiA1NiU7XG4gIC8qIDEwcHggYnJvd3NlciBkZWZhdWx0ICovXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgZm9udC1zaXplOiA2Mi41JTtcbiAgfVxufVxuLyogQ2hyb21lIGZpeCAqL1xuYm9keSA+IGRpdiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzc3NztcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xuICBsaW5lLWhlaWdodDogMS42MjU7XG59XG5cbmJ1dHRvbixcbmlucHV0OmZvY3VzLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG50ZXh0YXJlYTpmb2N1cyxcbi5idXR0b24sXG4uZ2FsbGVyeSBpbWcge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxub2wsXG51bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxubGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbmhyIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMzBweCAwO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG59XG5cbmJsb2NrcXVvdGUsXG5jaXRlLFxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2RkZDtcbiAgY29sb3I6ICMzMzM7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDMwcHg7XG59XG5cbmJsb2NrcXVvdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMDFDXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgaGVpZ2h0OiAwO1xuICBsZWZ0OiAtMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMHB4O1xufVxuLyogSGVhZGluZ3NcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCA1JSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMCAwIDJyZW07XG5cbn1cblxuaDEge1xuICBmb250LXNpemU6IDZyZW07XG4gIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udDtcbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICBmb250LXNpemU6IDVyZW07XG5cbiAgfVxufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMy42cmVtO1xuICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQ7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udDtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAxMCUpO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDIwJSk7XG4gIH1cbn1cblxubGFiZWwge1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgY29sb3I6IGhzbCgwLDAlLDYwJSk7XG59XG4vKiBUZXh0XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5wIHtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgKyAwLjE7XG4gIGxpbmUtaGVpZ2h0OiAkYmFzZS1mb250LXNpemUgKyAxO1xuICBtYXJnaW46IDAgMCAxNXB4O1xuXG4gICYueC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuXG4gICYuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cblxuICAmLmxhcmdlIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSArIDAuMjtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG4vKiBEYXJrIHRoZW1lXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lZGFyay10aGVtZSB7XG4gIGEsXG4gIHAge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICBociB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICB9XG59XG4vLyAuZGFyay10aGVtZSB7XG4vLyAgIEBleHRlbmQgJWRhcmstdGhlbWU7XG4vLyB9XG5cbiVibG9nLXR5cG9ncmFwaHkge1xuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgfVxuXG4gIGxpLFxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJlbTtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSArIDAuMTtcbiAgICB9XG4gIH1cbn1cbi8qIFNlYWZvb2QgbG9iYW5nIHNwZWNpZmljXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5oMSxcbmgyLFxuaDMge1xuICBsZXR0ZXItc3BhY2luZzogLTAuMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiIsIi8qIERlZmF1bHRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBPYmplY3RzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud3AtY2FwdGlvbixcbmVtYmVkLFxuaWZyYW1lLFxuaW1nLFxub2JqZWN0LFxudmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuLyogR2FsbGVyeVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmdhbGxlcnkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4vKiBUYWJsZXNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxudGJvZHkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbn1cblxudGQsXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbnRkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG4gIHBhZGRpbmc6IDZweDtcbn1cblxudGgge1xuICBmb250LXdlaWdodDogJGZvbnQtbm9ybTtcbiAgcGFkZGluZzogMCA2cHg7XG59XG4vKiBTY3JlZW4gUmVhZGVyIFRleHRcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zY3JlZW4tcmVhZGVyLXNob3J0Y3V0LFxuLnNjcmVlbi1yZWFkZXItdGV4dCxcbi5zY3JlZW4tcmVhZGVyLXRleHQgc3BhbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uc2NyZWVuLXJlYWRlci1zaG9ydGN1dDpmb2N1cyxcbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzMzMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwO1xuICAvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xufVxuXG4ubW9yZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLyogSW1hZ2UgcmVsZWFzZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmltYWdlLXJlbGVhc2Uge1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gIG1hcmdpbi1yaWdodDogLTUwdnc7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cbi8qIFZlcnRpY2FsIGFsaWduIGNvbHVtbiBvYmplY3RzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udmVydGljYWwtY2VudGVyIHtcbiAgLndwLWJsb2NrLWNvbHVtbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cbiIsIi8qIEFuaW1hdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiVhbmltYXRpb24tYmFzaWMtaGlkZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICBvcGFjaXR5OiAwO1xufVxuLyogZmFkZSBpbiB0b3AgKi9cbi5oaWRkZW4ge1xuICBAZXh0ZW5kICVhbmltYXRpb24tYmFzaWMtaGlkZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xufVxuXG4uc2hvd24ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbn1cbi8qIGZhZGUgaW4gcmlnaHQgKi9cbi5mYWRlLXJpZ2h0LWJlZm9yZSB7XG4gIEBleHRlbmQgJWFuaW1hdGlvbi1iYXNpYy1oaWRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xufVxuXG4uZmFkZS1yaWdodCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xufVxuLyogZmFkZSBpbiBsZWZ0ICovXG4uZmFkZS1sZWZ0LWJlZm9yZSB7XG4gIEBleHRlbmQgJWFuaW1hdGlvbi1iYXNpYy1oaWRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XG59XG5cbi5mYWRlLWxlZnQge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbn1cbi8qIGZhZGUgaW4gc2NhbGUgKi9cbi5mYWRlLXNjYWxlLWJlZm9yZSB7XG4gIEBleHRlbmQgJWFuaW1hdGlvbi1iYXNpYy1oaWRlO1xuICB0cmFuc2Zvcm06IHNjYWxlKC45KTtcbn1cblxuLmZhZGUtc2NhbGUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuIiwiLyogR3JpZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ29sdW1uIE1peGluXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gY29sdW1ucygkc3BhY2UsICRjb2xzOiAyLCAkbW9iaWxlLWNvbDogMSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gID4gKiB7XG4gICAgQGlmICRtb2JpbGUtY29sID09IDEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2U7XG4gICAgfVxuICAgIEBpZiAkbW9iaWxlLWNvbCA9PSAyIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gKCN7JHNwYWNlfSAvIDIgKiAoI3skbW9iaWxlLWNvbH0gLSAxKSkpIC8gI3skbW9iaWxlLWNvbH0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2UgLyAyO1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlIC8gMjtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gKCN7JHNwYWNlfSAqICgjeyRjb2xzfSAtIDEpKSkgLyAjeyRjb2xzfSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZTtcblxuICAgICAgJjpudGgtY2hpbGQoI3skY29sc31uKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuJWNvbC0xIHtcbiAgcGFkZGluZzogMCA1JTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4uY29scy0yIHtcbiAgQGluY2x1ZGUgY29sdW1ucygzMHB4LCAyKTtcbn1cblxuLmNvbHMtMyB7XG4gIEBpbmNsdWRlIGNvbHVtbnMoMzBweCwgMyk7XG59XG4vKiBDb2x1bW4gTGF5b3V0c1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGNvbHVtbi1sYXlvdXQoJGNvbC0xLCAkY29sLTIsICRjb2wtMzpudWxsKSB7XG4gIEBpZiAkY29sLTMgPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgID4gKjpudGgtY2hpbGQoMSkge1xuICAgICAgICBmbGV4OiAkY29sLTEgMSAwO1xuICAgICAgfVxuXG4gICAgICA+ICo6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgZmxleDogJGNvbC0yIDEgMDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICA+ICo6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgZmxleDogJGNvbC0xIDEgMDtcbiAgICAgIH1cblxuICAgICAgPiAqOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGZsZXg6ICRjb2wtMiAxIDA7XG4gICAgICB9XG5cbiAgICAgID4gKjpudGgtY2hpbGQoMykge1xuICAgICAgICBmbGV4OiAkY29sLTMgMSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udHdvLW9uZSB7XG4gIEBpbmNsdWRlIGNvbHVtbi1sYXlvdXQoMiwgMSk7XG59XG4vKiBXcmFwcGVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ld3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA1MHB4IDUlO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiA4MHB4IDEwJTtcbiAgfVxuXG4gICYtc21hbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDE1cHggNSU7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDEwJTtcbiAgICB9XG4gIH1cblxuICAmLWxhcmdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA4MHB4IDUlO1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgcGFkZGluZzogMTIwcHggMTAlO1xuICAgIH1cbiAgfVxuXG4gICYtZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgcGFkZGluZzogODBweCAwO1xuICAgIH1cbiAgfVxufVxuXG5zZWN0aW9uLndyYXBwZXIge1xuICBAZXh0ZW5kICV3cmFwcGVyO1xuXG4gICYtc21hbGwge1xuICAgIEBleHRlbmQgJXdyYXBwZXItc21hbGw7XG4gIH1cblxuICAmLWxhcmdlIHtcbiAgICBAZXh0ZW5kICV3cmFwcGVyLWxhcmdlO1xuICB9XG5cbiAgJi1mdWxsIHtcbiAgICBAZXh0ZW5kICV3cmFwcGVyLWZ1bGw7XG4gIH1cbn1cbiIsIi8qIEdlbmVzaXMgU3RydWN0dXJlIGFuZCBMYXlvdXRcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2l0ZSBDb250YWluZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWNvbnRhaW5lciB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG5tYWluLmNvbnRlbnQge1xuICBmbGV4OiAxIDEgMTAwJTtcbn1cblxuLyogQ29tbW9uIENsYXNzZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogR2VuZXNpc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFmdGVyLWVudHJ5LFxuLmFyY2hpdmUtZGVzY3JpcHRpb24sXG4uYXV0aG9yLWJveCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5hZnRlci1lbnRyeSB7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHBhZGRpbmc6IDIwcHggMzBweDtcbn1cblxuLmFmdGVyLWVudHJ5IC53aWRnZXQ6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJyZWFkY3J1bWIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5hcmNoaXZlLWRlc2NyaXB0aW9uIHA6bGFzdC1jaGlsZCxcbi5hdXRob3ItYm94IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4vKiBTZWFyY2ggRm9ybVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNlYXJjaC1mb3JtIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmVudHJ5LWNvbnRlbnQgLnNlYXJjaC1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLnNlYXJjaC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ud2lkZ2V0X3NlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG4vKiBUaXRsZXNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeS10aXRsZSBhLFxuLnNpZGViYXIgLndpZGdldC10aXRsZSBhIHtcbiAgY29sb3I6ICMzMzM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmVudHJ5LXRpdGxlIGE6Zm9jdXMsXG4uZW50cnktdGl0bGUgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDA3M2U1O1xufVxuXG4ud2lkZ2V0LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4vKiBXb3JkUHJlc3NcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hbGlnbmNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuYS5hbGlnbmNlbnRlciBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbmEuYWxpZ25ub25lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuYS5hbGlnbmxlZnQsXG5hLmFsaWdubm9uZSxcbmEuYWxpZ25yaWdodCB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmFsaWduY2VudGVyLFxuaW1nLmNlbnRlcmVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIDMwcHg7XG59XG5cbi53cC1jYXB0aW9uLmFsaWdubGVmdCxcbmEuYWxpZ25sZWZ0LFxuaW1nLmFsaWdubGVmdCB7XG4gIG1hcmdpbjogMCAyMHB4IDIwcHggMDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25yaWdodCxcbmEuYWxpZ25yaWdodCxcbmltZy5hbGlnbnJpZ2h0IHtcbiAgbWFyZ2luOiAwIDAgMjBweCAyMHB4O1xufVxuXG4uZ2FsbGVyeS1jYXB0aW9uLFxuLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZW50cnktY29udGVudCBwLndwLWNhcHRpb24tdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lbnRyeS1jb250ZW50IC53cC1hdWRpby1zaG9ydGNvZGUsXG4uZW50cnktY29udGVudCAud3AtcGxheWxpc3QsXG4uZW50cnktY29udGVudCAud3AtdmlkZW8ge1xuICBtYXJnaW46IDAgMCAzMHB4O1xufVxuIiwiLy8gLm1lbnUtaXRlbS0taGlnaGxpZ2h0XG4vKiBIZWFkZXIgQnV0dG9uc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWhlYWRlci1idXR0b25zIHtcbiAgQGluY2x1ZGUgY2lyY2xlLW9iamVjdCg0MHB4LCBoc2xhKDAsMCwwLDApLCAxN3B4KTtcbiAgY29sb3I6IGhzbCgwLDAlLDQwJSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgfVxufVxuLyogU2tpcCBMaW5rc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmdlbmVzaXMtc2tpcC1saW5rIHtcbiAgbWFyZ2luOiAwO1xuXG4gIC5za2lwLWxpbmstaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIGxpIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuLyogU2l0ZSBIZWFkZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWhlYWRlciB7XG4gIEBleHRlbmQgJXRyYW5zaXRpb24tZHVyYXRpb247XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLndyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIH1cbiAgICAvKiBTdHJ1Y3R1cmUgKi9cbiAgICA+ICoge1xuICAgICAgJi5wcmUtaGVhZGVyIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICB9XG5cbiAgICAgICYudGl0bGUtYXJlYSB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgICBmbGV4OiAxIDAgNTAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaGVhZGVyLXdpZGdldC1hcmVhIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICAgIGZsZXg6IDEgMCA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5tZW51LXRvZ2dsZSB7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogVGl0bGUgQXJlYVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnRpdGxlLWFyZWEge1xuICBwYWRkaW5nOiAxMnB4IDAgMTVweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDYwdnc7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDAgNSU7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgfVxufVxuXG4uc2l0ZS1kZXNjcmlwdGlvbixcbi53cC1jdXN0b20tbG9nbyAuc2l0ZS10aXRsZSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuLyogUmVzcG9uc2l2ZSBNZW51XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubWVudSAubWVudS1pdGVtOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuLm1lbnUgLm1lbnUtaXRlbSA+IGE6Zm9jdXMrdWwuc3ViLW1lbnUsXG4ubWVudSAubWVudS1pdGVtLnNmSG92ZXIgPiB1bC5zdWItbWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5nZW5lc2lzLXJlc3BvbnNpdmUtbWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgfVxufVxuLyogTWVudSBUb2dnbGUgJiBTdWIgTWVudSBUb2dnbGUgKi9cbi5tZW51LXRvZ2dsZSxcbi5zdWItbWVudS10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG59XG4vKiBNZW51IFRvZ2dsZSAqL1xuLm1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIG9yZGVyOiAtMTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJvd247XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgJi5hY3RpdmF0ZWQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYzMzVcIjtcbiAgfVxufVxuLyogU3ViIE1lbnUgVG9nZ2xlICovXG4uc3ViLW1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNXB4O1xuICB0b3A6IDE1cHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgIGNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgfVxuXG4gICYuYWN0aXZhdGVkOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBjb2xvcjogbGlnaHRlbigkbWFpbi1jb2xvciwgMTAlKTtcbiAgfVxufVxuLyogSGVhZGVyIE1lbnVcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVtYWluLW5hdi1pbnRlcmFjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYnJvd24sIDUlKTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkb3JhbmdlLCA1JSk7XG5cbiAgICBhIHt9XG4gIH1cbn1cbi8qIEhlYWRlciBNZW51IFN0cnVjdHVyZSAqL1xuLm5hdi1wcmltYXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNSk7XG4gIHotaW5kZXg6IDk5OTk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIC53cmFwIHtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbi8qIE1haW4gSGVhZGVyIE1lbnUgKi9cbi5tZW51LXByaW1hcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUwLDI1MCwyNTAsMSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgcmdiYSgwLDAsMCwwLjEpO1xuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicm93bjtcbiAgfVxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC8qIEdlbmVyaWMgbGkgc3R5bGUqL1xuICAubWVudS1pdGVtIHtcbiAgICBAZXh0ZW5kICVtYWluLW1lbnUtaXRlbTtcbiAgfVxuICAvKiBHZW5lcmljIG5hdiBsaW5rIHN0eWxlICovXG4gIGEge1xuICAgIEBleHRlbmQgJW1haW4tbWVudS1saW5rO1xuICB9XG4gIC8qIEZpcnN0IGxldmVsIGxpICovXG4gID4gbGkge1xuICAgIEBleHRlbmQgJW1haW4tbWVudS1pdGVtLWZpcnN0O1xuXG4gICAgPiBhIHtcbiAgICAgIEBleHRlbmQgJW1haW4tbWVudS1saW5rLWZpcnN0O1xuICAgIH1cbiAgfVxuICAvKiBMZXZlbCAyIE1lbnUgKi9cbiAgLnN1Yi1tZW51IHtcbiAgICB6LWluZGV4OiA5OTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDAgcmdiYSgwLDAsMCwwLjE1KTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgbGVmdDogOTk5OXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggMCByZ2JhKDAsMCwwLDAuMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDtcbiAgICB9XG4gICAgLyogU2Vjb25kIGxldmVsIGxpICovXG4gICAgLm1lbnUtaXRlbSB7XG4gICAgICBAZXh0ZW5kICVtYWluLW1lbnUtaXRlbS1zZWNvbmQ7XG5cbiAgICAgID4gYSB7XG4gICAgICAgIEBleHRlbmQgJW1haW4tbWVudS1saW5rLXNlY29uZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qIFN0eWxlcyBmb3IgTWFpbiBOYXZpZ2F0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVtYWluLW1lbnUtaXRlbSB7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgfVxuXG4gICYtZmlyc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIC8qIElmIGhhdmUgY2hpbGRyZW4gKi9cbiAgICAvLyAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46YmVmb3JlIHtcbiAgICAvLyAgIEBleHRlbmQgJXRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gICBjb250ZW50OiBcIlwiO1xuICAgIC8vICAgd2lkdGg6IDA7XG4gICAgLy8gICBoZWlnaHQ6IDA7XG4gICAgLy8gICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAvLyAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAvLyAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAkbWFpbi1jb2xvcjtcbiAgICAvLyAgIGxlZnQ6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgLy8gICBvcGFjaXR5OiAwO1xuICAgIC8vICAgYm90dG9tOiAwO1xuICAgIC8vIH1cbiAgICAvL1xuICAgIC8vICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlcjpiZWZvcmUge1xuICAgIC8vICAgb3BhY2l0eTogMTtcbiAgICAvLyB9XG4gICAgLyogSWYgSGlnaGxpZ2h0ZWQgKi9cbiAgICAmLm1lbnUtaXRlbS0taGlnaGxpZ2h0IHtcbiAgICAgID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBleHRlbmQgJW1haW4tbmF2LWludGVyYWN0O1xuICAgIH1cbiAgfVxuXG4gICYtc2Vjb25kIHtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1jb2xvcjtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiVtYWluLW1lbnUtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicm93bjtcbiAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIGkge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xuICB9XG5cbiAgJi1maXJzdCB7XG4gICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG5cbiAgICB9XG4gIH1cblxuICAmLXNlY29uZCB7XG4gICAgcGFkZGluZzogMTRweCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogSGVhZGVyIFdpZGdldCBBcmVhXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uaGVhZGVyLXdpZGdldC1hcmVhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgei1pbmRleDogMTAxO1xuICBvcmRlcjogMjA7XG4gIHBhZGRpbmc6IDE1cHggNXZ3O1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDAgNXZ3O1xuICAgIG9yZGVyOiAwO1xuICB9XG5cbiAgLm1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLndpZGdldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgLy8gQGV4dGVuZCAlaGVhZGVyLWJ1dHRvbnM7XG4gIH1cblxuICBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICsgMC4zO1xuICAgIGNvbG9yOiAkYnJvd247XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICBiZGkge1xuICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG4gIH1cblxuICAud29vY29tbWVyY2UtcHJvZHVjdC1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgbWF4LXdpZHRoOiA3MHZ3O1xuICAgIH1cbiAgfVxuXG4gICN3b29jb21tZXJjZS1wcm9kdWN0LXNlYXJjaC1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBAaW5jbHVkZSBjaXJjbGUtb2JqZWN0KDQ2cHgsICRvcmFuZ2UsIDIwcHgpO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAwIGhzbGEoMCwwJSwxMCUsIDAuNSk7XG4gICAgcGFkZGluZzogMDtcbiAgICByaWdodDogLTIzcHg7XG4gICAgdG9wOiAwO1xuXG4gICAgaSB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICB9XG4gIH1cblxuICAjd29vY29tbWVyY2UtcHJvZHVjdC1zZWFyY2gtZmllbGQge1xuICAgIGhlaWdodDogNDZweDtcbiAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLDAsMCwwLjIpO1xuICB9XG59XG4vKiBQcmUgSGVhZGVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucHJlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIHBhZGRpbmc6IDNweCAzJTtcblxuICA+ICoge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBpIHtcbiAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBmbGV4OiAxMSAxIDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBmbGV4OiAyIDEgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGNvbG9yOiBoc2woMCwwJSwyMCUpO1xuICB9XG5cbiAgYSB7XG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogR2FyZGVuIFBpY2tzIFNwZWNpZmljICovXG4lbWVudS1pdGVtLWljb24ge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOHB4IDJweDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDMzcHg7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNDBweDtcbiAgfVxufVxuXG4vLyAubWFpbi1uYXZfX3Byb2R1Y3RzLm1lbnUtaXRlbSB7XG4vLyAgICYuc2ZIb3ZlciB7XG4vLyAgICAgJiA+IHVsLnN1Yi1tZW51IHtcbi8vICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbi8vICAgICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuLy8gICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICB3aWR0aDogMTAwJTtcbi8vICAgICAgIGxlZnQ6IDA7XG4vLyAgICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbi8vICAgICAgICAgLy8gZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4vLyAgICAgICAgIHotaW5kZXg6IC05OTtcbi8vICAgICAgICAgb3BhY2l0eTogMDtcbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIH1cbi8vXG4vLyAgIC5tZW51LWl0ZW0ge1xuLy8gICAgIGZsZXg6IDEgMSAwO1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuLy8gICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbi8vICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuLy8gICAgIG1heC13aWR0aDogMTQwcHg7XG4vL1xuLy8gICAgICY6aG92ZXIgYSB7XG4vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwwJSw5NSUpO1xuLy8gICAgICAgY29sb3I6ICRicm93bjtcbi8vICAgICB9XG4vL1xuLy8gICAgIHNwYW4ge1xuLy8gICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuLy8gICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgfVxuLy9cbi8vICAgICBhIHtcbi8vICAgICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4vLyAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbi8vICAgICAgIHBhZGRpbmc6IDhweDtcbi8vXG4vLyAgICAgICAmOmJlZm9yZSB7XG4vLyAgICAgICAgIEBleHRlbmQgJW1lbnUtaXRlbS1pY29uO1xuLy8gICAgICAgICBtYXJnaW46IDAgYXV0byA1cHg7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG5cbnVsW2lkXj1cIm1lbnUtY2F0ZWdvcnktbWVudVwiXSB7XG4gIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIGNvbG9yOiAjNjc0YTJiO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcblxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGV4dGVuZCAlbWVudS1pdGVtLWljb247XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgJi5oZWFkZXItY2F0ZWdvcnktbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLm1lbnUtaXRlbSB7XG4gICAgICBmbGV4OiAxIDEgMjUlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIgYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLDAlLDk1JSk7XG4gICAgICAgIGNvbG9yOiAkYnJvd247XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgcGFkZGluZzogMTVweCA4cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAZXh0ZW5kICVtZW51LWl0ZW0taWNvbjtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1lbnUtbnV0cy1hbmQtc2VlZHMgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi93cC1jb250ZW50L3VwbG9hZHMvbnV0cy1hbmQtc2VlZHMucG5nXCIpO1xufVxuXG4ubWVudS1kcmllZC1mcnVpdHMgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi93cC1jb250ZW50L3VwbG9hZHMvZHJpZWQtZnJ1aXRzLnBuZ1wiKTtcbn1cblxuLm1lbnUtc25hY2stZm9vZHMgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi93cC1jb250ZW50L3VwbG9hZHMvc25hY2stZm9vZHMucG5nXCIpO1xufVxuXG4ubWVudS1jZXJlYWxzLWFuZC1ncmFpbnMgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi93cC1jb250ZW50L3VwbG9hZHMvY2VyZWFscy1ncmFpbnMucG5nXCIpO1xufVxuXG4ubWVudS1taXhlcyBhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uL3dwLWNvbnRlbnQvdXBsb2Fkcy9taXhlcy5wbmdcIik7XG59XG5cbi5tZW51LWdpZnRzIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vd3AtY29udGVudC91cGxvYWRzL2dpZnRzLnBuZ1wiKTtcbn1cblxuLm1lbnUtb3RoZXJzIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vd3AtY29udGVudC91cGxvYWRzL290aGVycy5wbmdcIik7XG59XG5cbi5tZW51LXByb21vIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vd3AtY29udGVudC91cGxvYWRzL3NhbGUucG5nXCIpO1xufVxuIiwiLyogU2lkZWJhclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpZGViYXIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uc2lkZWJhciAud2lkZ2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLnNpZGViYXIgcCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4iLCIvKiBGb290ZXJcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRm9vdGVyIFdpZGdldHNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5mb290ZXItd2lkZ2V0cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC8vIGJveC1zaGFkb3c6IDAgMCAxNXB4IDAgcmdiYSgwLDAsMCwwLjEpO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiAzMHB4IDUlO1xuICB9XG5cbiAgLndyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ3JpZ2h0JywgMzBweCk7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci13aWRnZXQtYXJlYSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmZvb3Rlci13aWRnZXRzLTEge1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLmZvb3Rlci13aWRnZXRzIC5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicm93bjtcblxuICBsaSB7XG4gICAgbWFyZ2luOiAwIDhweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxN3B4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiA2cHggMDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgIH1cblxuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci13aWRnZXRzLTEge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBtYXJnaW46IDAgYXV0byAwIDA7XG4gICAgfVxuICB9XG59XG5cbi5mb290ZXItd2lkZ2V0LWFyZWE6bGFzdC1jaGlsZCxcbi5mb290ZXItd2lkZ2V0cyAud2lkZ2V0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4jbWVudS1zb2NpYWwtbWVkaWEtbWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLnNpdGUtaGVhZGVyICYge1xuICAgICAgLy8gdG8gaGlkZSBkaXNwbGF5IGZyb20gaGVhZGVyXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIGkge1xuICAgIEBpbmNsdWRlIGNpcmNsZS1vYmplY3QoMjVweCwgJG1haW4tY29sb3IsIDE0cHgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxufVxuLyogU2l0ZSBGb290ZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWZvb3RlciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBhZGRpbmc6IDE1cHggNSUgNXB4O1xuXG4gID4gLndyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgID4gcCB7XG4gICAgICBAZXh0ZW5kIC5zbWFsbDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIEdyYXBoaWNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTZWNvbmRhcnkgR3JhcGhpY1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJXNlY29uZGFyeS1ncmFwaGljIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6YWZ0ZXIsXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgdG9wOiAxMHB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjBkZWcpO1xuICAgIGJvdHRvbTogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgfVxufVxuLy8gLnNlY29uZGFyeS1ncmFwaGljIHtcbi8vICAgQGV4dGVuZCAlc2Vjb25kYXJ5LWdyYXBoaWM7XG4vLyB9XG4vKiBCYWNrZ3JvdW5kIFBhdHRlcm5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWJnLXBhdHRlcm4ge1xuICBiYWNrZ3JvdW5kOiAkcGF0dGVybi0xLWxpbmsgcmVwZWF0IGNlbnRlcjtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgfVxufVxuLyogR3JhcGhpYyBEaXZpZGVyIDFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWdyYXBoaWMtZGl2aWRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTIwcHg7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICRncmFwaGljLWRpdmlkZXItMS1saW5rIG5vLXJlcGVhdCBib3R0b20gLyAxMDJ2dyBhdXRvO1xufVxuXG4lZ3JhcGhpYy1kaXZpZGVyLXRvcCB7XG4gIEBleHRlbmQgJWdyYXBoaWMtZGl2aWRlcjtcbiAgdG9wOiAtMTE5cHg7XG59XG5cbiVncmFwaGljLWRpdmlkZXItYm90dG9tIHtcbiAgQGV4dGVuZCAlZ3JhcGhpYy1kaXZpZGVyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBib3R0b206IC0xMTlweDtcbn1cbi8qIEdyYXBoaWMgRGl2aWRlciAyIC0gYnJ1c2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWdyYXBoaWMtZGl2aWRlci0tYnJ1c2gge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICRncmFwaGljLWRpdmlkZXItMi1saW5rIG5vLXJlcGVhdCBib3R0b20gLyAxMDJ2dyBhdXRvO1xufVxuXG4lZ3JhcGhpYy1kaXZpZGVyLS1icnVzaC10b3Age1xuICBAZXh0ZW5kICVncmFwaGljLWRpdmlkZXItLWJydXNoO1xuICB0b3A6IC00OXB4O1xufVxuXG4lZ3JhcGhpYy1kaXZpZGVyLS1icnVzaC1ib3R0b20ge1xuICBAZXh0ZW5kICVncmFwaGljLWRpdmlkZXItLWJydXNoO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBib3R0b206IC00OXB4O1xufVxuLyogRGl2aWRlciBhZnRlciB0aXRsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lZGl2aWRlci1hZnRlci10aXRsZSB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRtYWluLWNvbG9yO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxufVxuIiwiLyogQnV0dG9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGJ0bi0xXG4gYnRuLTJcbiBidG4taWNvbi10ZXh0XG4gKi9cbi8qIFN0cnVjdHVyZSBvZiBhIGJ1dHRvbiAqL1xuQG1peGluIGJ0bigkc2l6ZSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRvcDogMDtcbiAgYm9yZGVyOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGlmICRzaXplID09IHNtYWxsIHtcbiAgICBwYWRkaW5nOiAwLjZlbSAwLjllbTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuNDtcbiAgfVxuICBAaWYgJHNpemUgPT0gbWVkaXVtIHtcbiAgICBwYWRkaW5nOiAwLjllbSAxLjJlbTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMztcbiAgfVxuICBAaWYgJHNpemUgPT0gbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEuMmVtO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbiVidG4ge1xuICBAaW5jbHVkZSBidG4obWVkaXVtKTtcblxuICAmLXNtYWxsIHtcbiAgICBAaW5jbHVkZSBidG4oc21hbGwpO1xuICB9XG5cbiAgJi1sYXJnZSB7XG4gICAgQGluY2x1ZGUgYnRuKGxhcmdlKTtcbiAgfVxufVxuXG4uYnRuIHtcbiAgQGV4dGVuZCAlYnRuO1xuXG4gICYuYWxpZ24tYyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICAmLXNtYWxsIHtcbiAgICBAZXh0ZW5kICVidG4tc21hbGw7XG4gIH1cblxuICAmLWxhcmdlIHtcbiAgICBAZXh0ZW5kICVidG4tbGFyZ2U7XG4gIH1cbn1cbi8qIFNvbGlkIEJ1dHRvbiAtIGJ0bi0xXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBidG4tMSgkYmctY29sb3IsICRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLWNvbG9yLCAxNSUpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xuICB9XG59XG5cbiVidG4tMSB7XG4gIEBpbmNsdWRlIGJ0bi0xKGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKSwgI2ZmZik7XG5cbiAgJi1zZWNvbmRhcnkge1xuICAgIEBpbmNsdWRlIGJ0bi0xKGhzbCgwLDAlLDYwJSksIGhzbCgwLDAlLDEwMCUpKTtcbiAgfVxuXG4gICYtb3JhbmdlIHtcbiAgICBAaW5jbHVkZSBidG4tMSgkb3JhbmdlLCBoc2woMCwwJSwxMDAlKSk7XG4gIH1cblxuICAmLWxpZ2h0IHtcbiAgICBAaW5jbHVkZSBidG4tMShoc2woMCwwJSw5MCUpLCBoc2woMCwwJSw1MCUpKTtcbiAgfVxuXG4gICYtc3VjY2VzcyB7XG4gICAgQGluY2x1ZGUgYnRuLTEoJGdyZWVuLCBoc2woMCwwJSwxMDAlKSk7XG4gIH1cblxuICAmLWluZm8ge1xuICAgIEBpbmNsdWRlIGJ0bi0xKCRibHVlLCBoc2woMCwwJSwxMDAlKSk7XG4gIH1cblxuICAmLXdhcm5pbmcge1xuICAgIEBpbmNsdWRlIGJ0bi0xKCR5ZWxsb3csIGRhcmtlbigkeWVsbG93LCA0MCUpKTtcbiAgfVxuXG4gICYtZGFuZ2VyIHtcbiAgICBAaW5jbHVkZSBidG4tMSgkcmVkLCBoc2woMCwwJSwxMDAlKSk7XG4gIH1cbn1cblxuLmJ0bi0xIHtcbiAgQGV4dGVuZCAlYnRuLTE7XG5cbiAgJi1zZWNvbmRhcnkge1xuICAgIEBleHRlbmQgJWJ0bi0xLXNlY29uZGFyeTtcbiAgfVxuICAmLW9yYW5nZSB7XG4gICAgQGV4dGVuZCAlYnRuLTEtb3JhbmdlO1xuICB9XG5cbiAgJi1saWdodCB7XG4gICAgQGV4dGVuZCAlYnRuLTEtbGlnaHQ7XG4gIH1cblxuICAmLXN1Y2Nlc3Mge1xuICAgIEBleHRlbmQgJWJ0bi0xLXN1Y2Nlc3M7XG4gIH1cblxuICAmLWluZm8ge1xuICAgIEBleHRlbmQgJWJ0bi0xLWluZm87XG4gIH1cblxuICAmLXdhcm5pbmcge1xuICAgIEBleHRlbmQgJWJ0bi0xLXdhcm5pbmc7XG4gIH1cblxuICAmLWRhbmdlciB7XG4gICAgQGV4dGVuZCAlYnRuLTEtZGFuZ2VyO1xuICB9XG59XG4vKiBPdXRsaW5lIEJ1dHRvbiAtIGJ0bi0yXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBidG4tMigkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4lYnRuLTIge1xuICBAaW5jbHVkZSBidG4tMigkbWFpbi1jb2xvcik7XG5cbiAgJi13aGl0ZSB7XG4gICAgQGluY2x1ZGUgYnRuLTIoI2ZmZik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDE1JSk7XG4gICAgfVxuICB9XG59XG5cbi5idG4tMiB7XG4gIEBleHRlbmQgJWJ0bi0yO1xuXG4gICYtd2hpdGUge1xuICAgIEBleHRlbmQgJWJ0bi0yLXdoaXRlO1xuICB9XG59XG4vKiBCdXR0b24gSWNvbiBUZXh0IC0gLmJ0bi1pY29uLXRleHRcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWJ0bi1pY29uLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTUlKTtcbiAgY29sb3I6ICNmZmY7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiA2cHggMTJweDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIGkge1xuICAgIEBpbmNsdWRlIGNpcmNsZS1vYmplY3QoMzBweCwgaHNsYSgwLDAlLDEwMCUsMCksIDE4cHgpO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICB9XG59XG5cbi5idG4taWNvbi10ZXh0IHtcbiAgQGV4dGVuZCAlYnRuLWljb24tdGV4dDtcbn1cbiIsIi8qIEdlbmVzaXMgV2lkZ2V0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogV2lkZ2V0XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud2lkZ2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLndpZGdldCBwOmxhc3QtY2hpbGQsXG4ud2lkZ2V0IHVsID4gbGk6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndpZGdldCB1bCA+IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLndpZGdldCB1bCA+IGxpOmxhc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ud2lkZ2V0IG9sID4gbGkge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0ZXh0LWluZGVudDogLTIwcHg7XG59XG5cbi53aWRnZXQgbGkgbGkge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMCAwIDAgMzBweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLndpZGdldF9jYWxlbmRhciB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud2lkZ2V0X2NhbGVuZGFyIHRkLFxuLndpZGdldF9jYWxlbmRhciB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIEZlYXR1cmVkIENvbnRlbnRcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vIC5mZWF0dXJlZC1jb250ZW50IC5lbnRyeSB7XG4vLyAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuLy8gICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuLy8gfVxuLy9cbi8vIC5mZWF0dXJlZC1jb250ZW50IC5lbnRyeTpsYXN0LW9mLXR5cGUge1xuLy8gICBib3JkZXItYm90dG9tOiBub25lO1xuLy8gICBtYXJnaW4tYm90dG9tOiAwO1xuLy8gfVxuLy9cbi8vIC5mZWF0dXJlZC1jb250ZW50IC5lbnRyeS1pbWFnZSB7XG4vLyAgIGhlaWdodDogNzVweDtcbi8vICAgd2lkdGg6IDc1cHg7XG4vLyB9XG4vL1xuLy8gLmZlYXR1cmVkLWNvbnRlbnQgLmVudHJ5LXRpdGxlIHtcbi8vICAgZm9udC1zaXplOiAxNnB4O1xuLy8gICBmb250LXNpemU6IDEuNnJlbTtcbi8vICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuLy8gICBtYXJnaW4tdG9wOiAxMHB4O1xuLy8gfVxuLyogUGx1Z2luc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEdlbmVzaXMgZU5ld3MgRXh0ZW5kZWRcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vIC5hZnRlci1lbnRyeSAuZW5ld3Mge1xuLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgIHBhZGRpbmc6IDEwcHg7XG4vLyB9XG4vL1xuLy8gLnNpZGViYXIgLmVuZXdzIHtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbi8vICAgcGFkZGluZzogMzBweDtcbi8vIH1cbi8vXG4vLyAuZW5ld3Mtd2lkZ2V0IGlucHV0IHtcbi8vICAgZm9udC1zaXplOiAxNnB4O1xuLy8gICBmb250LXNpemU6IDEuNnJlbTtcbi8vICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vIH1cbi8vXG4vLyAuYWZ0ZXItZW50cnkgLmVuZXdzLXdpZGdldCBpbnB1dCB7XG4vLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vIH1cbi8vXG4vLyAuZW5ld3Mtd2lkZ2V0IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8gICBtYXJnaW46IDA7XG4vLyAgIHdpZHRoOiAxMDAlO1xuLy8gfVxuLy9cbi8vIC5lbmV3cyBmb3JtK3Age1xuLy8gICBtYXJnaW4tdG9wOiAyMHB4O1xuLy8gfVxuLyogR2VuZXNpcyBTaW1wbGUgRkFRXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vLyAuZ3MtZmFxX19xdWVzdGlvbiB7XG4vLyAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuLy8gICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbi8vICAgY29sb3I6ICMzMzM7XG4vLyAgIHBhZGRpbmctbGVmdDogMDtcbi8vICAgcGFkZGluZy1yaWdodDogMDtcbi8vIH1cbi8vXG4vLyAuZ3MtZmFxX19xdWVzdGlvbjpmb2N1cyxcbi8vIC5ncy1mYXFfX3F1ZXN0aW9uOmhvdmVyIHtcbi8vICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4vLyAgIGNvbG9yOiAjMDA3M2U1O1xuLy8gfVxuLy9cbi8vIC5ncy1mYXFfX3F1ZXN0aW9uOjphZnRlciB7XG4vLyAgIGNvbnRlbnQ6IFwiXFxmMTMyXCI7XG4vLyAgIGZvbnQtZmFtaWx5OiBcImRhc2hpY29uc1wiO1xuLy8gICBmbG9hdDogcmlnaHQ7XG4vLyB9XG4vL1xuLy8gLmdzLWZhcV9fcXVlc3Rpb24uZ3MtZmFxLS1leHBhbmRlZDo6YWZ0ZXIge1xuLy8gICBjb250ZW50OiBcIlxcZjQ2MFwiO1xuLy8gfVxuLyogSmV0cGFja1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy8gI3dwc3RhdHMge1xuLy8gICBkaXNwbGF5OiBub25lO1xuLy8gfVxuIiwiLyogRm9ybXNcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqKiBGb3JtIEVycm9yc1xuICovXG4laW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAkcmVkIWltcG9ydGFudDtcbn1cblxuJWludmFsaWQtaW5wdXQge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggJHJlZCFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlIWltcG9ydGFudDtcbn1cbi8qQ09OVEFDVCBGT1JNKi9cbjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbjo6cGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbiN7JGlucHV0LWZpZWxkc30sXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogMzhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDFEMUQxO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiAjNTU1O1xuXG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbn1cbi8qIFJlbW92ZXMgYXdrd2FyZCBkZWZhdWx0IHN0eWxlcyBvbiBzb21lIGlucHV0cyBmb3IgaU9TICovXG4jeyRpbnB1dC1maWVsZHN9LFxudGV4dGFyZWEge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuI3skaW5wdXQtZmllbGRzfSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiYmJiO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggc2F0dXJhdGUoJG1haW4tY29sb3IsIDE1JSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5mb3JtIHtcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgfVxuXG4gIHRleHRhcmVhIHtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICB9XG5cbiAgaW5wdXQge1xuICAgICZbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgcGFkZGluZzogMC42ZW0gMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgICZbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBAZXh0ZW5kICVidG47XG4gICAgICBAZXh0ZW5kICVidG4tMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YxZjFmMjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCAjY2NjO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLypXUENGNyBTUEVDSUZJQyBFUlJPUiBBTkQgQVBQUk9WQUwgTUVTU0FHRVMqL1xuLndwY2Y3IHtcbiAgZm9ybSB7XG4gICAgLndwY2Y3LWxpc3QtaXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLndwY2Y3LW5vdC12YWxpZC10aXAge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YTRhO1xuICAgICAgcGFkZGluZzogMC4yZW0gMC42ZW07XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDVweCA1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICAgIGJvcmRlcjogMCBzb2xpZCAjY2M0YTRhO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4ycmVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YTRhO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAZXh0ZW5kICVmbGV4Ym94LWMtYztcbiAgICAgICAgQGV4dGVuZCAlaWNvbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAud3BjZjctYWNjZXB0YW5jZS1taXNzaW5nLFxuICAgIC53cGNmNy12YWxpZGF0aW9uLWVycm9ycyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGVhMGFcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAud3BjZjctbWFpbC1zZW50LW9rIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlYTAzXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiBTZWxlY3QgUmVzZXRcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4xO1xuICBjb2xvcjogIzU1NTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgcGFkZGluZzogMC42ZW0gMS40ZW0gMC41ZW0gMC44ZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMC4zZW07XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHdpZHRoJTNEJTIyMjkyLjQlMjIlMjBoZWlnaHQlM0QlMjIyOTIuNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMDA3Q0IyJTIyJTIwZCUzRCUyMk0yODclMjA2OS40YTE3LjYlMjAxNy42JTIwMCUyMDAlMjAwLTEzLTUuNEgxOC40Yy01JTIwMC05LjMlMjAxLjgtMTIuOSUyMDUuNEExNy42JTIwMTcuNiUyMDAlMjAwJTIwMCUyMDAlMjA4Mi4yYzAlMjA1JTIwMS44JTIwOS4zJTIwNS40JTIwMTIuOWwxMjglMjAxMjcuOWMzLjYlMjAzLjYlMjA3LjglMjA1LjQlMjAxMi44JTIwNS40czkuMi0xLjglMjAxMi44LTUuNEwyODclMjA5NWMzLjUtMy41JTIwNS40LTcuOCUyMDUuNC0xMi44JTIwMC01LTEuOS05LjItNS41LTEyLjh6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuN2VtIHRvcCA1MCUsIDAgMDtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjY1ZW0gYXV0bywgMTAwJTtcblxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODg4O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWFhO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcHggM3B4IHJnYmEoNTksIDE1MywgMjUyLCAuNyk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IC1tb3otbWFjLWZvY3VzcmluZztcbiAgICBjb2xvcjogIzIyMjtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJiBvcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cbi8qIENoZWNrYm94IFJlc2V0XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICArICoge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgID4gKiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIG1pbi13aWR0aDogMTZweDtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgYm9yZGVyOiBzb2xpZCAycHggI2NjYztcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAzcHggIzk5OTtcbiAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAzcHggIzk5OTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDApO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIEBleHRlbmQgJXRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgfVxuICB9XG5cbiAgKyAqOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7XG4gIH1cblxuICAmOmNoZWNrZWQgKyAqIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigjZmZmLCA1JSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oI2ZmZiwgNSUpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoLjgpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgNHB4IGxpZ2h0ZW4oJGdyZWVuLCAwKTtcbiAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCA0cHggbGlnaHRlbigkZ3JlZW4sIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLyogTGlzdCBzdHlsZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWl0ZW0tbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7XG4gICAgQGV4dGVuZCBwO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC8vIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuICB9XG5cbiAgb2wsXG4gIHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5pdGVtLWxpc3Qge1xuICBAZXh0ZW5kICVpdGVtLWxpc3Q7XG5cbiAgPiBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLm51bWJlci1saXN0IHtcbiAgQGV4dGVuZCAlaXRlbS1saXN0O1xuXG4gID4gbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgfVxufVxuLyogRW50cnkgTWV0YVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmVudHJ5LWZvb3RlciAuZW50cnktbWV0YSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLmVudHJ5LWNvbW1lbnRzLWxpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMDE0XCI7XG4gIG1hcmdpbjogMCA2cHggMCAycHg7XG59XG4vKiBQYWdpbmF0aW9uXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGV4dGVuZCAlZmxleGJveC1jLWM7XG4gIG1hcmdpbjogNjBweCAwO1xufVxuXG4uYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGNvbG9yOiAjMzMzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkgYTpmb2N1cyxcbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkgYTpob3Zlcixcbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkuYWN0aXZlIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICBjb2xvcjogI2ZmZjtcbn1cbiIsIi8qIFNlY3Rpb24gVGl0bGVcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWN0aW9uLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAmLmFsaWduLWMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIGg0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG4vKiBEaXZpZGVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ociB7XG4gIGJvcmRlcjogMDtcbn1cblxuaHIuc21hbGwge1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuJWRpdmlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTVweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJG1haW4tY29sb3I7XG4gIHdpZHRoOiA1MHB4O1xufVxuXG4uZGl2aWRlciB7XG4gIEBleHRlbmQgJWRpdmlkZXI7XG5cbiAgJi1jIHtcbiAgICBAZXh0ZW5kICVkaXZpZGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4uZGl2aWRlci0tZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sb3I6ICRvcmFuZ2U7XG4gIGJvcmRlci13aWR0aDogM3B4O1xufVxuIiwiLyogSW1hZ2UgQ2FyZFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuPGZpZ3VyZSBjbGFzcz1cImltZy1jYXJkXCI+XG4gIDxpbWcgc3JjPVwiXCI+XG4gIDxmaWdjYXB0aW9uPjwvZmlnY2FwdGlvbj5cbjwvZmlndXJlPlxuKi9cbi5pbWctY2FyZCB7XG4gIEBleHRlbmQgJWltZy1jYXJkO1xufVxuXG4laW1nLWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIHotaW5kZXg6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgxMCwxMCwxMCx0b3ApO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb3BhY2l0eTogMC44O1xuICB9XG5cbiAgZmlnY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAqIDEuMTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuLyogTG9nbyBHYWxsZXJ5XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG48c2VjdGlvbiBjbGFzcz1cImxvZ28tc2hvd2Nhc2VcIj5cbiAgPGhlYWRlciBjbGFzcz1cInNlY3Rpb24tdGl0bGUgYWxpZ24tY1wiPlxuICAgIDxoMj5PdXIgQ2xpZW50czwvaDI+XG4gICAgPGhyIGNsYXNzPVwiZGl2aWRlci1jXCI+XG4gICAgPHA+SGVyZSBhcmUgc29tZSBvZiBvdXIgb3VyIGNsaWVudHMuPC9wPlxuICA8L2hlYWRlcj5cblxuICA8ZGl2IGNsYXNzPVwibG9nby1zaG93Y2FzZS1nYWxsZXJ5XCI+XG4gICAgPGltZyBzcmM9XCIuLi8uLi8uLi9zdGF0aWMvbG9nby0xLmpwZ1wiPlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiovXG4vLyAubG9nby1mZWF0dXJlLWdhbGxlcnkge1xuLy8gICBAZXh0ZW5kICVsb2dvLWZlYXR1cmUtZ2FsbGVyeTtcbi8vIH1cblxuJWxvZ28tZmVhdHVyZS1nYWxsZXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAZXh0ZW5kICVmbGV4Ym94LWMtYztcblxuICBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuLyogSW1hZ2UgQmFubmVyXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICA8c2VjdGlvbiBjbGFzcz1cImltYWdlLWJhbm5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgY29udGFpbmVyLWxlZnRcIj5cbiAgICAgIDxoMz5UaXRsZTwvaDM+XG4gICAgICA8cD5EZXNjcmlwdGlvbjwvcD5cbiAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLTNcIj5MZWFybiBNb3JlPC9hPlxuICAgIDwvZGl2PlxuICAgIDxpbWcgc3JjPVwiL3N0YXRpYy9hc2QuanBnXCI+XG4gIDwvc2VjdGlvbj5cblxuICAqL1xuLy8gLmltYWdlLWJhbm5lciB7XG4vLyAgIEBleHRlbmQgJWltYWdlLWJhbm5lcjtcbi8vIH1cblxuJWltYWdlLWJhbm5lciB7XG4gIEBleHRlbmQgJWJhbm5lcjtcbiAgcGFkZGluZzogMTBweDtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsMCwwLDAuMSk7XG5cbiAgICAmLmNvbnRhaW5lci1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICB3aWR0aDogY2FsYygjeyRkZXNrdG9wLXdpZHRofSAqIDAuNSk7XG4gICAgICAgIG1heC13aWR0aDogJGRlc2t0b3Atd2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCgxMDAlIC0gI3skZGVza3RvcC13aWR0aH0pIC8gMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb250YWluZXItcmlnaHQge1xuICAgICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygoMTAwJSAtICN7JGRlc2t0b3Atd2lkdGh9KSAvIDIpO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIEJhbm5lcnNcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJWJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7XG4gIHBhZGRpbmc6IDUwcHggNSU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaW1nIHtcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuLyogUmVndWxhciBCYW5uZXJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJXJlZ3VsYXItYmFubmVyIHtcbiAgQGV4dGVuZCAlYmFubmVyO1xuICBAZXh0ZW5kICViZy1wYXR0ZXJuO1xuICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDEwcHgpO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgcCB7XG4gICAgQGV4dGVuZCAlY29sLTE7XG4gICAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250O1xuICB9XG59XG5cbi5lbnRyeS1oZWFkZXIsXG4ucmVndWxhci1iYW5uZXIge1xuICBAZXh0ZW5kICVyZWd1bGFyLWJhbm5lcjtcbn1cbi8qIEdpYW50IEJhbm5lclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWdpYW50LWJhbm5lciB7XG4gIGhlaWdodDogNTAwcHg7XG4gIG1heC1oZWlnaHQ6IDcyMHB4O1xuICBAZXh0ZW5kICViYW5uZXI7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGhlaWdodDogY2FsYygxMDB2aCk7XG4gIH1cblxuICAuZW50cnktdGl0bGUsXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRleHQtc2hhZG93OiAzcHggM3B4IDZweCByZ2JhKDAsMCwwLDAuNik7XG5cbiAgICBoMSxcbiAgICBoMiB7XG4gICAgICBjb2xvcjogaHNsKDAsMCUsMTAwJSk7XG4gICAgfVxuICB9XG59XG5cbi8vIC5naWFudC1iYW5uZXIge1xuLy8gICBAZXh0ZW5kICVnaWFudC1iYW5uZXI7XG4vLyB9XG4iLCIvKiBIZXJvIFNsaWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogR2lhbnQgQmFubmVyIFNsaWRlciAqL1xuLmhlcm8tc2xpZGVyIHtcbiAgQGV4dGVuZCAldHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgQGV4dGVuZCAlYmFubmVyO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogYXV0bztcbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICB9XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgbWF4LWhlaWdodDogNzIwcHg7XG4gIH1cbiAgLy8gRm9yIHNsaWNranNcbiAgLnNsaWNrLW5leHQsXG4gIC5zbGljay1wcmV2IHtcbiAgICB6LWluZGV4OiA1O1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICB0b3A6IDUwdnc7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMzAlKTtcbiAgICB9XG4gIH1cblxuICAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogMSU7XG4gIH1cblxuICAuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IDElO1xuICB9XG59XG5cbi5oZXJvLXNsaWRlci0tc2hvcnQge1xuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICB9XG5cbiAgLmhlcm8tc2xpZGUge1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG4gIH1cbn1cbi8qIEdpYW50IEJhbm5lciBTbGlkZSAqL1xuLmhlcm8tc2xpZGUge1xuICAvLyBzbGljayB3aWxsIGRldGVybWluZSB3aWR0aFxuICBoZWlnaHQ6IGF1dG87XG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGhlaWdodDogNzB2aDtcbiAgfVxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZ3IC8gMTYgKiA5KTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG4gIC8qIEdlbmVyaWMgRmlnY2FwdGlvbiBTdHlsZXMgKi9cbiAgZmlnY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDUlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgID4gKixcbiAgICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgfVxuICAgICAgLy8gR3JhZGllbnQgRmFkZVxuICAgICAgLy8gJjpiZWZvcmUge1xuICAgICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvLyAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAvLyAgIGxlZnQ6IDA7XG4gICAgICAvLyAgIHRvcDogLTk5cHg7XG4gICAgICAvLyAgIHdpZHRoOiAxMDAlO1xuICAgICAgLy8gICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgLy8gICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDI1NSwyNTUsMjU1LHRvcCk7XG4gICAgICAvLyB9XG4gICAgICBiciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4IWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAqIDM7XG4gICAgICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAyNSUpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgZm9udC1mYW1pbHk6ICRzdWJ0aXRsZS1mb250O1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gICAgICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAxMCUpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogNzB2dztcbiAgICB9XG4gIH1cbiAgLyogQ2FwdGlvbiBQb3NpdGlvbnMgKi9cbiAgJi0tbGVmdCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIEBleHRlbmQgJWhlcm8tc2xpZGUtZ3JhZGllbnQtZmFkZS1sZWZ0LXJpZ2h0O1xuICAgIH1cblxuICAgICYuaGVyby1zbGlkZS0tbGlnaHQ6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWZhZGUoMjU1LDI1NSwyNTUscmlnaHQpO1xuICAgIH1cblxuICAgICYuaGVyby1zbGlkZS0tZGFyazpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgwLDAsMCxyaWdodCk7XG4gICAgfVxuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBAZXh0ZW5kICVoZXJvLXNsaWRlLWZpZ2NhcHRpb24tbGVmdC1yaWdodDtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGxlZnQ6IDV2dztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgLy8gb2JqZWN0LXBvc2l0aW9uOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1yaWdodCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBAZXh0ZW5kICVoZXJvLXNsaWRlLWdyYWRpZW50LWZhZGUtbGVmdC1yaWdodDtcbiAgICB9XG5cbiAgICAmLmhlcm8tc2xpZGUtLWxpZ2h0OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDI1NSwyNTUsMjU1LGxlZnQpO1xuICAgIH1cblxuICAgICYuaGVyby1zbGlkZS0tZGFyazpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgwLDAsMCxsZWZ0KTtcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIEBleHRlbmQgJWhlcm8tc2xpZGUtZmlnY2FwdGlvbi1sZWZ0LXJpZ2h0O1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgcmlnaHQ6IDV2dztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgLy8gb2JqZWN0LXBvc2l0aW9uOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXRvcCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgQGV4dGVuZCAlaGVyby1zbGlkZS1ncmFkaWVudC1mYWRlLXRvcC1ib3R0b207XG4gICAgfVxuXG4gICAgJi5oZXJvLXNsaWRlLS1saWdodDpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgyNTUsMjU1LDI1NSxib3R0b20pO1xuICAgIH1cblxuICAgICYuaGVyby1zbGlkZS0tZGFyazpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgwLDAsMCxib3R0b20pO1xuICAgIH1cblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgQGV4dGVuZCAlaGVyby1zbGlkZS1maWdjYXB0aW9uLXRvcC1ib3R0b207XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIC8vIG9iamVjdC1wb3NpdGlvbjogYm90dG9tO1xuICAgIH1cbiAgfVxuICAmLS1jZW50ZXIge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIEBleHRlbmQgJWhlcm8tc2xpZGUtZ3JhZGllbnQtZmFkZS10b3AtYm90dG9tO1xuICAgIH1cblxuICAgICYuaGVyby1zbGlkZS0tbGlnaHQ6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWZhZGUoMjU1LDI1NSwyNTUsYm90dG9tKTtcbiAgICB9XG5cbiAgICAmLmhlcm8tc2xpZGUtLWRhcms6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWZhZGUoMCwwLDAsYm90dG9tKTtcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIEBleHRlbmQgJWhlcm8tc2xpZGUtZmlnY2FwdGlvbi10b3AtYm90dG9tO1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgLy8gb2JqZWN0LXBvc2l0aW9uOiBib3R0b207XG4gICAgfVxuICB9XG5cbiAgJi0tYm90dG9tIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBAZXh0ZW5kICVoZXJvLXNsaWRlLWdyYWRpZW50LWZhZGUtdG9wLWJvdHRvbTtcbiAgICB9XG5cbiAgICAmLmhlcm8tc2xpZGUtLWxpZ2h0OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDI1NSwyNTUsMjU1LHRvcCk7XG4gICAgfVxuXG4gICAgJi5oZXJvLXNsaWRlLS1kYXJrOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDAsMCwwLHRvcCk7XG4gICAgfVxuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBAZXh0ZW5kICVoZXJvLXNsaWRlLWZpZ2NhcHRpb24tdG9wLWJvdHRvbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLyogRGFyayBmb250IHN0eWxlcyAqL1xuICAmLS1kYXJrIGZpZ2NhcHRpb24ge1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAqIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggNHB4IHJnYmEoMCwwLDAsMC41KTtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qIExlZnQgYW5kIHJpZ2h0IGZpZ2NhcHRpb24qL1xuJWhlcm8tc2xpZGUtZmlnY2FwdGlvbiB7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgJi1sZWZ0LXJpZ2h0IHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgfVxuXG4gICAgJi10b3AtYm90dG9tIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAgMjAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG4laGVyby1zbGlkZS1ncmFkaWVudC1mYWRlIHtcbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7XG4gIG9wYWNpdHk6IDAuNTtcblxuICAmLWxlZnQtcmlnaHQge1xuICAgIEBleHRlbmQgJWhlcm8tc2xpZGUtZ3JhZGllbnQtZmFkZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmLXRvcC1ib3R0b20ge1xuICAgIEBleHRlbmQgJWhlcm8tc2xpZGUtZ3JhZGllbnQtZmFkZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTAlO1xuICB9XG59XG5cbi5oZXJvLXNsaWRlIGZpZ2NhcHRpb24ge1xuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgfVxuICB9XG59XG5cblxuLmhlcm8tc2xpZGUge1xuICBhLmJ0biB7XG4gICAgYm9yZGVyLXJhZGl1czogMjJweDtcbiAgfVxufVxuIiwiLnBvc3QtYXJjaGl2ZSB7XG4gIEBpbmNsdWRlIGNoaWxkLW1hcmdpbignYm90dG9tJywgNTBweCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0bztcblxuICAuYXJjaGl2ZS1kZXNjcmlwdGlvbiB7XG4gICAgQGV4dGVuZCAlcmVndWxhci1iYW5uZXI7XG4gIH1cblxuICAucG9zdC1lbnRyeS1saXN0IHtcbiAgICBwYWRkaW5nOiAwIDUlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxleDogMyAxIDA7XG4gICAgICBtYXJnaW4tbGVmdDogNSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlYmFyIHtcbiAgICBwYWRkaW5nOiAwIDUlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICB9XG4gIH1cbn1cblxuLnBvc3QtZW50cnktbGlzdCB7XG4gIEBpbmNsdWRlIGNoaWxkLW1hcmdpbignYm90dG9tJywgMzBweCk7XG5cbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGNvbHVtbnMoMTVweCwgMik7XG4gICAgQGluY2x1ZGUgY29sdW1uLWxheW91dCgyLCAzKTtcbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxuXG4gIHAge1xuICAgIEBleHRlbmQgLnNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAuY2F0ZWdvcnktbGluayB7XG4gICAgQGV4dGVuZCAlYnRuLXNtYWxsO1xuICAgIEBleHRlbmQgJWJ0bi0xLWxpZ2h0O1xuICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gIH1cblxuICAuZW50cnktY29udGVudF9fdGh1bWJuYWlsLWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxNzBweDtcblxuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBhYnNvbHV0ZTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxufVxuIiwiLyogU3RydWN0dXJlIG9mIHNpbmdsZSBwb3N0Ki9cbi5wb3N0LXNpbmdsZSB7XG4gIC5lbnRyeSB7XG4gICAgQGluY2x1ZGUgY2hpbGQtbWFyZ2luKCdib3R0b20nLCA1MHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAuaGFzLXBvc3QtdGh1bWJuYWlsIC5lbnRyeS1oZWFkZXIge1xuICAgIEBleHRlbmQgJWRhcmstdGhlbWU7XG4gICAgYmFja2dyb3VuZDogJG1haW4tY29sb3I7XG5cbiAgICBpbWcge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgIH1cbiAgfVxuXG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDUlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxleDogMyAxIDA7XG4gICAgICBtYXJnaW4tbGVmdDogNSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlYmFyIHtcbiAgICBwYWRkaW5nOiAwIDUlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICB9XG4gIH1cbn1cbi8qIFByaW1hcnkgc2lkZWJhciBvbmx5ICovXG4uc2lkZWJhci1wcmltYXJ5IHtcbiAgLndpZGdldC10aXRsZSB7XG4gICAgQGluY2x1ZGUgbGluZS1ib3JkZXIoNHB4LCBoc2woMCwwJSw4NSUpLCAnYm90dG9tJywgMTBweCk7XG4gIH1cbn1cblxuLmVudHJ5LWNvbnRlbnQge1xuICAuZW50cnktbWV0YSB7XG4gICAgQGV4dGVuZCAuc21hbGw7XG4gICAgY29sb3I6IGhzbCgwLDAlLDcwJSk7XG4gIH1cbn1cbi8qIFNpbmdsZSBQYWdlIENvbnRlbnRcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucG9zdC1zaW5nbGUge1xuICAuZW50cnktY29udGVudCB7XG4gICAgQGV4dGVuZCAlYmxvZy10eXBvZ3JhcGh5O1xuXG4gICAgPiB1bCB7XG4gICAgICBAZXh0ZW5kIC5pdGVtLWxpc3Q7XG4gICAgfVxuXG4gICAgPiBvbCB7XG4gICAgICBAZXh0ZW5kIC5udW1iZXItbGlzdDtcbiAgICB9XG4gIH1cbiAgLy9cbiAgLy8gLmNvbW1lbnQtcmVzcG9uZCB7XG4gIC8vICAgcGFkZGluZzogMCA1JTtcbiAgLy8gfVxufVxuIiwiLnNpbmdsZS1wYWdlIC5lbnRyeS1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgNSU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIG1heC13aWR0aDogMTE4MHB4O1xuICAgIHBhZGRpbmc6IDUwcHg7XG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogJGJyb3duO1xuICB9XG59XG5cbi5oYXMtcG9zdC10aHVtYm5haWwge1xuICAuZW50cnktaGVhZGVyIHtcbiAgICBAZXh0ZW5kICVkYXJrLXRoZW1lO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIC8vIGJhY2tncm91bmQ6IGhzbCgwLDAsMTAlKTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBpbWcge1xuICAgICAgLy8gb3BhY2l0eTogMC40O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgfVxuXG4gICAgLmVudHJ5LXRpdGxlIHtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgY29sb3I6ICRtYWluLWNvbG9yO1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG4gIH1cbn1cbi8qIFNwZWNpZmljIHRvIGdhcmRlbiBwaWNrcyAqL1xuLnNpbmdsZS1wYWdlIC53cC1ibG9jay1jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbiIsIi8qXG4gKiBRdWljayBCb29rIFNlY3Rpb25cbiAqL1xuLyogSG9tZXBhZ2UgYWJvdXQgKi9cbi5ob21lcGFnZS1hYm91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZzogMTAwcHggNSU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgJjpiZWZvcmUge1xuICAgIEBleHRlbmQgJWdyYXBoaWMtZGl2aWRlci0tYnJ1c2gtdG9wO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgQGV4dGVuZCAlZ3JhcGhpYy1kaXZpZGVyLS1icnVzaC1ib3R0b207XG4gIH1cblxuICBwIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgfVxuXG4gIC5ob21lcGFnZS1hYm91dC0xLFxuICAuaG9tZXBhZ2UtYWJvdXQtMiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICB3aWR0aDogNjAlO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLmhvbWVwYWdlLWFib3V0LTEge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMjBweDtcblxuICAgIGltZzpub3QoLmZlYXR1cmUtaW1hZ2VfX21haW4pIHtcbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgcmlnaHQ6IC02NXB4O1xuICAgICAgICB0b3A6IDgwcHg7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgYm90dG9tOiA4MHB4O1xuICAgICAgICByaWdodDogLTUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhvbWVwYWdlLWFib3V0LTIge1xuICAgIHJpZ2h0OiAtMjBweDtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuXG4gICAgaW1nOm5vdCguZmVhdHVyZS1pbWFnZV9fbWFpbikge1xuICAgICAgYm90dG9tOiAxNTBweDtcbiAgICAgIGxlZnQ6IC02MHB4O1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBvYmplY3QtcG9zaXRpb246IGxlZnQ7XG5cbiAgICAmOm5vdCguZmVhdHVyZS1pbWFnZV9fbWFpbikge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNvbC0xIHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4uZWNvbW1lcmNlLWhpZ2hsaWdodHMge1xuICBAaW5jbHVkZSBjb2x1bW5zKDE1cHgsIDQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgcGFkZGluZzogMjBweCA1JTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcGFkZGluZzogMjBweCAxMCU7XG4gIH1cblxuICA+ICoge1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pY29uLWNhcmQge1xuICAgIGltZyB7XG4gICAgICBmaWx0ZXI6c2F0dXJhdGUoMCkgaW52ZXJ0KDEpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuLmljb24tY2FyZCB7XG4gIEBpbmNsdWRlIHRodW1ibmFpbC1jYXJkKDEwMCUsIDQwcHgsIHJpZ2h0LCAxMHB4KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICB9XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIEBpbmNsdWRlIHRhYmxldCB7fVxuICB9XG5cbiAgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAyMCUpO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi8qIFNlcnZpY2VzICovXG4uaG9tZXBhZ2Utc2VydmljZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDI7XG5cbiAgJjpiZWZvcmUge1xuICAgIEBleHRlbmQgJWdyYXBoaWMtZGl2aWRlci10b3A7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBAZXh0ZW5kICVncmFwaGljLWRpdmlkZXItYm90dG9tO1xuICB9XG59XG5cbi5zZXJ2aWNlcy13cmFwcGVyIHtcbiAgQGV4dGVuZCAuY29scy0zO1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuXG4gIC5jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgfVxuXG4gICAgZW0ge1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTMwcHg7XG4gICAgICB0b3A6IC01MHB4O1xuICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgKiA1O1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIEBleHRlbmQgLnNtYWxsO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cbn1cblxuLm1pbmktY3RhIHtcbiAgQGV4dGVuZCAlYmctcGF0dGVybjtcbiAgQGluY2x1ZGUgY29sdW1ucygwcHgsIDIpO1xuICBwYWRkaW5nOiAwIDEwJTtcblxuICBmaWd1cmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBjb2x1bW5zKDBweCwgMik7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYmFja2dyb3VuZC1pbWFnZS1kaXZpZGVyIHtcbiAgQGV4dGVuZCAlYmFja2dyb3VuZC1pbWFnZS1kaXZpZGVyO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi93cC1jb250ZW50L3VwbG9hZHMvanVyb25nLWZpc2hlcnktcG9ydC5qcGdcIikgbm8tcmVwZWF0IGNlbnRlciAvY292ZXI7XG59XG5cbi5iYWNrZ3JvdW5kLWltYWdlLWRpdmlkZXItMiB7XG4gIEBleHRlbmQgJWJhY2tncm91bmQtaW1hZ2UtZGl2aWRlcjtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vd3AtY29udGVudC91cGxvYWRzL3NlYWZvb2QtZmVhdHVyZS1zY2FsZWQuanBnXCIpIG5vLXJlcGVhdCBjZW50ZXIgL2NvdmVyO1xufVxuXG4lYmFja2dyb3VuZC1pbWFnZS1kaXZpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHZoO1xuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGhlaWdodDogNzB2aDtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICB9XG59XG4vKiBGbG9hdGluZyBidXR0b24gKi9cbi5mbG9hdGluZy13aGF0c2FwcC1idXR0b24ge1xuICBAaW5jbHVkZSBjaXJjbGUtb2JqZWN0KDQ2cHgsICMyNWQzNjYsIDIzcHgpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xuICByaWdodDogMTBweDtcbiAgYm90dG9tOiAxMHB4O1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBsaW5lLWhlaWdodDogNDZweDtcbn1cbi8qIEhvbWVwYWdlIENhdGVnb3J5IEZlYXR1cmUgKi9cbi5ob21lcGFnZS1jYXRlZ29yeS1mZWF0dXJlIHtcbiAgQGluY2x1ZGUgY29sdW1ucygyMHB4LCAzKTtcbn1cbi8qIE91ciBBY2hpZXZlbWVudHMgKi9cbi5vdXItYWNoaWV2ZW1lbnRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG59XG5cbi5jb2xzLTItbWItMCB7XG4gID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uY3RhLW1pbmktd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwIDEwJTtcbn1cblxuLmN0YS1taW5pLXNpbmdsZSB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDIwJSk7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgfVxuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgaSB7XG4gICAgQGluY2x1ZGUgY2lyY2xlLW9iamVjdCg0MHB4LCAkbWFpbi1jb2xvciwgMjBweCk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cbn1cblxuLmZ1bGwtd2lkdGgtZm9ybSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2QyNTA7XG4gIHBhZGRpbmc6IDUwcHg7XG4gIEBleHRlbmQgLmltYWdlLXJlbGVhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICA+ICoge1xuICAgIG1heC13aWR0aDogJHRhYmxldC13aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG4ud3ZzLWhhcy1pbWFnZS10b29sdGlwOmJlZm9yZSxcbltkYXRhLXd2c3Rvb2x0aXBdOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xufVxuLyogcG9wdXAgZnJlZSBwYWNrICovXG4ubW9kYWwtZGlhbG9nIHtcbiAgbWF4LXdpZHRoOiA5MDBweDtcblxuICAub3V0ZXItcm93IHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgfVxuXG4gIC5wcm9kLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxufVxuIiwiLypcbiAqIEVkaXRlZCAyMDE5MDcyN1xuICovXG4vLyBFbGVtZW50cyB1bnFpdWUgdG8gd29vY29tbWVyY2UgdGVtcGxhdGVcbi8qXG4qIFRBQkxFIE9GIENPTlRFTlRTXG4qIC0tLS0tLS0tLS0tICpcbiogLSBXb29jb21tZXJjZSBWYXJpYWJsZXNcbiogLSBXb29jb21tZXJjZSBHbG9iYWwgU3R5bGVzXG4qIC0gQWRkIHRvIENhcnQgQnV0dG9uXG4qIC0gQnJlYWRjcnVtYlxuKiAtIFNhbGUgTGFiZWxcbiogLSBNZXNzYWdlIGJveFxuKiAtIFBhZ2luYXRpb25cbiovXG4vKiBXb29jb21tZXJjZSBWYXJpYWJsZXMgKi9cbiV3b28tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xpcDogdW5zZXQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IGhzbCgwLDAlLDUwJSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xufVxuXG4ld29vLWxhYmVsLTIge1xuICBAZXh0ZW5kICV3b28tbGFiZWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICM2NjY7XG59XG4kcHJvZHVjdC1zZWxlY3Rpb24tbGF5b3V0LWNvbC0xOiAxMjBweDtcbkBtaXhpbiB3b29jb21tZXJjZS1tZXNzYWdlKCRtc2ctY29sb3IpIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtc2ctY29sb3I7XG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRtc2ctY29sb3IsIDUlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRtc2ctY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG5AaW1wb3J0IFwiX3dvby1zdHlsZXMvYXJjaGl2ZVwiO1xuQGltcG9ydCBcIl93b28tc3R5bGVzL3NpbmdsZVwiO1xuQGltcG9ydCBcIl93b28tc3R5bGVzL2NhcnRcIjtcbkBpbXBvcnQgXCJfd29vLXN0eWxlcy9jaGVja291dFwiO1xuQGltcG9ydCBcIl93b28tc3R5bGVzL29yZGVyLXJlY2VpdmVkXCI7XG5AaW1wb3J0IFwiX3dvby1zdHlsZXMvb3JkZXItcGF5XCI7XG5AaW1wb3J0IFwiX3dvby1zdHlsZXMvYWNjb3VudFwiO1xuQGltcG9ydCBcIl93b28tc3R5bGVzL2xvZ2luXCI7IC8vIEBpbXBvcnQgXCJfd29vLXN0eWxlcy9wcmljZS1zbGlkZXJcIjtcbkBpbXBvcnQgXCJfd29vLXN0eWxlcy93aWRnZXRzXCI7IC8vIEBpbXBvcnQgXCJfd29vLXN0eWxlcy9wcG9tLXBsdWdpblwiO1xuQGltcG9ydCBcIl93b28tc3R5bGVzL2ludGVyYWN0aXZlLWNhcnRcIjtcbkBpbXBvcnQgXCJfd29vLXN0eWxlcy9hZGRyZXNzXCI7XG5AaW1wb3J0IFwiX3dvby1zdHlsZXMvc21hbGxzY3JlZW5cIjsgLy8gQGltcG9ydCBcIl93b28tc3R5bGVzL3dvb2NvbW1lcmNlLXByb2R1Y3Qtc2VhcmNoXCI7XG4vKiBXb29jb21tZXJjZSBHbG9iYWwgU3R5bGVzICovXG4ud29vY29tbWVyY2Uge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuLyogTmV3bHkgZGlzY292ZXJlZCBnbG9iYWwgc3R5bGVzICovXG4uY29sMi1zZXQge1xuICBAZXh0ZW5kIC5jb2xzLTI7XG59XG5cbi53b29jb21tZXJjZS1jb2x1bW5fX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi8qIEdsb2JhbCBmb3JtcyAqL1xuZm9ybSB7XG4gIGxhYmVsIHtcbiAgICBAZXh0ZW5kICV3b28tbGFiZWw7XG4gIH1cbn1cbi8qIEJ1dHRvbiBzdHlsZXMgZm9yIHdvb2NvbW1lcmNlICovXG5idXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbi5idXR0b24ge1xuICBAZXh0ZW5kICVidG47XG59XG5cbi5zaG9wX3RhYmxlIC5idXR0b24ge1xuICBAZXh0ZW5kICVidG4tMS1saWdodDtcbn1cbi8qIEFkZCB0byBDYXJ0IEJ1dHRvbiBBS0EgTWFpbiBidXR0b24gKi9cbi5jaGVja291dC1idXR0b24sXG5hLmFkZF90b19jYXJ0X2J1dHRvbixcbmJ1dHRvbi5hZGRfdG9fY2FydF9idXR0b24sXG5idXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIEBleHRlbmQgJWJ0bi0xO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuYnV0dG9uLmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xuICB9XG59XG5cbi53Yy1iYWNrd2FyZCB7XG4gIEBleHRlbmQgJWJ0bi0xO1xuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4vKiBCUkVBRENSVU1CICovXG4ud29vY29tbWVyY2UtYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAvKiBBcmNoaXZlIFBhZ2UgKi9cbiAgLndvb2NvbW1lcmNlLmFyY2hpdmUgJiB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgfVxuICAvKiBTaW5nbGUgUHJvZHVjdCBCcmVhZGNydW1icyAqL1xuICAuc2luZ2xlLXByb2R1Y3QgJiB7XG4gICAgQGluY2x1ZGUgbGluZS1ib3JkZXIoMnB4LCAjZjFmMWYxLCBib3R0b20sIDIwcHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgfVxuICB9XG59XG4vKiBTQUxFIExBQkVMICovXG4ub25zYWxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgY29sb3I6ICNmZmY7XG5cbiAgbGkucHJvZHVjdCAmIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIEBpbmNsdWRlIGNpcmNsZS1vYmplY3QoNDZweCwgJG9yYW5nZSwgMTJweCk7XG4gICAgYm9yZGVyOiA1cHggc29saWQgZGFya2VuKCRvcmFuZ2UsMiUpO1xuICB9XG5cbiAgLnN1bW1hcnkgJiB7XG4gICAgQGluY2x1ZGUgdGFnLWxhYmVsKCRvcmFuZ2UsICdzbWFsbCcpO1xuICB9XG59XG4vKiBNZXNzYWdlIGJveCAqL1xuLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciB7XG4gIG1hcmdpbjogMzBweCBhdXRvIDA7XG4gIGZsZXg6IDEgMSAxMDAlO1xuXG4gIC53b29jb21tZXJjZS1hY2NvdW50LmxvZ2dlZC1pbiAmIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLndvb2NvbW1lcmNlLWNhcnQgJiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4ud29vY29tbWVyY2UtTm90aWNlR3JvdXAge1xuICBtYXJnaW46IDMwcHggYXV0byAwO1xuICBmbGV4OiAxIDEgMTAwJTtcbn1cbi8qIEFsbCBpbmZvcm1hdGlvbiBhbmQgbWVzc2FnZXMgKi9cbi53b29jb21tZXJjZS1pbmZvLFxuLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4od2hpdGUsIDUlKTtcbiAgY29sb3I6ICM1NTU7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvIDJlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEycHg7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZzogMTJweCAyNHB4IDEycHggMTJweDtcbiAgfVxuXG4gIGEge1xuICAgIEBleHRlbmQgJWJ0bjtcbiAgICBAZXh0ZW5kICVidG4tMTtcbiAgICBAZXh0ZW5kICVmbGV4Ym94LWMtYztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLnJlc3RvcmUtaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLyogQWxsIGVycm9ycyAqL1xuLndvb2NvbW1lcmNlLWVycm9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogJGZvbnQtbm9ybTtcbiAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlO1xuICB3aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIHBhZGRpbmc6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSAhaW1wb3J0YW50OyAvLyBSZXF1aXJlZCBmb3IgZGVmYXVsdCB0aGVtZSBjb21wYXRpYmlsaXR5XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IC8vIFJlcXVpcmVkIGZvciBkZWZhdWx0IHRoZW1lIGNvbXBhdGliaWxpdHlcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyAvLyBSZXF1aXJlZCBmb3IgZGVmYXVsdCB0aGVtZSBjb21wYXRpYmlsaXR5XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgLndvb2NvbW1lcmNlLU5vdGljZUdyb3VwLWNoZWNrb3V0ICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCFpbXBvcnRhbnQ7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ud29vY29tbWVyY2UtbWVzc2FnZSB7XG4gIEBpbmNsdWRlIHdvb2NvbW1lcmNlLW1lc3NhZ2UoJGdyZWVuKTtcbn1cblxuLndvb2NvbW1lcmNlLWluZm8ge1xuICBAaW5jbHVkZSB3b29jb21tZXJjZS1tZXNzYWdlKCNjY2MpO1xufVxuXG4ud29vY29tbWVyY2UtZXJyb3Ige1xuICBAaW5jbHVkZSB3b29jb21tZXJjZS1tZXNzYWdlKCRyZWQpO1xufVxuLyogUEFHSU5BVElPTiAqL1xuLndvb2NvbW1lcmNlLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGZsZXg6IDEgMSAxMDAlO1xuXG4gIC5wYWdlLW51bWJlcnMge1xuICAgIEBleHRlbmQgJWZsZXhib3gtYy1jO1xuICB9XG5cbiAgbGkge1xuICAgIEBleHRlbmQgJWZsZXhib3gtYy1jO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG4gICAgfVxuICB9XG5cbiAgYSxcbiAgc3BhbiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGN1cnNvcjogdW5zZXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gIH1cbn1cbi8qIFdvb2NvbW1lcmNlIFN0b3JlIE5vdGljZSAqL1xuLndvb2NvbW1lcmNlLXN0b3JlLW5vdGljZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxMnB4IDUlO1xuICB6LWluZGV4OiA4ODtcbiAgYm90dG9tOiAwO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNnB4IDUlO1xuICB9XG59XG5cbi53b29jb21tZXJjZS1zdG9yZS1ub3RpY2VfX2Rpc21pc3MtbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDUlO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ub3V0LW9mLXN0b2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9mZi13aGl0ZTtcbiAgY29sb3I6ICRicm93bjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDVweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWFyZ2luOiA1cHggYXV0bztcbn1cbiIsIi8qIEFyY2hpdmUgUGFnZSBNYWluIExheW91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmFyY2hpdmUud29vY29tbWVyY2Uge1xuICAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IDAgM3Z3O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBwYWRkaW5nOiAwIDUlO1xuICAgIH1cbiAgfVxuICAvLyBzcGVjaWZpYyBmb3IgYXJjaGl2ZSBwYWdlXG4gIGFzaWRlLndpZGdldC1hcmVhIHtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgei1pbmRleDogMTAwMDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAxMDBweCA1MHB4O1xuICAgIH1cbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB9XG59XG4vKiBTaG9wIEJhbm5lclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2hvcC1iYW5uZXIge1xuICBAZXh0ZW5kICVyZWd1bGFyLWJhbm5lcjtcbiAgbWluLWhlaWdodDogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXG4gIHAge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgbWF4LXdpZHRoOiA2MHZ3O1xuICAgIH1cbiAgfVxufVxuLyogU2hvcCBBcmNoaXZlIFRvcCBCYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFyY2hpdmUtdG9wYmFyIHtcbiAgQGluY2x1ZGUgbGluZS1ib3JkZXIoMnB4LCAjZjFmMWYxLCBib3R0b20sIDMwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiBoc2woMCwwJSw2MCUpO1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuNDtcbn1cblxuLndvb2NvbW1lcmNlLW9yZGVyaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICB3aWR0aDogMjUwcHg7XG4gIH1cbn1cbi8qIFNob3AgQXJjaGl2ZSBXaWRnZXQgQXJlYVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud29vY29tbWVyY2UgYXNpZGUud2lkZ2V0LWFyZWEge1xuICBAaW5jbHVkZSBsaW5lLWJvcmRlcigycHgsICNmMWYxZjEsIHJpZ2h0LCAxNXB4KTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgd2lkdGg6IDE1MHB4O1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBAaW5jbHVkZSBsaW5lLWJvcmRlcigycHgsICNmMWYxZjEsIHJpZ2h0LCAzMHB4KTtcbiAgICB3aWR0aDogMjUwcHg7XG4gIH1cblxuICAud2lkZ2V0IHtcbiAgICBAaW5jbHVkZSBsaW5lLWJvcmRlcigycHgsICNmMWYxZjEsIGJvdHRvbSwgMzBweCk7XG4gIH1cbn1cbi8qIFNpZGViYXIgVG9nZ2xlICovXG4jc2lkZWJhci10b2dnbGUge1xuICBAZXh0ZW5kICVidG4tbGFyZ2U7XG4gIEBleHRlbmQgJWJ0bi0xO1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbiNzaWRlYmFyLXRvZ2dsZS1jbG9zZSB7XG4gIEBpbmNsdWRlIGNpcmNsZS1vYmplY3QoNDBweCwgI2YxZjFmMSwgMjVweCk7XG4gIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDE1JSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1dnc7XG4gIHJpZ2h0OiA1dnc7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLyogU3BlY2lmaWNhbGx5IGZvciBwcm9kdWN0IGNhdGVnb3J5ICovXG4lYXJjaGl2ZS1wcm9kdWN0LWNhdGVnb3J5IHtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG5cbiAgYSB7XG4gICAgQGV4dGVuZCAldHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICBjb2xvcjogaHNsKDAsMCUsNjAlKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjJlbSAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaHNsKDAsMCUsNDAlKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC40ZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5tZW51LXNob3AtbWVudS1jb250YWluZXIsXG4ud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB7XG4gIEBleHRlbmQgJWFyY2hpdmUtcHJvZHVjdC1jYXRlZ29yeTtcbn1cbi8qIFByb2R1Y3RzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFN0cnVjdHVyZSBvZiBwcm9kdWN0cyB0byBkaWZmZXJlbnRpYXRlIGl0IGZyb20gcmVsYXRlZCBwcm9kdWN0cyAqL1xuLmFyY2hpdmUud29vY29tbWVyY2UgLnByb2R1Y3RzLmNvbHVtbnMtNCB7XG4gIEBpbmNsdWRlIGNvbHVtbnMoNXB4LCA0LCAyKTtcbn1cblxuLmFyY2hpdmUud29vY29tbWVyY2UgLnByb2R1Y3RzLmNvbHVtbnMtMiB7XG4gIEBpbmNsdWRlIGNvbHVtbnMoNXB4LCAyKTtcbn1cblxudWwucHJvZHVjdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleDogMSAxIDA7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxufVxuLyogUHJvZHVjdCBMaXN0ICovXG4lcHJvZHVjdC1zdHlsZSB7XG4gIEBleHRlbmQgJXRyYW5zaXRpb24tZHVyYXRpb247XG4gIEBpbmNsdWRlIGNoaWxkLW1hcmdpbignYm90dG9tJywgMTBweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNXB4O1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTVweCAwIHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLmF0dGFjaG1lbnQtd29vY29tbWVyY2VfdGh1bWJuYWlsIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDEwJSk7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgLnByaWNlIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgICBmb250LXdlaWdodDogJGZvbnQtbm9ybTtcbiAgICBjb2xvcjogaHNsKDAsMCUsNTAlKTtcbiAgICAvKiBGb3Igc2FsZSBpdGVtICovXG4gICAgaW5zIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgY29sb3I6ICRtYWluLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5saS5wcm9kdWN0IHtcbiAgQGV4dGVuZCAlcHJvZHVjdC1zdHlsZTtcbn1cbi8qIEFkZGVkIHRvIGNhcnQgYnV0dG9uICovXG4uYWRkZWRfdG9fY2FydCB7XG4gIEBleHRlbmQgJWJ0bjtcbiAgQGV4dGVuZCAlYnRuLTEtbGlnaHQ7XG59XG4vKiBHYXJkZW4gUGlja3MgT25seSAqL1xuLnNob3AtcGFnZS53b29jb21tZXJjZSAuY29udGVudCB7XG4gIC8vIHBhZGRpbmctdG9wOjUwcHg7XG4gIC8vIHBhZGRpbmctYm90dG9tOjUwcHg7XG4gIC8vIC53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZSB7XG4gIC8vICAgZGlzcGxheTogbm9uZTtcbiAgLy8gfVxuICAucHJvZHVjdC1jYXRlZ29yeSB7XG4gICAgcGFkZGluZzogMzBweDtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgY2hpbGQtbWFyZ2luKCdib3R0b20nLCAyMHB4KTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChuKzgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvKiBTaW5nbGUgUHJvZHVjdCBMYXlvdXQgKi9cbi5zaW5nbGUtcHJvZHVjdCB7XG4gIC5wcm9kdWN0LXByaW1hcnktaW5mb3JtYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLDAlLDk3JSk7XG4gICAgcGFkZGluZzogMCAyLjUlO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwYWRkaW5nOiAwIDUlO1xuICAgIH1cbiAgfVxufVxuLyogU2ltcGxlIEFORCBWYXJpYWJsZSBQcm9kdWN0ICovXG5kaXYucHJvZHVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIC8qIENvbW1vbiBQcm9kdWN0IERlc2NyaXB0aW9uIC8gU3VtbWFyeSAqL1xuICAuc3VtbWFyeSB7XG4gICAgQGluY2x1ZGUgY2hpbGQtbWFyZ2luKCdib3R0b20nLCAxNXB4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgIH1cbiAgfVxuICAvLyBQcm9kdWN0IFRpdGxlXG4gIC5wcm9kdWN0X3RpdGxlIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbiAgLy8gUHJpY2VcbiAgLnByaWNlIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gIH1cbiAgLy8gU2hvcnQgRGVzY3JpcHRpb25cbiAgLndvb2NvbW1lcmNlLXByb2R1Y3QtZGV0YWlsc19fc2hvcnQtZGVzY3JpcHRpb24ge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigyMHB4LCBoc2woMCwwLDEwMCUpLCA1cHgsIDFweCBzb2xpZCBoc2woMCwwJSw5MCUpKTtcblxuICAgIG9sIHtcbiAgICAgIEBleHRlbmQgLm51bWJlci1saXN0O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIEBleHRlbmQgLml0ZW0tbGlzdDtcbiAgICB9XG5cbiAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuLyogQ29tbW9uIFByb2R1Y3QgUGFnZSBHYWxsZXJ5ICovXG4ud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IHtcbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIGRpdi50aHVtYm5haWxzIHtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuICB9XG5cbiAgJi53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICBmbGV4LWZsb3c6IHJvdy1yZXZlcnNlIG5vd3JhcDtcbiAgICAgIG1heC13aWR0aDogNDJ2dztcbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgYSA+IGltZyB7XG4gICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3dyYXBwZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCBjdWJpYy1iZXppZXIoMC43OTUsIC0wLjAzNSwgMCwgMSkgMC41cztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3dyYXBwZXIgLnpvb21JbWcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlLS1wbGFjZWhvbGRlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgfVxuXG4gIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlOm50aC1jaGlsZChuKzIpIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3RyaWdnZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNWVtO1xuICAgIHJpZ2h0OiAwLjVlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICB6LWluZGV4OiA5O1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOXB4O1xuICAgICAgbGVmdDogOXB4O1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDJweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTlweDtcbiAgICAgIGxlZnQ6IDIycHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgfVxuICB9XG5cbiAgLmZsZXgtY29udHJvbC10aHVtYnMge1xuICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG4gICAgem9vbTogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAxMHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICBpbWcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1jdXJyZW50IHtcbiAgICAgIGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICNmZmYsIDAgMCAwIDRweCAjY2NjO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLW5leHQge1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IC0zMHB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLXByZXYge1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogVmFyaWFibGUgUHJvZHVjdCAqL1xuZGl2LnByb2R1Y3QtdHlwZS12YXJpYWJsZSB7XG4gIC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQge1xuICAgIEBleHRlbmQgJXNpbmdsZS1hZGQtdG8tY2FydC1tb2R1bGU7XG4gIH1cbiAgLyogRm9yIHZhcmlhdGlvbnMgKi9cbiAgdGFibGUudmFyaWF0aW9ucyB7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgdGJvZHkge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiAkcHJvZHVjdC1zZWxlY3Rpb24tbGF5b3V0LWNvbC0xO1xuICAgIH1cblxuICAgIC52YWx1ZSB7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5yZXNldF92YXJpYXRpb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qIEFmdGVyIHZhcmlhdGlvbiBzZWxlY3QgKi9cbiAgLnNpbmdsZV92YXJpYXRpb25fd3JhcCB7XG4gICAgPiAqIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLnNpbmdsZV92YXJpYXRpb24ge1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyKDIwcHgsIGhzbCgwLDAsMTAwJSksIDVweCwgMXB4IHNvbGlkIGhzbCgwLDAlLDkwJSkpO1xuICAgIH1cblxuICAgIC53b29jb21tZXJjZS12YXJpYXRpb24tcHJpY2Uge1xuICAgICAgQGluY2x1ZGUgbGluZS1ib3JkZXIoMXB4LCAjZjFmMWYxLCB0b3AsIDIwcHgpO1xuXG4gICAgICAucHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlByaWNlXCI7XG4gICAgICAgICAgQGV4dGVuZCAld29vLWxhYmVsLTI7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC1zZWxlY3Rpb24tbGF5b3V0LWNvbC0xO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZGVsIHtcbiAgICAgICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuNDtcbiAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZGl2LnByb2R1Y3QtdHlwZS1zaW1wbGUge1xuICBmb3JtLmNhcnQge1xuICAgIEBleHRlbmQgJXNpbmdsZS1hZGQtdG8tY2FydC1tb2R1bGU7XG4gIH1cbn1cbi8qIFF1YW50aXR5IGFuZCBBZGQgdG8gY2FydCBtb2R1bGUgKi9cbiVzaW5nbGUtYWRkLXRvLWNhcnQtbW9kdWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBwYWRkaW5nOiAxNXB4IDA7XG5cbiAgaW5wdXQucXR5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gIH1cblxuICAucXVhbnRpdHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGZsZXg6IDAgMCA0MHB4O1xuXG4gICAgaW5wdXQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGhzbCgwLDAlLDgwJSk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgaHNsKDAsMCUsODAlKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgLyogSGlkZSBIVE1MNSBVcCBhbmQgRG93biBhcnJvd3MuICovXG4gICAgICAmW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgICAmW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgJlt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1pbnVzLFxuICAucGx1cyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgwLDAlLDgwJSk7XG4gIH1cblxuICAubWludXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICB9XG5cbiAgLnBsdXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuICB9XG5cbiAgLmJ1dHRvbi5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgfVxufVxuLyogV29vY29tbWVyY2UgVGFicyAqL1xuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiBSZWxhdGVkIFByb2R1Y3RzICovXG4ucmVsYXRlZC5wcm9kdWN0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDUwcHggMi41JTtcbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBwYWRkaW5nOiA1MHB4IDUlO1xuICB9XG5cbiAgPiBoMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgfVxuXG4gIC5wcm9kdWN0cyB7XG4gICAgQGluY2x1ZGUgY29sdW1ucygyMHB4LCA0LCAyKTtcbiAgfVxufVxuLyogU2VhZm9vZCBMb2JhbmcgT25seSAqL1xuLnNpbmdsZS1wcm9kdWN0LWFkZGl0aW9uYWwtZmllbGRzIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuXG4gID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtaW4td2lkdGg6IDUwJTtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ubmFtZS1sYW5ndWFnZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gIGxhYmVsIHtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxufVxuXG4uc2luZ2xlLWJlbmVmaXQtbGlzdCB7XG4gIEBpbmNsdWRlIGNoaWxkLW1hcmdpbigncmlnaHQnLCAxMHB4KTtcbiAgQGluY2x1ZGUgY29udGFpbmVyKDIwcHgsIGhzbCgwLDAsMTAwJSksIDVweCwgMXB4IHNvbGlkIGhzbCgwLDAlLDkwJSkpO1xuXG4gIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBpY29uKCdcXGVhMDMnKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cbi8qIFNpbmdsZSBwcm9kdWN0IGF0dHJpYnV0ZXMgKi9cbi5zaW5nbGUtcHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAudGFnLWxhYmVsIHtcbiAgICBAaW5jbHVkZSB0YWctbGFiZWwoaHNsKDAsMCUsOTclKSwgc21hbGwpO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBoc2woMCwwJSw1MCUpO1xuICAgIG1hcmdpbjogM3B4O1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuICB9XG59XG4vKiBTaW5nbGUgcHJvZHVjdCBhZGQgdG8gYW55IHBsdWdpbiAqL1xuLnN1bW1hcnkge1xuICAuYWRkdG9hbnlfaGVhZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIHdpZHRoOiAkcHJvZHVjdC1zZWxlY3Rpb24tbGF5b3V0LWNvbC0xO1xuICAgIH1cbiAgfVxuXG4gIC5hMmFfa2l0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgbGVmdDogMTBweDtcbiAgICB9XG4gIH1cbn1cbi8qIFdvb2NvbW1lcmNlIFRhYnMgKi9cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwIWltcG9ydGFudDtcbiAgcGFkZGluZzogNTBweCA1JTtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vc3RhdGljL2JhY2tncm91bmQtcGF0dGVybi5qcGdcIik7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIHBhZGRpbmc6IDEwMHB4O1xuICB9XG59XG5cbi50YWJzLndjLXRhYnMge1xuICAvLyBkaXNwbGF5OiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXgtd2lkdGg6IDc1MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICA+ICoge1xuICAgICAgZmxleDogMSAxIDA7XG5cbiAgICAgIGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsaS5hY3RpdmUge1xuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBAZXh0ZW5kICVidG47XG4gICAgQGV4dGVuZCAlYnRuLTEtbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4ud29vY29tbWVyY2UtVGFicy1wYW5lbC5lbnRyeS1jb250ZW50IHtcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWF4LXdpZHRoOiA3NTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJveC1zaGFkb3c6IDAgMCAzMHB4IDAgcmdiYSgwLDAsMCwwLjA1KTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcGFkZGluZzogNTBweDtcbiAgfVxuXG4gID4gaDI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucHJvZHVjdF9tZXRhIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLndvb2NvbW1lcmNlIC5wcm9kLWFkZC1pbmZvIC5wYW5lbC1oZWFkaW5nIC5hY2NvcmRpb24tdG9nZ2xlOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG4gIGNvbnRlbnQ6IFwiXFxlMDgwXCI7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogIzY0NDgyYTtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4ud29vY29tbWVyY2UgLnByb2QtYWRkLWluZm8gLnBhbmVsLWhlYWRpbmcgLmFjY29yZGlvbi10b2dnbGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTExNFwiO1xufVxuXG4ucGFuZWwtdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAxMCUpO1xufVxuXG4udmFyaWF0aW9ucyB7XG4gIC5sYWJlbCB7XG4gICAgbGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC53b28tc2VsZWN0ZWQtdmFyaWF0aW9uLWl0ZW0tbmFtZSB7XG4gICAgICBjb2xvcjogZ3JleTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gICAgfVxuICB9XG5cbiAgLndvby12YXJpYXRpb24taXRlbXMtd3JhcHBlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcblxuICAgIC5idXR0b24tdmFyaWFibGUtd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDVweCk7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi12YXJpYWJsZS1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjoxcHggc29saWQgI2NjYztcblxuICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBXb28gQ2FydFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU3RydWN0dXJlICovXG4ud29vY29tbWVyY2UtY2FydCB7XG4gIC53b29jb21tZXJjZSB7XG4gICAgcGFkZGluZzogNTBweCAzdncgODBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDUlIDgwcHg7XG4gICAgfVxuICB9XG5cbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi53b29jb21tZXJjZS1jYXJ0IHtcbiAgLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB7XG4gICAgZmxleDogMSAxIDEwMCU7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDV2dztcbiAgICAgIGZsZXg6IDIgMSAwO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJ0LWNvbGxhdGVyYWxzIHtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgIH1cbiAgfVxufVxuLyogR2VuZXJhbCBUYWJsZSAqL1xuLnNob3BfdGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgY29sb3I6IGhzbCgwLDAlLDYwJSk7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2VlZTtcbiAgfVxuXG4gIHRoIHtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcbiAgfVxuXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDE1cHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC40O1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgfVxuICB9XG5cbiAgdGQucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAxMCUpO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjJyZW07XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBoc2woMCwwJSwzMCUpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogaHNsKDAsMCUsNjAlKTtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC40O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtc3VidG90YWwge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cbiAgfVxufVxuLyogQ2FydCBUYWJsZSAqL1xudGFibGUuY2FydCB7XG4gIC5wcm9kdWN0LXJlbW92ZSB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBjaXJjbGUtb2JqZWN0KDI2cHgsICRyZWQsIDApO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAZXh0ZW5kICVpY29uO1xuICAgICAgICBjb250ZW50OiBcIlxcZWEwYVwiO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIC5wcm9kdWN0LXRodW1ibmFpbCB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWN0aW9ucyB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgI2VlZTtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMztcbiAgICB9XG5cbiAgICAuY291cG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgIGxhYmVsW2Zvcj1cImNvdXBvbl9jb2RlXCJdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b25bbmFtZT1cInVwZGF0ZV9jYXJ0XCJdIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAjY291cG9uX2NvZGUge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLyogTW9iaWxlIFRhYmxlICovXG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgdGJvZHkgdHIuY2FydF9pdGVtIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcblxuICAgICAgdGQge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmNWY1ZjU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiBWYXJpYXRpb24gdGV4dCB3aXRoaW4gdGFibGUgKi9cbi52YXJpYXRpb24sXG4ud2MtaXRlbS1tZXRhIHtcbiAgbWFyZ2luOiAwO1xuXG4gIC53Yy1pdGVtLW1ldGEtbGFiZWwsXG4gIGR0IHtcbiAgICBAZXh0ZW5kICV3b28tbGFiZWw7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuXG4gIGRkIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi8qIENhcnQgVG90YWxzIFRhYmxlICovXG4uY2FydF90b3RhbHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oI2ZmZiwgMyUpO1xuICBwYWRkaW5nOiA1cHggMjBweCAyMHB4O1xuXG4gIC5zaG9wX3RhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC53b29jb21tZXJjZS1zaGlwcGluZy10b3RhbHMge1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB3aWR0aDogMjAwJTtcbiAgICB9XG4gIH1cblxuICA+IGgyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHI6Zmlyc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAxMnB4IDA7XG4gIH1cblxuICB0aCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG4gICAgY29sb3I6ICM2NjY7XG4gIH1cblxuICB0ZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAud29vY29tbWVyY2Utc2hpcHBpbmctZGVzdGluYXRpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC40O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIG9wYWNpdHk6IDAuODtcblxuICAgIHN0cm9uZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuY2hlY2tvdXQtYnV0dG9uIHtcbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIH1cbiAgfVxufVxuXG4jc2hpcHBpbmdfbWV0aG9kIHtcbiAgZm9udDogJGZvbnQtYm9sZCAkYmFzZS1mb250LXNpemUgLSAwLjIgJG1haW4tZm9udDtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi10b3A6MDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAmOmNoZWNrZWQrbGFiZWwge1xuICAgICAgQGV4dGVuZCAlYnRuLTE7XG4gICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIGRhcmtlbigkbWFpbi1jb2xvciwgMjUlKTtcbiAgICB9XG4gIH1cblxuICBsYWJlbCB7XG4gICAgQGV4dGVuZCAlYnRuLWxhcmdlO1xuICAgIEBleHRlbmQgJWJ0bi0xLWxpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICB9XG59XG5cbi5jYXJ0LWVtcHR5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnJldHVybi10by1zaG9wIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG5cbi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyAud29vY29tbWVyY2Utc2hpcHBpbmctdG90YWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIHRkOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlNlbGVjdCB5b3VyIHNoaXBwaW5nIG1ldGhvZFwiO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIHdpZHRoOiAyMDAlO1xuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuXG4gIHRoIHAge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAjc2hpcHBpbmdfbWV0aG9kIHtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5lbnRyeS1jb250ZW50IHtcbiAgcGFkZGluZzogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4ud29vY29tbWVyY2UtY2hlY2tvdXQ6bm90KC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCkge1xuICAuY3RhLW1pbmktd3JhcHBlcixcbiAgLm91ci1hY2hpZXZlbWVudHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZW50cnksXG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICAvLyBtYWtlIGxheW91dCBmdWxsIHdpZHRoXG4gIC53b29jb21tZXJjZSB7XG4gICAgcGFkZGluZzogMCA1JSA1MHB4O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIC8vIHBhZGRpbmc6IDAgNSUgNTBweDtcbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtZm9ybS1sb2dpbi10b2dnbGUge1xuICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cblxuICAjc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyB7XG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xuICAgIH1cbiAgfVxuXG4gIC5mb290ZXItd2lkZ2V0cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLy8gQ2hlY2tvdXQgZm9ybVxuXG5mb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IHtcbiAgLmNvbDItc2V0IHtcbiAgICBAaW5jbHVkZSBjb2x1bW5zKDMwcHggMik7XG4gICAgQGluY2x1ZGUgY29sdW1uLWxheW91dCgzLDIpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5jb2wtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDI1cHgpO1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIEBleHRlbmQgaDM7XG4gICAgICBAaW5jbHVkZSBsaW5lLWJvcmRlcigxcHgsIGhzbCgwLDAlLDkwJSksICd0b3AnLCA1MHB4KTtcbiAgICB9XG4gIH1cblxuICAuY29sLTIge1xuICAgIHBhZGRpbmc6IDMwcHggMTBweDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuI29yZGVyLXJldmlldy13cmFwcGVyIHtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgQGluY2x1ZGUgbGluZS1ib3JkZXIoMXB4LCBoc2woMCwwJSw5NSUpLCAnbGVmdCcsIDUwcHgpO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gIH1cbn1cbi8qIFNoaXAgdG8gYSBkaWZmZXJlbnQgYWRkcmVzcyAqL1xuLndvb2NvbW1lcmNlLWZvcm1fX2xhYmVsLWZvci1jaGVja2JveCB7XG4gIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICB9XG59XG4vKiBTZWxlY3Qgc2hpcHBpbmcgbWV0aG9kXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jaGVja291dC1zZWxlY3Qtc2hpcHBpbmctbWV0aG9kIHtcbiAgQGluY2x1ZGUgbGluZS1ib3JkZXIoMXB4LCBoc2woMCwwJSw4NSUpLCAndG9wJywgNjBweCk7XG59XG4vKiBQYXltZW50IG1ldGhvZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyIGg0IHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG59XG4vKiBDaGVja291dCBQYWdlIE9yZGVyIFN1bW1hcnkgVGFibGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHtcbiAgLnByb2R1Y3QtdG90YWwsXG4gIHRmb290IHRkIHtcbiAgICB3aWR0aDogODBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0aCB7XG4gICAgcGFkZGluZzogOHB4IDA7XG4gIH1cblxuICB0ZCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgcGFkZGluZzogMTNweCAwO1xuICB9XG5cbiAgLnZhcmlhdGlvbiB7XG4gICAgQGV4dGVuZCAldHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDA7XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gIH1cblxuICAudmFyaWF0aW9uLS1hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICB9XG5cbiAgLm9yZGVyLXRvdGFsIHtcbiAgICBib3JkZXItYm90dG9tOiA0cHggZG91YmxlIGhzbCgwLDAlLDc1JSk7XG4gIH1cblxuICAucHJvZHVjdC1uYW1lIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDI1JSk7XG4gICAgfVxuICB9XG59XG4vKiBQYXltZW50IFNlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI3BheW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woNTAsNSUsOTMlKTtcbiAgcGFkZGluZzogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgLyogVG8gc2VsZWN0IHNhdmVkIHBheW1lbnQgbWV0aG9kcyAqL1xuICAud2Mtc2F2ZWQtcGF5bWVudC1tZXRob2RzIHtcbiAgICBtYXJnaW46IDE1cHggMDtcblxuICAgIGxhYmVsIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCNmZmYsIDEwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmlucHV0W2lkXj1cInBheW1lbnRfbWV0aG9kXCJdIHtcbiAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAvLyBJZiBwYXJ0aWN1bGFyIHBheW1lbnQgbWV0aG9kIGlzIHNlbGVjdGVkXG4gICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDEwJSk7XG4gICAgLy8gY29sb3I6ICNmZmY7XG4gICAgLy8gYm9yZGVyLXJhZGl1czogN3B4IDdweCAwIDA7XG4gICAgLy8gYm9yZGVyOiAwO1xuICB9XG59XG5cbi53Y19wYXltZW50X21ldGhvZHMge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4ud2NfcGF5bWVudF9tZXRob2Qge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gID4gbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJGJyb3duO1xuICAgIG1hcmdpbi1sZWZ0OiAyM3B4O1xuICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgIC8vIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLy8gYm9yZGVyOiAxcHggc29saWQgaHNsKDAsMCUsODAlKTtcbiAgICAvLyBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgLy8gdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgLy8gZm9udC1zaXplOiAxLjZyZW07XG4gICAgLy8gQGV4dGVuZCAlYnRuO1xuICAgIC8vIEBleHRlbmQgJWJ0bi0xLWxpZ2h0O1xuICAgIC8vICY6aG92ZXIge1xuICAgIC8vICAgYm9yZGVyOiAxcHggc29saWQgaHNsKDAsMCUsNzAlKTtcbiAgICAvLyB9XG4gICAgaW1nIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLnBheW1lbnRfYm94IHtcbiAgQGluY2x1ZGUgY2hpbGQtbWFyZ2luKCdib3R0b20nLCAxMHB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgaHNsKDAsMCUsODglKTtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwwJSw5OCUpO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLndjLXBheW1lbnQtZm9ybSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAuZm9ybS1yb3cge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cbiAgLyogRXJyb3IgaW5zaWRlIHBheW1lbnQgKi9cbiAgLndvb2NvbW1lcmNlX2Vycm9yIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi8qIEZvciBTdHJpcGUgb25seVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jc3RyaXBlLXBheW1lbnQtZGF0YSB7XG4gIHAge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4zO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbn1cblxubGFiZWxbZm9yPVwicGF5bWVudF9tZXRob2Rfc3RyaXBlXCJdIHtcbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5TdHJpcGVFbGVtZW50LmludmFsaWQge1xuICBAZXh0ZW5kICVpbnZhbGlkLWlucHV0O1xufVxuLyogQWZ0ZXIgcGF5bWVudCBib3hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnBsYWNlLW9yZGVyIHtcbiAgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIGNvbG9yOiAjNjY2O1xuICB9XG59XG5cbiNwbGFjZV9vcmRlciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogRXJyb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53b29jb21tZXJjZS1pbnZhbGlkLXJlcXVpcmVkLWZpZWxkIHtcbiAgbGFiZWwge1xuICAgIEBleHRlbmQgJWludmFsaWQtbGFiZWw7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgQGV4dGVuZCAlaW52YWxpZC1pbnB1dDtcbiAgfVxufVxuLyogT3JkZXIgRGVsaXZlcnkgRGF0ZSBPbmx5ICovXG4jb3JkZGRfdGltZV9zbG90X2ZpZWxkIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLFxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgfVxufVxuXG4jcGF5bWVudCAucGF5bWVudF9tZXRob2RzID4gbGkgPiBsYWJlbCBpbWcge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogQ2hlY2tvdXQgY291cG9uKi9cbi5jaGVja291dF9jb3Vwb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBAZXh0ZW5kIC5jb2wtMTtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZvcm0tcm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuI29yZGVyX3Jldmlld19oZWFkaW5nIHtcbiAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250O1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbn1cblxuLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1mb3JtLWxvZ2luIHtcbiAgLmZvcm0tcm93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLy8gTGVjbGFpciBTcGVjaWZpY1xuXG4ud29vY29tbWVyY2VfYWdyZWVtZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3ctcmV2ZXJzZSBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgLnJlcXVpcmVkIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cbn1cblxuI3ByaXZhY3lfcG9saWN5LWRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzg4ODtcbn1cbiIsIi8qIDEgaXRlbSB0byByZXZpZXdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCB7XG4gIC5lbnRyeS10aXRsZSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG5cbiAgLndvb2NvbW1lcmNlLW9yZGVyIHtcbiAgICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDQwcHgpO1xuICAgIHBhZGRpbmc6IDUwcHggNSU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDAsMCUsOTclKTtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMTAlO1xuICAgIH1cbiAgfVxuXG4gIC53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG5cbiAgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMsXG4gIC53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzIHtcbiAgICBAZXh0ZW5kICVjb2wtMTtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cbi8qIE92ZXJ2aWV3IGJhciAqL1xuLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCAkbWFpbi1jb2xvcjtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAwIHJnYmEoMCwwLDAsMC4xNSk7XG5cbiAgPiAqIHtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuNDtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZG90dGVkICNkZGQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjZGRkO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAyMiUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG4gIC8qIFJFVklFVyBUSElTICovXG4gIC5kZWxpdmVyeURldGFpbHMge1xuICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmbGV4OiAxIDEgNTAlO1xuICAgIH1cblxuICAgID4gc3BhbiB7XG4gICAgICBAZXh0ZW5kICV3b28tbGFiZWw7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLXRoYW5reW91LW9yZGVyLXJlY2VpdmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud29vY29tbWVyY2UtdGFibGUtLW9yZGVyLWRldGFpbHMge1xuICAucHJvZHVjdC10b3RhbCxcbiAgdGZvb3QgdGQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxufVxuIiwiLndvb2NvbW1lcmNlLW9yZGVyLXBheSB7XG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwwJSw5NyUpO1xuICB9XG5cbiAgLndvb2NvbW1lcmNlIHtcbiAgICBAZXh0ZW5kICVjb2wtMTtcbiAgfVxuXG4gIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuIiwiLyogV29vY29tbWVyY2UgQWNjb3VudCBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBNYWluIFN0cnVjdHVyZSAqL1xuJXdvb2NvbW1lcmNlLWFjY291bnQtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyKDM1cHgsIGhzbCgwLDAsMTAwJSksIDEwcHgsIDFweCBzb2xpZCAjZGRkKTtcbn1cbi8qIGdlbmVyYWwgd29vY29tbWVyY2UgYWNjb3VudCBzdHlsZS4gRm9yIG15IGFjY291bnQsIGxvZ2dlZCBpbiwgYW5kIGxvc3QgcGFzc3dvcmQgKi9cbi53b29jb21tZXJjZS1hY2NvdW50IHtcbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwwJSw5NyUpO1xuICAgIHBhZGRpbmc6IDMwcHggNSU7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDMwcHggMTAlO1xuICAgIH1cbiAgfVxuICAvKiBXb29jb21tZXJjZSBhY2NvdW50IGxvZ2dlZCBpbiBzcGVjaWZpYyBzdHlsZSovXG4gICYubG9nZ2VkLWluIHtcbiAgICAud29vY29tbWVyY2Uge1xuICAgICAgQGV4dGVuZCAuY29scy0yO1xuICAgICAgQGluY2x1ZGUgY29sdW1uLWxheW91dCgxLDMpO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG59XG4vKiBNeSBBY2NvdW50IE5hdmlnYXRpb24gKi9cbi53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmc6IDE1cHggMDtcbn1cblxuLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uLWxpbmsge1xuICBAaW5jbHVkZSBsaW5lLWJvcmRlcigxcHgsICNlZWUsIGJvdHRvbSwgMTBweCk7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGEge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIEBleHRlbmQgJXRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4xO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgICBjb2xvcjogIzU1NTtcbiAgICB9XG4gIH1cbn1cbi8qIENvbnRlbnQgKi9cbi53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCB7XG4gIEBleHRlbmQgJXdvb2NvbW1lcmNlLWFjY291bnQtY29udGFpbmVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAvLyBwYWRkaW5nOiAzMHB4IDUlO1xuICBAaW5jbHVkZSBkZXNrdG9wIHt9XG5cbiAgZW0ge1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgfVxuXG4gIG1hcmsge1xuICAgIEBpbmNsdWRlIHRhZy1sYWJlbChoc2woMCwwJSw5NSUpLCBzbWFsbCk7XG4gICAgY29sb3I6IGhzbCgwLDAlLDIwJSk7XG4gIH1cblxuICBmaWVsZHNldCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDAsMCUsOTklKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBoc2woMCwwJSw5MCUpO1xuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICBtYXJnaW46IDIwcHggMDtcblxuICAgIGxlZ2VuZCB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgICAgY29sb3I6IGhzbCgwLDAlLDQwJSk7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICBtYXJnaW46IDAgLTEwcHg7XG4gICAgfVxuICB9XG59XG4vKiBSZW1vdmUgZGFzaGJvYXJkIGxpbmsgKi9cbi53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbi1saW5rLS1kYXNoYm9hcmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogUGFzc3dvcmQgc3RyZW5ndGggKi9cbi53b29jb21tZXJjZS1wYXNzd29yZC1zdHJlbmd0aCB7XG4gIHBhZGRpbmc6IDVweCAwO1xuXG4gICYuc2hvcnQge1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG5cbiAgJi5iYWQge1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuICB9XG5cbiAgJi5nb29kIHtcbiAgICBjb2xvcjogJGdyZWVuO1xuICB9XG5cbiAgJi5zdHJvbmcge1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gIH1cbn1cbi8qIFdvb2NvbW1lcmNlIEFjY291bnQgT3JkZXJzIFRhYmxlICovXG4ud29vY29tbWVyY2Utb3JkZXJzLXRhYmxlIHtcbiAgJl9fY2VsbC1vcmRlci1kZWxpdmVyeS1kYXRlLFxuICAmX19oZWFkZXItb3JkZXItZGVsaXZlcnktZGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgJl9faGVhZGVyLW9yZGVyLW51bWJlciB7XG4gICAgICB3aWR0aDogODBweDtcbiAgICB9XG5cbiAgICAmX19oZWFkZXItb3JkZXItYWN0aW9ucyxcbiAgICAmX19oZWFkZXItb3JkZXItc3RhdHVzIHtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLXRhYmxlLS1vcmRlci1kZXRhaWxzIHtcbiAgdGQge1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG4iLCIvKiBMb2dpblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTXkgYWNjb3VudCBwYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNjdXN0b21lcl9sb2dpbiB7XG4gIEBpbmNsdWRlIGNvbHVtbnMoNXZ3LCAyKTtcblxuICAud29vY29tbWVyY2UtZm9ybS1sb2dpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5jb2wtMSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGhzbCgwLDAlLDg1JSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ud29vY29tbWVyY2UtZm9ybS1sb2dpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAzMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgbWF4LXdpZHRoOiA1MHZ3O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgbGFiZWwud29vY29tbWVyY2UtZm9ybV9fbGFiZWwge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgfVxufVxuXG4ud29vY29tbWVyY2UtZm9ybS1sb2dpbl9fc3VibWl0LFxuLndvb2NvbW1lcmNlLWZvcm0tcmVnaXN0ZXJfX3N1Ym1pdCB7XG4gIEBleHRlbmQgJWJ0bi0xO1xufVxuXG4ud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCB7XG4gIHAge1xuICAgIEBleHRlbmQgLnNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6IGhzbCgwLDAlLDYwJSk7XG4gIH1cbn1cbi8qIEZvciBsb3N0IHBhc3N3b3JkIHBhZ2UgKi9cbi53b29jb21tZXJjZS1sb3N0LXBhc3N3b3JkIC53b29jb21tZXJjZSB7XG4gIEBleHRlbmQgJWNvbC0xO1xufVxuIiwiLndpZGdldF9sYXllcmVkX25hdl9maWx0ZXJzIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTtcbiAgem9vbTogMTtcblxuICBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMCAxZW0gMXB4IDFweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogIzg4ODtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4zO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDFlbS8xICdiYXNlaWNvbic7XG4gICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nICovXG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBjb250ZW50OiAkaWNvbi1pY19jbG9zZV80OHB4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIEBpbmNsdWRlIGNpcmNsZS1vYmplY3QoMTVweCwgJHJlZCwgJGJhc2UtZm9udC1zaXplIC0gMC4yKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBJbnRlcmFjdGl2ZSBDYXJ0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIZWFkZXIgYnV0dG9ucyAqL1xuI2NhcnQtaXRlbXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIEBpbmNsdWRlIGNpcmNsZS1vYmplY3QoMjBweCwgJG1haW4tY29sb3IsICRiYXNlLWZvbnQtc2l6ZSAtIDAuMik7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICB0b3A6IC01cHg7XG4gIHJpZ2h0OiAtM3B4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI2ludGVyYWN0aXZlLWNhcnQtYWN0aXZhdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbnRlcmFjdGl2ZS1jYXJ0X19iZyB7XG4gIEBpbmNsdWRlIGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMjAsMC41KTtcbn1cblxuLmludGVyYWN0aXZlLWNhcnQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5OTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmludGVyYWN0aXZlLWNhcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLDAlLDk1JSk7XG4gIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICB3aWR0aDogNDB2dztcbiAgfVxufVxuLyogQ2FydCBIZWFkZXIgKi9cbi5pbnRlcmFjdGl2ZS1jYXJ0LWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMjBweCAxMnB4O1xuICBmbGV4OiAwIDEgMDtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcGFkZGluZzogMTJweDtcbiAgfVxuXG4gID4gKiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzg4ODtcbiAgfVxuXG4gIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC5pbnRlcmFjdGl2ZS1jYXJ0LWNsb3NlIHtcbiAgICBAZXh0ZW5kICV0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGNvbG9yOiBoc2woMCwwJSw1MCUpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBmb250LXNpemU6IDI1cHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGxlZnQ6IC0zcHg7XG4gICAgICBjb2xvcjogIzc3NztcbiAgICB9XG4gIH1cbn1cbi8qIENhcnQgSXRlbSBMaXN0ICovXG4uaW50ZXJhY3RpdmUtY2FydC1pdGVtcyB7XG4gIGZsZXg6IDEgMSAwO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTdweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxN3B4O1xuICAgIC8qIEluY3JlYXNlL2RlY3JlYXNlIHRoaXMgdmFsdWUgZm9yIGNyb3NzLWJyb3dzZXIgY29tcGF0aWJpbGl0eSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC8qIFNvIHRoZSB3aWR0aCB3aWxsIGJlIDEwMCUgKyAxN3B4ICovXG4gIH1cbn1cbi8qIENhcnQgSXRlbSAqL1xuLmNhcnQtaXRlbS1jYXJkIHtcbiAgQGluY2x1ZGUgdGh1bWJuYWlsLWNhcmQoODBweCwgODBweCwgcmlnaHQsIDE1cHgpO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDYlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBtYXJnaW4tbGVmdDogMyU7XG4gIG1hcmdpbi1yaWdodDogMyU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggMCByZ2JhKDAsMCwwLDAuMSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3JSk7XG4gICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIGltZyB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuXG4gIC5jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDhweCk7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICA+ICoge1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3QtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDI1JSk7XG4gIH1cblxuICAucmVtb3ZlX2Zyb21fY2FydF9idXR0b24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgLy8gbWFyZ2luLXRvcDogMDtcbiAgICAvLyBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBjb2xvcjogJHJlZDtcbiAgfVxufVxuXG4uaW50ZXJhY3RpdmUtY2FydC1zdW1tYXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmbGV4OiAwIDEgMDtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgbGluZS1ib3JkZXIoMXB4LCAjZTVlNWU1LCBib3R0b20sIDVweCk7XG4gICAgQGV4dGVuZCAlZmxleGJveC1jLWM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiA4cHggNSU7XG5cbiAgICA+ICoge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4vKiBJZiB0aGVyZSBhcmUgbm8gcHJvZHVjdHMgKi9cbi5uby1wcm9kdWN0LXRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgNSU7XG59XG4vL1xuLy8gLmludGVyYWN0aXZlLWNhcnQtc3VtbWFyeSAuaW50ZXJhY3RpdmUtY2FydF9fY291cG9uIHtcbi8vICAgcGFkZGluZzogMDtcbi8vIH1cbi8vXG4vLyAuaW50ZXJhY3RpdmUtY2FydF9fY291cG9uLWZvcm0ge1xuLy8gICB3aWR0aDogMTAwJTtcbi8vICAgQGluY2x1ZGUgY29sdW1ucygwcHgsIDIpO1xuLy9cbi8vICAgaW5wdXRbbmFtZT1cImFwcGx5X2NvdXBvblwiXSB7XG4vLyAgICAgbWFyZ2luLXRvcDogMDtcbi8vICAgfVxuLy8gfVxuIiwiLyogV29vY29tbWVyY2UgYWRkcmVzcyBjb21wb25lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjEuIE9yZGVyIG9yZGVyLXJlY2VpdmVkXG4yLiBNeSBBY2NvdW50IGVkaXQgYWRkcmVzc1xuKi9cbi8qIEFkZHJlc3Mgc2VjdGlvbiAqL1xuaGVhZGVyLndvb2NvbW1lcmNlLUFkZHJlc3MtdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGgyLFxuICBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGEge1xuICAgIEBleHRlbmQgJWJ0bi1zbWFsbDtcbiAgICBAZXh0ZW5kICVidG4tMS1zZWNvbmRhcnk7XG4gIH1cbn1cbi8qIEFkZHJlc3NlcyAqL1xuLmFkZHJlc3Nlcyxcbi53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIHtcbiAgaDIsXG4gIGgzIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSArIDAuMjtcbiAgfVxuXG4gIGFkZHJlc3Mge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigxNXB4LCBoc2woMCwwLDEwMCUpLCA1cHgsIDFweCBzb2xpZCBoc2woMCwwJSw5MCUpKTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiQWRkcmVzczogXCI7XG4gICAgICBAZXh0ZW5kICV3b28tbGFiZWw7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAZXh0ZW5kICV3b28tbGFiZWw7XG4gICAgICB9XG5cbiAgICAgICYud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscy0tcGhvbmU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJQaG9uZTogXCI7XG4gICAgICB9XG5cbiAgICAgICYud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscy0tZW1haWw6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJFbWFpbCBhZGRyZXNzOiBcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogd29vY29tbWVyY2Utc21hbGxzY3JlZW4uc2Nzc1xuICogT3B0aW1pc2VzIHRoZSBkZWZhdWx0IFdvb0NvbW1lcmNlIGZyb250ZW5kIGxheW91dCB3aGVuIHZpZXdlZCBvbiBzbWFsbGVyIHNjcmVlbnMuXG4gKi9cbi8qKlxuICogU3R5bGUgYmVnaW5zXG4gKi9cbkBpbmNsdWRlIG1vYmlsZSB7XG5cdC53b29jb21tZXJjZSxcblx0Lndvb2NvbW1lcmNlLXBhZ2Uge1xuXHRcdHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB7XG5cdFx0XHR0aGVhZCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdHRib2R5IHtcblx0XHRcdFx0dHI6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdHRkOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGgge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dHIge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgLy8gSW1wb3J0YW50IHRvIG92ZXJ3cml0ZSBvcmRlciBzdGF0dXMgaW5saW5lIHN0eWxpbmdcblxuXHRcdFx0XHRcdCYub3JkZXItYWN0aW9ucyB7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IC8vIFRoaXMgbXVzdCBhbHdheXMgYWxpZ24gbGVmdCBvbiBoYW5kaGVsZFxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpICc6ICc7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5hY3Rpb25zLFxuXHRcdFx0XHRcdCYucHJvZHVjdC1yZW1vdmUge1xuXHRcdFx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOm50aC1jaGlsZCgybikge1xuXHRcdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMjUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHRhYmxlLm15X2FjY291bnRfb3JkZXJzIHtcblx0XHRcdHRyIHtcblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdCYub3JkZXItYWN0aW9ucyB7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0XHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuYnV0dG9uIHtcblx0XHRcdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMC4xMjVlbSAwLjI1ZW0gMC4xMjVlbSAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQvKipcblx0ICogR2VuZXJhbCBsYXlvdXRcblx0ICovXG5cdFx0LmNvbDItc2V0IHtcblx0XHRcdC5jb2wtMSxcblx0XHRcdC5jb2wtMiB7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LyoqXG5cdCAqIFByb2R1Y3RzXG5cdCAqL1xuXHRcdC8vIHVsLnByb2R1Y3RzW2NsYXNzKj0nY29sdW1ucy0nXSB7XG5cdFx0Ly8gXHRsaS5wcm9kdWN0IHtcblx0XHQvLyBcdFx0d2lkdGg6IDQ4JTtcblx0XHQvLyBcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0Ly8gXHRcdGNsZWFyOiBib3RoO1xuXHRcdC8vIFx0XHRtYXJnaW46IDAgMCAyLjk5MmVtO1xuXHRcdC8vXG5cdFx0Ly8gXHRcdCY6bnRoLWNoaWxkKCAybiApIHtcblx0XHQvLyBcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0Ly8gXHRcdFx0Y2xlYXI6IG5vbmUgIWltcG9ydGFudDsgLy8gVGhpcyBzaG91bGQgbmV2ZXIgY2xlYXIuXG5cdFx0Ly8gXHRcdH1cblx0XHQvLyBcdH1cblx0XHQvLyB9XG5cdFx0LyoqXG5cdCAqIFByb2R1Y3QgRGV0YWlsc1xuXHQgKi9cblx0XHQjY29udGVudCBkaXYucHJvZHVjdCxcblx0XHRkaXYucHJvZHVjdCB7XG5cdFx0XHRkaXYuaW1hZ2VzLFxuXHRcdFx0ZGl2LnN1bW1hcnkge1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8qKlxuXHQgKiBDYXJ0XG5cdCAqL1xuXHRcdCNjb250ZW50IHRhYmxlLmNhcnQsXG5cdFx0dGFibGUuY2FydCB7XG5cdFx0XHQucHJvZHVjdC10aHVtYm5haWwge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHR0ZC5hY3Rpb25zIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdFx0XHQuY291cG9uIHtcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwLjVlbTtcblxuXHRcdFx0XHRcdC5idXR0b24sXG5cdFx0XHRcdFx0LmlucHV0LXRleHQsXG5cdFx0XHRcdFx0aW5wdXQge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDQ4JTtcblx0XHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmJ1dHRvbi5hbHQsXG5cdFx0XHRcdFx0LmlucHV0LXRleHQgKyAuYnV0dG9uIHtcblx0XHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuYnV0dG9uIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jYXJ0LWNvbGxhdGVyYWxzIHtcblx0XHRcdC5jYXJ0X3RvdGFscyxcblx0XHRcdC5jcm9zcy1zZWxscyxcblx0XHRcdC5zaGlwcGluZ19jYWxjdWxhdG9yIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvKipcblx0ICogQ2hlY2tvdXRcblx0ICovXG5cdFx0Ji53b29jb21tZXJjZS1jaGVja291dCB7XG5cdFx0XHRmb3JtLmxvZ2luIHtcblx0XHRcdFx0LmZvcm0tcm93IHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCNwYXltZW50IHtcblx0XHRcdC50ZXJtcyB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCNwbGFjZV9vcmRlciB7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvKipcblx0ICogQWNjb3VudFxuXHQgKi9cblx0XHQubG9zdF9yZXNldF9wYXNzd29yZCB7XG5cdFx0XHQuZm9ybS1yb3ctZmlyc3QsXG5cdFx0XHQuZm9ybS1yb3ctbGFzdCB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC53b29jb21tZXJjZS1hY2NvdW50IHtcblx0XHQud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQsXG5cdFx0Lndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cdC8qKlxuICogVHdlbnR5IFRoaXJ0ZWVuIHNwZWNpZmljIHN0eWxlc1xuICovXG5cdC5zaW5nbGUtcHJvZHVjdCB7XG5cdFx0LnR3ZW50eXRoaXJ0ZWVuIHtcblx0XHRcdC5wYW5lbCB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7RUFlRTtBQUNGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWtERTtBQ2xFRjtpREFDaUQ7QUFDakQsc0JBQXNCO0FBTXRCLGlCQUFpQjtBQUlqQixZQUFZO0FBVVosVUFBVTtBQUVWLGtDQUFrQztBQUVsQywwQkFBMEI7QUMxQjFCO2lEQUNpRDtBQUNqRDtpREFDaUQ7QUF3QmpEO2lEQUNpRDtBQVVqRDs7Ozs7RUFLRTtBQWFGO2lEQUNpRDtBQVFqRDtpREFDaUQ7QUFlakQ7aURBQ2lEO0FBeUJqRDtpREFDaUQ7QXNCSGpELEF0QklBLE1zQkpNLENBQ0osSUFBSSxDQWVGLHNCQUFzQixBQVluQixPQUFPLEVZdVJkLG9CQUFvQixDQUlsQixDQUFDLEFBT0UsT0FBTyxFQVhaLG9CQUFvQixDWHZZcEIsVUFBVSxDQWhCUixFQUFFLEFXa2FDLE9BQU8sRVhsWlosVUFBVSxDV3VZVixvQkFBb0IsQ1h2WmxCLEVBQUUsQVdrYUMsT0FBTyxFQVhaLG9CQUFvQixDTGxXcEIsWUFBWSxDQUNWLGNBQWMsR0FHVixFQUFFLENOekROLEVBQUUsQVdrYUMsT0FBTyxFTDdXWixZQUFZLENBQ1YsY0FBYyxHQUdWLEVBQUUsQ0s4VlIsb0JBQW9CLENYdlpsQixFQUFFLEFXa2FDLE9BQU8sRUFYWixvQkFBb0IsQ0FqWnBCLEdBQUcsQUFBQSxRQUFRLENBdUJULCtDQUErQyxDQU83QyxFQUFFLENYcENKLEVBQUUsQVdrYUMsT0FBTyxFQTVaWixHQUFHLEFBQUEsUUFBUSxDQXVCVCwrQ0FB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 */
