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

	Version: 1.0.0

	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 {
  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, .menu-primary > li.menu-item-has-children:before, input[type="checkbox"] + *:after, .hero-slider, .instagram-pics img {
  transition: all 0.3s ease-in-out; }

/* Flexbox
 --------------------------------------------- */
.menu-toggle, .header-widget-area a,
.header-widget-area button, .btn-icon-text i, .wpcf7 form .wpcf7-response-output:before, .pagination, .floating-whatsapp-button {
  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") 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.woff") 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: "Lato", 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,
h4,
h5,
h6 {
  font-weight: 700;
  color: #ae4d09;
  line-height: 1.2;
  margin: 0 0 2rem; }

h1 {
  font-size: 5rem;
  font-family: "Josefin Sans", sans-serif; }

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

h3 {
  font-size: 2.4rem;
  font-family: "Josefin 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: #df630b; }
  a:hover {
    text-decoration: underline;
    color: #ae4d09; }

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

/* Text
 --------------------------------------------- */
p {
  font-size: 1.5rem;
  line-height: 2.4rem;
  margin: 0 0 15px; }
  p.x-small {
    font-size: 1.2rem;
    line-height: 1.2; }
  p.small, .site-footer > .wrap > p, .post-entry-list p, .entry-content p.entry-meta {
    font-size: 1.4rem;
    line-height: 1.2; }
  p.large {
    font-size: 1.8rem;
    line-height: 1.5; }

/* Dark theme
 --------------------------------------------- */
.entry-header a, .regular-banner a, .post-archive .archive-description a, .cpt-archive-description a, .about-section a, .review-section a, .main-cta a, .post-single .has-post-thumbnail .entry-header a, .menu-section .section-title a,
.entry-header p,
.regular-banner p,
.post-archive .archive-description p,
.cpt-archive-description p,
.about-section p,
.review-section p,
.main-cta p,
.post-single .has-post-thumbnail .entry-header p,
.menu-section .section-title p {
  color: #fff; }

.entry-header h1, .regular-banner h1, .post-archive .archive-description h1, .cpt-archive-description h1, .about-section h1, .review-section h1, .main-cta h1, .post-single .has-post-thumbnail .entry-header h1, .menu-section .section-title h1,
.entry-header h2,
.regular-banner h2,
.post-archive .archive-description h2,
.cpt-archive-description h2,
.about-section h2,
.review-section h2,
.main-cta h2,
.post-single .has-post-thumbnail .entry-header h2,
.menu-section .section-title h2,
.entry-header h3,
.regular-banner h3,
.post-archive .archive-description h3,
.cpt-archive-description h3,
.about-section h3,
.review-section h3,
.main-cta h3,
.post-single .has-post-thumbnail .entry-header h3,
.menu-section .section-title h3,
.entry-header h4,
.regular-banner h4,
.post-archive .archive-description h4,
.cpt-archive-description h4,
.about-section h4,
.review-section h4,
.main-cta h4,
.post-single .has-post-thumbnail .entry-header h4,
.menu-section .section-title h4,
.entry-header h5,
.regular-banner h5,
.post-archive .archive-description h5,
.cpt-archive-description h5,
.about-section h5,
.review-section h5,
.main-cta h5,
.post-single .has-post-thumbnail .entry-header h5,
.menu-section .section-title h5,
.entry-header h6,
.regular-banner h6,
.post-archive .archive-description h6,
.cpt-archive-description h6,
.about-section h6,
.review-section h6,
.main-cta h6,
.post-single .has-post-thumbnail .entry-header h6,
.menu-section .section-title h6 {
  color: #fff; }

.entry-header hr, .regular-banner hr, .post-archive .archive-description hr, .cpt-archive-description hr, .about-section hr, .review-section hr, .main-cta hr, .post-single .has-post-thumbnail .entry-header hr, .menu-section .section-title hr {
  border-color: #fff; }

.post-single .entry-content h2,
.post-single .entry-content h3,
.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 {
  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 {
      font-size: 1.7rem; } }

/* Seafood lobang specific
 --------------------------------------------- */
h1,
h2,
h3 {
  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 {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: none;
  display: block; }

/* 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, .cpt-archive-description p, .about-section h3 {
  padding: 0 5%; }
  @media only screen and (min-width: 960px) {
    .entry-header p, .regular-banner p, .post-archive .archive-description p, .cpt-archive-description p, .about-section h3 {
      padding: 0;
      max-width: 700px;
      margin-left: auto;
      margin-right: auto; } }

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

.cols-3 {
  display: flex;
  flex-flow: row wrap; }
  .cols-3 > * {
    width: 100%;
    margin-bottom: 30px; }
    @media only screen and (min-width: 670px) {
      .cols-3 > * {
        width: calc((100% - (30px * (3 - 1))) / 3);
        margin-right: 30px; }
        .cols-3 > *: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, .testimonials-wrapper, .instagram-wrapper {
  width: 100%;
  padding: 50px 5%; }
  @media only screen and (min-width: 960px) {
    section.wrapper, .testimonials-wrapper, .instagram-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,
.author-box p: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 {
  margin-bottom: 0; }

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

/* Header Buttons
 --------------------------------------------- */
.menu-toggle, .header-widget-area a,
.header-widget-area button {
  width: 40px;
  height: 40px;
  background-color: rgba(0, 0, 0, 0);
  border-radius: 50%;
  font-size: 17px;
  color: #666666;
  font-weight: 400;
  line-height: 1; }
  .menu-toggle:hover, .header-widget-area a:hover,
  .header-widget-area button:hover,
  .menu-toggle a:hover,
  .header-widget-area a a:hover,
  .header-widget-area button a:hover {
    text-decoration: none; }
  .menu-toggle:hover, .header-widget-area a:hover,
  .header-widget-area button:hover {
    color: #f47d29; }

/* 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: fixed;
  z-index: 999;
  border-top: 5px solid #f47d29;
  background-color: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
  top: 0;
  width: 100%; }
  .site-header > .wrap {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-end;
    /* Structure */ }
    .site-header > .wrap > *.pre-header {
      flex: 0 0 100%; }
    .site-header > .wrap > *.title-area {
      flex: 2 1 0; }
      @media only screen and (min-width: 960px) {
        .site-header > .wrap > *.title-area {
          flex: 0 0 auto; } }
    .site-header > .wrap > *.header-widget-area {
      flex: 1 1 0; }
      @media only screen and (min-width: 960px) {
        .site-header > .wrap > *.header-widget-area {
          flex: 0 0 auto; } }
    .site-header > .wrap > *.menu-toggle {
      flex: 1 1 0; }

/* Title Area
 --------------------------------------------- */
.title-area {
  width: 210px;
  padding: 6px 0;
  order: 2;
  margin: 0 auto; }
  @media only screen and (min-width: 960px) {
    .title-area {
      order: 0;
      margin: 0 auto 0 5%; } }
  .title-area img {
    margin: 0 auto;
    display: block; }

.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: #f47d29;
  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 {
    background-color: transparent;
    border-width: 0; }

/* Menu Toggle */
.menu-toggle {
  position: relative;
  z-index: 1000;
  overflow: hidden;
  padding: 0;
  order: 4;
  margin: 0;
  font-size: 0;
  text-align: right; }
  .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: #f47d29; }
  .sub-menu-toggle.activated:before {
    transform: rotate(180deg);
    color: #f69a5a; }

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

/* Header Menu Structure */
.nav-primary {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 50px;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 99;
  overflow-y: scroll;
  display: none; }
  @media only screen and (min-width: 670px) {
    .nav-primary {
      top: 65px; } }
  @media only screen and (min-width: 960px) {
    .nav-primary {
      position: relative;
      top: 0;
      height: auto;
      width: auto;
      background-color: transparent;
      display: flex;
      flex-flow: row wrap;
      align-self: stretch;
      overflow-y: visible; } }
  @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; } }
  @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);
    background-color: #f0f0f0;
    display: none;
    /* Second level li */ }
    @media only screen and (min-width: 960px) {
      .menu-primary .sub-menu {
        position: absolute;
        min-width: 180px;
        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; } }

.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-has-children:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 7px solid #f47d29;
    left: calc(50% - 10px);
    opacity: 0;
    bottom: 0; }
  .menu-primary > li.menu-item-has-children:hover:before {
    opacity: 1; }
  .menu-primary > li.menu-item--highlight > a {
    background-color: #f47d29;
    color: #fff; }
    @media only screen and (min-width: 960px) {
      .menu-primary > li.menu-item--highlight > a {
        margin: 0 10px; } }

@media only screen and (min-width: 960px) {
  .menu-primary .sub-menu .menu-item:hover {
    background-color: #f47d29; }
    .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;
  color: #595959;
  text-transform: uppercase;
  font-size: 1.3rem; }
  @media only screen and (min-width: 960px) {
    .menu-primary a {
      height: 100%;
      text-align: left;
      align-items: center;
      justify-content: flex-start; } }
  .menu-primary a:hover {
    text-decoration: none; }
  .menu-primary a i {
    font-weight: 400; }
  .menu-primary > li > a {
    padding: 20px 18px;
    font-size: 1.3rem; }
  .menu-primary .sub-menu .menu-item > a {
    padding: 14px 15px;
    font-size: 1.2rem; }
    @media only screen and (min-width: 960px) {
      .menu-primary .sub-menu .menu-item > a:hover {
        color: #fff;
        background-color: #f47d29; } }

/* Header Widget Area
 --------------------------------------------- */
.header-widget-area {
  display: flex;
  flex-flow: row nowrap;
  position: relative;
  z-index: 101;
  order: 0; }
  @media only screen and (min-width: 960px) {
    .header-widget-area {
      order: 3;
      margin: 0 5% 0 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; }

/* 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 {
    color: #9e1c25; }
  @media only screen and (max-width: 670px) {
    .pre-header a span {
      display: none; } }

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

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

.sidebar p {
  margin-bottom: 20px; }

/* Footer
  ============================================== */
/* Footer Widgets
 --------------------------------------------- */
.footer-widgets {
  width: 100%;
  padding: 30px 5%;
  background-color: #fff;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1); }
  .footer-widgets .wrap {
    display: flex;
    flex-flow: column nowrap; }
    @media only screen and (min-width: 960px) {
      .footer-widgets .wrap {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto;
        flex-direction: row;
        align-items: center;
        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; } }
  @media only screen and (min-width: 960px) {
    .footer-widget-area:nth-child(1) {
      flex: 1 1 0; } }
  @media only screen and (min-width: 960px) {
    .footer-widget-area:nth-child(2) {
      flex: 3 1 0; } }
  @media only screen and (min-width: 960px) {
    .footer-widget-area:nth-child(3) {
      flex: 1 1 0; } }

.footer-widgets .menu {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end; }
  .footer-widgets .menu li {
    margin: 0 12px;
    width: 100%; }
    @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.3rem;
      color: #666; }
      @media only screen and (min-width: 960px) {
        .footer-widgets .menu li a {
          padding: 0; } }
      .footer-widgets .menu li a i {
        font-size: 16px; }

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

.footer-widgets-1 p {
  text-align: center; }
  @media only screen and (min-width: 960px) {
    .footer-widgets-1 p {
      text-align: left; } }

.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; } }

/* Site Footer
 --------------------------------------------- */
.site-footer {
  background-color: #7e3806;
  color: #f3e7d7;
  line-height: 1.5;
  padding: 15px 5% 5px; }
  .site-footer > .wrap {
    display: flex;
    flex-flow: column nowrap;
    text-align: center; }
    .site-footer > .wrap > p {
      margin: 0 0 5px; }

/* Graphics
 ============================================= */
/* Secondary Graphic
 --------------------------------------------- */
/* Background Pattern
--------------------------------------------- */
.entry-header,
.regular-banner, .post-archive .archive-description, .cpt-archive-description, .about-section {
  background: url("../../uploads/g99-texture-col.jpg") center; }
  @media only screen and (min-width: 960px) {
    .entry-header,
    .regular-banner, .post-archive .archive-description, .cpt-archive-description, .about-section {
      background-attachment: fixed; } }

.review-section {
  background: url("../../uploads/g99-texture.jpg") center; }
  @media only screen and (min-width: 960px) {
    .review-section {
      background-attachment: fixed; } }

/* Graphic Divider 1
--------------------------------------------- */
/* Graphic Divider 2 - brush
--------------------------------------------- */
/* Divider after title
--------------------------------------------- */
/* Buttons
 =============================================
 btn-1
 btn-2
 btn-icon-text
 */
/* Structure of a button */
.btn, form input[type="submit"], .testimonials-wrapper 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"], .testimonials-wrapper a:hover {
    text-decoration: none; }
  .btn-small, .post-entry-list .category-link {
    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 {
      text-decoration: none; }
  .btn-large {
    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 {
      text-decoration: none; }

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

/* Solid Button - btn-1
   --------------------------------------------- */
.btn-1, form input[type="submit"], .testimonials-wrapper a {
  background-color: #df630b;
  color: #fff;
  border-radius: 3px; }
  .btn-1:hover, form input:hover[type="submit"], .testimonials-wrapper a:hover {
    color: #fff;
    background-color: #964308; }
  .btn-1:active, form input:active[type="submit"], .testimonials-wrapper a:active {
    transform: translateY(3px); }
  .btn-1-secondary {
    background-color: #999999;
    color: white;
    border-radius: 3px; }
    .btn-1-secondary:hover {
      color: #fff;
      background-color: #737373; }
    .btn-1-secondary:active {
      transform: translateY(3px); }
  .btn-1-light, .post-entry-list .category-link {
    background-color: #e6e6e6;
    color: gray;
    border-radius: 3px; }
    .btn-1-light:hover, .post-entry-list .category-link:hover {
      color: #fff;
      background-color: #bfbfbf; }
    .btn-1-light:active, .post-entry-list .category-link: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: #f47d29;
  border: 2px solid #f69a5a;
  border-radius: 5px;
  text-transform: none; }
  .btn-2:hover {
    background-color: #f47d29;
    border-color: #f47d29;
    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: #c6580a; }

/* Button Icon Text - .btn-icon-text
   --------------------------------------------- */
.btn-icon-text {
  display: flex;
  align-items: center;
  border-radius: 3px;
  background-color: #c6580a;
  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 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
 */
/*CONTACT FORM*/
:focus {
  outline: 0; }

::placeholder {
  opacity: 0.5; }

input:not([type="submit"]):not([type="file"]),
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; }

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

input:not([type="submit"]):not([type="file"]):focus, input:not([type="submit"]):not([type="file"]):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"]):focus,
select:focus,
textarea:focus {
  box-shadow: 0 0 0 2px #ff7b1e;
  border: 1px solid white; }

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

form p {
  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, .number-list, .post-single .entry-content > ol {
  margin-bottom: 24px; }
  .item-list li, .post-single .entry-content > ul li, .number-list li, .post-single .entry-content > ol li {
    margin-bottom: 12px;
    margin-left: 24px; }
  .item-list ol, .post-single .entry-content > ul ol, .number-list ol, .post-single .entry-content > ol ol,
  .item-list ul,
  .post-single .entry-content > ul ul,
  .number-list ul,
  .post-single .entry-content > ol ul {
    margin-bottom: 0; }

.item-list > li, .post-single .entry-content > ul > li {
  list-style-type: disc; }

.number-list > li, .post-single .entry-content > 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: #ff5b36;
    font-family: "Lato", 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 #f47d29;
  width: 50px; }

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

/* 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, .cpt-archive-description, .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, .cpt-archive-description 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, .cpt-archive-description {
  height: auto;
  min-height: 250px;
  text-align: center; }
  .entry-header > *, .regular-banner > *, .post-archive .archive-description > *, .cpt-archive-description > * {
    margin-bottom: 10px; }
    .entry-header > *:last-child, .regular-banner > *:last-child, .post-archive .archive-description > *:last-child, .cpt-archive-description > *:last-child {
      margin-bottom: 0; }
  .entry-header p, .regular-banner p, .post-archive .archive-description p, .cpt-archive-description p {
    font-family: "Josefin Sans", sans-serif; }
  .entry-header img, .regular-banner img, .post-archive .archive-description img, .cpt-archive-description img {
    opacity: 0.8; }

/* 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: #7e3806; }
  .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: 20px 5%;
        text-align: center;
        align-items: center; }
        .hero-slide figcaption:before {
          position: absolute;
          content: "";
          left: 0;
          top: -99px;
          width: 100%;
          height: 100px;
          background: linear-gradient(to top, white 0%, rgba(255, 255, 255, 0) 100%); }
        .hero-slide figcaption br {
          display: none; }
        .hero-slide figcaption p {
          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: #964308;
      font-weight: 700; }
    .hero-slide figcaption h4 {
      font-family: "edoregular", sans-serif;
      font-size: 1.4rem;
      color: #df630b;
      font-weight: 700;
      margin-bottom: 0; }
  @media only screen and (max-width: 670px) {
    .hero-slide img {
      position: relative;
      height: 100vw; } }
  .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: 10vw; } }
  @media only screen and (max-width: 670px) {
    .hero-slide--left img {
      object-position: right; } }
  .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; } }
  @media only screen and (max-width: 670px) {
    .hero-slide--right img {
      object-position: left; } }
  .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--top img {
    object-position: bottom; }
  .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 {
      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: 450px; }
  .hero-slide--top 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--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--bottom:before {
      content: ""; } }
  .hero-slide--left:before, .hero-slide--right:before {
    top: 0;
    width: 50%;
    height: 100%; }
  .hero-slide--top:before, .hero-slide--bottom:before {
    left: 0;
    width: 100%;
    height: 50%; }

/* Inner image only */
.hero-slider .banner-inner-image {
  position: relative;
  width: 80px;
  height: 80px;
  object-fit: contain;
  margin-bottom: 5px; }

.main-cta {
  background: url("../../uploads/GROUP-SHOT-2-1.jpg") no-repeat center/cover fixed;
  background-color: #333333;
  background-blend-mode: soft-light; }

.contact-buttons-wrapper {
  display: flex;
  flex-flow: row wrap;
  justify-content: center; }
  .contact-buttons-wrapper a {
    margin: 5px;
    width: 100%; }
    @media only screen and (min-width: 960px) {
      .contact-buttons-wrapper a {
        margin: 0 5px;
        width: auto; } }

.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 {
  display: flex;
  flex-flow: row wrap; }
  .post-entry-list > * {
    width: 100%;
    margin-bottom: 25px; }
    @media only screen and (min-width: 670px) {
      .post-entry-list > * {
        width: calc((100% - (25px * (2 - 1))) / 2);
        margin-right: 25px; }
        .post-entry-list > *:nth-child(2n) {
          margin-right: 0; } }
  .post-entry-list .entry-content {
    display: flex;
    flex-flow: column nowrap; }
  .post-entry-list .caption {
    padding: 10px 15px;
    box-shadow: 0 0 10px 0px rgba(38, 38, 38, 0.1);
    border: 1px solid #f2f2f2; }
  .post-entry-list h3 {
    margin: 10px 0; }
  .post-entry-list p {
    line-height: 1.5; }
  .post-entry-list .category-link {
    padding: 2px 6px; }
  .post-entry-list .entry-content__thumbnail-link {
    position: relative;
    min-height: 220px; }
    .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: #f47d29; }
  .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 {
  max-width: 960px;
  margin: auto;
  padding: 50px; }

.testimonials-wrapper {
  display: flex;
  flex-flow: row wrap; }
  .testimonials-wrapper > * {
    width: calc((100% - (30px / 2 * (2 - 1))) / 2);
    margin-right: 15px; }
    @media only screen and (max-width: 670px) {
      .testimonials-wrapper > * {
        margin-bottom: 15px; } }
    @media only screen and (max-width: 670px) {
      .testimonials-wrapper > *:nth-child(2n) {
        margin-right: 0; } }
    @media only screen and (min-width: 670px) {
      .testimonials-wrapper > * {
        width: calc((100% - (30px * (3 - 1))) / 3);
        margin-right: 30px; }
        .testimonials-wrapper > *:nth-child(3n) {
          margin-right: 0; } }
  .testimonials-wrapper > * {
    align-self: flex-end; }

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

.background-image-divider-2 {
  background: url("https://grillninetynine.com.sg/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; }

/* About section */
.about-section:before {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  content: "";
  max-width: 400px;
  max-height: 400px;
  left: calc(50% - 200px);
  top: calc(50% - 200px);
  z-index: -1;
  opacity: 0.2;
  background: url("../../../static/secondary-graphic.png") no-repeat center/contain; }

.about-section {
  position: relative;
  text-align: center;
  padding: 100px 50px;
  z-index: 0; }
  .about-section > * {
    margin-bottom: 50px; }
    .about-section > *:last-child {
      margin-bottom: 0; }

/* Menu Gallery */
.menu-section {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  padding: 3px;
  background-color: #0d0d0d; }
  .menu-section .section-title {
    padding: 30px 0; }

.menu-section-gallery {
  display: flex;
  flex-flow: row wrap; }

.menu__item {
  position: relative;
  width: 50%;
  height: 50vw;
  padding: 3px;
  overflow: hidden; }
  @media only screen and (min-width: 670px) {
    .menu__item {
      width: 25%;
      height: 25vw; } }
  .menu__item:first-child, .menu__item:last-child {
    width: 50%; }
  .menu__item img {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .menu__item figcaption {
    position: absolute;
    bottom: 3px;
    padding: 6px 12px;
    font-weight: 700;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.5); }

/* Reviews */
@media only screen and (min-width: 670px) {
  .review-section > *:nth-child(1) {
    flex: 1 1 0; }
  .review-section > *:nth-child(2) {
    flex: 2 1 0; } }

.review__item {
  position: relative;
  background: #fff;
  border-radius: 8px;
  padding: 15px 25px;
  margin-bottom: 40px; }
  .review__item > * {
    margin-bottom: 20px; }
    .review__item > *:last-child {
      margin-bottom: 0; }
  .review__item:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -19px;
    height: 0;
    border-top: 0 solid transparent;
    border-bottom: 25px solid transparent;
    border-right: 40px solid #fff; }
  .review__item p {
    color: #555; }
  .review__item h5 {
    color: #555;
    text-align: right; }
    .review__item h5:before {
      position: relative;
      content: "------ ";
      letter-spacing: -3px;
      margin-right: 5px; }

/* Instagram */
.instagram-wrapper {
  position: relative;
  background-color: #f7f7f7; }
  @media only screen and (min-width: 670px) {
    .instagram-wrapper > *:nth-child(1) {
      flex: 1 1 0; }
    .instagram-wrapper > *:nth-child(2) {
      flex: 2 1 0; } }
  @media only screen and (min-width: 960px) {
    .instagram-wrapper {
      padding: 10px 0; } }
  .instagram-wrapper > * {
    margin-bottom: 0; }
  .instagram-wrapper .widget {
    margin-bottom: 0; }
  .instagram-wrapper .section-title {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 30px; }
    @media only screen and (min-width: 960px) {
      .instagram-wrapper .section-title {
        padding-left: 5%; } }

.instagram-pics {
  display: flex;
  flex-wrap: wrap;
  display: flex;
  flex-flow: row wrap; }
  .instagram-pics > * {
    width: calc((100% - (10px / 2 * (2 - 1))) / 2);
    margin-right: 5px; }
    @media only screen and (max-width: 670px) {
      .instagram-pics > * {
        margin-bottom: 5px; } }
    @media only screen and (max-width: 670px) {
      .instagram-pics > *:nth-child(2n) {
        margin-right: 0; } }
    @media only screen and (min-width: 670px) {
      .instagram-pics > * {
        width: calc((100% - (10px * (3 - 1))) / 3);
        margin-right: 10px; }
        .instagram-pics > *:nth-child(3n) {
          margin-right: 0; } }
  @media only screen and (min-width: 670px) {
    .instagram-pics {
      margin-right: 10px; } }
  .instagram-pics li {
    margin-left: 0;
    list-style-type: none; }
  .instagram-pics a {
    display: block;
    overflow: hidden;
    background-color: #ae4d09; }
  .instagram-pics img {
    object-fit: cover;
    width: 100%;
    height: 50vw; }
    @media only screen and (min-width: 960px) {
      .instagram-pics img {
        height: 20vw; } }
    .instagram-pics img:hover {
      opacity: 0.8;
      transform: scale(1.05); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJhYnN0cmFjdHMvX2Z1bmN0aW9ucy5zY3NzIiwiYWJzdHJhY3RzL19wbGFjZWhvbGRlcnMuc2NzcyIsInZlbmRvcnMvX3NsaWNrLnNjc3MiLCJ2ZW5kb3JzL19zbGljay10aGVtZS5zY3NzIiwidmVuZG9ycy9fZmVhdGhlcmxpZ2h0LnNjc3MiLCJmb250cy9udWNsZW8uc2NzcyIsImZvbnRzL192YXJpYWJsZXMuc2NzcyIsImZvbnRzL19taXhpbnMuc2NzcyIsImZvbnRzL2ljb25zLnNjc3MiLCJiYXNlL19yZXNldC5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fZGVmYXVsdHMuc2NzcyIsImJhc2UvX2FuaW1hdGlvbnMuc2NzcyIsImxheW91dC9fZ3JpZC5zY3NzIiwibGF5b3V0L19ncy1zdHJ1Y3R1cmUtbGF5b3V0LnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19zaWRlYmFyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fZ3JhcGhpY3Muc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX3dpZGdldC5zY3NzIiwiY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvX2xpc3QtcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fdGl0bGUtZGl2aWRlci5zY3NzIiwiY29tcG9uZW50cy9fb2JqZWN0cy5zY3NzIiwiY29tcG9uZW50cy9fYmFubmVycy5zY3NzIiwiY29tcG9uZW50cy9faGVyby1zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX2NhbGwtdG8tYWN0aW9uLnNjc3MiLCJwYWdlcy9fcG9zdC1hcmNoaXZlLnNjc3MiLCJwYWdlcy9fcG9zdC1zaW5nbGUuc2NzcyIsInBhZ2VzL19wYWdlLXNpbmdsZS5zY3NzIiwicGFnZXMvX2FyY2hpdmUtdGVzdGltb25pYWwuc2NzcyIsInRoZW1lcy9raG9vemguc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcblx0VGhlbWUgTmFtZTogR3JpbGxuaW5ldHluaW5lIFRoZW1lXG5cdFRoZW1lIFVSSTpcblx0RGVzY3JpcHRpb246IFRoaXMgaXMgdGhlIHRoZW1lIGNyZWF0ZWQgZm9yIEdyaWxsbmluZXR5bmluZVxuXHRBdXRob3I6IEtob296aFxuXHRBdXRob3IgVVJJOlxuXG5cdFZlcnNpb246IDEuMC4wXG5cblx0VGFnczogb25lLWNvbHVtbiwgdHdvLWNvbHVtbnMsIGxlZnQtc2lkZWJhciwgcmlnaHQtc2lkZWJhciwgYWNjZXNzaWJpbGl0eS1yZWFkeSwgY3VzdG9tLWNvbG9ycywgY3VzdG9tLWxvZ28sIGN1c3RvbS1tZW51LCBmZWF0dXJlZC1pbWFnZXMsIGZvb3Rlci13aWRnZXRzLCBmdWxsLXdpZHRoLXRlbXBsYXRlLCBydGwtbGFuZ3VhZ2Utc3VwcG9ydCwgc3RpY2t5LXBvc3QsIHRoZW1lLW9wdGlvbnMsIHRocmVhZGVkLWNvbW1lbnRzLCB0cmFuc2xhdGlvbi1yZWFkeVxuXG5cdFRlbXBsYXRlOiBnZW5lc2lzXG5cblx0TGljZW5zZTogR1BMLTIuMCtcblx0TGljZW5zZSBVUkk6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxcbiovXG4vKiBUYWJsZSBvZiBDb250ZW50c1xuc2Fzcy9cbnxcbnwtIGFic3RyYWN0cy9cbnwgICB8LSBfdmFyaWFibGVzLnNjc3MgICAgIyBTYXNzIFZhcmlhYmxlc1xufCAgIHwtIF9mdW5jdGlvbnMuc2NzcyAgICAjIFNhc3MgRnVuY3Rpb25zXG58ICAgfC0gX21peGlucy5zY3NzICAgICAgICMgU2FzcyBNaXhpbnNcbnwgICB8LSBfcGxhY2Vob2xkZXJzLnNjc3MgIyBTYXNzIFBsYWNlaG9sZGVyc1xufFxufC0gZm9udHMvXG58ICAgfC0gX251Y2xlby5zY3NzICAgICAgICMgSWNvbiBQYWNrXG58XG584oCTIGJhc2UvXG58ICAgfC0gX3Jlc2V0LnNjc3MgICAgICAgICMgUmVzZXQvbm9ybWFsaXplXG58ICAgfC0gX3R5cG9ncmFwaHkuc2NzcyAgICMgVHlwb2dyYXBoeSBydWxlc1xufCAgIHwtIF9kZWZhdWx0cy5zY3NzICAgICAjIEdlbmVzaXMgRGVmYXVsdHNcbnwgICB8LSBfYW5pbWF0aW9ucy5zY3NzICAgIyBBbmltYXRpb25zXG58XG584oCTIGNvbXBvbmVudHMvXG58ICAgfC0gX2dyYXBoaWNzLnNjc3MgICAgICAgICAgICAjIEdyYXBoaWNzXG58ICAgfC0gX2J1dHRvbnMuc2NzcyAgICAgICAgICAgICAjIEJ1dHRvbnNcbnwgICB8LSBfd2lkZ2V0LnNjc3MgICAgICAgICAgICAgICMgR2VuZXNpcyBEZWZhdWx0IFdpZGdldCBhbmQgUGx1Z2luc1xufCAgIHwtIF9mb3Jtcy5zY3NzICAgICAgICAgICAgICAgIyBGb3Jtc1xufCAgIHwtIF9saXN0LXBhZ2luYXRpb24uc2NzcyAgICAgIyBMaXN0IGFuZCBwYWdpbmF0aW9uXG58ICAgfC0gLXRpdGxlLWRpdmlkZXIuc2NzcyAgICAgICAjIFRpdGxlIGFuZCBkaXZpZGVyc1xufCAgIHwtIF9vYmplY3RzLnNjc3MgICAgICAgICAgICAgIyBDdXN0b21pc2VkIG9iamVjdHNcbnwgICB8LSBfYmFubmVycy5zY3NzICAgICAgICAgICAgICMgQmFubmVyc1xufCAgIHwtIF9oZXJvLXNsaWRlci5zY3NzICAgICAgICAgIyBIZXJvIFNsaWRlclxufFxufOKAkyBsYXlvdXQvXG58ICAgfC0gX2dyaWQuc2NzcyAgICAgICAgICMgR3JpZFxufCAgIHwtIF9ncy1zdHJ1Y3R1cmUtbGF5b3V0LnNjc3MgIyBHZW5lc2lzIGRlZmF1bHQgc3RydWN0dXJlIGFuZCBsYXlvdXRcbnwgICB8LSBfaGVhZGVyLnNjc3MgICAgICAgIyBIZWFkZXJcbnwgICB8LSBfc2lkZWJhci5zY3NzICAgICAgIyBTaWRlYmFyXG58ICAgfC0gX2Zvb3Rlci5zY3NzICAgICAgICMgRm9vdGVyXG58XG584oCTIHBhZ2VzL1xufCAgIHwtIF9wb3N0LWFyY2hpdmUuc2NzcyAgICAgICAgIyBQb3N0IGFyY2hpdmUgc3R5bGVzXG58ICAgfC0gX3Bvc3Qtc2luZ2xlLnNjc3MgICAgICAgICAjIFNpbmdsZSBQb3N0IFN0eWxlc1xufFxufOKAkyB0aGVtZXMvXG58ICAgfC0gX2tob296aC5zY3NzICAgICAgICMgRGVmYXVsdCB0aGVtZVxufCAgIHwtIF93b29jb21tZXJjZS5zY3NzICAjIFdvb2NvbW1lcmNlIFN0eWxlc1xufFxufOKAkyB2ZW5kb3JzL1xufCAgIHwtIF9zbGljay5zY3NzICAgICAgICAjIFNsaWNrIFNsaWRlclxufCAgIHwtIF9zbGljay10aGVtZS5zY3NzICAjIFNsaWNrIFNsaWRlciBUaGVtZVxufCAgIHwtIF9mZWF0aGVybGlnaHQuc2NzcyAjIEZlYXRoZXJsaWdodCBHYWxsZXJ5XG58XG58LSBtYWluLnNjc3MgICAgICAgICAgICAgICMgTWFpbiBTYXNzIGZpbGVcbiovXG5cbkBpbXBvcnQgJ2Fic3RyYWN0cy92YXJpYWJsZXMnO1xuQGltcG9ydCAnYWJzdHJhY3RzL21peGlucyc7XG5AaW1wb3J0ICdhYnN0cmFjdHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJ2Fic3RyYWN0cy9wbGFjZWhvbGRlcnMnO1xuXG5AaW1wb3J0ICd2ZW5kb3JzL3NsaWNrJztcbkBpbXBvcnQgJ3ZlbmRvcnMvc2xpY2stdGhlbWUnO1xuQGltcG9ydCAndmVuZG9ycy9mZWF0aGVybGlnaHQnO1xuXG5AaW1wb3J0ICdmb250cy9udWNsZW8nO1xuXG5AaW1wb3J0ICdiYXNlL3Jlc2V0JztcbkBpbXBvcnQgJ2Jhc2UvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdiYXNlL2RlZmF1bHRzJztcbkBpbXBvcnQgJ2Jhc2UvYW5pbWF0aW9ucyc7XG5cbkBpbXBvcnQgJ2xheW91dC9ncmlkJztcbkBpbXBvcnQgJ2xheW91dC9ncy1zdHJ1Y3R1cmUtbGF5b3V0JztcbkBpbXBvcnQgJ2xheW91dC9oZWFkZXInO1xuQGltcG9ydCAnbGF5b3V0L3NpZGViYXInO1xuQGltcG9ydCAnbGF5b3V0L2Zvb3Rlcic7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvZ3JhcGhpY3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b25zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvd2lkZ2V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9saXN0LXBhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1kaXZpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2JqZWN0cyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Jhbm5lcnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZXJvLXNsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGwtdG8tYWN0aW9uJztcblxuQGltcG9ydCAncGFnZXMvcG9zdC1hcmNoaXZlJztcbkBpbXBvcnQgJ3BhZ2VzL3Bvc3Qtc2luZ2xlJztcbkBpbXBvcnQgJ3BhZ2VzL3BhZ2Utc2luZ2xlJztcbkBpbXBvcnQgJ3BhZ2VzL2FyY2hpdmUtdGVzdGltb25pYWwnO1xuLy8gQGltcG9ydCAncGFnZXMvY29udGFjdCc7XG5cbkBpbXBvcnQgJ3RoZW1lcy9raG9vemgnO1xuLy8gQGltcG9ydCAndGhlbWVzL3dvb2NvbW1lcmNlJztcbiIsIi8qIFZhcmlhYmxlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQm9keSBUZXh0IFN0eWxlcyAqL1xuJGJhc2UtZm9udC1zaXplOiAxLjZyZW07XG4kc3VidGl0bGUtZm9udDogJ2Vkb3JlZ3VsYXInLCBzYW5zLXNlcmlmO1xuJHRpdGxlLWZvbnQ6ICdKb3NlZmluIFNhbnMnLCBzYW5zLXNlcmlmO1xuJG1haW4tZm9udDogJ0xhdG8nLCBzYW5zLXNlcmlmO1xuLyogRm9udCBXZWlnaHQgKi9cbiRmb250LWxpZ2h0OiAyMDA7XG4kZm9udC1ub3JtOiA0MDA7XG4kZm9udC1ib2xkOiA3MDA7XG4vKiBDb2xvcnMgKi9cbiRtYWluLWNvbG9yOiAjZjQ3ZDI5O1xuJG9mZi13aGl0ZTogI2YzZTdkNztcbiRyZWQ6ICM5ZTFjMjU7XG4kb3JhbmdlOiAjZmY1YjM2O1xuJGdyZWVuOiAjNjg5NDQ3O1xuJGJsdWU6ICMzNjk7XG4keWVsbG93OiAjZjdlNzIwO1xuJGdyZXk6IGhzbCgwLDAlLDUwJSk7IC8vaW5wdXRzIHRoYXQgYXJlIG5vdCBzdWJtaXQgYW5kIGJ1dHRvblxuLyogRXRjLiAqL1xuJGlucHV0LWZpZWxkczogJ2lucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwiZmlsZVwiXSknO1xuLyogQmFja2dyb3VuZCBwYXR0ZXJuIGltYWdlIGxpbmsqL1xuJHBhdHRlcm4tMS1saW5rOiB1cmwoXCIuLi8uLi8uLi93cC1jb250ZW50L3VwbG9hZHMvZzk5LXRleHR1cmUtY29sLmpwZ1wiKTtcbiRwYXR0ZXJuLTItbGluazogdXJsKFwiLi4vLi4vLi4vd3AtY29udGVudC91cGxvYWRzL2c5OS10ZXh0dXJlLmpwZ1wiKTtcbi8qIEdyYXBoaWMgZGl2aWRlciBsaW5rICovXG4kZ3JhcGhpYy1kaXZpZGVyLTEtbGluazogdXJsKFwiLi4vLi4vLi4vc3RhdGljL2dyYXBoaWMtZGl2aWRlci5zdmdcIik7XG4kZ3JhcGhpYy1kaXZpZGVyLTItbGluazogdXJsKFwiLi4vLi4vLi4vc3RhdGljL2dyYXBoaWMtZGl2aWRlci1icnVzaC5wbmdcIik7XG4iLCIvKiBNaXhpbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE1lZGlhIFF1ZXJpZXNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiR0YWJsZXQtd2lkdGg6IDY3MHB4O1xuJGRlc2t0b3Atd2lkdGg6IDk2MHB4O1xuJGRlc2t0b3AteGwtd2lkdGg6IDE0MDBweDtcbkBtaXhpbiBtb2JpbGUge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHRhYmxldC13aWR0aH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIHRhYmxldCB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skdGFibGV0LXdpZHRofSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gZGVza3RvcCB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skZGVza3RvcC13aWR0aH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIGRlc2t0b3AteGwge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGRlc2t0b3AteGwtd2lkdGh9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbi8qIENvbnRhaW5lclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGNvbnRhaW5lcigkcGFkZGluZywgJGJnLCAkYm9yZGVyLXJhZGl1cywgJGJvcmRlcikge1xuICBwYWRkaW5nOiAkcGFkZGluZyAoJHBhZGRpbmcgLyAyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB9XG59XG4vKiBJbWFnZSBBc3BlY3QgUmF0aW9cbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiA8ZmlndXJlPiAvLyBBcHBseSBpbWFnZSByYXRpbyB0byBmaWd1cmVcbiAgIDxpbWcgc3JjPVwiXCIvPlxuIDwvZmlndXJlPlxuKi9cbkBtaXhpbiBpbWctcmF0aW8oJHdpZHRoLCAkcC10b3ApIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHdpZHRoO1xuICBwYWRkaW5nLXRvcDogJHAtdG9wO1xuXG4gID4gaW1nIHtcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cbi8qIEFic29sdXRlXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi8qIEdyYWRpZW50IEZhZGVcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBncmFkaWVudC1mYWRlKCRoLCRzLCRsLCRkaXJlY3Rpb24pIHtcbiAgQGlmICRkaXJlY3Rpb24gPT0gYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBoc2xhKCRoLCRzLCRsLDEpIDAlLGhzbGEoJGgsJHMsJGwsMCkgMTAwJSk7XG4gIH0gQGVsc2VcbiAgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgaHNsYSgkaCwkcywkbCwxKSAwJSxoc2xhKCRoLCRzLCRsLDApIDEwMCUpO1xuICB9IEBlbHNlXG4gIGlmICRkaXJlY3Rpb24gPT0gdG9wIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCBoc2xhKCRoLCRzLCRsLDEpIDAlLGhzbGEoJGgsJHMsJGwsMCkgMTAwJSk7XG4gIH0gQGVsc2VcbiAgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBoc2xhKCRoLCRzLCRsLDEpIDAlLGhzbGEoJGgsJHMsJGwsMCkgMTAwJSk7XG4gIH1cbn1cbi8qIEJhZGdlIC8gVGFnIGxhYmVsXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gdGFnLWxhYmVsKCRiZywgJHNpemUpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICBAaWYgJHNpemUgPT0gc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xuICB9XG4gIEBpZiAkc2l6ZSA9PSBtZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgfVxuICBAaWYgJHNpemUgPT0gbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICB9XG59XG4vKiBJY29uc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDFlbS8xICdiYXNlaWNvbic7XG4gIHNwZWFrOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuQG1peGluIGljb24oJHR5cGUpIHtcbiAgQGV4dGVuZCAlaWNvbjtcbiAgY29udGVudDogJHR5cGU7XG59XG4vKiBDaXJjbGUgT2JqZWN0XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gY2lyY2xlLW9iamVjdCgkZGlhbWV0ZXIsICRiZy1jb2xvciwgJGZvbnQtc2l6ZSkge1xuICBAZXh0ZW5kICVmbGV4Ym94LWMtYztcbiAgd2lkdGg6ICRkaWFtZXRlcjtcbiAgaGVpZ2h0OiAkZGlhbWV0ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgJjpob3ZlcixcbiAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4vKiBUaHVtYm5haWwgQ2FyZFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuPGFydGljbGUgY2xhc3M9XCJ0aHVtYm5haWwtY2FyZFwiPlxuICA8ZmlndXJlPlxuICAgIDxpbWcgc3JjPVwiXCI+XG4gIDwvZmlndXJlPlxuICA8ZGl2IGNsYXNzPVwiY2FwdGlvblwiPlxuICAgIDxoND48L2g0PlxuICAgIDxwPjwvcD5cbiAgICA8YSBocmVmPVwiI1wiPjwvYT5cbiAgPC9kaXY+XG48L2FydGljbGU+XG4gKi9cbkBtaXhpbiB0aHVtYm5haWwtY2FyZCgkdGh1bWJXLCAkdGh1bWJILCAkY2FwdGlvbi1wb3MsICRwYWRkaW5nKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgQGlmICRjYXB0aW9uLXBvcyA9PSBib3R0b20ge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblxuICAgIC5jYXB0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gID4gZmlndXJlIHtcbiAgICBAaW5jbHVkZSBpbWctcmF0aW8oJHRodW1iVywgJHRodW1iSCk7XG4gIH1cblxuICAuY2FwdGlvbiB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIH1cbn1cbi8qIExpbmUgQm9yZGVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gbGluZS1ib3JkZXIoJHdpZHRoLCAkY29sb3IsICRkaXJlY3Rpb24sICRzcGFjZSkge1xuICBib3JkZXItI3skZGlyZWN0aW9ufTogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgcGFkZGluZy0jeyRkaXJlY3Rpb259OiAkc3BhY2U7XG4gIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAkc3BhY2U7XG59XG4vKiBDaGlsZCBNYXJnaW5cbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjaGlsZC1tYXJnaW4oJGRpcmVjdGlvbiwgJHNwYWNlLCAkc2VsZWN0b3I6IG51bGwpIHtcbiAgQGlmICRzZWxlY3RvciA9PSBudWxsIHtcbiAgICA+ICoge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICRzcGFjZTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogJHNwYWNlO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qIENsZWFyIEZpeFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICp6b29tOiAxO1xuXG4gICY6OmFmdGVyLFxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4lY2xlYXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuIiwiLyogRnVuY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4iLCIvKiBQbGFjZWhvbGRlcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFdoaXRlIEdyYWRpZW50XG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJXdoaXRlLWdyYWRpZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDE7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgwLDAsMTAwLHRvcCk7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxufVxuLyogVHJhbnNpdGlvbnNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiV0cmFuc2l0aW9uLWR1cmF0aW9uIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4vKiBGbGV4Ym94XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lZmxleGJveC1jLWMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vanMvcGx1Z2lucy9zbGljay9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vanMvcGx1Z2lucy9zbGljay9cIiAhZGVmYXVsdDtcbiRzbGljay1hcnJvdy1jb2xvcjogI2RkZCAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogMTJweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gIH1cbn1cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gIH1cbn1cbi8qIFNsaWRlciAqL1xuLnNsaWNrLWxpc3Qge1xuICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgfVxufVxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxufVxuLyogQXJyb3dzICovXG4uc2xpY2stbmV4dCxcbi5zbGljay1wcmV2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICB6LWluZGV4OiAyO1xuXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgfVxuICB9XG5cbiAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRzbGljay1hcnJvdy1jb2xvcjtcbiAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICBsZWZ0OiAxNXB4O1xuXG4gIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTM1cHg7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICB9XG4gIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogMTVweDtcblxuICBbZGlyPVwicnRsXCJdICYge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcblxuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgfVxuICB9XG59XG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0yNXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIEBleHRlbmQgJXRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XG4gICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBGZWF0aGVybGlnaHQg4oCTIHVsdHJhIHNsaW0galF1ZXJ5IGxpZ2h0Ym94XG4gKiBWZXJzaW9uIDEuNy4xMyAtIGh0dHA6Ly9ub2VsYm9zcy5naXRodWIuaW8vZmVhdGhlcmxpZ2h0L1xuICpcbiAqIENvcHlyaWdodCAyMDE4LCBOb8OrbCBSYW91bCBCb3NzYXJ0IChodHRwOi8vd3d3Lm5vZWxib3NzLmNvbSlcbiAqIE1JVCBMaWNlbnNlZC5cbioqL1xuXG5odG1sLndpdGgtZmVhdGhlcmxpZ2h0IHtcblx0LyogZGlzYWJsZSBnbG9iYWwgc2Nyb2xsaW5nIHdoZW4gZmVhdGhlcmxpZ2h0cyBhcmUgdmlzaWJsZSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmVhdGhlcmxpZ2h0IHtcblx0ZGlzcGxheTogbm9uZTtcblxuXHQvKiBkaW1lbnNpb25zOiBzcGFubmluZyB0aGUgYmFja2dyb3VuZCBmcm9tIGVkZ2UgdG8gZWRnZSAqL1xuXHRwb3NpdGlvbjpmaXhlZDtcblx0dG9wOiAwOyByaWdodDogMDsgYm90dG9tOiAwOyBsZWZ0OiAwO1xuXHR6LWluZGV4OiAyMTQ3NDgzNjQ3OyAvKiB6LWluZGV4IG5lZWRzIHRvIGJlID49IGVsZW1lbnRzIG9uIHRoZSBzaXRlLiAqL1xuXG5cdC8qIHBvc2l0aW9uOiBjZW50ZXJpbmcgY29udGVudCAqL1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LyogaW5zdXJlcyB0aGF0IHRoZSA6OmJlZm9yZSBwc2V1ZG8gZWxlbWVudCBkb2Vzbid0IGZvcmNlIHdyYXAgd2l0aCBmaXhlZCB3aWR0aCBjb250ZW50OyAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdC8qIHN0eWxpbmcgKi9cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kOiAjMzMzO1xuXHQvKiBJRTggXCJoYWNrXCIgZm9yIG5lc3RlZCBmZWF0aGVybGlnaHRzICovXG5cdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi8qIHN1cHBvcnQgZm9yIG5lc3RlZCBmZWF0aGVybGlnaHRzLiBEb2VzIG5vdCB3b3JrIGluIElFOCAodXNlIEpTIHRvIGZpeCkgKi9cbi5mZWF0aGVybGlnaHQ6bGFzdC1vZi10eXBlIHtcblx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuXG4uZmVhdGhlcmxpZ2h0OmJlZm9yZSB7XG5cdC8qIHBvc2l0aW9uOiB0cmljayB0byBjZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5ICovXG5cdGNvbnRlbnQ6ICcnO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGhlaWdodDogMTAwJTtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmZlYXRoZXJsaWdodCAuZmVhdGhlcmxpZ2h0LWNvbnRlbnQge1xuXHQvKiBtYWtlIGNvbnRlbnQgY29udGFpbmVyIGZvciBwb3NpdGlvbmVkIGVsZW1lbnRzIChjbG9zZSBidXR0b24pICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQvKiBwb3NpdGlvbjogY2VudGVyaW5nIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsICovXG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHQvKiBkaW1lbnNpb25zOiBjdXQgb2ZmIGltYWdlcyAqL1xuXHRvdmVyZmxvdzogYXV0bztcblx0cGFkZGluZzogMjVweCAyNXB4IDA7XG5cdGJvcmRlci1ib3R0b206IDI1cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0LyogZGltZW5zaW9uczogaGFuZGxpbmcgbGFyZ2UgY29udGVudCAqL1xuXHRtYXJnaW4tbGVmdDogNSU7XG5cdG1hcmdpbi1yaWdodDogNSU7XG5cdG1heC1oZWlnaHQ6IDk1JTtcblxuXHQvKiBzdHlsaW5nICovXG5cdC8vIGJhY2tncm91bmQ6ICNmZmY7XG5cdGN1cnNvcjogYXV0bztcblxuXHQvKiByZXNldCB3aGl0ZS1zcGFjZSB3cmFwcGluZyAqL1xuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vKiBjb250YWlucyB0aGUgY29udGVudCAqL1xuLmZlYXRoZXJsaWdodCAuZmVhdGhlcmxpZ2h0LWlubmVyIHtcblx0LyogbWFrZSBzdXJlIGl0cyB2aXNpYmxlICovXG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBkb24ndCBzaG93IHRoZXNlIHRob3VnaCAqL1xuLmZlYXRoZXJsaWdodCBzY3JpcHQuZmVhdGhlcmxpZ2h0LWlubmVyLFxuLmZlYXRoZXJsaWdodCBsaW5rLmZlYXRoZXJsaWdodC1pbm5lcixcbi5mZWF0aGVybGlnaHQgc3R5bGUuZmVhdGhlcmxpZ2h0LWlubmVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmZlYXRoZXJsaWdodCAuZmVhdGhlcmxpZ2h0LWNsb3NlLWljb24ge1xuXHQvKiBwb3NpdGlvbjogY2VudGVyaW5nIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsICovXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogOTk5OTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblxuXHQvKiBkaW1lbnNpb25zOiAyNXB4IHggMjVweCAqL1xuXHRsaW5lLWhlaWdodDogMjVweDtcblx0d2lkdGg6IDI1cHg7XG5cdGhlaWdodDogMjVweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXG5cdC8qIHN0eWxpbmcgKi9cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcblx0YmFja2dyb3VuZDogI2ZmZjsgLyogU2V0IHRoZSBiYWNrZ3JvdW5kIGluIGNhc2UgaXQgb3ZlcmxhcHMgdGhlIGNvbnRlbnQgKi9cblx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuXHRjb2xvcjogIzAwMDtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBTZWUgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjA3NzM0MS9ob3ctdG8tcmVzZXQtYWxsLWRlZmF1bHQtc3R5bGVzLW9mLXRoZS1odG1sNS1idXR0b24tZWxlbWVudCAqL1xuLmZlYXRoZXJsaWdodCAuZmVhdGhlcmxpZ2h0LWNsb3NlLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5mZWF0aGVybGlnaHQgLmZlYXRoZXJsaWdodC1pbWFnZSB7XG5cdC8qIHN0eWxpbmcgKi9cblx0d2lkdGg6IDEwMCU7XG59XG5cblxuLmZlYXRoZXJsaWdodC1pZnJhbWUgLmZlYXRoZXJsaWdodC1jb250ZW50IHtcblx0LyogcmVtb3ZlZCB0aGUgYm9yZGVyIGZvciBpbWFnZSBjcm9waW5nIHNpbmNlIGlmcmFtZSBpcyBlZGdlIHRvIGVkZ2UgKi9cblx0Ym9yZGVyLWJvdHRvbTogMDtcblx0cGFkZGluZzogMDtcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uZmVhdGhlcmxpZ2h0IGlmcmFtZSB7XG5cdC8qIHN0eWxpbmcgKi9cblx0Ym9yZGVyOiBub25lO1xufVxuXG4uZmVhdGhlcmxpZ2h0ICogeyAvKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25vZWxib3NzL2ZlYXRoZXJsaWdodC9pc3N1ZXMvNDIgKi9cblx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHQtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIGhhbmRsaW5nIHBob25lcyBhbmQgc21hbGwgc2NyZWVucyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcblx0LmZlYXRoZXJsaWdodCAuZmVhdGhlcmxpZ2h0LWNvbnRlbnQge1xuXHRcdC8qIGRpbWVuc2lvbnM6IG1heGltaXplIGxpZ2h0Ym94IHdpdGggZm9yIHNtYWxsIHNjcmVlbnMgKi9cblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWF4LWhlaWdodDogOTglO1xuXG5cdFx0cGFkZGluZzogMTBweCAxMHB4IDA7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0fVxufVxuXG4vKiBoaWRlIG5vbiBmZWF0aGVybGlnaHQgaXRlbXMgd2hlbiBwcmludGluZyAqL1xuQG1lZGlhIHByaW50IHtcblx0aHRtbC53aXRoLWZlYXRoZXJsaWdodCA+ICogPiA6bm90KC5mZWF0aGVybGlnaHQpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5iYXNlaWNvbiBXZWIgRm9udFxuR2VuZXJhdGVkIHVzaW5nIG51Y2xlb2FwcC5jb21cblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnYmFzZWljb24nO1xuICBzcmM6IHVybCgnI3skaWNvbi1mb250LXBhdGh9L2Jhc2VpY29uLmVvdCcpO1xuICBzcmM6IHVybCgnI3skaWNvbi1mb250LXBhdGh9L2Jhc2VpY29uLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJyN7JGljb24tZm9udC1wYXRofS9iYXNlaWNvbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JGljb24tZm9udC1wYXRofS9iYXNlaWNvbi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcjeyRpY29uLWZvbnQtcGF0aH0vYmFzZWljb24udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnI3skaWNvbi1mb250LXBhdGh9L2Jhc2VpY29uLnN2ZycpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0YmFzZSBjbGFzcyBkZWZpbml0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDFlbS8xICdiYXNlaWNvbic7XG4gIHNwZWFrOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBjaGFuZ2UgaWNvbiBzaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogcmVsYXRpdmUgdW5pdHMgKi9cbi5pY29uLXNtIHtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cbi5pY29uLWxnIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbn1cbi8qIGFic29sdXRlIHVuaXRzICovXG4uaWNvbi0xNiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbi5pY29uLTMyIHtcbiAgZm9udC1zaXplOiAzMnB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgYWRkIGEgc3F1YXJlL2NpcmNsZSBiYWNrZ3JvdW5kXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5pY29uLWJnLXNxdWFyZSxcbi5pY29uLWJnLWNpcmNsZSB7XG4gIHBhZGRpbmc6IDAuMzVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tYmFja2dyb3VuZC1jb2xvcjtcbn1cblxuLmljb24tYmctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICB1c2UgaWNvbnMgYXMgbGlzdCBpdGVtIG1hcmtlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uaWNvbi11bCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuXG4gID4gbGkgPiAuaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaWNvbi1saS1tYXJnaW4tcmlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgc3Bpbm5pbmcgaWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uaWNvbi1pcy1zcGlubmluZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBpY29uLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICAtbW96LWFuaW1hdGlvbjogaWNvbi1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBpY29uLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaWNvbi1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5ALW1vei1rZXlmcmFtZXMgaWNvbi1zcGluIHtcbiAgMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGljb24tc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIHJvdGF0ZWQvZmxpcHBlZCBpY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5pY29uLXJvdGF0ZS05MCAge1xuXHRAaW5jbHVkZSBpY29uLXJvdGF0ZSg5MGRlZywgMSk7XG59XG5cbi5pY29uLXJvdGF0ZS0xODAge1xuXHRAaW5jbHVkZSBpY29uLXJvdGF0ZSgxODBkZWcsIDIpO1xufVxuXG4uaWNvbi1yb3RhdGUtMjcwIHtcblx0QGluY2x1ZGUgaWNvbi1yb3RhdGUoMjcwZGVnLCAzKTtcbn1cblxuLmljb24tZmxpcC15IHtcblx0QGluY2x1ZGUgaWNvbi1mbGlwKC0xLCAxLCAwKTtcbn1cbi5pY29uLWZsaXAteCB7XG5cdEBpbmNsdWRlIGljb24tZmxpcCgxLCAtMSwgMik7XG59XG5cbkBpbXBvcnQgXCJpY29uc1wiO1xuIiwiJGljb24tZm9udC1wYXRoOiAgICAgICAgXCJmb250c1wiICFkZWZhdWx0O1xuJGljb24tYmFja2dyb3VuZC1jb2xvcjogI2VlZSAhZGVmYXVsdDtcbiRpY29uLWxpLW1hcmdpbi1yaWdodDogIDAuNGVtICFkZWZhdWx0O1xuIiwiQG1peGluIGljb24tcm90YXRlKCRkZWdyZWVzLCAkcm90YXRpb24pIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0jeyRyb3RhdGlvbn0pO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuXG5AbWl4aW4gaWNvbi1mbGlwKCRob3JpeiwgJHZlcnQsICRyb3RhdGlvbikge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdGljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBmdW5jdGlvbiB1bmljb2RlKCRzdHIpIHtcbiAgQHJldHVybiB1bnF1b3RlKFwiXFxcIlxcXFwjeyRzdHJ9XFxcIlwiKTtcbn1cblxuJGljb24tYWNjb3VudDogdW5pY29kZShlYTAxKTtcbiRpY29uLWJhZy0wOTogdW5pY29kZShlYTAyKTtcbiRpY29uLWNoZWNrZWQtc3ltYm9sOiB1bmljb2RlKGVhMDMpO1xuJGljb24tZmFjZWJvb2stMTogdW5pY29kZShlYTA0KTtcbiRpY29uLWZhY2Vib29rLWNpcmNsZTogdW5pY29kZShlYTA1KTtcbiRpY29uLWZhY2Vib29rOiB1bmljb2RlKGVhMDYpO1xuJGljb24tZmF4OiB1bmljb2RlKGVhMDcpO1xuJGljb24taWNfYWNjZXNzX3RpbWVfNDhweDogdW5pY29kZShlYTA4KTtcbiRpY29uLWljX2Fycm93X2JhY2tfMzZweDogdW5pY29kZShlYTA5KTtcbiRpY29uLWljX2Nsb3NlXzQ4cHg6IHVuaWNvZGUoZWEwYSk7XG4kaWNvbi1pY19tYWlsX291dGxpbmVfNDhweDogdW5pY29kZShlYTBiKTtcbiRpY29uLWluc3RhZ3JhbTogdW5pY29kZShlYTBjKTtcbiRpY29uLWxvY2s6IHVuaWNvZGUoZWEwZCk7XG4kaWNvbi1waG9uZS0yLTI6IHVuaWNvZGUoZWEwZSk7XG4kaWNvbi1waG9uZS0yOiB1bmljb2RlKGVhMGYpO1xuJGljb24tcGluOiB1bmljb2RlKGVhMTApO1xuJGljb24tcGxhY2Vob2xkZXI6IHVuaWNvZGUoZWExMSk7XG4kaWNvbi1wbHVzOiB1bmljb2RlKGVhMTIpO1xuJGljb24tc2hvcHBpbmctY2FydDogdW5pY29kZShlYTEzKTtcbiRpY29uLXNpbmdsZS0wMTogdW5pY29kZShlYTE0KTtcbiRpY29uLXN0YXI6IHVuaWNvZGUoZWExNSk7XG4kaWNvbi13aGF0c2FwcC1sb2dvOiB1bmljb2RlKGVhMTYpO1xuJGljb24teW91dHViZTogdW5pY29kZShlYTE3KTtcbiRpY29uLXpvb20tMjogdW5pY29kZShlYTE4KTtcblxuLmljb24tYWNjb3VudDo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tYWNjb3VudDtcbn1cblxuLmljb24tYmFnLTA5OjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1iYWctMDk7XG59XG5cbi5pY29uLWNoZWNrZWQtc3ltYm9sOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1jaGVja2VkLXN5bWJvbDtcbn1cblxuLmljb24tZmFjZWJvb2stMTo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tZmFjZWJvb2stMTtcbn1cblxuLmljb24tZmFjZWJvb2stY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1mYWNlYm9vay1jaXJjbGU7XG59XG5cbi5pY29uLWZhY2Vib29rOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1mYWNlYm9vaztcbn1cblxuLmljb24tZmF4OjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1mYXg7XG59XG5cbi5pY29uLWljX2FjY2Vzc190aW1lXzQ4cHg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWljX2FjY2Vzc190aW1lXzQ4cHg7XG59XG5cbi5pY29uLWljX2Fycm93X2JhY2tfMzZweDo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24taWNfYXJyb3dfYmFja18zNnB4O1xufVxuXG4uaWNvbi1pY19jbG9zZV80OHB4OjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1pY19jbG9zZV80OHB4O1xufVxuXG4uaWNvbi1pY19tYWlsX291dGxpbmVfNDhweDo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24taWNfbWFpbF9vdXRsaW5lXzQ4cHg7XG59XG5cbi5pY29uLWluc3RhZ3JhbTo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24taW5zdGFncmFtO1xufVxuXG4uaWNvbi1sb2NrOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1sb2NrO1xufVxuXG4uaWNvbi1waG9uZS0yLTI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLXBob25lLTItMjtcbn1cblxuLmljb24tcGhvbmUtMjo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tcGhvbmUtMjtcbn1cblxuLmljb24tcGluOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1waW47XG59XG5cbi5pY29uLXBsYWNlaG9sZGVyOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1wbGFjZWhvbGRlcjtcbn1cblxuLmljb24tcGx1czo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tcGx1cztcbn1cblxuLmljb24tc2hvcHBpbmctY2FydDo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tc2hvcHBpbmctY2FydDtcbn1cblxuLmljb24tc2luZ2xlLTAxOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1zaW5nbGUtMDE7XG59XG5cbi5pY29uLXN0YXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLXN0YXI7XG59XG5cbi5pY29uLXdoYXRzYXBwLWxvZ286OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLXdoYXRzYXBwLWxvZ287XG59XG5cbi5pY29uLXlvdXR1YmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLXlvdXR1YmU7XG59XG5cbi5pY29uLXpvb20tMjo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tem9vbS0yO1xufVxuXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovXG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSxcbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBib3JkZXI6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nLFxuYnV0dG9uOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqL1xufVxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbn1cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEJveCBTaXppbmdcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjo6YWZ0ZXIsXG4qOjpiZWZvcmUge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuIiwiLyogVHlwb2dyYXBoaWNhbCBFbGVtZW50c1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNTYlO1xuICAvKiAxMHB4IGJyb3dzZXIgZGVmYXVsdCAqL1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGZvbnQtc2l6ZTogNjIuNSU7XG4gIH1cbn1cbi8qIENocm9tZSBmaXggKi9cbmJvZHkgPiBkaXYge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM3Nzc7XG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogJGZvbnQtbm9ybTtcbiAgbGluZS1oZWlnaHQ6IDEuNjI1O1xufVxuXG5idXR0b24sXG5pbnB1dDpmb2N1cyxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxudGV4dGFyZWE6Zm9jdXMsXG4uYnV0dG9uLFxuLmdhbGxlcnkgaW1nIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbm9sLFxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmxpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5ociB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDMwcHggMDtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xufVxuXG5ibG9ja3F1b3RlLFxuY2l0ZSxcbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAzMHB4O1xufVxuXG5ibG9ja3F1b3RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjAxQ1wiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXNpemU6IDNyZW07XG4gIGhlaWdodDogMDtcbiAgbGVmdDogLTIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMTBweDtcbn1cbi8qIEhlYWRpbmdzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMjAlKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwIDAgMnJlbTtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDVyZW07XG4gIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udDtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDMuNnJlbTtcbiAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250O1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQ7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAyMCUpO1xuICB9XG59XG5cbmxhYmVsIHtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gIGNvbG9yOiBoc2woMCwwJSw2MCUpO1xufVxuLyogVGV4dFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xucCB7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4xO1xuICBsaW5lLWhlaWdodDogJGJhc2UtZm9udC1zaXplICsgMC44O1xuICBtYXJnaW46IDAgMCAxNXB4O1xuXG4gICYueC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuXG4gICYuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cblxuICAmLmxhcmdlIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSArIDAuMjtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG4vKiBEYXJrIHRoZW1lXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lZGFyay10aGVtZSB7XG4gIGEsXG4gIHAge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICBociB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICB9XG59XG4vLyAuZGFyay10aGVtZSB7XG4vLyAgIEBleHRlbmQgJWRhcmstdGhlbWU7XG4vLyB9XG5cbiVibG9nLXR5cG9ncmFwaHkge1xuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgfVxuXG4gIGxpLFxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJlbTtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSArIDAuMTtcbiAgICB9XG4gIH1cbn1cbi8qIFNlYWZvb2QgbG9iYW5nIHNwZWNpZmljXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5oMSxcbmgyLFxuaDMge1xuICBsZXR0ZXItc3BhY2luZzogLTAuMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiIsIi8qIERlZmF1bHRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBPYmplY3RzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud3AtY2FwdGlvbixcbmVtYmVkLFxuaWZyYW1lLFxuaW1nLFxub2JqZWN0LFxudmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuLyogR2FsbGVyeVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmdhbGxlcnkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4vKiBUYWJsZXNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxudGJvZHkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbn1cblxudGQsXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbnRkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG4gIHBhZGRpbmc6IDZweDtcbn1cblxudGgge1xuICBmb250LXdlaWdodDogJGZvbnQtbm9ybTtcbiAgcGFkZGluZzogMCA2cHg7XG59XG4vKiBTY3JlZW4gUmVhZGVyIFRleHRcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zY3JlZW4tcmVhZGVyLXNob3J0Y3V0LFxuLnNjcmVlbi1yZWFkZXItdGV4dCxcbi5zY3JlZW4tcmVhZGVyLXRleHQgc3BhbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uc2NyZWVuLXJlYWRlci1zaG9ydGN1dDpmb2N1cyxcbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzMzMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwO1xuICAvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xufVxuXG4ubW9yZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLyogSW1hZ2UgcmVsZWFzZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmltYWdlLXJlbGVhc2Uge1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gIG1hcmdpbi1yaWdodDogLTUwdnc7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKiBWZXJ0aWNhbCBhbGlnbiBjb2x1bW4gb2JqZWN0c1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnZlcnRpY2FsLWNlbnRlciB7XG4gIC53cC1ibG9jay1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4iLCIvKiBBbmltYXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4lYW5pbWF0aW9uLWJhc2ljLWhpZGUge1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgb3BhY2l0eTogMDtcbn1cbi8qIGZhZGUgaW4gdG9wICovXG4uaGlkZGVuIHtcbiAgQGV4dGVuZCAlYW5pbWF0aW9uLWJhc2ljLWhpZGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbn1cblxuLnNob3duIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG59XG4vKiBmYWRlIGluIHJpZ2h0ICovXG4uZmFkZS1yaWdodC1iZWZvcmUge1xuICBAZXh0ZW5kICVhbmltYXRpb24tYmFzaWMtaGlkZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcbn1cblxuLmZhZGUtcmlnaHQge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbn1cbi8qIGZhZGUgaW4gbGVmdCAqL1xuLmZhZGUtbGVmdC1iZWZvcmUge1xuICBAZXh0ZW5kICVhbmltYXRpb24tYmFzaWMtaGlkZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xufVxuXG4uZmFkZS1sZWZ0IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG59XG4vKiBmYWRlIGluIHNjYWxlICovXG4uZmFkZS1zY2FsZS1iZWZvcmUge1xuICBAZXh0ZW5kICVhbmltYXRpb24tYmFzaWMtaGlkZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSguOSk7XG59XG5cbi5mYWRlLXNjYWxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbiIsIi8qIEdyaWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENvbHVtbiBNaXhpblxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGNvbHVtbnMoJHNwYWNlLCAkY29sczogMiwgJG1vYmlsZS1jb2w6IDEpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICA+ICoge1xuICAgIEBpZiAkbW9iaWxlLWNvbCA9PSAxIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlO1xuICAgIH1cbiAgICBAaWYgJG1vYmlsZS1jb2wgPT0gMiB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAtICgjeyRzcGFjZX0gLyAyICogKCN7JG1vYmlsZS1jb2x9IC0gMSkpKSAvICN7JG1vYmlsZS1jb2x9KTtcbiAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNlIC8gMjtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZSAvIDI7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAtICgjeyRzcGFjZX0gKiAoI3skY29sc30gLSAxKSkpIC8gI3skY29sc30pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2U7XG5cbiAgICAgICY6bnRoLWNoaWxkKCN7JGNvbHN9bikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiVjb2wtMSB7XG4gIHBhZGRpbmc6IDAgNSU7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLmNvbHMtMiB7XG4gIEBpbmNsdWRlIGNvbHVtbnMoMzBweCwgMik7XG59XG5cbi5jb2xzLTMge1xuICBAaW5jbHVkZSBjb2x1bW5zKDMwcHgsIDMpO1xufVxuLyogQ29sdW1uIExheW91dHNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjb2x1bW4tbGF5b3V0KCRjb2wtMSwgJGNvbC0yLCAkY29sLTM6bnVsbCkge1xuICBAaWYgJGNvbC0zID09IG51bGwge1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICA+ICo6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgZmxleDogJGNvbC0xIDEgMDtcbiAgICAgIH1cblxuICAgICAgPiAqOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGZsZXg6ICRjb2wtMiAxIDA7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgPiAqOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIGZsZXg6ICRjb2wtMSAxIDA7XG4gICAgICB9XG5cbiAgICAgID4gKjpudGgtY2hpbGQoMikge1xuICAgICAgICBmbGV4OiAkY29sLTIgMSAwO1xuICAgICAgfVxuXG4gICAgICA+ICo6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgZmxleDogJGNvbC0zIDEgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnR3by1vbmUge1xuICBAaW5jbHVkZSBjb2x1bW4tbGF5b3V0KDIsIDEpO1xufVxuLyogV3JhcHBlclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNTBweCA1JTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcGFkZGluZzogODBweCAxMCU7XG4gIH1cblxuICAmLXNtYWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNXB4IDUlO1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgcGFkZGluZzogMzBweCAxMCU7XG4gICAgfVxuICB9XG5cbiAgJi1sYXJnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogODBweCA1JTtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHBhZGRpbmc6IDEyMHB4IDEwJTtcbiAgICB9XG4gIH1cblxuICAmLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgICB9XG4gIH1cbn1cblxuc2VjdGlvbi53cmFwcGVyIHtcbiAgQGV4dGVuZCAld3JhcHBlcjtcblxuICAmLXNtYWxsIHtcbiAgICBAZXh0ZW5kICV3cmFwcGVyLXNtYWxsO1xuICB9XG5cbiAgJi1sYXJnZSB7XG4gICAgQGV4dGVuZCAld3JhcHBlci1sYXJnZTtcbiAgfVxuXG4gICYtZnVsbCB7XG4gICAgQGV4dGVuZCAld3JhcHBlci1mdWxsO1xuICB9XG59XG4iLCIvKiBHZW5lc2lzIFN0cnVjdHVyZSBhbmQgTGF5b3V0XG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNpdGUgQ29udGFpbmVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2l0ZS1jb250YWluZXIge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxubWFpbi5jb250ZW50IHtcbiAgZmxleDogMSAxIDEwMCU7XG5cbn1cblxuLnNpdGUtaGVhZGVyICsgKiB7XG4gIC8vIG1hcmdpbi10b3A6MTA0cHg7XG59XG4vKiBDb21tb24gQ2xhc3Nlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBHZW5lc2lzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYWZ0ZXItZW50cnksXG4uYXJjaGl2ZS1kZXNjcmlwdGlvbixcbi5hdXRob3ItYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmFmdGVyLWVudHJ5IHtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgcGFkZGluZzogMjBweCAzMHB4O1xufVxuXG4uYWZ0ZXItZW50cnkgLndpZGdldDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYnJlYWRjcnVtYiB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLmFyY2hpdmUtZGVzY3JpcHRpb24gcDpsYXN0LWNoaWxkLFxuLmF1dGhvci1ib3ggcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIFNlYXJjaCBGb3JtXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2VhcmNoLWZvcm0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZW50cnktY29udGVudCAuc2VhcmNoLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB3aWR0aDogNTAlO1xufVxuXG4ucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4uc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi53aWRnZXRfc2VhcmNoIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cbi8qIFRpdGxlc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmVudHJ5LXRpdGxlIGEsXG4uc2lkZWJhciAud2lkZ2V0LXRpdGxlIGEge1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZW50cnktdGl0bGUgYTpmb2N1cyxcbi5lbnRyeS10aXRsZSBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMDczZTU7XG59XG5cbi53aWRnZXQtdGl0bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi8qIFdvcmRQcmVzc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFsaWduY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5hLmFsaWduY2VudGVyIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuYS5hbGlnbm5vbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5hLmFsaWdubGVmdCxcbmEuYWxpZ25ub25lLFxuYS5hbGlnbnJpZ2h0IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uYWxpZ25jZW50ZXIsXG5pbWcuY2VudGVyZWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25sZWZ0LFxuYS5hbGlnbmxlZnQsXG5pbWcuYWxpZ25sZWZ0IHtcbiAgbWFyZ2luOiAwIDIwcHggMjBweCAwO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0LFxuYS5hbGlnbnJpZ2h0LFxuaW1nLmFsaWducmlnaHQge1xuICBtYXJnaW46IDAgMCAyMHB4IDIwcHg7XG59XG5cbi5nYWxsZXJ5LWNhcHRpb24sXG4ud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5lbnRyeS1jb250ZW50IHAud3AtY2FwdGlvbi10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVudHJ5LWNvbnRlbnQgLndwLWF1ZGlvLXNob3J0Y29kZSxcbi5lbnRyeS1jb250ZW50IC53cC1wbGF5bGlzdCxcbi5lbnRyeS1jb250ZW50IC53cC12aWRlbyB7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG59XG4iLCIvLyAubWVudS1pdGVtLS1oaWdobGlnaHRcbi8qIEhlYWRlciBCdXR0b25zXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4laGVhZGVyLWJ1dHRvbnMge1xuICBAaW5jbHVkZSBjaXJjbGUtb2JqZWN0KDQwcHgsIGhzbGEoMCwwLDAsMCksIDE3cHgpO1xuICBjb2xvcjogaHNsKDAsMCUsNDAlKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgfVxufVxuLyogU2tpcCBMaW5rc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmdlbmVzaXMtc2tpcC1saW5rIHtcbiAgbWFyZ2luOiAwO1xuXG4gIC5za2lwLWxpbmstaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIGxpIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuLyogU2l0ZSBIZWFkZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5O1xuICBib3JkZXItdG9wOiA1cHggc29saWQgJG1haW4tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIC8vIHBhZGRpbmc6IDAgNSU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAud3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAvKiBTdHJ1Y3R1cmUgKi9cbiAgICA+ICoge1xuICAgICAgJi5wcmUtaGVhZGVyIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICB9XG5cbiAgICAgICYudGl0bGUtYXJlYSB7XG4gICAgICAgIGZsZXg6IDIgMSAwO1xuICAgICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhlYWRlci13aWRnZXQtYXJlYSB7XG4gICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm1lbnUtdG9nZ2xlIHtcbiAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiBUaXRsZSBBcmVhXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udGl0bGUtYXJlYSB7XG4gIHdpZHRoOiAyMTBweDtcbiAgcGFkZGluZzogNnB4IDA7XG4gIG9yZGVyOiAyO1xuICBtYXJnaW46IDAgYXV0bztcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgb3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG8gMCA1JTtcbiAgfVxuXG4gIGEge31cblxuICBpbWcge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5zaXRlLWRlc2NyaXB0aW9uLFxuLndwLWN1c3RvbS1sb2dvIC5zaXRlLXRpdGxlIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG4vKiBSZXNwb25zaXZlIE1lbnVcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5tZW51IC5tZW51LWl0ZW06Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ubWVudSAubWVudS1pdGVtID4gYTpmb2N1cyt1bC5zdWItbWVudSxcbi5tZW51IC5tZW51LWl0ZW0uc2ZIb3ZlciA+IHVsLnN1Yi1tZW51IHtcbiAgbGVmdDogYXV0bztcbiAgb3BhY2l0eTogMTtcbn1cblxuLmdlbmVzaXMtcmVzcG9uc2l2ZS1tZW51IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICB9XG59XG4vKiBNZW51IFRvZ2dsZSAmIFN1YiBNZW51IFRvZ2dsZSAqL1xuLm1lbnUtdG9nZ2xlLFxuLnN1Yi1tZW51LXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG59XG4vKiBNZW51IFRvZ2dsZSAqL1xuLm1lbnUtdG9nZ2xlIHtcbiAgQGV4dGVuZCAlaGVhZGVyLWJ1dHRvbnM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgb3JkZXI6IDQ7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cblxuICAmLmFjdGl2YXRlZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjMzNVwiO1xuICB9XG59XG4vKiBTdWIgTWVudSBUb2dnbGUgKi9cbi5zdWItbWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA1cHg7XG4gIHRvcDogMTVweDtcbiAgei1pbmRleDogMTAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgY29sb3I6ICRtYWluLWNvbG9yO1xuICB9XG5cbiAgJi5hY3RpdmF0ZWQ6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIGNvbG9yOiBsaWdodGVuKCRtYWluLWNvbG9yLCAxMCUpO1xuICB9XG59XG4vKiBIZWFkZXIgTWVudVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJW1haW4tbmF2LWludGVyYWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDAsMCUsOTYlKTtcblxuICAgID4gYSB7XG4gICAgICBjb2xvcjogJG1haW4tY29sb3I7XG4gICAgfVxuICB9XG59XG4vKiBIZWFkZXIgTWVudSBTdHJ1Y3R1cmUgKi9cbi5uYXYtcHJpbWFyeSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiA1MHB4O1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNSk7XG4gIHotaW5kZXg6IDk5O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgdG9wOiA2NXB4O1xuICB9XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIH1cblxuICAud3JhcCB7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59XG4vKiBNYWluIEhlYWRlciBNZW51ICovXG4ubWVudS1wcmltYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1MCwyNTAsMjUwLDEpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMjBweCAwIHJnYmEoMCwwLDAsMC4xKTtcbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC8qIEdlbmVyaWMgbGkgc3R5bGUqL1xuICAubWVudS1pdGVtIHtcbiAgICBAZXh0ZW5kICVtYWluLW1lbnUtaXRlbTtcbiAgfVxuICAvKiBHZW5lcmljIG5hdiBsaW5rIHN0eWxlICovXG4gIGEge1xuICAgIEBleHRlbmQgJW1haW4tbWVudS1saW5rO1xuICB9XG4gIC8qIEZpcnN0IGxldmVsIGxpICovXG4gID4gbGkge1xuICAgIEBleHRlbmQgJW1haW4tbWVudS1pdGVtLWZpcnN0O1xuXG4gICAgPiBhIHtcbiAgICAgIEBleHRlbmQgJW1haW4tbWVudS1saW5rLWZpcnN0O1xuICAgIH1cbiAgfVxuICAvKiBMZXZlbCAyIE1lbnUgKi9cbiAgLnN1Yi1tZW51IHtcbiAgICB6LWluZGV4OiA5OTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDAgcmdiYSgwLDAsMCwwLjE1KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oI2ZmZiwgNiUpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgbGVmdDogOTk5OXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggMCByZ2JhKDAsMCwwLDAuMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDtcbiAgICB9XG4gICAgLyogU2Vjb25kIGxldmVsIGxpICovXG4gICAgLm1lbnUtaXRlbSB7XG4gICAgICBAZXh0ZW5kICVtYWluLW1lbnUtaXRlbS1zZWNvbmQ7XG5cbiAgICAgID4gYSB7XG4gICAgICAgIEBleHRlbmQgJW1haW4tbWVudS1saW5rLXNlY29uZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qIFN0eWxlcyBmb3IgTWFpbiBOYXZpZ2F0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVtYWluLW1lbnUtaXRlbSB7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYtZmlyc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIC8qIElmIGhhdmUgY2hpbGRyZW4gKi9cbiAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46YmVmb3JlIHtcbiAgICAgIEBleHRlbmQgJXRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAkbWFpbi1jb2xvcjtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlcjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgLyogSWYgSGlnaGxpZ2h0ZWQgKi9cbiAgICAmLm1lbnUtaXRlbS0taGlnaGxpZ2h0IHtcbiAgICAgID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgQGV4dGVuZCAlbWFpbi1uYXYtaW50ZXJhY3Q7XG4gICAgfVxuICB9XG5cbiAgJi1zZWNvbmQge1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuJW1haW4tbWVudS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gIC8vIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udDtcbiAgY29sb3I6IGxpZ2h0ZW4oIzAwMCwgMzUlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjM7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgaSB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG4gIH1cblxuICAmLWZpcnN0IHtcbiAgICBwYWRkaW5nOiAyMHB4IDE4cHg7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjM7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7fVxuICB9XG5cbiAgJi1zZWNvbmQge1xuICAgIHBhZGRpbmc6IDE0cHggMTVweDtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuNDtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW4tY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiBIZWFkZXIgV2lkZ2V0IEFyZWFcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5oZWFkZXItd2lkZ2V0LWFyZWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAxO1xuICBvcmRlcjogMDtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgb3JkZXI6IDM7XG4gICAgbWFyZ2luOiAwIDUlIDAgMDtcbiAgfVxuXG4gIC5tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBhLFxuICBidXR0b24ge1xuICAgIEBleHRlbmQgJWhlYWRlci1idXR0b25zO1xuICB9XG59XG4vKiBQcmUgSGVhZGVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucHJlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIHBhZGRpbmc6IDNweCAzJTtcblxuICA+ICoge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBpIHtcbiAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBmbGV4OiAxMSAxIDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBmbGV4OiAyIDEgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG5cbiAgYSB7XG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogU2lkZWJhclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpZGViYXIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uc2lkZWJhciAud2lkZ2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLnNpZGViYXIgcCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4iLCIvKiBGb290ZXJcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRm9vdGVyIFdpZGdldHNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5mb290ZXItd2lkZ2V0cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAzMHB4IDUlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMTVweCAwIHJnYmEoMCwwLDAsMC4xKTtcblxuICAud3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ3JpZ2h0JywgMzBweCk7XG4gICAgICBtYXgtd2lkdGg6ICRkZXNrdG9wLXdpZHRoO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci13aWRnZXQtYXJlYSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmOm50aC1jaGlsZCgxKSB7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBmbGV4OiAxIDEgMDtcbiAgICB9XG4gIH1cblxuICAmOm50aC1jaGlsZCgyKSB7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBmbGV4OiAzIDEgMDtcbiAgICB9XG4gIH1cblxuICAmOm50aC1jaGlsZCgzKSB7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBmbGV4OiAxIDEgMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci13aWRnZXRzIC5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICBsaSB7XG4gICAgbWFyZ2luOiAwIDEycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4zO1xuICAgICAgY29sb3I6ICM2NjY7XG4gICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci13aWRnZXRzLTEge1xuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMCAwO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi5mb290ZXItd2lkZ2V0LWFyZWE6bGFzdC1jaGlsZCxcbi5mb290ZXItd2lkZ2V0cyAud2lkZ2V0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4jbWVudS1zb2NpYWwtbWVkaWEtbWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLnNpdGUtaGVhZGVyICYge1xuICAgICAgLy8gdG8gaGlkZSBkaXNwbGF5IGZyb20gaGVhZGVyXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuLyogU2l0ZSBGb290ZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwzMCUpO1xuICBjb2xvcjogJG9mZi13aGl0ZTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcGFkZGluZzogMTVweCA1JSA1cHg7XG5cbiAgPiAud3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiBwIHtcbiAgICAgIEBleHRlbmQgLnNtYWxsO1xuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLyogR3JhcGhpY3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNlY29uZGFyeSBHcmFwaGljXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lc2Vjb25kYXJ5LWdyYXBoaWMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjphZnRlcixcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICB0b3A6IDEwcHg7XG4gICAgbGVmdDogMTBweDtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDIyMGRlZyk7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICB9XG59XG4vLyAuc2Vjb25kYXJ5LWdyYXBoaWMge1xuLy8gICBAZXh0ZW5kICVzZWNvbmRhcnktZ3JhcGhpYztcbi8vIH1cbi8qIEJhY2tncm91bmQgUGF0dGVyblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lYmctcGF0dGVybiB7XG4gIEBleHRlbmQgJWRhcmstdGhlbWU7XG4gIGJhY2tncm91bmQ6ICRwYXR0ZXJuLTEtbGluayBjZW50ZXI7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIH1cbn1cbiViZy1wYXR0ZXJuLS1kYXJrIHtcbiAgQGV4dGVuZCAlZGFyay10aGVtZTtcbiAgYmFja2dyb3VuZDogJHBhdHRlcm4tMi1saW5rIGNlbnRlcjtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgfVxufVxuLyogR3JhcGhpYyBEaXZpZGVyIDFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWdyYXBoaWMtZGl2aWRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTIwcHg7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICRncmFwaGljLWRpdmlkZXItMS1saW5rIG5vLXJlcGVhdCBib3R0b20gLyAxMDJ2dyBhdXRvO1xufVxuXG4lZ3JhcGhpYy1kaXZpZGVyLXRvcCB7XG4gIEBleHRlbmQgJWdyYXBoaWMtZGl2aWRlcjtcbiAgdG9wOiAtMTE5cHg7XG59XG5cbiVncmFwaGljLWRpdmlkZXItYm90dG9tIHtcbiAgQGV4dGVuZCAlZ3JhcGhpYy1kaXZpZGVyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBib3R0b206IC0xMTlweDtcbn1cbi8qIEdyYXBoaWMgRGl2aWRlciAyIC0gYnJ1c2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWdyYXBoaWMtZGl2aWRlci0tYnJ1c2gge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICRncmFwaGljLWRpdmlkZXItMi1saW5rIG5vLXJlcGVhdCBib3R0b20gLyAxMDJ2dyBhdXRvO1xufVxuXG4lZ3JhcGhpYy1kaXZpZGVyLS1icnVzaC10b3Age1xuICBAZXh0ZW5kICVncmFwaGljLWRpdmlkZXItLWJydXNoO1xuICB0b3A6IC00OXB4O1xufVxuXG4lZ3JhcGhpYy1kaXZpZGVyLS1icnVzaC1ib3R0b20ge1xuICBAZXh0ZW5kICVncmFwaGljLWRpdmlkZXItLWJydXNoO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBib3R0b206IC00OXB4O1xufVxuLyogRGl2aWRlciBhZnRlciB0aXRsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lZGl2aWRlci1hZnRlci10aXRsZSB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRtYWluLWNvbG9yO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxufVxuIiwiLyogQnV0dG9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGJ0bi0xXG4gYnRuLTJcbiBidG4taWNvbi10ZXh0XG4gKi9cbi8qIFN0cnVjdHVyZSBvZiBhIGJ1dHRvbiAqL1xuQG1peGluIGJ0bigkc2l6ZSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRvcDogMDtcbiAgYm9yZGVyOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGlmICRzaXplID09IHNtYWxsIHtcbiAgICBwYWRkaW5nOiAwLjZlbSAwLjllbTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuNDtcbiAgfVxuICBAaWYgJHNpemUgPT0gbWVkaXVtIHtcbiAgICBwYWRkaW5nOiAwLjllbSAxLjJlbTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMztcbiAgfVxuICBAaWYgJHNpemUgPT0gbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEuMmVtO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbiVidG4ge1xuICBAaW5jbHVkZSBidG4obWVkaXVtKTtcblxuICAmLXNtYWxsIHtcbiAgICBAaW5jbHVkZSBidG4oc21hbGwpO1xuICB9XG5cbiAgJi1sYXJnZSB7XG4gICAgQGluY2x1ZGUgYnRuKGxhcmdlKTtcbiAgfVxufVxuXG4uYnRuIHtcbiAgQGV4dGVuZCAlYnRuO1xuXG4gICYuYWxpZ24tYyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICAmLXNtYWxsIHtcbiAgICBAZXh0ZW5kICVidG4tc21hbGw7XG4gIH1cblxuICAmLWxhcmdlIHtcbiAgICBAZXh0ZW5kICVidG4tbGFyZ2U7XG4gIH1cbn1cblxuLyogU29saWQgQnV0dG9uIC0gYnRuLTFcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGJ0bi0xKCRiZy1jb2xvciwgJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmctY29sb3IsIDE1JSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7XG4gIH1cbn1cblxuJWJ0bi0xIHtcbiAgQGluY2x1ZGUgYnRuLTEoZGFya2VuKCRtYWluLWNvbG9yLCAxMCUpLCAjZmZmKTtcblxuICAmLXNlY29uZGFyeSB7XG4gICAgQGluY2x1ZGUgYnRuLTEoaHNsKDAsMCUsNjAlKSwgaHNsKDAsMCUsMTAwJSkpO1xuICB9XG5cbiAgJi1saWdodCB7XG4gICAgQGluY2x1ZGUgYnRuLTEoaHNsKDAsMCUsOTAlKSwgaHNsKDAsMCUsNTAlKSk7XG4gIH1cblxuICAmLXN1Y2Nlc3Mge1xuICAgIEBpbmNsdWRlIGJ0bi0xKCRncmVlbiwgaHNsKDAsMCUsMTAwJSkpO1xuICB9XG5cbiAgJi1pbmZvIHtcbiAgICBAaW5jbHVkZSBidG4tMSgkYmx1ZSwgaHNsKDAsMCUsMTAwJSkpO1xuICB9XG5cbiAgJi13YXJuaW5nIHtcbiAgICBAaW5jbHVkZSBidG4tMSgkeWVsbG93LCBkYXJrZW4oJHllbGxvdywgNDAlKSk7XG4gIH1cblxuICAmLWRhbmdlciB7XG4gICAgQGluY2x1ZGUgYnRuLTEoJHJlZCwgaHNsKDAsMCUsMTAwJSkpO1xuICB9XG59XG5cbi5idG4tMSB7XG4gIEBleHRlbmQgJWJ0bi0xO1xuXG4gICYtc2Vjb25kYXJ5IHtcbiAgICBAZXh0ZW5kICVidG4tMS1zZWNvbmRhcnk7XG4gIH1cblxuICAmLWxpZ2h0IHtcbiAgICBAZXh0ZW5kICVidG4tMS1saWdodDtcbiAgfVxuXG4gICYtc3VjY2VzcyB7XG4gICAgQGV4dGVuZCAlYnRuLTEtc3VjY2VzcztcbiAgfVxuXG4gICYtaW5mbyB7XG4gICAgQGV4dGVuZCAlYnRuLTEtaW5mbztcbiAgfVxuXG4gICYtd2FybmluZyB7XG4gICAgQGV4dGVuZCAlYnRuLTEtd2FybmluZztcbiAgfVxuXG4gICYtZGFuZ2VyIHtcbiAgICBAZXh0ZW5kICVidG4tMS1kYW5nZXI7XG4gIH1cbn1cblxuLyogT3V0bGluZSBCdXR0b24gLSBidG4tMlxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gYnRuLTIoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXI6IDJweCBzb2xpZCBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuJWJ0bi0yIHtcbiAgQGluY2x1ZGUgYnRuLTIoJG1haW4tY29sb3IpO1xuXG4gICYtd2hpdGUge1xuICAgIEBpbmNsdWRlIGJ0bi0yKCNmZmYpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAxNSUpO1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLTIge1xuICBAZXh0ZW5kICVidG4tMjtcblxuICAmLXdoaXRlIHtcbiAgICBAZXh0ZW5kICVidG4tMi13aGl0ZTtcbiAgfVxufVxuXG4vKiBCdXR0b24gSWNvbiBUZXh0IC0gLmJ0bi1pY29uLXRleHRcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWJ0bi1pY29uLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTUlKTtcbiAgY29sb3I6ICNmZmY7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiA2cHggMTJweDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIGkge1xuICAgIEBpbmNsdWRlIGNpcmNsZS1vYmplY3QoMzBweCwgaHNsYSgwLDAlLDEwMCUsMCksIDE4cHgpO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICB9XG59XG5cbi5idG4taWNvbi10ZXh0IHtcbiAgQGV4dGVuZCAlYnRuLWljb24tdGV4dDtcbn1cbiIsIi8qIEdlbmVzaXMgV2lkZ2V0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogV2lkZ2V0XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud2lkZ2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLndpZGdldCBwOmxhc3QtY2hpbGQsXG4ud2lkZ2V0IHVsID4gbGk6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndpZGdldCB1bCA+IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLndpZGdldCB1bCA+IGxpOmxhc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ud2lkZ2V0IG9sID4gbGkge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0ZXh0LWluZGVudDogLTIwcHg7XG59XG5cbi53aWRnZXQgbGkgbGkge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMCAwIDAgMzBweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLndpZGdldF9jYWxlbmRhciB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud2lkZ2V0X2NhbGVuZGFyIHRkLFxuLndpZGdldF9jYWxlbmRhciB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIEZlYXR1cmVkIENvbnRlbnRcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vIC5mZWF0dXJlZC1jb250ZW50IC5lbnRyeSB7XG4vLyAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuLy8gICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuLy8gfVxuLy9cbi8vIC5mZWF0dXJlZC1jb250ZW50IC5lbnRyeTpsYXN0LW9mLXR5cGUge1xuLy8gICBib3JkZXItYm90dG9tOiBub25lO1xuLy8gICBtYXJnaW4tYm90dG9tOiAwO1xuLy8gfVxuLy9cbi8vIC5mZWF0dXJlZC1jb250ZW50IC5lbnRyeS1pbWFnZSB7XG4vLyAgIGhlaWdodDogNzVweDtcbi8vICAgd2lkdGg6IDc1cHg7XG4vLyB9XG4vL1xuLy8gLmZlYXR1cmVkLWNvbnRlbnQgLmVudHJ5LXRpdGxlIHtcbi8vICAgZm9udC1zaXplOiAxNnB4O1xuLy8gICBmb250LXNpemU6IDEuNnJlbTtcbi8vICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuLy8gICBtYXJnaW4tdG9wOiAxMHB4O1xuLy8gfVxuLyogUGx1Z2luc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEdlbmVzaXMgZU5ld3MgRXh0ZW5kZWRcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vIC5hZnRlci1lbnRyeSAuZW5ld3Mge1xuLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgIHBhZGRpbmc6IDEwcHg7XG4vLyB9XG4vL1xuLy8gLnNpZGViYXIgLmVuZXdzIHtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbi8vICAgcGFkZGluZzogMzBweDtcbi8vIH1cbi8vXG4vLyAuZW5ld3Mtd2lkZ2V0IGlucHV0IHtcbi8vICAgZm9udC1zaXplOiAxNnB4O1xuLy8gICBmb250LXNpemU6IDEuNnJlbTtcbi8vICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vIH1cbi8vXG4vLyAuYWZ0ZXItZW50cnkgLmVuZXdzLXdpZGdldCBpbnB1dCB7XG4vLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vIH1cbi8vXG4vLyAuZW5ld3Mtd2lkZ2V0IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8gICBtYXJnaW46IDA7XG4vLyAgIHdpZHRoOiAxMDAlO1xuLy8gfVxuLy9cbi8vIC5lbmV3cyBmb3JtK3Age1xuLy8gICBtYXJnaW4tdG9wOiAyMHB4O1xuLy8gfVxuLyogR2VuZXNpcyBTaW1wbGUgRkFRXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vLyAuZ3MtZmFxX19xdWVzdGlvbiB7XG4vLyAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuLy8gICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbi8vICAgY29sb3I6ICMzMzM7XG4vLyAgIHBhZGRpbmctbGVmdDogMDtcbi8vICAgcGFkZGluZy1yaWdodDogMDtcbi8vIH1cbi8vXG4vLyAuZ3MtZmFxX19xdWVzdGlvbjpmb2N1cyxcbi8vIC5ncy1mYXFfX3F1ZXN0aW9uOmhvdmVyIHtcbi8vICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4vLyAgIGNvbG9yOiAjMDA3M2U1O1xuLy8gfVxuLy9cbi8vIC5ncy1mYXFfX3F1ZXN0aW9uOjphZnRlciB7XG4vLyAgIGNvbnRlbnQ6IFwiXFxmMTMyXCI7XG4vLyAgIGZvbnQtZmFtaWx5OiBcImRhc2hpY29uc1wiO1xuLy8gICBmbG9hdDogcmlnaHQ7XG4vLyB9XG4vL1xuLy8gLmdzLWZhcV9fcXVlc3Rpb24uZ3MtZmFxLS1leHBhbmRlZDo6YWZ0ZXIge1xuLy8gICBjb250ZW50OiBcIlxcZjQ2MFwiO1xuLy8gfVxuLyogSmV0cGFja1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy8gI3dwc3RhdHMge1xuLy8gICBkaXNwbGF5OiBub25lO1xuLy8gfVxuIiwiLyogRm9ybXNcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqKiBGb3JtIEVycm9yc1xuICovXG4laW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAkcmVkIWltcG9ydGFudDtcbn1cblxuJWludmFsaWQtaW5wdXQge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggJHJlZCFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlIWltcG9ydGFudDtcbn1cbi8qQ09OVEFDVCBGT1JNKi9cbjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbjo6cGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbiN7JGlucHV0LWZpZWxkc30sXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogMzhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDFEMUQxO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiAjNTU1O1xufVxuLyogUmVtb3ZlcyBhd2t3YXJkIGRlZmF1bHQgc3R5bGVzIG9uIHNvbWUgaW5wdXRzIGZvciBpT1MgKi9cbiN7JGlucHV0LWZpZWxkc30sXG50ZXh0YXJlYSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4jeyRpbnB1dC1maWVsZHN9LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmJiYmI7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCBzYXR1cmF0ZSgkbWFpbi1jb2xvciwgMTUlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbmZvcm0ge1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICB9XG5cbiAgdGV4dGFyZWEge1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgJlt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICBwYWRkaW5nOiAwLjZlbSAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgJlt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIEBleHRlbmQgJWJ0bjtcbiAgICAgIEBleHRlbmQgJWJ0bi0xO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjFmMWYyO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwICNjY2M7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKldQQ0Y3IFNQRUNJRklDIEVSUk9SIEFORCBBUFBST1ZBTCBNRVNTQUdFUyovXG4ud3BjZjcge1xuICBmb3JtIHtcbiAgICAud3BjZjctbGlzdC1pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRhNGE7XG4gICAgICBwYWRkaW5nOiAwLjJlbSAwLjZlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgICAgYm9yZGVyOiAwIHNvbGlkICNjYzRhNGE7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjJyZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRhNGE7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBleHRlbmQgJWZsZXhib3gtYy1jO1xuICAgICAgICBAZXh0ZW5kICVpY29uO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMTVweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53cGNmNy1hY2NlcHRhbmNlLW1pc3NpbmcsXG4gICAgLndwY2Y3LXZhbGlkYXRpb24tZXJyb3JzIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZWEwYVwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53cGNmNy1tYWlsLXNlbnQtb2sge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGVhMDNcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qIFNlbGVjdCBSZXNldFxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5zZWxlY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjE7XG4gIGNvbG9yOiAjNTU1O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBwYWRkaW5nOiAwLjZlbSAxLjRlbSAwLjVlbSAwLjhlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAwLjNlbTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwd2lkdGglM0QlMjIyOTIuNCUyMiUyMGhlaWdodCUzRCUyMjI5Mi40JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMwMDdDQjIlMjIlMjBkJTNEJTIyTTI4NyUyMDY5LjRhMTcuNiUyMDE3LjYlMjAwJTIwMCUyMDAtMTMtNS40SDE4LjRjLTUlMjAwLTkuMyUyMDEuOC0xMi45JTIwNS40QTE3LjYlMjAxNy42JTIwMCUyMDAlMjAwJTIwMCUyMDgyLjJjMCUyMDUlMjAxLjglMjA5LjMlMjA1LjQlMjAxMi45bDEyOCUyMDEyNy45YzMuNiUyMDMuNiUyMDcuOCUyMDUuNCUyMDEyLjglMjA1LjRzOS4yLTEuOCUyMDEyLjgtNS40TDI4NyUyMDk1YzMuNS0zLjUlMjA1LjQtNy44JTIwNS40LTEyLjglMjAwLTUtMS45LTkuMi01LjUtMTIuOHolMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIHJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC43ZW0gdG9wIDUwJSwgMCAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNjVlbSBhdXRvLCAxMDAlO1xuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM4ODg7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNhYWE7XG4gICAgYm94LXNoYWRvdzogMCAwIDFweCAzcHggcmdiYSg1OSwgMTUzLCAyNTIsIC43KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggLW1vei1tYWMtZm9jdXNyaW5nO1xuICAgIGNvbG9yOiAjMjIyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmIG9wdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxufVxuLyogQ2hlY2tib3ggUmVzZXRcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICsgKiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgPiAqIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgICY6YWZ0ZXIsXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgbWluLXdpZHRoOiAxNnB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBib3JkZXI6IHNvbGlkIDJweCAjY2NjO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMTFweDtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDNweCAjOTk5O1xuICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDNweCAjOTk5O1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoMCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgQGV4dGVuZCAldHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICB9XG4gIH1cblxuICArICo6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxuXG4gICY6Y2hlY2tlZCArICoge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCNmZmYsIDUlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjZmZmLCA1JSk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZSguOCk7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCA0cHggbGlnaHRlbigkZ3JlZW4sIDApO1xuICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDRweCBsaWdodGVuKCRncmVlbiwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvKiBMaXN0IHN0eWxlXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4laXRlbS1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogMjRweDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAvLyBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cbiAgfVxuXG4gIG9sLFxuICB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uaXRlbS1saXN0IHtcbiAgQGV4dGVuZCAlaXRlbS1saXN0O1xuXG4gID4gbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgfVxufVxuXG4ubnVtYmVyLWxpc3Qge1xuICBAZXh0ZW5kICVpdGVtLWxpc3Q7XG5cbiAgPiBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICB9XG59XG4vKiBFbnRyeSBNZXRhXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZW50cnktZm9vdGVyIC5lbnRyeS1tZXRhIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4uZW50cnktY29tbWVudHMtbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMTRcIjtcbiAgbWFyZ2luOiAwIDZweCAwIDJweDtcbn1cbi8qIFBhZ2luYXRpb25cbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAZXh0ZW5kICVmbGV4Ym94LWMtYztcbiAgbWFyZ2luOiA2MHB4IDA7XG59XG5cbi5hZGphY2VudC1lbnRyeS1wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgY29sb3I6ICMzMzM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSBhOmZvY3VzLFxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSBhOmhvdmVyLFxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaS5hY3RpdmUgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGNvbG9yOiAjZmZmO1xufVxuIiwiLyogU2VjdGlvbiBUaXRsZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNlY3Rpb24tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICYuYWxpZ24tYyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgaDQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgICBmb250LWZhbWlseTogJG1haW4tZm9udDtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cbi8qIERpdmlkZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmhyIHtcbiAgYm9yZGVyOiAwO1xufVxuXG5oci5zbWFsbCB7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4lZGl2aWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWFpbi1jb2xvcjtcbiAgd2lkdGg6IDUwcHg7XG59XG5cbi5kaXZpZGVyIHtcbiAgQGV4dGVuZCAlZGl2aWRlcjtcblxuICAmLWMge1xuICAgIEBleHRlbmQgJWRpdmlkZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvKiBJbWFnZSBDYXJkXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG48ZmlndXJlIGNsYXNzPVwiaW1nLWNhcmRcIj5cbiAgPGltZyBzcmM9XCJcIj5cbiAgPGZpZ2NhcHRpb24+PC9maWdjYXB0aW9uPlxuPC9maWd1cmU+XG4qL1xuLmltZy1jYXJkIHtcbiAgQGV4dGVuZCAlaW1nLWNhcmQ7XG59XG5cbiVpbWctY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgei1pbmRleDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDEwLDEwLDEwLHRvcCk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvcGFjaXR5OiAwLjg7XG4gIH1cblxuICBmaWdjYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMS4xO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG4vKiBMb2dvIEdhbGxlcnlcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjxzZWN0aW9uIGNsYXNzPVwibG9nby1zaG93Y2FzZVwiPlxuICA8aGVhZGVyIGNsYXNzPVwic2VjdGlvbi10aXRsZSBhbGlnbi1jXCI+XG4gICAgPGgyPk91ciBDbGllbnRzPC9oMj5cbiAgICA8aHIgY2xhc3M9XCJkaXZpZGVyLWNcIj5cbiAgICA8cD5IZXJlIGFyZSBzb21lIG9mIG91ciBvdXIgY2xpZW50cy48L3A+XG4gIDwvaGVhZGVyPlxuXG4gIDxkaXYgY2xhc3M9XCJsb2dvLXNob3djYXNlLWdhbGxlcnlcIj5cbiAgICA8aW1nIHNyYz1cIi4uLy4uLy4uL3N0YXRpYy9sb2dvLTEuanBnXCI+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuKi9cbi8vIC5sb2dvLWZlYXR1cmUtZ2FsbGVyeSB7XG4vLyAgIEBleHRlbmQgJWxvZ28tZmVhdHVyZS1nYWxsZXJ5O1xuLy8gfVxuXG4lbG9nby1mZWF0dXJlLWdhbGxlcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBleHRlbmQgJWZsZXhib3gtYy1jO1xuXG4gIGltZyB7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG4vKiBJbWFnZSBCYW5uZXJcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIDxzZWN0aW9uIGNsYXNzPVwiaW1hZ2UtYmFubmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBjb250YWluZXItbGVmdFwiPlxuICAgICAgPGgzPlRpdGxlPC9oMz5cbiAgICAgIDxwPkRlc2NyaXB0aW9uPC9wPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImJ0biBidG4tM1wiPkxlYXJuIE1vcmU8L2E+XG4gICAgPC9kaXY+XG4gICAgPGltZyBzcmM9XCIvc3RhdGljL2FzZC5qcGdcIj5cbiAgPC9zZWN0aW9uPlxuXG4gICovXG4vLyAuaW1hZ2UtYmFubmVyIHtcbi8vICAgQGV4dGVuZCAlaW1hZ2UtYmFubmVyO1xuLy8gfVxuXG4laW1hZ2UtYmFubmVyIHtcbiAgQGV4dGVuZCAlYmFubmVyO1xuICBwYWRkaW5nOiAxMHB4O1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwwLDAsMC4xKTtcblxuICAgICYuY29udGFpbmVyLWxlZnQge1xuICAgICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JGRlc2t0b3Atd2lkdGh9ICogMC41KTtcbiAgICAgICAgbWF4LXdpZHRoOiAkZGVza3RvcC13aWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMCUgLSAjeyRkZXNrdG9wLXdpZHRofSkgLyAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbnRhaW5lci1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCgxMDAlIC0gI3skZGVza3RvcC13aWR0aH0pIC8gMik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogQmFubmVyc1xuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4lYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDtcbiAgcGFkZGluZzogNTBweCA1JTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBpbWcge1xuICAgIEBpbmNsdWRlIGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG4vKiBSZWd1bGFyIEJhbm5lclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lcmVndWxhci1iYW5uZXIge1xuICBAZXh0ZW5kICViYW5uZXI7XG4gIEBleHRlbmQgJWJnLXBhdHRlcm47XG4gIEBpbmNsdWRlIGNoaWxkLW1hcmdpbignYm90dG9tJywgMTBweCk7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogMjUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBwIHtcbiAgICBAZXh0ZW5kICVjb2wtMTtcbiAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQ7XG4gIH1cblxuICBpbWcge1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxufVxuXG4uZW50cnktaGVhZGVyLFxuLnJlZ3VsYXItYmFubmVyIHtcbiAgQGV4dGVuZCAlcmVndWxhci1iYW5uZXI7XG59XG4vKiBHaWFudCBCYW5uZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVnaWFudC1iYW5uZXIge1xuICBoZWlnaHQ6IDUwMHB4O1xuICBtYXgtaGVpZ2h0OiA3MjBweDtcbiAgQGV4dGVuZCAlYmFubmVyO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmgpO1xuICB9XG5cbiAgLmVudHJ5LXRpdGxlLFxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgei1pbmRleDogMDtcbiAgICB0ZXh0LXNoYWRvdzogM3B4IDNweCA2cHggcmdiYSgwLDAsMCwwLjYpO1xuXG4gICAgaDEsXG4gICAgaDIge1xuICAgICAgY29sb3I6IGhzbCgwLDAlLDEwMCUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyAuZ2lhbnQtYmFubmVyIHtcbi8vICAgQGV4dGVuZCAlZ2lhbnQtYmFubmVyO1xuLy8gfVxuIiwiLyogSGVybyBTbGlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEdpYW50IEJhbm5lciBTbGlkZXIgKi9cbi5oZXJvLXNsaWRlciB7XG4gIEBleHRlbmQgJXRyYW5zaXRpb24tZHVyYXRpb247XG4gIEBleHRlbmQgJWJhbm5lcjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IGF1dG87XG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIG1heC1oZWlnaHQ6IDcyMHB4O1xuICB9XG4gIC8vIEZvciBzbGlja2pzXG4gIC5zbGljay1uZXh0LFxuICAuc2xpY2stcHJldiB7XG4gICAgei1pbmRleDogNTtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgdG9wOiA1MHZ3O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDMwJSk7XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IDElO1xuICB9XG5cbiAgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAxJTtcbiAgfVxufVxuXG4uaGVyby1zbGlkZXItLXNob3J0IHtcbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgfVxuXG4gIC5oZXJvLXNsaWRlIHtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgfVxuICB9XG59XG4vKiBHaWFudCBCYW5uZXIgU2xpZGUgKi9cbi5oZXJvLXNsaWRlIHtcbiAgLy8gc2xpY2sgd2lsbCBkZXRlcm1pbmUgd2lkdGhcbiAgaGVpZ2h0OiBhdXRvO1xuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBoZWlnaHQ6IDcwdmg7XG4gIH1cbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2dyAvIDE2ICogOSk7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuICAvKiBHZW5lcmljIEZpZ2NhcHRpb24gU3R5bGVzICovXG4gIGZpZ2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgcGFkZGluZzogMjBweCA1JTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAvLyBHcmFkaWVudCBGYWRlXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAtOTlweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWZhZGUoMjU1LDI1NSwyNTUsdG9wKTtcbiAgICAgIH1cblxuICAgICAgYnIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgKiAzO1xuICAgICAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMjUlKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc3VidGl0bGUtZm9udDtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgICAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDEwMHZ3O1xuICAgIH1cbiAgfVxuICAvKiBDYXB0aW9uIFBvc2l0aW9ucyAqL1xuICAmLS1sZWZ0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgQGV4dGVuZCAlaGVyby1zbGlkZS1ncmFkaWVudC1mYWRlLWxlZnQtcmlnaHQ7XG4gICAgfVxuXG4gICAgJi5oZXJvLXNsaWRlLS1saWdodDpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgyNTUsMjU1LDI1NSxyaWdodCk7XG4gICAgfVxuXG4gICAgJi5oZXJvLXNsaWRlLS1kYXJrOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDAsMCwwLHJpZ2h0KTtcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIEBleHRlbmQgJWhlcm8tc2xpZGUtZmlnY2FwdGlvbi1sZWZ0LXJpZ2h0O1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgbGVmdDogMTB2dztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1yaWdodCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBAZXh0ZW5kICVoZXJvLXNsaWRlLWdyYWRpZW50LWZhZGUtbGVmdC1yaWdodDtcbiAgICB9XG5cbiAgICAmLmhlcm8tc2xpZGUtLWxpZ2h0OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDI1NSwyNTUsMjU1LGxlZnQpO1xuICAgIH1cblxuICAgICYuaGVyby1zbGlkZS0tZGFyazpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgwLDAsMCxsZWZ0KTtcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIEBleHRlbmQgJWhlcm8tc2xpZGUtZmlnY2FwdGlvbi1sZWZ0LXJpZ2h0O1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgcmlnaHQ6IDV2dztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXRvcCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgQGV4dGVuZCAlaGVyby1zbGlkZS1ncmFkaWVudC1mYWRlLXRvcC1ib3R0b207XG4gICAgfVxuXG4gICAgJi5oZXJvLXNsaWRlLS1saWdodDpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgyNTUsMjU1LDI1NSxib3R0b20pO1xuICAgIH1cblxuICAgICYuaGVyby1zbGlkZS0tZGFyazpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgwLDAsMCxib3R0b20pO1xuICAgIH1cblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgQGV4dGVuZCAlaGVyby1zbGlkZS1maWdjYXB0aW9uLXRvcC1ib3R0b207XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogYm90dG9tO1xuICAgIH1cbiAgfVxuXG4gICYtLWJvdHRvbSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgQGV4dGVuZCAlaGVyby1zbGlkZS1ncmFkaWVudC1mYWRlLXRvcC1ib3R0b207XG4gICAgfVxuXG4gICAgJi5oZXJvLXNsaWRlLS1saWdodDpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgyNTUsMjU1LDI1NSx0b3ApO1xuICAgIH1cblxuICAgICYuaGVyby1zbGlkZS0tZGFyazpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgwLDAsMCx0b3ApO1xuICAgIH1cblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgQGV4dGVuZCAlaGVyby1zbGlkZS1maWdjYXB0aW9uLXRvcC1ib3R0b207XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qIERhcmsgZm9udCBzdHlsZXMgKi9cbiAgJi0tZGFyayBmaWdjYXB0aW9uIHtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgKiB7XG4gICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDRweCByZ2JhKDAsMCwwLDAuNSk7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiBMZWZ0IGFuZCByaWdodCBmaWdjYXB0aW9uKi9cbiVoZXJvLXNsaWRlLWZpZ2NhcHRpb24ge1xuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICYtbGVmdC1yaWdodCB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgIH1cblxuICAgICYtdG9wLWJvdHRvbSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICBwYWRkaW5nOiAwIDIwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuJWhlcm8tc2xpZGUtZ3JhZGllbnQtZmFkZSB7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5O1xuICBvcGFjaXR5OiAwLjU7XG5cbiAgJi1sZWZ0LXJpZ2h0IHtcbiAgICBAZXh0ZW5kICVoZXJvLXNsaWRlLWdyYWRpZW50LWZhZGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJi10b3AtYm90dG9tIHtcbiAgICBAZXh0ZW5kICVoZXJvLXNsaWRlLWdyYWRpZW50LWZhZGU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxufVxuXG4vKiBJbm5lciBpbWFnZSBvbmx5ICovXG4uaGVyby1zbGlkZXIgLmJhbm5lci1pbm5lci1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuIiwiLm1haW4tY3RhIHtcbiAgQGV4dGVuZCAlZGFyay10aGVtZTtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi93cC1jb250ZW50L3VwbG9hZHMvR1JPVVAtU0hPVC0yLTEuanBnJykgbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyIGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwwJSwyMCUpO1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7XG59XG5cbi5jb250YWN0LWJ1dHRvbnMtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGEge1xuICAgIG1hcmdpbjogNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICB9XG4gIH1cbn1cbiIsIi5wb3N0LWFyY2hpdmUge1xuICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDUwcHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgLmFyY2hpdmUtZGVzY3JpcHRpb24ge1xuICAgIEBleHRlbmQgJXJlZ3VsYXItYmFubmVyO1xuICB9XG5cbiAgLnBvc3QtZW50cnktbGlzdCB7XG4gICAgcGFkZGluZzogMCA1JTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsZXg6IDMgMSAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgICAgbWF4LXdpZHRoOiA2NTBweDtcbiAgICB9XG4gIH1cblxuICAuc2lkZWJhciB7XG4gICAgcGFkZGluZzogMCA1JTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgfVxuICB9XG59XG5cbi5wb3N0LWVudHJ5LWxpc3Qge1xuICAvLyBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDMwcHgpO1xuICBAaW5jbHVkZSBjb2x1bW5zKDI1cHgsIDIpO1xuXG5cbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIC8vIEBpbmNsdWRlIGNvbHVtbnMoMTVweCwgMik7XG4gICAgLy8gQGluY2x1ZGUgY29sdW1uLWxheW91dCgyLCAzKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgfVxuXG4gIC5jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMHB4IGhzbGEoMCwwJSwxNSUsMC4xKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBoc2woMCwwJSw5NSUpO1xuICB9XG5cbiAgaDMge1xuICAgIG1hcmdpbjogMTBweCAwO1xuICB9XG5cbiAgcCB7XG4gICAgQGV4dGVuZCAuc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuXG4gIC5jYXRlZ29yeS1saW5rIHtcbiAgICBAZXh0ZW5kICVidG4tc21hbGw7XG4gICAgQGV4dGVuZCAlYnRuLTEtbGlnaHQ7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgfVxuXG4gIC5lbnRyeS1jb250ZW50X190aHVtYm5haWwtbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDIyMHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIGFic29sdXRlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvKiBTdHJ1Y3R1cmUgb2Ygc2luZ2xlIHBvc3QqL1xuLnBvc3Qtc2luZ2xlIHtcbiAgLmVudHJ5IHtcbiAgICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDUwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIC5oYXMtcG9zdC10aHVtYm5haWwgLmVudHJ5LWhlYWRlciB7XG4gICAgQGV4dGVuZCAlZGFyay10aGVtZTtcbiAgICBiYWNrZ3JvdW5kOiAkbWFpbi1jb2xvcjtcblxuICAgIGltZyB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgfVxuICB9XG5cbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgNSU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmbGV4OiAzIDEgMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgfVxuICB9XG5cbiAgLnNpZGViYXIge1xuICAgIHBhZGRpbmc6IDAgNSU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmbGV4OiAxIDEgMDtcbiAgICAgIG1hcmdpbi1yaWdodDogNSU7XG4gICAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgIH1cbiAgfVxufVxuLyogUHJpbWFyeSBzaWRlYmFyIG9ubHkgKi9cbi5zaWRlYmFyLXByaW1hcnkge1xuICAud2lkZ2V0LXRpdGxlIHtcbiAgICBAaW5jbHVkZSBsaW5lLWJvcmRlcig0cHgsIGhzbCgwLDAlLDg1JSksICdib3R0b20nLCAxMHB4KTtcbiAgfVxufVxuXG4uZW50cnktY29udGVudCB7XG4gIC5lbnRyeS1tZXRhIHtcbiAgICBAZXh0ZW5kIC5zbWFsbDtcbiAgICBjb2xvcjogaHNsKDAsMCUsNzAlKTtcbiAgfVxufVxuLyogU2luZ2xlIFBhZ2UgQ29udGVudFxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wb3N0LXNpbmdsZSB7XG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICBAZXh0ZW5kICVibG9nLXR5cG9ncmFwaHk7XG5cbiAgICA+IHVsIHtcbiAgICAgIEBleHRlbmQgLml0ZW0tbGlzdDtcbiAgICB9XG5cbiAgICA+IG9sIHtcbiAgICAgIEBleHRlbmQgLm51bWJlci1saXN0O1xuICAgIH1cbiAgfVxuICAvL1xuICAvLyAuY29tbWVudC1yZXNwb25kIHtcbiAgLy8gICBwYWRkaW5nOiAwIDUlO1xuICAvLyB9XG59XG4iLCIuc2luZ2xlLXBhZ2Uge1xuICAuZW50cnktY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAkZGVza3RvcC13aWR0aDtcbiAgICBtYXJnaW46YXV0bztcbiAgICBwYWRkaW5nOiA1MHB4O1xuICB9XG59XG4iLCIuY3B0LWFyY2hpdmUtZGVzY3JpcHRpb24ge1xuICBAZXh0ZW5kICVyZWd1bGFyLWJhbm5lcjtcbn1cblxuLnRlc3RpbW9uaWFscy13cmFwcGVyIHtcbiAgQGV4dGVuZCAld3JhcHBlcjtcbiAgQGluY2x1ZGUgY29sdW1ucygzMHB4LCAzLCAyKTtcblxuICA+ICoge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB9XG5cbiAgYSB7XG4gICAgQGV4dGVuZCAlYnRuO1xuICAgIEBleHRlbmQgJWJ0bi0xO1xuICB9XG59XG4iLCIuYmFja2dyb3VuZC1pbWFnZS1kaXZpZGVyIHtcbiAgQGV4dGVuZCAlYmFja2dyb3VuZC1pbWFnZS1kaXZpZGVyO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi93cC1jb250ZW50L3VwbG9hZHMvanVyb25nLWZpc2hlcnktcG9ydC5qcGdcIikgbm8tcmVwZWF0IGNlbnRlciAvY292ZXI7XG59XG5cbi5iYWNrZ3JvdW5kLWltYWdlLWRpdmlkZXItMiB7XG4gIEBleHRlbmQgJWJhY2tncm91bmQtaW1hZ2UtZGl2aWRlcjtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vd3AtY29udGVudC91cGxvYWRzL3NlYWZvb2QtZmVhdHVyZS1zY2FsZWQuanBnXCIpIG5vLXJlcGVhdCBjZW50ZXIgL2NvdmVyO1xufVxuXG4lYmFja2dyb3VuZC1pbWFnZS1kaXZpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHZoO1xuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGhlaWdodDogNzB2aDtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICB9XG59XG4vKiBGbG9hdGluZyBidXR0b24gKi9cbi5mbG9hdGluZy13aGF0c2FwcC1idXR0b24ge1xuICBAaW5jbHVkZSBjaXJjbGUtb2JqZWN0KDQ2cHgsICMyNWQzNjYsIDIzcHgpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xuICByaWdodDogMTBweDtcbiAgYm90dG9tOiAxMHB4O1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBsaW5lLWhlaWdodDogNDZweDtcbn1cbi8qIEFib3V0IHNlY3Rpb24gKi9cbiVzZWNvbmRhcnktZ3JhcGhpY19fY2VudGVyIHtcbiAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIG1heC1oZWlnaHQ6IDQwMHB4O1xuICBsZWZ0OiBjYWxjKDUwJSAtIDIwMHB4KTtcbiAgdG9wOiBjYWxjKDUwJSAtIDIwMHB4KTtcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDAuMjtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vc3RhdGljL3NlY29uZGFyeS1ncmFwaGljLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbn1cblxuLmFib3V0LXNlY3Rpb24ge1xuICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDUwcHgpO1xuICBAZXh0ZW5kICViZy1wYXR0ZXJuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTAwcHggNTBweDtcbiAgei1pbmRleDogMDtcblxuICAmOmJlZm9yZSB7XG4gICAgQGV4dGVuZCAlc2Vjb25kYXJ5LWdyYXBoaWNfX2NlbnRlcjtcbiAgfVxuXG4gIGgzIHtcbiAgICBAZXh0ZW5kICVjb2wtMTtcbiAgfVxufVxuLyogTWVudSBHYWxsZXJ5ICovXG4ubWVudS1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBwYWRkaW5nOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLDAlLDUlKTtcblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICAgIEBleHRlbmQgJWRhcmstdGhlbWU7XG4gIH1cbn1cblxuLm1lbnUtc2VjdGlvbi1nYWxsZXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLm1lbnVfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogNTB2dztcbiAgcGFkZGluZzogM3B4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgaGVpZ2h0OiAyNXZ3O1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCxcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgaW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG5cbiAgZmlnY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogM3B4O1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwwJSwwJSwwLjUpO1xuICB9XG59XG4vKiBSZXZpZXdzICovXG4ucmV2aWV3LXNlY3Rpb24ge1xuICBAZXh0ZW5kICViZy1wYXR0ZXJuLS1kYXJrO1xuICBAaW5jbHVkZSBjb2x1bW4tbGF5b3V0KDEsMik7XG59XG5cbi5yZXZpZXdfX2l0ZW0ge1xuICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDIwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTVweCAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTE5cHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMjVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDQwcHggc29saWQgI2ZmZjtcbiAgfVxuXG4gIHAge1xuICAgIGNvbG9yOiAjNTU1O1xuICB9XG5cbiAgaDUge1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29udGVudDogXCItLS0tLS0gXCI7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTNweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgfVxufVxuLyogSW5zdGFncmFtICovXG4uaW5zdGFncmFtLXdyYXBwZXIge1xuICBAZXh0ZW5kICV3cmFwcGVyO1xuICBAaW5jbHVkZSBjb2x1bW4tbGF5b3V0KDEsIDIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLDAlLDk3JSk7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxuXG4gID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC53aWRnZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuICAgIH1cbiAgfVxufVxuXG4uaW5zdGFncmFtLXBpY3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIEBpbmNsdWRlIGNvbHVtbnMoMTBweCwgMywgMik7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAyMCUpO1xuICB9XG5cbiAgaW1nIHtcbiAgICBAZXh0ZW5kICV0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTB2dztcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIGhlaWdodDogMjB2dztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7RUFlRTtBQUNGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWtERTtBQ2xFRjtpREFDaUQ7QUFDakQsc0JBQXNCO0FBS3RCLGlCQUFpQjtBQUlqQixZQUFZO0FBU1osVUFBVTtBQUVWLGtDQUFrQztBQUdsQywwQkFBMEI7QUN6QjFCO2lEQUNpRDtBQUNqRDtpREFDaUQ7QUF3QmpEO2lEQUNpRDtBQVVqRDs7Ozs7RUFLRTtBQWFGO2lEQUNpRDtBQVFqRDtp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 */