@charset "UTF-8";
/*!
	Theme Name: Pest X Theme
	Theme URI:
	Description: This is the theme created for Pest X
	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
|   |- _blocks.scss              # Blocks
|
|– 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
|   |- _404-page.scss     		 # 404 Page
|
|– 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*/
:root {
  --swiper-pagination-color: #000;
  --swiper-navigation-color: #000;
  --swiper-theme-color: #000;
  --swiper-pagination-bullet-inactive-color: #fff;
  --spacing: 0.25;
}

@font-face {
  font-family: "aw";
  src: url("https://demo.co-enterprise.com.sg/pestx-v1/fonts/aw_black.woff2") format("woff2"), url("https://demo.co-enterprise.com.sg/pestx-v1/fonts/aw_black.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "aw";
  src: url("https://demo.co-enterprise.com.sg/pestx-v1/fonts/aw_medium.woff2") format("woff2"), url("https://demo.co-enterprise.com.sg/pestx-v1/fonts/aw_medium.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
/* 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
 --------------------------------------------- */
.hero-slider, input[type=checkbox] + *:after, .menu-primary > li.menu-item-has-children:before, .slick-dots li button:before {
  transition: all 0.3s ease-in-out;
}

/* Flexbox
 --------------------------------------------- */
.floating-whatsapp-button, .lr-layout .inline-wrap, .logo-feature-gallery, .pagination, .wpcf7 form .wpcf7-response-output:before, .btn-icon-text i, .header-widget-area a,
.header-widget-area button, .menu-toggle {
  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("https://demo.co-enterprise.com.sg/pestx-v1/wp-content/themes/pestx-theme/js/plugins/slick/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("https://demo.co-enterprise.com.sg/pestx-v1/wp-content/themes/pestx-theme/js/plugins/slick/fonts/slick.eot");
  src: url("https://demo.co-enterprise.com.sg/pestx-v1/wp-content/themes/pestx-theme/js/plugins/slick/fonts/slick.eot#iefix") format("embedded-opentype"), url("https://demo.co-enterprise.com.sg/pestx-v1/wp-content/themes/pestx-theme/js/plugins/slick/fonts/slick.woff") format("woff"), url("https://demo.co-enterprise.com.sg/pestx-v1/wp-content/themes/pestx-theme/js/plugins/slick/fonts/slick.ttf") format("truetype"), url("https://demo.co-enterprise.com.sg/pestx-v1/wp-content/themes/pestx-theme/js/plugins/slick/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-next,
.slick-prev {
  position: absolute;
  display: block;
  height: 30px;
  width: 30px;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  z-index: 2;
}
.slick-next:focus, .slick-next:hover,
.slick-prev:focus,
.slick-prev:hover {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-next:focus:before, .slick-next:hover:before,
.slick-prev:focus:before,
.slick-prev:hover:before {
  opacity: 1;
}
.slick-next.slick-disabled:before,
.slick-prev.slick-disabled:before {
  opacity: 0.25;
}
.slick-next:before,
.slick-prev:before {
  font-family: "slick";
  font-size: 30px;
  line-height: 1;
  color: #ddd;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* handling phones and small screens */
@media only screen and (max-width: 1024px) {
  .featherlight .featherlight-content {
    /* dimensions: maximize lightbox with for small screens */
    margin-left: 0;
    margin-right: 0;
    max-height: 98%;
    padding: 10px 10px 0;
    border-bottom: 10px solid transparent;
  }
}
/* hide non featherlight items when printing */
@media print {
  html.with-featherlight > * > :not(.featherlight) {
    display: none;
  }
}
/* --------------------------------

baseicon Web Font
Generated using nucleoapp.com

-------------------------------- */
@font-face {
  font-family: "baseicon";
  src: url("https://demo.co-enterprise.com.sg/pestx-v1/wp-content/themes/pestx-theme/fonts/baseicon.eot");
  src: url("https://demo.co-enterprise.com.sg/pestx-v1/wp-content/themes/pestx-theme/fonts/baseicon.eot") format("embedded-opentype"), url("https://demo.co-enterprise.com.sg/pestx-v1/wp-content/themes/pestx-theme/fonts/baseicon.woff2") format("woff2"), url("https://demo.co-enterprise.com.sg/pestx-v1/wp-content/themes/pestx-theme/fonts/baseicon.woff") format("woff"), url("https://demo.co-enterprise.com.sg/pestx-v1/wp-content/themes/pestx-theme/fonts/baseicon.ttf") format("truetype"), url("https://demo.co-enterprise.com.sg/pestx-v1/wp-content/themes/pestx-theme/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, .footer-widget-area p {
  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: #333;
  font-family: "Outfit", sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  margin: 0;
  overflow-x: hidden;
}

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: "“";
  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: #0d2b88;
  line-height: 1.2;
  margin: 0 0 2rem;
}

h1 {
  font-size: 5rem;
  letter-spacing: -0.3px;
  font-family: "aw", sans-serif;
}

h2 {
  font-size: 3.6rem;
  letter-spacing: -0.2px;
  font-family: "aw", sans-serif;
}

h3 {
  font-size: 2.4rem;
  font-family: "aw", 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: #091c59;
}
a:hover {
  text-decoration: underline;
  color: #040e2b;
}

label {
  font-size: 1.4rem;
  color: hsl(0deg, 0%, 50%);
}

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

/* Dark theme
 --------------------------------------------- */
.text-light a, .page.has-post-thumbnail .entry-header:has(img) a, .post-single .has-post-thumbnail .entry-header a,
.text-light p,
.page.has-post-thumbnail .entry-header:has(img) p,
.post-single .has-post-thumbnail .entry-header p {
  color: #fff;
}
.text-light h1, .page.has-post-thumbnail .entry-header:has(img) h1, .post-single .has-post-thumbnail .entry-header h1,
.text-light h2,
.page.has-post-thumbnail .entry-header:has(img) h2,
.post-single .has-post-thumbnail .entry-header h2,
.text-light h3,
.page.has-post-thumbnail .entry-header:has(img) h3,
.post-single .has-post-thumbnail .entry-header h3,
.text-light h4,
.page.has-post-thumbnail .entry-header:has(img) h4,
.post-single .has-post-thumbnail .entry-header h4,
.text-light h5,
.page.has-post-thumbnail .entry-header:has(img) h5,
.post-single .has-post-thumbnail .entry-header h5,
.text-light h6,
.page.has-post-thumbnail .entry-header:has(img) h6,
.post-single .has-post-thumbnail .entry-header h6 {
  color: #fff;
}
.text-light hr, .page.has-post-thumbnail .entry-header:has(img) hr, .post-single .has-post-thumbnail .entry-header 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;
  }
}
.post-single .entry-content ul li {
  list-style-type: disc;
}
.post-single .entry-content ol li {
  list-style-type: decimal;
}

/* 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, .contact-1_mapembed:after {
  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
 ============================================= */
.fade-scale-before, .fade-left-before, .fade-right-before, .hidden {
  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
 --------------------------------------------- */
.post-archive .archive-description p, .entry-header p,
.regular-banner p {
  padding: 0 5%;
}
@media only screen and (min-width: 960px) {
  .post-archive .archive-description p, .entry-header p,
.regular-banner p {
    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 {
  width: 100%;
  padding: 50px 5%;
}
@media only screen and (min-width: 960px) {
  section.wrapper {
    padding: 80px 10%;
  }
}
section.wrapper-small {
  width: 100%;
  padding: 15px 5%;
}
@media only screen and (min-width: 960px) {
  section.wrapper-small {
    padding: 30px 10%;
  }
}
section.wrapper-large {
  width: 100%;
  padding: 80px 5%;
}
@media only screen and (min-width: 960px) {
  section.wrapper-large {
    padding: 120px 10%;
  }
}
section.wrapper-full {
  width: 100%;
  padding: 50px 0;
}
@media only screen and (min-width: 960px) {
  section.wrapper-full {
    padding: 80px 0;
  }
}

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

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

.site-header + * {
  margin-top: 63px;
}

/* 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;
}

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

/* WordPress
--------------------------------------------- */
a.aligncenter img {
  display: block;
  margin: 0 auto;
}

a.alignnone {
  display: inline-block;
}

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

img.alignnone,
.alignnone {
  margin-bottom: 15px;
}

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

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

.gallery-caption,
.wp-caption-text {
  font-size: 14px;
  font-weight: 600;
  margin-top: 0.5em;
  margin-bottom: 1em;
  padding-left: 10px;
  padding-right: 10px;
  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
 --------------------------------------------- */
.header-widget-area a,
.header-widget-area button, .menu-toggle {
  width: 40px;
  height: 40px;
  background-color: hsla(0deg, 0%, 0%, 0);
  border-radius: 50%;
  font-size: 17px;
  color: hsl(0deg, 0%, 40%);
  font-weight: 400;
  line-height: 1;
}
.header-widget-area a:hover,
.header-widget-area button:hover, .menu-toggle:hover,
.menu-toggle a:hover {
  text-decoration: none;
}
.header-widget-area a:hover,
.header-widget-area button:hover, .menu-toggle:hover {
  color: #0d2b88;
}

/* 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;
  background-color: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
  padding: 0;
  top: 0;
  width: 100%;
}
.site-header:before {
  content: "";
  position: relative;
  width: 100%;
  height: 3px;
  background: #0D2B88;
  background: linear-gradient(90deg, rgb(13, 43, 136) 0%, rgb(227, 6, 19) 100%);
  display: block;
}
.site-header > .wrap {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  width: min(90%, 1400px);
  margin-inline: auto;
  /* Structure */
}
.site-header > .wrap > *.pre-header {
  flex: 0 0 100%;
}
@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: 110px;
  padding: 10px 0;
  order: 2;
  margin: 0 auto;
}
@media only screen and (min-width: 960px) {
  .title-area {
    order: 0;
    margin: 0;
  }
}
.title-area a {
  display: block;
  margin: 0 auto;
}

.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: #0d2b88;
  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-inline: auto;
}
.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: #0d2b88;
}
.sub-menu-toggle.activated:before {
  transform: rotate(180deg);
  color: #113ab7;
}

/* Header Menu
 --------------------------------------------- */
.menu-primary > li:not(.menu-item--highlight):focus, .menu-primary > li:not(.menu-item--highlight):hover {
  background-color: #fff;
}
@media only screen and (min-width: 960px) {
  .menu-primary > li:not(.menu-item--highlight):focus, .menu-primary > li:not(.menu-item--highlight):hover {
    background-color: hsl(0deg, 0%, 96%);
    border-bottom: 3px solid #0d2b88;
  }
}

/* Header Menu Structure */
.nav-primary {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 109px;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 99;
  overflow-y: scroll;
  display: none;
}
@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;
    margin-left: auto;
  }
}
@media only screen and (min-width: 960px) {
  .nav-primary .wrap {
    height: 100%;
  }
}

/* Main Header Menu */
.menu-primary {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  position: relative;
  line-height: 1;
  height: 100%;
  background-color: rgb(250, 250, 250);
  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 #0d2b88;
  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 {
  height: auto;
}
.menu-primary > li.menu-item--highlight > a {
  background-color: #0d2b88;
  color: #fff;
  border-radius: 5px;
}
@media only screen and (min-width: 960px) {
  .menu-primary > li.menu-item--highlight > a {
    margin: 0 10px;
  }
}
.menu-primary > li.menu-item--highlight > a:hover {
  background-color: #091c59;
}
.menu-primary > li.menu-item--highlight .sub-menu-toggle:before {
  color: #fff;
}
@media only screen and (min-width: 670px) {
  .menu-primary > li.menu-item--highlight .sub-menu {
    margin-inline: 10px;
    border-radius: 8px;
  }
}
@media only screen and (min-width: 960px) {
  .menu-primary .sub-menu .menu-item:hover {
    background-color: #0d2b88;
  }
  .menu-primary .sub-menu .menu-item:hover > a {
    color: #fff;
  }
}

.menu-primary a {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  font-weight: 700;
  font-family: "aw", sans-serif;
  color: #091c5d;
  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: 16px 24px;
}
.menu-primary .sub-menu .menu-item > a {
  padding: 14px 15px;
}
@media only screen and (min-width: 960px) {
  .menu-primary .sub-menu .menu-item > a {
    font-size: 14px;
  }
  .menu-primary .sub-menu .menu-item > a:hover {
    color: #fff;
    background-color: #0d2b88;
  }
}

/* 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 auto;
  }
}
.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: #e30613;
}
@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 {
  position: relative;
  background: #0d2b88;
  width: 100%;
  padding: 60px 0;
}
@media only screen and (max-width: 670px) {
  .footer-widgets {
    text-align: center;
  }
}
.footer-widgets:before {
  content: "";
  position: absolute;
  width: 100%;
  top: -89px;
  height: 90px;
  display: block;
  background: url("https://demo.co-enterprise.com.sg/pestx-v1/static/divider-book.svg") no-repeat;
  background-size: 100% 100%;
}
.footer-widgets:after {
  opacity: 1;
}
.footer-widgets .wrap {
  display: grid;
  width: min(90%, 1400px);
  margin-inline: auto;
}
@media only screen and (min-width: 960px) {
  .footer-widgets .wrap {
    gap: 8rem;
    grid-template-columns: 2fr 1fr 1fr 1fr;
  }
}
.footer-widgets .widget-title {
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  border-bottom: 1px solid #0d2b88;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.footer-widgets .widget {
  margin-bottom: 20px;
}
.footer-widgets h2 {
  color: #f5f2f1;
}

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

.footer-widgets .menu {
  display: flex;
  flex-flow: column nowrap;
  gap: 0.5rem;
}
.footer-widgets .menu li {
  width: 100%;
}
@media only screen and (max-width: 670px) {
  .footer-widgets .menu li {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 670px) {
  .footer-widgets .menu li {
    width: auto;
  }
}
.footer-widgets .menu li a {
  display: block;
  padding: 3px 0;
  font-size: 1.3rem;
  color: #f5f2f1;
  line-height: 1.3;
}
@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 {
  max-width: 100px;
  width: 100px;
  display: block;
  margin: 0 auto;
}
@media only screen and (min-width: 960px) {
  .footer-widgets-1 img {
    margin: 0 auto 0 0;
  }
}

.footer-widget-area ul[id*=social] {
  flex-flow: row wrap;
  gap: 1rem;
}
@media only screen and (max-width: 670px) {
  .footer-widget-area ul[id*=social] {
    justify-content: center;
  }
}
.footer-widget-area ul[id*=social] li {
  width: auto;
}
.footer-widget-area ul[id*=social] li a {
  width: 36px;
  aspect-ratio: 1;
  border-radius: 50%;
  line-height: 1;
  display: grid;
  place-items: center;
  color: #fff;
  background-color: #e30613;
}
.footer-widget-area ul[id*=social] li a:hover {
  text-decoration: none;
}

.textwidget > p {
  display: block;
}

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

@media only screen and (max-width: 670px) {
  #menu-social-media-menu .menu-item {
    width: auto;
  }
  .site-header #menu-social-media-menu {
    display: none;
  }
}

.footer-widgets-1 p {
  color: #f5f2f1;
}
.footer-widgets-1 p label {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 11px;
  color: #f5f2f1;
}
.footer-widgets-1 p label i {
  margin-right: 5px;
}

/* Site Footer
 --------------------------------------------- */
.site-footer {
  background-color: #0d2b88;
  color: #f5f2f1;
  line-height: 1.5;
}
.site-footer > .wrap {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  text-align: center;
  width: min(90%, 1400px);
  margin-inline: auto;
  padding: 1rem 0;
  background-color: #091c5d;
  border-radius: 2.5rem 2.5rem 0 0;
}
.site-footer > .wrap > p {
  line-height: 1;
  margin: 0;
  font-weight: 500;
}

/* Graphics
 ============================================= */
/* Secondary Graphic
 --------------------------------------------- */
/* Background Pattern
--------------------------------------------- */
.post-archive .archive-description, .entry-header,
.regular-banner {
  background: url("https://demo.co-enterprise.com.sg/pestx-v1/static/background-pattern.jpg") repeat center;
}
@media only screen and (min-width: 960px) {
  .post-archive .archive-description, .entry-header,
.regular-banner {
    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 */
form input[type=submit], .btn {
  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;
}
form input[type=submit]:hover, .btn:hover {
  text-decoration: none;
}
.post-entry-list .category-link, .btn-small {
  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;
}
.post-entry-list .category-link:hover, .btn-small: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
   --------------------------------------------- */
form input[type=submit], .btn-1 {
  background-color: #091c59;
  color: #fff;
  border-radius: 3px;
}
form input[type=submit]:hover, .btn-1:hover {
  color: #fff;
  background-color: #020614;
}
form input[type=submit]:active, .btn-1:active {
  transform: translateY(3px);
}
.btn-1-secondary {
  background-color: hsl(0deg, 0%, 60%);
  color: hsl(0deg, 0%, 100%);
  border-radius: 3px;
}
.btn-1-secondary:hover {
  color: #fff;
  background-color: #737373;
}
.btn-1-secondary:active {
  transform: translateY(3px);
}
.post-entry-list .category-link, .btn-1-light {
  background-color: hsl(0deg, 0%, 90%);
  color: hsl(0deg, 0%, 50%);
  border-radius: 3px;
}
.post-entry-list .category-link:hover, .btn-1-light:hover {
  color: #fff;
  background-color: #bfbfbf;
}
.post-entry-list .category-link:active, .btn-1-light:active {
  transform: translateY(3px);
}
.btn-1-success {
  background-color: #0d4552;
  color: hsl(0deg, 0%, 100%);
  border-radius: 3px;
}
.btn-1-success:hover {
  color: #fff;
  background-color: #030d10;
}
.btn-1-success:active {
  transform: translateY(3px);
}
.btn-1-info {
  background-color: #0d2b88;
  color: hsl(0deg, 0%, 100%);
  border-radius: 3px;
}
.btn-1-info:hover {
  color: #fff;
  background-color: #061542;
}
.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: #e30613;
  color: hsl(0deg, 0%, 100%);
  border-radius: 3px;
}
.btn-1-danger:hover {
  color: #fff;
  background-color: #98040d;
}
.btn-1-danger:active {
  transform: translateY(3px);
}

.btn-1 {
  overflow: hidden;
  z-index: 0;
}
.btn-1:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 90%;
  top: 5%;
  left: 0;
  display: block;
  z-index: -1;
  opacity: 0;
  background: url("https://demo.co-enterprise.com.sg/pestx-v1/static/x-icon.svg") no-repeat center/contain;
}
.btn-1:hover:after {
  transform: scale(20);
  transition: transform 0.5s;
  opacity: 1;
}
/* Outline Button - btn-2
   --------------------------------------------- */
.btn-2 {
  background-color: transparent;
  color: #0d2b88;
  border: 2px solid #113ab7;
  border-radius: 5px;
  text-transform: none;
}
.btn-2:hover {
  background-color: #0d2b88;
  border-color: #0d2b88;
  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: #061542;
}

/* Button Icon Text - .btn-icon-text
   --------------------------------------------- */
.btn-icon-text {
  display: flex;
  align-items: center;
  border-radius: 3px;
  background-color: #061542;
  color: #fff;
  width: auto;
  padding: 6px 12px;
}
.btn-icon-text:hover {
  color: #fff;
}
.btn-icon-text i {
  width: 30px;
  height: 30px;
  background-color: hsla(0deg, 0%, 100%, 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;
}

/* 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;
}
@media only screen and (max-width: 670px) {
  input:not([type=submit]):not([type=file]),
textarea {
    font-size: 16px;
    line-height: 1.5;
  }
}

/* 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 #022593;
  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";
}
.wpcf7 form.sent .wpcf7-response-output {
  padding-left: 40px;
  background-color: green;
}
.wpcf7 form.sent .wpcf7-response-output: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 #0d4552;
  border-left: solid 4px #0d4552;
}

fieldset {
  padding: 0;
  border-width: 0;
}

/* List style
 --------------------------------------------- */
details ol, details ul, .number-list, .post-single .entry-content > ol, .item-list, .post-single .entry-content > ul, .post-single .entry-content ul, .post-single .entry-content ol {
  margin-bottom: 24px;
}
details ol li, details ul li, .number-list li, .item-list li, .post-single .entry-content ul li, .post-single .entry-content ol li {
  margin-bottom: 12px;
  margin-left: 24px;
}
details ol ol, details ul ol, .number-list ol, .item-list ol, .post-single .entry-content ul ol, .post-single .entry-content ol ol,
details ol ul,
details ul ul,
.number-list ul,
.item-list ul,
.post-single .entry-content ul 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: "—";
  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;
  width: min(700px, 100%);
}
.section-title.align-c {
  text-align: center;
  margin-inline: auto;
}
.section-title h4 {
  position: relative;
  color: #e30613;
  font-family: "Outfit", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.section-title h2 bdi,
.section-title h3 bdi,
.section-title h1 bdi {
  color: #e30613;
}

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

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

.divider-c, .divider {
  position: relative;
  margin: 15px 0;
  border-top: 1px solid #0d2b88;
  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, hsl(10deg, 10%, 10%) 0%, hsla(10deg, 10%, 10%, 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>
*/
.logo-feature-gallery {
  position: relative;
}
.logo-feature-gallery img {
  object-fit: contain;
  padding: 20px;
}

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

/* Regular Banner
   --------------------------------------------- */
.post-archive .archive-description, .entry-header,
.regular-banner {
  height: auto;
  min-height: 250px;
  text-align: center;
}
.post-archive .archive-description > *, .entry-header > *,
.regular-banner > * {
  margin-bottom: 10px;
}
.post-archive .archive-description > *:last-child, .entry-header > *:last-child,
.regular-banner > *:last-child {
  margin-bottom: 0;
}
.post-archive .archive-description p, .entry-header p,
.regular-banner p {
  font-family: "aw", sans-serif;
}

/* Giant Banner
 --------------------------------------------- */
.page.has-post-thumbnail .entry-header:has(img) {
  min-height: 47.3684210526vw;
  background-color: #0d4552;
}
.page.has-post-thumbnail .entry-header:has(img) img {
  opacity: 0.5;
  filter: saturate(0.3);
}
.page.has-post-thumbnail .entry-header:has(img) h1,
.page.has-post-thumbnail .entry-header:has(img) p {
  width: min(90%, 400px);
  left: max(5%, 100vw - 700px);
  margin-left: 0;
  text-align: left;
}
.page.has-post-thumbnail .entry-header:has(img) h1 {
  line-height: 1.1;
}
.page.has-post-thumbnail .entry-header:has(img) p {
  line-height: 1.3;
}

/* Hero Slider
 ============================================= */
/* Giant Banner Slider */
.hero-slider {
  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;
  }
}

@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 {
  position: relative;
  height: auto;
  width: 100%;
  /* Generic Figcaption Styles */
}
@media only screen and (max-width: 670px) {
  .hero-slide {
    background-color: #fff;
    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: 56.25vw;
    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;
    width: auto;
    margin: 0;
    background-color: #fff;
  }
  .hero-slide figcaption:before {
    position: absolute;
    content: "";
    left: 0;
    top: -99px;
    width: 100%;
    height: 100px;
    background: linear-gradient(to top, hsl(255deg, 100%, 100%) 0%, hsla(255deg, 100%, 100%, 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;
    width: min(50%, 450px);
  }
}
.hero-slide figcaption h2 {
  font-size: 5.6rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.hero-slide figcaption h4 {
  font-family: "Outfit", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 0;
  padding: 0.5rem 1.5rem;
  border-radius: 2rem 0rem;
  background: linear-gradient(90deg, rgb(13, 43, 136) 0%, rgb(227, 6, 19) 100%);
}
.hero-slide figcaption p {
  font-size: 1.6rem;
  font-weight: 600;
}
.hero-slide img {
  position: relative;
}
@media only screen and (max-width: 670px) {
  .hero-slide img {
    height: 90vw;
  }
}

.hero-slide--center-center figcaption {
  margin-inline: auto;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  text-align: center;
  align-items: center;
}

.hero-slide--center-left figcaption {
  top: 50%;
  left: 5%;
  transform: translateY(-50%) translateX(0%);
}

.hero-slide--center-right figcaption {
  top: 50%;
  right: 5%;
  transform: translateY(-50%) translateX(0%);
  text-align: right;
  align-items: flex-end;
}

.hero-slide {
  background-color: #091c5d;
}
.hero-slide img {
  object-position: left;
  opacity: 0.75;
}

/* Default Blocks */
.inline-wrap {
  width: min(90%, 1400px);
  margin-inline: auto;
}
.inline-wrap.narrow {
  width: min(90%, 960px);
}
@media only screen and (min-width: 1400px) {
  .inline-wrap.narrow {
    width: min(90%, 1400px);
  }
}
.inline-wrap.full {
  width: min(100%, 1400px);
}
.inline-wrap .inline-wrap {
  width: 100%;
}

.aligncenter .section-title {
  text-align: center;
}
.aligncenter .section-title hr {
  margin-left: auto;
  margin-right: auto;
}

/* Image Gallery */
.image-gallery-section {
  padding: 50px 5%;
}
@media only screen and (min-width: 670px) {
  .image-gallery-section {
    padding: 50px;
  }
}

.image-gallery-list {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  padding: 3px;
}
.image-gallery-list li {
  position: relative;
  flex: 1 1 0;
  height: 300px;
  min-width: 300px;
}
.image-gallery-list img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 3px;
  object-fit: cover;
}

/* LR Layout */
.lr-layout {
  width: 100%;
  min-height: 400px;
}
@media only screen and (min-width: 960px) {
  .lr-layout {
    background-attachment: fixed;
  }
}
@media only screen and (min-width: 960px) {
  .lr-layout:nth-of-type(even) .inline-wrap {
    flex-flow: row-reverse wrap;
  }
  .lr-layout:nth-of-type(even) figure:after {
    right: 0;
  }
  .lr-layout:nth-of-type(even) figure:before {
    right: 0;
  }
}
.lr-layout .inline-wrap {
  position: relative;
  display: flex;
  flex-flow: row wrap;
}
.lr-layout .inline-wrap > * {
  width: 100%;
  margin-bottom: 0px;
}
@media only screen and (min-width: 670px) {
  .lr-layout .inline-wrap > * {
    width: calc((100% - (0px * (2 - 1))) / 2);
    margin-right: 0px;
  }
  .lr-layout .inline-wrap > *:nth-child(2n) {
    margin-right: 0;
  }
}
.lr-layout figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  z-index: 0;
  height: 90vw;
}
@media only screen and (min-width: 670px) {
  .lr-layout figure {
    height: 70vh;
  }
}
@media only screen and (min-width: 960px) {
  .lr-layout figure {
    height: 50vw;
    max-height: 70vh;
    align-self: stretch;
  }
}
@media only screen and (min-width: 670px) {
  .lr-layout figure:after {
    content: "";
    position: absolute;
    background-color: #fbfafa;
    opacity: 0.7;
    width: 25vw;
    max-width: 50%;
    height: calc(50vw + 60px);
    z-index: -1;
  }
}
.lr-layout figure.feature-active:before {
  max-width: 0;
}
.lr-layout figure:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  transition: all 1s ease-in-out;
  background-color: #fff;
  z-index: 2;
  max-width: 100%;
}
.lr-layout figure img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  object-fit: cover;
  padding: 0;
}
@media only screen and (min-width: 960px) {
  .lr-layout figure img {
    padding: 60px;
  }
}
.lr-layout article {
  position: relative;
  padding: 30px 5%;
  width: 100%;
  z-index: 0;
}
@media only screen and (min-width: 670px) {
  .lr-layout article {
    width: 50%;
    text-align: center;
  }
}
@media only screen and (min-width: 960px) {
  .lr-layout article {
    padding: 50px 100px;
  }
}

.secondary-graphic-0 {
  position: absolute;
  z-index: -1;
  opacity: 0.3;
  width: 25vw;
  height: 25vw;
  object-fit: contain;
  object-position: center;
  left: calc(50% - 12.5vw);
  top: calc(50% - 12.5vw);
}

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

/* Food Menu */
.dish-list {
  position: relative;
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.dish-list:after {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  left: 50%;
  background-color: #e0d6d3;
}
.dish-list article {
  position: relative;
  display: flex;
  flex: 0 1 45%;
  margin-bottom: 25px;
}
.dish-list article p {
  line-height: 1.4;
  font-size: 1.4rem;
  margin-bottom: 0;
}
.dish-list article p span {
  display: block;
}
.dish-list article:hover {
  color: #091c59;
  cursor: pointer;
}
.dish-list article:hover figure {
  display: flex;
}
.dish-list article figure {
  display: none;
  position: absolute;
  width: 100%;
  top: calc(100% + 5px);
  left: 0;
  flex-flow: column nowrap;
  background-color: #fff;
  z-index: 10;
  border-radius: 10px;
  overflow: hidden;
}
.dish-list article figure img {
  width: 100%;
  max-height: 250px;
  object-fit: cover;
}
.dish-list article figure figcaption {
  padding: 10px;
}

.dish-title {
  width: 100%;
  padding-right: 20px;
  font-weight: 700;
}
.dish-title span {
  font-weight: 400;
}

/* Product Feature */
.library-gallery {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  margin-top: 50px;
  /* State when not active */
}
@media only screen and (min-width: 670px) {
  .library-gallery {
    flex-flow: row nowrap;
  }
}
.library-gallery .single-product-feature figcaption {
  bottom: -300px;
}
.library-gallery .single-product-feature.active {
  position: relative;
  height: 500px;
  width: 100%;
}
.library-gallery .single-product-feature.active > img {
  transition: 0.6s;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}
.library-gallery .single-product-feature.active figcaption {
  position: absolute;
  transition: 0.6s;
  width: 100%;
  bottom: 0;
  top: auto;
  z-index: 1;
  padding: 25px;
  color: #fff;
  background: hsla(0deg, 0%, 0%, 0.5);
  margin: 0;
  text-align: left;
}
@media only screen and (min-width: 670px) {
  .library-gallery .single-product-feature.active figcaption {
    padding: 25px 50px;
  }
}
.library-gallery .single-product-feature.active figcaption h3 {
  color: #fff;
}
.library-gallery .single-product-feature.active figcaption p {
  transition: 0.3s;
  margin-bottom: 0;
  display: block;
}
.library-gallery .single-product-feature:not(.active) {
  align-items: stretch;
}
@media only screen and (max-width: 670px) {
  .library-gallery .single-product-feature:not(.active) {
    width: 100%;
  }
}
.library-gallery .single-product-feature:not(.active) img {
  max-width: 0;
  display: block;
}
.library-gallery .single-product-feature:not(.active) figcaption {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-end;
  background-color: hsl(0deg, 0%, 95%);
  bottom: auto;
  height: 100%;
  cursor: pointer;
  padding: 15px;
  margin: 0;
}
@media only screen and (max-width: 670px) {
  .library-gallery .single-product-feature:not(.active) figcaption {
    border-bottom: 1px solid hsl(0deg, 0%, 85%);
  }
}
@media only screen and (min-width: 670px) {
  .library-gallery .single-product-feature:not(.active) figcaption {
    padding: 30px 20px;
    border-left: 1px solid hsl(0deg, 0%, 85%);
  }
}
.library-gallery .single-product-feature:not(.active) figcaption:hover {
  background-color: #0d2b88;
  border-left: 3px solid #040e2b;
}
.library-gallery .single-product-feature:not(.active) figcaption:hover h3 {
  color: #fff;
}
.library-gallery .single-product-feature:not(.active) h3 {
  margin: 0;
  font-family: "Outfit", sans-serif;
  text-transform: uppercase;
  font-size: 1.7rem;
}
@media only screen and (min-width: 670px) {
  .library-gallery .single-product-feature:not(.active) h3 {
    writing-mode: vertical-lr;
    transform: rotate(180deg);
  }
}
.library-gallery .single-product-feature:not(.active) p {
  display: none;
}

/* Contact 1 */
.contact-1 {
  margin: 80px 0;
}

.contact-details-wrapper {
  display: flex;
  flex-flow: row wrap;
  gap: 40px;
  justify-content: center;
  margin: 80px 0;
}
.contact-details-wrapper .contact-detail {
  flex: 1 1 200px;
  width: 200px;
  display: flex;
  gap: 10px;
}
.contact-details-wrapper .contact-detail i {
  color: #fff;
  min-width: 40px;
  width: 40px;
  height: 40px;
  font-size: 17px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #0d2b88;
}
.contact-details-wrapper .contact-detail .contact-detail-caption b {
  display: block;
}

.contact-1_mapembed {
  position: relative;
  margin: 50px 0 150px;
  display: block;
}
.contact-1_mapembed:after {
  content: "";
  position: absolute;
  height: 75%;
  bottom: -25%;
  background-color: #f5f2f1;
  z-index: -1;
  border-top: 1px solid #e0d6d3;
  border-bottom: 1px solid #e0d6d3;
}

.post-archive {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 5rem;
  margin: 0 auto;
}
.post-archive .archive-description {
  margin-bottom: 0;
  flex: 1 1 100%;
}
.post-archive .post-entry-list {
  width: min(90%, 750px);
}
@media only screen and (min-width: 1400px) {
  .post-archive .post-entry-list {
    width: min(90%, 933.3333333333px);
  }
}
.post-archive aside {
  width: 90%;
}
@media only screen and (min-width: 670px) {
  .post-archive aside {
    width: min(90%, 280px);
  }
}
@media only screen and (min-width: 1400px) {
  .post-archive aside {
    width: min(90%, 466.6666666667px);
  }
}
.post-archive .archive-pagination {
  flex: 1 1 100%;
}

.post-entry-list {
  display: grid;
  gap: 6rem;
}
.post-entry-list .entry-content {
  display: grid;
  gap: 2rem;
}
@media only screen and (min-width: 670px) {
  .post-entry-list .entry-content {
    grid-template-rows: 200px;
    grid-template-columns: auto 1fr;
  }
}
.post-entry-list .caption {
  display: flex;
  flex-flow: column nowrap;
}
.post-entry-list .caption p {
  margin-top: auto;
}
.post-entry-list .caption > * {
  margin-bottom: 0;
}
.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;
  aspect-ratio: 4/3;
}
.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: #0d2b88;
}
.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 hsl(0deg, 0%, 85%);
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.entry-content .entry-meta {
  color: hsl(0deg, 0%, 70%);
}

/* Single Page Content
  ========================================== */
.error404 main.content {
  width: min(100%, 700px);
  margin: 150px auto 50px;
  text-align: center;
}
.error404 .search-form {
  display: none;
}

.bg-pattern {
  position: relative;
  z-index: 0;
}
.bg-pattern:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: url("https://demo.co-enterprise.com.sg/pestx-v1/static/bg-pattern.svg") repeat center/750px;
  z-index: -1;
  opacity: 0.4;
  background-attachment: fixed;
}

.bg-pattern-2 {
  position: relative;
  z-index: 0;
}
.bg-pattern-2:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: url("https://demo.co-enterprise.com.sg/pestx-v1/static/bg-pattern-2.svg") repeat center/500px;
  opacity: 0.5;
  z-index: -1;
  background-attachment: fixed;
}

.bg-pattern-3 {
  position: relative;
  z-index: 0;
}
.bg-pattern-3:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: url("https://demo.co-enterprise.com.sg/pestx-v1/static/bg-pattern-3.svg") repeat center/750px;
  opacity: 0.1;
  z-index: -1;
  background-attachment: fixed;
}

.bg-light {
  background-color: #f5f2f1;
  color: #0d2b88;
}
.bg-light + .bg-light {
  padding-top: 0;
}

.bg-dark {
  background-color: #091c5d;
}
.bg-dark + .bg-dark {
  padding-top: 0;
}

.bg-main {
  background-color: #0d2b88;
}
.bg-main + .bg-main {
  padding-top: 0;
}

.bg-white {
  background-color: #fff;
}

.text-light p, .page.has-post-thumbnail .entry-header:has(img) p {
  font-weight: 500;
}

.text-white {
  color: #f5f2f1;
}

.relative {
  position: relative;
}

.overflow-hidden {
  overflow: hidden;
}

.z-0 {
  z-index: 0;
}

.border-box {
  box-sizing: border-box;
}

.table {
  display: table;
}

.mx-auto {
  margin-inline: auto;
}

.mt-10 {
  margin-top: calc(var(--spacing) * 10rem);
}

.mt-15 {
  margin-top: calc(var(--spacing) * 15rem);
}

.mt-20 {
  margin-top: calc(var(--spacing) * 20rem);
}

.mb-10 {
  margin-bottom: calc(var(--spacing) * 10rem);
}

.mb-15 {
  margin-bottom: calc(var(--spacing) * 15rem);
}

.mb-20 {
  margin-bottom: calc(var(--spacing) * 20rem);
}

.pt-10 {
  padding-top: calc(var(--spacing) * 10rem);
}

.pt-15 {
  padding-top: calc(var(--spacing) * 15rem);
}

.pt-20 {
  padding-top: calc(var(--spacing) * 20rem);
}

.pb-10 {
  padding-bottom: calc(var(--spacing) * 10rem);
}

.pb-15 {
  padding-bottom: calc(var(--spacing) * 15rem);
}

.pb-20 {
  padding-bottom: calc(var(--spacing) * 20rem);
}

.my-20 {
  margin-block: calc(var(--spacing) * 20rem);
}

.text-center {
  text-align: center;
}

.gap-5 {
  gap: calc(var(--spacing) * 5rem);
}

.gap-10 {
  gap: calc(var(--spacing) * 10rem);
}

.gap-15 {
  gap: calc(var(--spacing) * 15rem);
}

.gap-20 {
  gap: calc(var(--spacing) * 20rem);
}

.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
}

.justify-center {
  justify-content: center;
}

.items-start {
  align-items: flex-start;
}

.place-items-center {
  place-content: center;
}

.grid {
  display: grid;
}

@media only screen and (min-width: 670px) {
  .col-span-1 {
    grid-column: 1;
  }
}

@media only screen and (min-width: 670px) {
  .col-span-2 {
    grid-column: 2;
  }
}

@media only screen and (min-width: 670px) {
  .col-span-3 {
    grid-column: 3;
  }
}

.w-3xs {
  width: calc(var(--spacing) * 64rem);
}

@media only screen and (min-width: 670px) {
  .grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media only screen and (min-width: 670px) {
  .grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

.grid-cols-4 {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (min-width: 670px) {
  .grid-cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

.grid-cols-5 {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (min-width: 670px) {
  .grid-cols-5 {
    grid-template-columns: repeat(5, 1fr);
  }
}

.content-center {
  align-items: center;
}

.p-5 {
  padding: calc(var(--spacing) * 5rem);
}

.p-10 {
  padding: calc(var(--spacing) * 10rem);
}

.p-15 {
  padding: calc(var(--spacing) * 15rem);
}

.p-20 {
  padding: calc(var(--spacing) * 20rem);
}

.font-medium {
  font-weight: 500;
}

.font-bold {
  font-weight: 700;
}

.text-sm {
  font-size: 1.4rem;
}

.text-3xl {
  font-size: 1.875rem;
}

.text-5xl {
  font-size: 3rem;
}

.text-7xl {
  font-size: 4.5rem;
}

.text-9xl {
  font-size: 8rem;
}

.rounded-50 {
  border-radius: 50%;
}

.aspect-square {
  aspect-ratio: 1;
  object-fit: cover;
}

.aspect-4-3 {
  aspect-ratio: 4/3;
  object-fit: cover;
}

.aspect-16-9 {
  aspect-ratio: 16/9;
  object-fit: cover;
}

.object-cover {
  object-fit: cover;
}

.object-contain {
  object-fit: contain;
}

#back-to-top-button {
  display: none;
  position: fixed;
  width: 4rem;
  aspect-ratio: 1;
  top: calc(50% - 2rem);
  place-items: center;
  right: 0px;
  z-index: 99;
  background-color: #0d2b88;
  color: #fff;
  border-radius: 2rem 0 0 2rem;
  cursor: pointer;
}
#back-to-top-button:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 8px solid #fff;
}
#back-to-top-button:after {
  content: "TOP";
  display: none;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}
#back-to-top-button:hover {
  background-color: #0d2b88;
}
#back-to-top-button:hover:after {
  display: block;
}

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

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

/* 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;
}

/* Swiper Button */
.swiper-button-next,
.swiper-button-prev {
  color: #0d2b88;
}

.vision-mission {
  overflow: hidden;
}
.vision-mission .text-giant {
  font-size: 6.4rem;
  letter-spacing: -2px;
}
.vision-mission h4 {
  color: #e30613;
  font-size: 1.9rem;
  font-weight: 500;
}
.vision-mission article {
  position: relative;
  z-index: 0;
  width: min(600px, 100%);
}
.vision-mission article:after {
  content: "";
  position: absolute;
  width: 250px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid #85c1ff;
  top: calc(50% - 125px);
  left: -120px;
  z-index: -1;
  opacity: 0.5;
  transition: 0.6s;
}
.vision-mission article + article {
  margin-top: 10rem;
  margin-left: auto;
  text-align: right;
}
.vision-mission article + article:after {
  right: -120px;
  left: auto;
}
.vision-mission article:has(.content) {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 670px) {
  .vision-mission article:has(.content) {
    flex-flow: column nowrap;
  }
}
.vision-mission article:has(.content) .content {
  width: min(600px, 100%);
}
.vision-mission article .special-clip {
  position: relative;
  right: -5vw;
  width: 300px;
  aspect-ratio: 2/3;
}
.vision-mission article .special-clip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  clip-path: url(#sixPackClip);
}
.vision-mission article .special-clip svg {
  position: absolute;
  width: 0;
  height: 0;
}
.vision-mission article .special-clip-2 {
  position: relative;
  left: 0vw;
  width: 300px;
  aspect-ratio: 1;
  order: -1;
  transform: scale(2.5);
}
.vision-mission article .special-clip-2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  clip-path: url(#star-clip);
}
.vision-mission article .special-clip-2 svg {
  position: absolute;
  width: 0;
  height: 0;
}

.logo-list {
  margin-top: 5rem;
  background-color: #fff;
  overflow: hidden;
  padding: 3rem 3rem;
  border-radius: 4rem 0.5rem 4rem 0.5rem;
}
.logo-list .swiper-wrapper {
  align-items: center;
}

.image-text-object img {
  aspect-ratio: 4/3;
  object-fit: cover;
  margin-bottom: 1rem;
  border-radius: 4rem 0.5rem 4rem 0.5rem;
}
@media only screen and (min-width: 670px) {
  .image-text-object img {
    aspect-ratio: 16/9;
  }
}
.image-text-object figcaption {
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-start;
  gap: 1.5rem;
}
.image-text-object figcaption > * {
  margin-bottom: 0;
}
.image-text-object figcaption p {
  font-size: 1.3rem;
  line-height: 1.5;
}
.image-text-object figcaption.image-text-object-figcaption-custom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0 2rem;
}
.image-text-object figcaption.image-text-object-figcaption-custom .btn-circle {
  font-size: 0px;
  background-color: #e30613;
  border-radius: 50%;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: 36px;
  margin-left: auto;
  color: #fff;
}
.image-text-object figcaption.image-text-object-figcaption-custom .btn-circle:hover {
  font-size: 1.2rem;
  aspect-ratio: 0;
  border-radius: 0.5rem;
  padding: 0.5rem 2rem;
  width: auto;
  height: 100%;
}
.image-text-object figcaption.image-text-object-figcaption-custom .btn-circle i {
  font-size: 1.6rem;
}

.home-contact .inline-wrap {
  z-index: 0;
}
.home-contact .inline-wrap:before {
  content: "";
  position: absolute;
  width: 100%;
  aspect-ratio: 1;
  display: block;
  background: url("https://demo.co-enterprise.com.sg/pestx-v1/static/x-icon.svg") no-repeat center/cover;
  z-index: -1;
  transform: translate(-50%, 0%);
  opacity: 0.05;
}
@media only screen and (min-width: 670px) {
  .home-contact .inline-wrap {
    grid-template-columns: 2fr 3fr;
  }
}
.home-contact .inline-wrap .wpcf7 {
  position: relative;
  padding: 2.5rem 5rem;
  background-color: #f5f2f1;
}
.home-contact .inline-wrap .wpcf7:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: #0D2B88;
  background: linear-gradient(90deg, rgb(13, 43, 136) 0%, rgb(227, 6, 19) 100%);
  display: block;
}
.home-contact .inline-wrap .wpcf7 label {
  color: #091c5d;
}

@keyframes splashrotate {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.spiral {
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.spiral:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  aspect-ratio: 1;
  display: block;
  z-index: -1;
  background: url("https://demo.co-enterprise.com.sg/pestx-v1/static/spiral.svg") no-repeat center/cover;
  opacity: 0.5;
  animation: splashrotate 50s linear infinite;
}

.faq-list {
  width: min(100%, 600px);
  margin-inline: auto;
  margin-top: 3rem;
}

details {
  padding: 1rem 2rem;
  border: 1px solid #85c1ff;
  background-color: #fff;
  border-radius: 1rem;
}
details + details {
  margin-top: 1rem;
}
details:hover {
  background-color: hsl(0deg, 0%, 98%);
}
details[open] {
  border: 1px solid #ff2b37;
}
details[open] summary {
  margin-bottom: 1.5rem;
}
details[open] summary::marker {
  color: #ff2b37;
}
details[open] summary h3 {
  color: #f60c1a;
}
details summary {
  color: #0d2b88;
}
details summary h3 {
  font-weight: 700;
  font-family: "Outfit", sans-serif;
  font-size: 1.4rem;
  cursor: pointer;
  margin-bottom: 0;
  display: inline;
}
details > *:not(summary):not(:last-child) {
  margin-bottom: 1rem;
}
details > *:last-child {
  margin-bottom: 0;
}
details p,
details li {
  font-size: 1.4rem;
  line-height: 1.5;
}
details ul > li {
  list-style-type: disc;
}
details ol > li {
  list-style-type: decimal;
}

.description h3 {
  margin-bottom: 1rem;
  font-size: 2rem;
}

.arrow-bottom {
  position: relative;
}
.arrow-bottom:after {
  content: "";
  position: absolute;
  width: 100%;
  aspect-ratio: 20/1;
  display: block;
  bottom: 0;
  background: url("https://demo.co-enterprise.com.sg/pestx-v1/static/triangle-bottom.svg") no-repeat center bottom/contain;
}

.image-text-overlay {
  position: relative;
  z-index: 0;
  background-color: hsl(226deg, 82%, 10%);
}
@media only screen and (min-width: 670px) {
  .image-text-overlay {
    min-height: 50vw;
  }
}
.image-text-overlay:hover img {
  transform: scale(0.95);
}
.image-text-overlay:hover figcaption {
  background-color: hsla(226deg, 82%, 10%, 0.5);
}
.image-text-overlay img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  object-fit: cover;
  transition: 0.3s;
}
.image-text-overlay figcaption {
  position: relative;
  height: 100%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: flex-start;
  gap: 1rem;
  padding: 5rem;
  background-color: hsla(226deg, 82%, 10%, 0.8);
  transition: 0.3s;
}
.image-text-overlay figcaption > * {
  margin-bottom: 0;
}
.image-text-overlay figcaption h4 {
  color: #e30613;
  font-weight: 600;
  font-size: 1.4rem;
}

@media only screen and (min-width: 670px) {
  .grid-cols-1-2 {
    grid-template-columns: 1fr 2fr;
  }
}

.location-detail {
  color: #e30613;
}

.icon-text-single {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.icon-text-single > * {
  margin-bottom: 0;
}
.icon-text-single i {
  font-size: 2.4rem;
  color: #e30613;
}
.icon-text-single h3 {
  font-size: 1.84rem;
}
.icon-text-single h3 bdi {
  color: #0530ce;
}
.icon-text-single h3 span {
  color: #e30613;
}
.icon-text-single p {
  font-size: 1.4rem;
  line-height: 1.3;
}

.icon-text--center {
  align-items: center;
  text-align: center;
}

.image-text-single h4 {
  font-weight: 700;
}
.image-text-single img {
  aspect-ratio: 16/9;
  object-fit: cover;
}

.image-text-single--card {
  position: sticky;
  z-index: 1;
  top: 100px;
  background-color: #f5f2f1;
  padding: 1rem;
  border-radius: 2rem;
  box-shadow: 0rem 2rem 4rem 0rem hsla(0deg, 0%, 0%, 0.1);
}
.image-text-single--card img {
  border-radius: 1rem;
}
.image-text-single--card figcaption {
  padding: 0 1rem 1rem;
}

.sticky-section-1 {
  background-color: #091c5d;
}
.sticky-section-1 .section-title {
  position: sticky;
  top: 100px;
}
.sticky-section-1 .section-title > * {
  color: #f5f2f1;
}
.sticky-section-1 .section-title h4 {
  color: #e30613;
}

.services-list .swiper-button-next,
.services-list .swiper-button-prev {
  position: absolute;
  top: 0;
  right: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: hsl(0deg, 0%, 90%);
}
.services-list .swiper-button-next:after,
.services-list .swiper-button-prev:after {
  font-size: 20px;
  font-weight: 900;
}
.services-list .swiper-button-prev {
  left: auto;
  transform: translateX(calc(-100% - 5px)) translateY(-100%);
}
.services-list .swiper-button-next {
  transform: translateY(-100%);
}

.icon-process-single {
  display: flex;
  gap: 1rem;
}
.icon-process-single + .icon-process-single {
  margin-top: 4rem;
}
.icon-process-single:last-child i:after {
  content: none;
}
.icon-process-single i {
  position: relative;
  font-size: 2rem;
  color: #e30613;
}
.icon-process-single i:after {
  content: "";
  width: 2px;
  height: 100%;
  position: absolute;
  display: block;
  left: calc(50% - 1px);
  top: 3rem;
  background: hsl(0deg, 0%, 70%);
}
.icon-process-single h3 {
  margin-bottom: 0.5rem;
  font-size: 2rem;
}
.icon-process-single p {
  color: hsl(0deg, 0%, 30%);
}

.slider-text-navigation {
  display: flex;
  gap: 5rem;
  min-width: 0;
}
.slider-text-navigation .swiper-pagination {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 300px;
  order: -1;
  top: 0;
  bottom: 0;
}
.slider-text-navigation .swiper-pagination .swiper-pagination-bullet {
  width: 100%;
  height: auto;
  border-radius: 0;
  background: transparent;
  text-align: left;
  color: #fff;
  font-weight: 600;
  margin: 0;
  font-size: 1.6rem;
}
.slider-text-navigation b {
  color: #fff;
}
.slider-text-navigation .swiper-slide {
  transition: 0.3s;
}
.slider-text-navigation .swiper-slide:not(.swiper-slide-active) {
  opacity: 0;
}

.pest-detail img {
  aspect-ratio: 16/9;
  object-fit: cover;
}

.icon-text--horizontal {
  flex-direction: row;
}
.icon-text--horizontal h3 {
  margin-bottom: 1rem;
}

.bg-x {
  position: relative;
  overflow: hidden;
  z-index: 0;
}
.bg-x:before {
  content: "";
  position: absolute;
  width: 100%;
  aspect-ratio: 1;
  display: block;
  background: url("https://demo.co-enterprise.com.sg/pestx-v1/static/x-icon.svg") no-repeat center/cover;
  z-index: -1;
  transform: translate(-50%, 0%);
  opacity: 0.05;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJhYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImFic3RyYWN0cy9fZnVuY3Rpb25zLnNjc3MiLCJhYnN0cmFjdHMvX3BsYWNlaG9sZGVycy5zY3NzIiwidmVuZG9ycy9fc2xpY2suc2NzcyIsInZlbmRvcnMvX3NsaWNrLXRoZW1lLnNjc3MiLCJ2ZW5kb3JzL19mZWF0aGVybGlnaHQuc2NzcyIsImZvbnRzL251Y2xlby5zY3NzIiwiZm9udHMvX3ZhcmlhYmxlcy5zY3NzIiwiZm9udHMvX21peGlucy5zY3NzIiwiZm9udHMvaWNvbnMuc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJiYXNlL19kZWZhdWx0cy5zY3NzIiwiYmFzZS9fYW5pbWF0aW9ucy5zY3NzIiwibGF5b3V0L19ncmlkLnNjc3MiLCJsYXlvdXQvX2dzLXN0cnVjdHVyZS1sYXlvdXQuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX3NpZGViYXIuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19ncmFwaGljcy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fd2lkZ2V0LnNjc3MiLCJjb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9fbGlzdC1wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL190aXRsZS1kaXZpZGVyLnNjc3MiLCJjb21wb25lbnRzL19vYmplY3RzLnNjc3MiLCJjb21wb25lbnRzL19iYW5uZXJzLnNjc3MiLCJjb21wb25lbnRzL19oZXJvLXNsaWRlci5zY3NzIiwiY29tcG9uZW50cy9fYmxvY2tzLnNjc3MiLCJwYWdlcy9fcG9zdC1hcmNoaXZlLnNjc3MiLCJwYWdlcy9fcG9zdC1zaW5nbGUuc2NzcyIsInBhZ2VzL180MDQtcGFnZS5zY3NzIiwidGhlbWVzL2tob296aC5z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O0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUVFO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUVFO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBRUY7QUFBQTtBQUFBO0FBR0E7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7RUFDRTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFO0FBQ0E7RUFDQTtBQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFHQTtBQUFBO0VBRUU7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFDRTtBQUNBO0VBQ0E7QUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBR0E7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUNFO0FBQ0E7RUFDQTtBQUNBOzs7QUFFRjtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBR0E7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0FBR0E7RUFDRTs7O0FBRUY7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUdBO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7OztBQUVGO0FBQUE7QUFFQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTs7O0FDN1RGO0FBQUE7QUFFQTtFQUNFO0FBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FYV0E7RVdoQkY7SUFRSTs7OztBQUlKO0FBQ0E7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQSxhWmpCVTtFWWtCVjtFQUNB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O0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdqQ3ZpQ1c7O0FpQzJpQ2Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQUtGO0VBQ0U7RUFDQTs7O0FBS0o7RUFDRTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcblx0VGhlbWUgTmFtZTogUGVzdCBYIFRoZW1lXG5cdFRoZW1lIFVSSTpcblx0RGVzY3JpcHRpb246IFRoaXMgaXMgdGhlIHRoZW1lIGNyZWF0ZWQgZm9yIFBlc3QgWFxuXHRBdXRob3I6IEtob296aFxuXHRBdXRob3IgVVJJOlxuXG5cdFZlcnNpb246IDEuMC4wXG5cblx0VGFnczogb25lLWNvbHVtbiwgdHdvLWNvbHVtbnMsIGxlZnQtc2lkZWJhciwgcmlnaHQtc2lkZWJhciwgYWNjZXNzaWJpbGl0eS1yZWFkeSwgY3VzdG9tLWNvbG9ycywgY3VzdG9tLWxvZ28sIGN1c3RvbS1tZW51LCBmZWF0dXJlZC1pbWFnZXMsIGZvb3Rlci13aWRnZXRzLCBmdWxsLXdpZHRoLXRlbXBsYXRlLCBydGwtbGFuZ3VhZ2Utc3VwcG9ydCwgc3RpY2t5LXBvc3QsIHRoZW1lLW9wdGlvbnMsIHRocmVhZGVkLWNvbW1lbnRzLCB0cmFuc2xhdGlvbi1yZWFkeVxuXG5cdFRlbXBsYXRlOiBnZW5lc2lzXG5cblx0TGljZW5zZTogR1BMLTIuMCtcblx0TGljZW5zZSBVUkk6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxcbiovXG4vKiBUYWJsZSBvZiBDb250ZW50c1xuc2Fzcy9cbnxcbnwtIGFic3RyYWN0cy9cbnwgICB8LSBfdmFyaWFibGVzLnNjc3MgICAgIyBTYXNzIFZhcmlhYmxlc1xufCAgIHwtIF9mdW5jdGlvbnMuc2NzcyAgICAjIFNhc3MgRnVuY3Rpb25zXG58ICAgfC0gX21peGlucy5zY3NzICAgICAgICMgU2FzcyBNaXhpbnNcbnwgICB8LSBfcGxhY2Vob2xkZXJzLnNjc3MgIyBTYXNzIFBsYWNlaG9sZGVyc1xufFxufC0gZm9udHMvXG58ICAgfC0gX251Y2xlby5zY3NzICAgICAgICMgSWNvbiBQYWNrXG58XG584oCTIGJhc2UvXG58ICAgfC0gX3Jlc2V0LnNjc3MgICAgICAgICMgUmVzZXQvbm9ybWFsaXplXG58ICAgfC0gX3R5cG9ncmFwaHkuc2NzcyAgICMgVHlwb2dyYXBoeSBydWxlc1xufCAgIHwtIF9kZWZhdWx0cy5zY3NzICAgICAjIEdlbmVzaXMgRGVmYXVsdHNcbnwgICB8LSBfYW5pbWF0aW9ucy5zY3NzICAgIyBBbmltYXRpb25zXG58XG584oCTIGNvbXBvbmVudHMvXG58ICAgfC0gX2dyYXBoaWNzLnNjc3MgICAgICAgICAgICAjIEdyYXBoaWNzXG58ICAgfC0gX2J1dHRvbnMuc2NzcyAgICAgICAgICAgICAjIEJ1dHRvbnNcbnwgICB8LSBfd2lkZ2V0LnNjc3MgICAgICAgICAgICAgICMgR2VuZXNpcyBEZWZhdWx0IFdpZGdldCBhbmQgUGx1Z2luc1xufCAgIHwtIF9mb3Jtcy5zY3NzICAgICAgICAgICAgICAgIyBGb3Jtc1xufCAgIHwtIF9saXN0LXBhZ2luYXRpb24uc2NzcyAgICAgIyBMaXN0IGFuZCBwYWdpbmF0aW9uXG58ICAgfC0gLXRpdGxlLWRpdmlkZXIuc2NzcyAgICAgICAjIFRpdGxlIGFuZCBkaXZpZGVyc1xufCAgIHwtIF9vYmplY3RzLnNjc3MgICAgICAgICAgICAgIyBDdXN0b21pc2VkIG9iamVjdHNcbnwgICB8LSBfYmFubmVycy5zY3NzICAgICAgICAgICAgICMgQmFubmVyc1xufCAgIHwtIF9oZXJvLXNsaWRlci5zY3NzICAgICAgICAgIyBIZXJvIFNsaWRlclxufCAgIHwtIF9ibG9ja3Muc2NzcyAgICAgICAgICAgICAgIyBCbG9ja3NcbnxcbnzigJMgbGF5b3V0L1xufCAgIHwtIF9ncmlkLnNjc3MgICAgICAgICAjIEdyaWRcbnwgICB8LSBfZ3Mtc3RydWN0dXJlLWxheW91dC5zY3NzICMgR2VuZXNpcyBkZWZhdWx0IHN0cnVjdHVyZSBhbmQgbGF5b3V0XG58ICAgfC0gX2hlYWRlci5zY3NzICAgICAgICMgSGVhZGVyXG58ICAgfC0gX3NpZGViYXIuc2NzcyAgICAgICMgU2lkZWJhclxufCAgIHwtIF9mb290ZXIuc2NzcyAgICAgICAjIEZvb3RlclxufFxufOKAkyBwYWdlcy9cbnwgICB8LSBfcG9zdC1hcmNoaXZlLnNjc3MgICAgICAgICMgUG9zdCBhcmNoaXZlIHN0eWxlc1xufCAgIHwtIF9wb3N0LXNpbmdsZS5zY3NzICAgICAgICAgIyBTaW5nbGUgUG9zdCBTdHlsZXNcbnwgICB8LSBfNDA0LXBhZ2Uuc2NzcyAgICAgXHRcdCAjIDQwNCBQYWdlXG58XG584oCTIHRoZW1lcy9cbnwgICB8LSBfa2hvb3poLnNjc3MgICAgICAgIyBEZWZhdWx0IHRoZW1lXG58ICAgfC0gX3dvb2NvbW1lcmNlLnNjc3MgICMgV29vY29tbWVyY2UgU3R5bGVzXG58XG584oCTIHZlbmRvcnMvXG58ICAgfC0gX3NsaWNrLnNjc3MgICAgICAgICMgU2xpY2sgU2xpZGVyXG58ICAgfC0gX3NsaWNrLXRoZW1lLnNjc3MgICMgU2xpY2sgU2xpZGVyIFRoZW1lXG58ICAgfC0gX2ZlYXRoZXJsaWdodC5zY3NzICMgRmVhdGhlcmxpZ2h0IEdhbGxlcnlcbnxcbnwtIG1haW4uc2NzcyAgICAgICAgICAgICAgIyBNYWluIFNhc3MgZmlsZVxuKi9cblxuQGltcG9ydCAnYWJzdHJhY3RzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdhYnN0cmFjdHMvbWl4aW5zJztcbkBpbXBvcnQgJ2Fic3RyYWN0cy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnYWJzdHJhY3RzL3BsYWNlaG9sZGVycyc7XG5cbkBpbXBvcnQgJ3ZlbmRvcnMvc2xpY2snO1xuQGltcG9ydCAndmVuZG9ycy9zbGljay10aGVtZSc7XG5AaW1wb3J0ICd2ZW5kb3JzL2ZlYXRoZXJsaWdodCc7XG5cbkBpbXBvcnQgJ2ZvbnRzL251Y2xlbyc7XG5cbkBpbXBvcnQgJ2Jhc2UvcmVzZXQnO1xuQGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Jhc2UvZGVmYXVsdHMnO1xuQGltcG9ydCAnYmFzZS9hbmltYXRpb25zJztcblxuQGltcG9ydCAnbGF5b3V0L2dyaWQnO1xuQGltcG9ydCAnbGF5b3V0L2dzLXN0cnVjdHVyZS1sYXlvdXQnO1xuQGltcG9ydCAnbGF5b3V0L2hlYWRlcic7XG5AaW1wb3J0ICdsYXlvdXQvc2lkZWJhcic7XG5AaW1wb3J0ICdsYXlvdXQvZm9vdGVyJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9ncmFwaGljcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy93aWRnZXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xpc3QtcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWRpdmlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9vYmplY3RzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFubmVycyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hlcm8tc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmxvY2tzJztcblxuQGltcG9ydCAncGFnZXMvcG9zdC1hcmNoaXZlJztcbkBpbXBvcnQgJ3BhZ2VzL3Bvc3Qtc2luZ2xlJztcbkBpbXBvcnQgJ3BhZ2VzLzQwNC1wYWdlJztcbi8vIEBpbXBvcnQgJ3BhZ2VzL2NvbnRhY3QnO1xuXG5AaW1wb3J0ICd0aGVtZXMva2hvb3poJztcbi8vIEBpbXBvcnQgJ3RoZW1lcy93b29jb21tZXJjZSc7XG4iLCIvKiBWYXJpYWJsZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJvZHkgVGV4dCBTdHlsZXMgKi9cbiRiYXNlLWZvbnQtc2l6ZTogMS42cmVtO1xuJHN1YnRpdGxlLWZvbnQ6IFwiT3V0Zml0XCIsIHNhbnMtc2VyaWY7XG4kdGl0bGUtZm9udDogJ2F3Jywgc2Fucy1zZXJpZjtcbiRtYWluLWZvbnQ6IFwiT3V0Zml0XCIsIHNhbnMtc2VyaWY7XG4vKiBGb250IFdlaWdodCAqL1xuJGZvbnQtbGlnaHQ6IDIwMDtcbiRmb250LW5vcm06IDQwMDtcbiRmb250LWJvbGQ6IDcwMDtcbi8qIENvbG9ycyAqL1xuJG1haW4tY29sb3ItNTA6ICNlOGY1ZmY7XG4kbWFpbi1jb2xvci0xMDA6ICNkNWVkZmY7XG4kbWFpbi1jb2xvci0yMDA6ICNiM2RiZmY7XG4kbWFpbi1jb2xvci0zMDA6ICM4NWMxZmY7XG4kbWFpbi1jb2xvci00MDA6ICM1NTk4ZmY7XG4kbWFpbi1jb2xvci01MDA6ICMyZTZmZmY7XG4kbWFpbi1jb2xvci02MDA6ICMwYjNmZmY7XG4kbWFpbi1jb2xvci03MDA6ICMwMjM2ZmY7XG4kbWFpbi1jb2xvci04MDA6ICMwNTMwY2U7XG4kbWFpbi1jb2xvci05MDA6ICMwZDJiODg7XG4kbWFpbi1jb2xvci05NTA6ICMwOTFjNWQ7XG5cbiRzZWNvbmRhcnktY29sb3ItNTA6ICNmZmYwZjE7XG4kc2Vjb25kYXJ5LWNvbG9yLTEwMDogI2ZmZGVlMDtcbiRzZWNvbmRhcnktY29sb3ItMjAwOiAjZmZjM2M3O1xuJHNlY29uZGFyeS1jb2xvci0zMDA6ICNmZjk5OWY7XG4kc2Vjb25kYXJ5LWNvbG9yLTQwMDogI2ZmNWU2NztcbiRzZWNvbmRhcnktY29sb3ItNTAwOiAjZmYyYjM3O1xuJHNlY29uZGFyeS1jb2xvci02MDA6ICNmNjBjMWE7XG4kc2Vjb25kYXJ5LWNvbG9yLTcwMDogI2UzMDYxMztcbiRzZWNvbmRhcnktY29sb3ItODAwOiAjYWIwOTEzO1xuJHNlY29uZGFyeS1jb2xvci05MDA6ICM4ZDBmMTY7XG4kc2Vjb25kYXJ5LWNvbG9yLTk1MDogIzRkMDIwNjtcblxuJG1haW4tY29sb3I6ICRtYWluLWNvbG9yLTkwMDtcbiRvZmYtd2hpdGU6ICNmNWYyZjE7XG4kZGFyay1jb2xvcjogJG1haW4tY29sb3ItOTUwO1xuXG4kc2Vjb25kYXJ5LTE6ICMwZDQ1NTI7XG5cbiRyZWQ6ICRzZWNvbmRhcnktY29sb3ItNzAwO1xuJG9yYW5nZTogI2ZmNWIzNjtcbiRncmVlbjogJHNlY29uZGFyeS0xO1xuJGJsdWU6ICRtYWluLWNvbG9yLTkwMDtcbiR5ZWxsb3c6ICNmN2U3MjA7XG4kZ3JleTogaHNsKDAsIDAlLCA1MCUpOyAvL2lucHV0cyB0aGF0IGFyZSBub3Qgc3VibWl0IGFuZCBidXR0b25cbi8qIEV0Yy4gKi9cbiRpbnB1dC1maWVsZHM6ICdpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pJztcbi8qIEJhY2tncm91bmQgcGF0dGVybiBpbWFnZSBsaW5rKi9cbiRwYXR0ZXJuLTEtbGluazogdXJsKFwiLi4vLi4vLi4vc3RhdGljL2JhY2tncm91bmQtcGF0dGVybi5qcGdcIik7XG5cbjpyb290IHtcbiAgICAtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiAjMDAwO1xuICAgIC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6ICMwMDA7XG4gICAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICMwMDA7XG4gICAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtY29sb3I6ICNmZmY7XG4gICAgLS1zcGFjaW5nOiAwLjI1O1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2F3JztcbiAgICBzcmM6IHVybCgnLi4vLi4vLi4vZm9udHMvYXdfYmxhY2sud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vLi4vLi4vZm9udHMvYXdfYmxhY2sud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2F3JztcbiAgICBzcmM6IHVybCgnLi4vLi4vLi4vZm9udHMvYXdfbWVkaXVtLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uLy4uLy4uL2ZvbnRzL2F3X21lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59IiwiLyogTWl4aW5zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBNZWRpYSBRdWVyaWVzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kdGFibGV0LXdpZHRoOiA2NzBweDtcbiRkZXNrdG9wLXdpZHRoOiA5NjBweDtcbiRkZXNrdG9wLXhsLXdpZHRoOiAxNDAwcHg7XG5AbWl4aW4gbW9iaWxlIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyR0YWJsZXQtd2lkdGh9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiB0YWJsZXQge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JHRhYmxldC13aWR0aH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIGRlc2t0b3Age1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGRlc2t0b3Atd2lkdGh9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBkZXNrdG9wLXhsIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRkZXNrdG9wLXhsLXdpZHRofSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4vKiBDb250YWluZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjb250YWluZXIoJHBhZGRpbmcsICRiZywgJGJvcmRlci1yYWRpdXMsICRib3JkZXIpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcgY2FsYygkcGFkZGluZyAvIDIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBib3JkZXI6ICRib3JkZXI7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gIH1cbn1cbi8qIEltYWdlIEFzcGVjdCBSYXRpb1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIDxmaWd1cmU+IC8vIEFwcGx5IGltYWdlIHJhdGlvIHRvIGZpZ3VyZVxuICAgPGltZyBzcmM9XCJcIi8+XG4gPC9maWd1cmU+XG4qL1xuQG1peGluIGltZy1yYXRpbygkd2lkdGgsICRwLXRvcCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIHBhZGRpbmctdG9wOiAkcC10b3A7XG5cbiAgPiBpbWcge1xuICAgIEBpbmNsdWRlIGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuLyogQWJzb2x1dGVcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBhYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLyogR3JhZGllbnQgRmFkZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGdyYWRpZW50LWZhZGUoJGgsJHMsJGwsJGRpcmVjdGlvbikge1xuICBAaWYgJGRpcmVjdGlvbiA9PSBib3R0b20ge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIGhzbGEoJGgsJHMsJGwsMSkgMCUsaHNsYSgkaCwkcywkbCwwKSAxMDAlKTtcbiAgfSBAZWxzZVxuICBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCBoc2xhKCRoLCRzLCRsLDEpIDAlLGhzbGEoJGgsJHMsJGwsMCkgMTAwJSk7XG4gIH0gQGVsc2VcbiAgaWYgJGRpcmVjdGlvbiA9PSB0b3Age1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIGhzbGEoJGgsJHMsJGwsMSkgMCUsaHNsYSgkaCwkcywkbCwwKSAxMDAlKTtcbiAgfSBAZWxzZVxuICBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGhzbGEoJGgsJHMsJGwsMSkgMCUsaHNsYSgkaCwkcywkbCwwKSAxMDAlKTtcbiAgfVxufVxuLyogQmFkZ2UgLyBUYWcgbGFiZWxcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiB0YWctbGFiZWwoJGJnLCAkc2l6ZSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gIEBpZiAkc2l6ZSA9PSBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gIH1cbiAgQGlmICRzaXplID09IG1lZGl1bSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICB9XG4gIEBpZiAkc2l6ZSA9PSBsYXJnZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gIH1cbn1cbi8qIEljb25zXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4laWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMWVtLzEgJ2Jhc2VpY29uJztcbiAgc3BlYWs6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5AbWl4aW4gaWNvbigkdHlwZSkge1xuICBAZXh0ZW5kICVpY29uO1xuICBjb250ZW50OiAkdHlwZTtcbn1cbi8qIENpcmNsZSBPYmplY3RcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjaXJjbGUtb2JqZWN0KCRkaWFtZXRlciwgJGJnLWNvbG9yLCAkZm9udC1zaXplKSB7XG4gIEBleHRlbmQgJWZsZXhib3gtYy1jO1xuICB3aWR0aDogJGRpYW1ldGVyO1xuICBoZWlnaHQ6ICRkaWFtZXRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAmOmhvdmVyLFxuICBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi8qIFRodW1ibmFpbCBDYXJkXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG48YXJ0aWNsZSBjbGFzcz1cInRodW1ibmFpbC1jYXJkXCI+XG4gIDxmaWd1cmU+XG4gICAgPGltZyBzcmM9XCJcIj5cbiAgPC9maWd1cmU+XG4gIDxkaXYgY2xhc3M9XCJjYXB0aW9uXCI+XG4gICAgPGg0PjwvaDQ+XG4gICAgPHA+PC9wPlxuICAgIDxhIGhyZWY9XCIjXCI+PC9hPlxuICA8L2Rpdj5cbjwvYXJ0aWNsZT5cbiAqL1xuQG1peGluIHRodW1ibmFpbC1jYXJkKCR0aHVtYlcsICR0aHVtYkgsICRjYXB0aW9uLXBvcywgJHBhZGRpbmcpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBAaWYgJGNhcHRpb24tcG9zID09IGJvdHRvbSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgLmNhcHRpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgPiBmaWd1cmUge1xuICAgIEBpbmNsdWRlIGltZy1yYXRpbygkdGh1bWJXLCAkdGh1bWJIKTtcbiAgfVxuXG4gIC5jYXB0aW9uIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxufVxuLyogTGluZSBCb3JkZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBsaW5lLWJvcmRlcigkd2lkdGgsICRjb2xvciwgJGRpcmVjdGlvbiwgJHNwYWNlKSB7XG4gIGJvcmRlci0jeyRkaXJlY3Rpb259OiAkd2lkdGggc29saWQgJGNvbG9yO1xuICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06ICRzcGFjZTtcbiAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICRzcGFjZTtcbn1cbi8qIENoaWxkIE1hcmdpblxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGNoaWxkLW1hcmdpbigkZGlyZWN0aW9uLCAkc3BhY2UsICRzZWxlY3RvcjogbnVsbCkge1xuICBAaWYgJHNlbGVjdG9yID09IG51bGwge1xuICAgID4gKiB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogJHNwYWNlO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAkc3BhY2U7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogQ2xlYXIgRml4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgKnpvb206IDE7XG5cbiAgJjo6YWZ0ZXIsXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbiVjbGVhciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCIvKiBGdW5jdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiIsIi8qIFBsYWNlaG9sZGVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogV2hpdGUgR3JhZGllbnRcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ld2hpdGUtZ3JhZGllbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogMTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDAsMCUsMTAwJSx0b3ApO1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gIH1cbn1cbi8qIFRyYW5zaXRpb25zXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ldHJhbnNpdGlvbi1kdXJhdGlvbiB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLyogRmxleGJveFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWZsZXhib3gtYy1jIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRGVmYXVsdCBWYXJpYWJsZXNcbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuJHNsaWNrLWZvbnQtcGF0aDogXCIuL2pzL3BsdWdpbnMvc2xpY2svZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL2pzL3BsdWdpbnMvc2xpY2svXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6ICNkZGQgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlxcMjE5MFwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlxcMjE5MlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICB9XG59XG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICB9XG59XG4vKiBTbGlkZXIgKi9cbi5zbGljay1saXN0IHtcbiAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZiBzbGljay1pbWFnZS11cmwoXCJhamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gIH1cbn1cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cbn1cbi8qIEFycm93cyAqL1xuLnNsaWNrLW5leHQsXG4uc2xpY2stcHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBmb250LXNpemU6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgei1pbmRleDogMjtcblxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogMTVweDtcblxuICBbZGlyPVwicnRsXCJdICYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0zNXB4O1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcblxuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgfVxuICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IDE1cHg7XG5cbiAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG5cbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgIH1cbiAgfVxufVxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMjVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcblxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBAZXh0ZW5kICV0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRmVhdGhlcmxpZ2h0IOKAkyB1bHRyYSBzbGltIGpRdWVyeSBsaWdodGJveFxuICogVmVyc2lvbiAxLjcuMTMgLSBodHRwOi8vbm9lbGJvc3MuZ2l0aHViLmlvL2ZlYXRoZXJsaWdodC9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxOCwgTm/Dq2wgUmFvdWwgQm9zc2FydCAoaHR0cDovL3d3dy5ub2VsYm9zcy5jb20pXG4gKiBNSVQgTGljZW5zZWQuXG4qKi9cblxuaHRtbC53aXRoLWZlYXRoZXJsaWdodCB7XG5cdC8qIGRpc2FibGUgZ2xvYmFsIHNjcm9sbGluZyB3aGVuIGZlYXRoZXJsaWdodHMgYXJlIHZpc2libGUgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZlYXRoZXJsaWdodCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0LyogZGltZW5zaW9uczogc3Bhbm5pbmcgdGhlIGJhY2tncm91bmQgZnJvbSBlZGdlIHRvIGVkZ2UgKi9cblx0cG9zaXRpb246Zml4ZWQ7XG5cdHRvcDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgbGVmdDogMDtcblx0ei1pbmRleDogMjE0NzQ4MzY0NzsgLyogei1pbmRleCBuZWVkcyB0byBiZSA+PSBlbGVtZW50cyBvbiB0aGUgc2l0ZS4gKi9cblxuXHQvKiBwb3NpdGlvbjogY2VudGVyaW5nIGNvbnRlbnQgKi9cblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC8qIGluc3VyZXMgdGhhdCB0aGUgOjpiZWZvcmUgcHNldWRvIGVsZW1lbnQgZG9lc24ndCBmb3JjZSB3cmFwIHdpdGggZml4ZWQgd2lkdGggY29udGVudDsgKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHQvKiBzdHlsaW5nICovXG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YmFja2dyb3VuZDogIzMzMztcblx0LyogSUU4IFwiaGFja1wiIGZvciBuZXN0ZWQgZmVhdGhlcmxpZ2h0cyAqL1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4vKiBzdXBwb3J0IGZvciBuZXN0ZWQgZmVhdGhlcmxpZ2h0cy4gRG9lcyBub3Qgd29yayBpbiBJRTggKHVzZSBKUyB0byBmaXgpICovXG4uZmVhdGhlcmxpZ2h0Omxhc3Qtb2YtdHlwZSB7XG5cdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cblxuLmZlYXRoZXJsaWdodDpiZWZvcmUge1xuXHQvKiBwb3NpdGlvbjogdHJpY2sgdG8gY2VudGVyIGNvbnRlbnQgdmVydGljYWxseSAqL1xuXHRjb250ZW50OiAnJztcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5mZWF0aGVybGlnaHQgLmZlYXRoZXJsaWdodC1jb250ZW50IHtcblx0LyogbWFrZSBjb250ZW50IGNvbnRhaW5lciBmb3IgcG9zaXRpb25lZCBlbGVtZW50cyAoY2xvc2UgYnV0dG9uKSAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0LyogcG9zaXRpb246IGNlbnRlcmluZyB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbCAqL1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0LyogZGltZW5zaW9uczogY3V0IG9mZiBpbWFnZXMgKi9cblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBhZGRpbmc6IDI1cHggMjVweCAwO1xuXHRib3JkZXItYm90dG9tOiAyNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG5cdC8qIGRpbWVuc2lvbnM6IGhhbmRsaW5nIGxhcmdlIGNvbnRlbnQgKi9cblx0bWFyZ2luLWxlZnQ6IDUlO1xuXHRtYXJnaW4tcmlnaHQ6IDUlO1xuXHRtYXgtaGVpZ2h0OiA5NSU7XG5cblx0Lyogc3R5bGluZyAqL1xuXHQvLyBiYWNrZ3JvdW5kOiAjZmZmO1xuXHRjdXJzb3I6IGF1dG87XG5cblx0LyogcmVzZXQgd2hpdGUtc3BhY2Ugd3JhcHBpbmcgKi9cblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLyogY29udGFpbnMgdGhlIGNvbnRlbnQgKi9cbi5mZWF0aGVybGlnaHQgLmZlYXRoZXJsaWdodC1pbm5lciB7XG5cdC8qIG1ha2Ugc3VyZSBpdHMgdmlzaWJsZSAqL1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLyogZG9uJ3Qgc2hvdyB0aGVzZSB0aG91Z2ggKi9cbi5mZWF0aGVybGlnaHQgc2NyaXB0LmZlYXRoZXJsaWdodC1pbm5lcixcbi5mZWF0aGVybGlnaHQgbGluay5mZWF0aGVybGlnaHQtaW5uZXIsXG4uZmVhdGhlcmxpZ2h0IHN0eWxlLmZlYXRoZXJsaWdodC1pbm5lciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mZWF0aGVybGlnaHQgLmZlYXRoZXJsaWdodC1jbG9zZS1pY29uIHtcblx0LyogcG9zaXRpb246IGNlbnRlcmluZyB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbCAqL1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDk5OTk7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cblx0LyogZGltZW5zaW9uczogMjVweCB4IDI1cHggKi9cblx0bGluZS1oZWlnaHQ6IDI1cHg7XG5cdHdpZHRoOiAyNXB4O1xuXHRoZWlnaHQ6IDI1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblxuXHQvKiBzdHlsaW5nICovXG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG5cdGJhY2tncm91bmQ6ICNmZmY7IC8qIFNldCB0aGUgYmFja2dyb3VuZCBpbiBjYXNlIGl0IG92ZXJsYXBzIHRoZSBjb250ZW50ICovXG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcblx0Y29sb3I6ICMwMDA7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLyogU2VlIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTYwNzczNDEvaG93LXRvLXJlc2V0LWFsbC1kZWZhdWx0LXN0eWxlcy1vZi10aGUtaHRtbDUtYnV0dG9uLWVsZW1lbnQgKi9cbi5mZWF0aGVybGlnaHQgLmZlYXRoZXJsaWdodC1jbG9zZS1pY29uOjotbW96LWZvY3VzLWlubmVyIHtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtaW1hZ2Uge1xuXHQvKiBzdHlsaW5nICovXG5cdHdpZHRoOiAxMDAlO1xufVxuXG5cbi5mZWF0aGVybGlnaHQtaWZyYW1lIC5mZWF0aGVybGlnaHQtY29udGVudCB7XG5cdC8qIHJlbW92ZWQgdGhlIGJvcmRlciBmb3IgaW1hZ2UgY3JvcGluZyBzaW5jZSBpZnJhbWUgaXMgZWRnZSB0byBlZGdlICovXG5cdGJvcmRlci1ib3R0b206IDA7XG5cdHBhZGRpbmc6IDA7XG5cdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLmZlYXRoZXJsaWdodCBpZnJhbWUge1xuXHQvKiBzdHlsaW5nICovXG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLmZlYXRoZXJsaWdodCAqIHsgLyogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2VsYm9zcy9mZWF0aGVybGlnaHQvaXNzdWVzLzQyICovXG5cdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBoYW5kbGluZyBwaG9uZXMgYW5kIHNtYWxsIHNjcmVlbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cdC5mZWF0aGVybGlnaHQgLmZlYXRoZXJsaWdodC1jb250ZW50IHtcblx0XHQvKiBkaW1lbnNpb25zOiBtYXhpbWl6ZSBsaWdodGJveCB3aXRoIGZvciBzbWFsbCBzY3JlZW5zICovXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdG1heC1oZWlnaHQ6IDk4JTtcblxuXHRcdHBhZGRpbmc6IDEwcHggMTBweCAwO1xuXHRcdGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdH1cbn1cblxuLyogaGlkZSBub24gZmVhdGhlcmxpZ2h0IGl0ZW1zIHdoZW4gcHJpbnRpbmcgKi9cbkBtZWRpYSBwcmludCB7XG5cdGh0bWwud2l0aC1mZWF0aGVybGlnaHQgPiAqID4gOm5vdCguZmVhdGhlcmxpZ2h0KSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuYmFzZWljb24gV2ViIEZvbnRcbkdlbmVyYXRlZCB1c2luZyBudWNsZW9hcHAuY29tXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2Jhc2VpY29uJztcbiAgc3JjOiB1cmwoJyN7JGljb24tZm9udC1wYXRofS9iYXNlaWNvbi5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGljb24tZm9udC1wYXRofS9iYXNlaWNvbi5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcjeyRpY29uLWZvbnQtcGF0aH0vYmFzZWljb24ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRpY29uLWZvbnQtcGF0aH0vYmFzZWljb24ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnI3skaWNvbi1mb250LXBhdGh9L2Jhc2VpY29uLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJyN7JGljb24tZm9udC1wYXRofS9iYXNlaWNvbi5zdmcnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdGJhc2UgY2xhc3MgZGVmaW5pdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxZW0vMSAnYmFzZWljb24nO1xuICBzcGVhazogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgY2hhbmdlIGljb24gc2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIHJlbGF0aXZlIHVuaXRzICovXG4uaWNvbi1zbSB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG59XG4uaWNvbi1sZyB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG4vKiBhYnNvbHV0ZSB1bml0cyAqL1xuLmljb24tMTYge1xuICBmb250LXNpemU6IDE2cHg7XG59XG4uaWNvbi0zMiB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGFkZCBhIHNxdWFyZS9jaXJjbGUgYmFja2dyb3VuZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uaWNvbi1iZy1zcXVhcmUsXG4uaWNvbi1iZy1jaXJjbGUge1xuICBwYWRkaW5nOiAwLjM1ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJhY2tncm91bmQtY29sb3I7XG59XG5cbi5pY29uLWJnLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgdXNlIGljb25zIGFzIGxpc3QgaXRlbSBtYXJrZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmljb24tdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cblxuICA+IGxpID4gLmljb24ge1xuICAgIG1hcmdpbi1yaWdodDogJGljb24tbGktbWFyZ2luLXJpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIHNwaW5uaW5nIGljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmljb24taXMtc3Bpbm5pbmcge1xuICAtd2Via2l0LWFuaW1hdGlvbjogaWNvbi1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgLW1vei1hbmltYXRpb246IGljb24tc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogaWNvbi1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGljb24tc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGljb24tc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBpY29uLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICByb3RhdGVkL2ZsaXBwZWQgaWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uaWNvbi1yb3RhdGUtOTAgIHtcblx0QGluY2x1ZGUgaWNvbi1yb3RhdGUoOTBkZWcsIDEpO1xufVxuXG4uaWNvbi1yb3RhdGUtMTgwIHtcblx0QGluY2x1ZGUgaWNvbi1yb3RhdGUoMTgwZGVnLCAyKTtcbn1cblxuLmljb24tcm90YXRlLTI3MCB7XG5cdEBpbmNsdWRlIGljb24tcm90YXRlKDI3MGRlZywgMyk7XG59XG5cbi5pY29uLWZsaXAteSB7XG5cdEBpbmNsdWRlIGljb24tZmxpcCgtMSwgMSwgMCk7XG59XG4uaWNvbi1mbGlwLXgge1xuXHRAaW5jbHVkZSBpY29uLWZsaXAoMSwgLTEsIDIpO1xufVxuXG5AaW1wb3J0IFwiaWNvbnNcIjtcbiIsIiRpY29uLWZvbnQtcGF0aDogICAgICAgIFwiZm9udHNcIiAhZGVmYXVsdDtcbiRpY29uLWJhY2tncm91bmQtY29sb3I6ICNlZWUgIWRlZmF1bHQ7XG4kaWNvbi1saS1tYXJnaW4tcmlnaHQ6ICAwLjRlbSAhZGVmYXVsdDtcbiIsIkBtaXhpbiBpY29uLXJvdGF0ZSgkZGVncmVlcywgJHJvdGF0aW9uKSB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cblxuQG1peGluIGljb24tZmxpcCgkaG9yaXosICR2ZXJ0LCAkcm90YXRpb24pIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0jeyRyb3RhdGlvbn0pO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHRpY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AZnVuY3Rpb24gdW5pY29kZSgkc3RyKSB7XG4gIEByZXR1cm4gdW5xdW90ZShcIlxcXCJcXFxcI3skc3RyfVxcXCJcIik7XG59XG5cbiRpY29uLWFjY291bnQ6IHVuaWNvZGUoZWEwMSk7XG4kaWNvbi1iYWctMDk6IHVuaWNvZGUoZWEwMik7XG4kaWNvbi1jaGVja2VkLXN5bWJvbDogdW5pY29kZShlYTAzKTtcbiRpY29uLWZhY2Vib29rLTE6IHVuaWNvZGUoZWEwNCk7XG4kaWNvbi1mYWNlYm9vay1jaXJjbGU6IHVuaWNvZGUoZWEwNSk7XG4kaWNvbi1mYWNlYm9vazogdW5pY29kZShlYTA2KTtcbiRpY29uLWZheDogdW5pY29kZShlYTA3KTtcbiRpY29uLWljX2FjY2Vzc190aW1lXzQ4cHg6IHVuaWNvZGUoZWEwOCk7XG4kaWNvbi1pY19hcnJvd19iYWNrXzM2cHg6IHVuaWNvZGUoZWEwOSk7XG4kaWNvbi1pY19jbG9zZV80OHB4OiB1bmljb2RlKGVhMGEpO1xuJGljb24taWNfbWFpbF9vdXRsaW5lXzQ4cHg6IHVuaWNvZGUoZWEwYik7XG4kaWNvbi1pbnN0YWdyYW06IHVuaWNvZGUoZWEwYyk7XG4kaWNvbi1sb2NrOiB1bmljb2RlKGVhMGQpO1xuJGljb24tcGhvbmUtMi0yOiB1bmljb2RlKGVhMGUpO1xuJGljb24tcGhvbmUtMjogdW5pY29kZShlYTBmKTtcbiRpY29uLXBpbjogdW5pY29kZShlYTEwKTtcbiRpY29uLXBsYWNlaG9sZGVyOiB1bmljb2RlKGVhMTEpO1xuJGljb24tcGx1czogdW5pY29kZShlYTEyKTtcbiRpY29uLXNob3BwaW5nLWNhcnQ6IHVuaWNvZGUoZWExMyk7XG4kaWNvbi1zaW5nbGUtMDE6IHVuaWNvZGUoZWExNCk7XG4kaWNvbi1zdGFyOiB1bmljb2RlKGVhMTUpO1xuJGljb24td2hhdHNhcHAtbG9nbzogdW5pY29kZShlYTE2KTtcbiRpY29uLXlvdXR1YmU6IHVuaWNvZGUoZWExNyk7XG4kaWNvbi16b29tLTI6IHVuaWNvZGUoZWExOCk7XG5cbi5pY29uLWFjY291bnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWFjY291bnQ7XG59XG5cbi5pY29uLWJhZy0wOTo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tYmFnLTA5O1xufVxuXG4uaWNvbi1jaGVja2VkLXN5bWJvbDo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tY2hlY2tlZC1zeW1ib2w7XG59XG5cbi5pY29uLWZhY2Vib29rLTE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWZhY2Vib29rLTE7XG59XG5cbi5pY29uLWZhY2Vib29rLWNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tZmFjZWJvb2stY2lyY2xlO1xufVxuXG4uaWNvbi1mYWNlYm9vazo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tZmFjZWJvb2s7XG59XG5cbi5pY29uLWZheDo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tZmF4O1xufVxuXG4uaWNvbi1pY19hY2Nlc3NfdGltZV80OHB4OjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1pY19hY2Nlc3NfdGltZV80OHB4O1xufVxuXG4uaWNvbi1pY19hcnJvd19iYWNrXzM2cHg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWljX2Fycm93X2JhY2tfMzZweDtcbn1cblxuLmljb24taWNfY2xvc2VfNDhweDo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24taWNfY2xvc2VfNDhweDtcbn1cblxuLmljb24taWNfbWFpbF9vdXRsaW5lXzQ4cHg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWljX21haWxfb3V0bGluZV80OHB4O1xufVxuXG4uaWNvbi1pbnN0YWdyYW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWluc3RhZ3JhbTtcbn1cblxuLmljb24tbG9jazo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tbG9jaztcbn1cblxuLmljb24tcGhvbmUtMi0yOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1waG9uZS0yLTI7XG59XG5cbi5pY29uLXBob25lLTI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLXBob25lLTI7XG59XG5cbi5pY29uLXBpbjo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tcGluO1xufVxuXG4uaWNvbi1wbGFjZWhvbGRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tcGxhY2Vob2xkZXI7XG59XG5cbi5pY29uLXBsdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLXBsdXM7XG59XG5cbi5pY29uLXNob3BwaW5nLWNhcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLXNob3BwaW5nLWNhcnQ7XG59XG5cbi5pY29uLXNpbmdsZS0wMTo6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tc2luZ2xlLTAxO1xufVxuXG4uaWNvbi1zdGFyOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1zdGFyO1xufVxuXG4uaWNvbi13aGF0c2FwcC1sb2dvOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi13aGF0c2FwcC1sb2dvO1xufVxuXG4uaWNvbi15b3V0dWJlOjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi15b3V0dWJlO1xufVxuXG4uaWNvbi16b29tLTI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLXpvb20tMjtcbn1cblxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG59XG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovXG59XG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG59XG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG59XG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0sXG5idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyxcbmJ1dHRvbjotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi9cbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG59XG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBCb3ggU2l6aW5nXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6OmFmdGVyLFxuKjo6YmVmb3JlIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cbiIsIi8qIFR5cG9ncmFwaGljYWwgRWxlbWVudHNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwge1xuICBmb250LXNpemU6IDU2JTtcbiAgLyogMTBweCBicm93c2VyIGRlZmF1bHQgKi9cbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGZvbnQtc2l6ZTogNjIuNSU7XG4gIH1cbn1cblxuLyogQ2hyb21lIGZpeCAqL1xuYm9keT5kaXYge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogJGZvbnQtbm9ybTtcbiAgbGluZS1oZWlnaHQ6IDEuNjI1O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuYnV0dG9uLFxuaW5wdXQ6Zm9jdXMsXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbnRleHRhcmVhOmZvY3VzLFxuLmJ1dHRvbixcbi5nYWxsZXJ5IGltZyB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG5vbCxcbnVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5saSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuaHIge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAzMHB4IDA7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbn1cblxuYmxvY2txdW90ZSxcbmNpdGUsXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xuICBjb2xvcjogIzMzMztcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMzBweDtcbn1cblxuYmxvY2txdW90ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMUNcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBoZWlnaHQ6IDA7XG4gIGxlZnQ6IC0yMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTEwcHg7XG59XG5cbi8qIEhlYWRpbmdzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgY29sb3I6ICRtYWluLWNvbG9yO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDAgMCAycmVtO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjNweDtcbiAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250O1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMy42cmVtO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMnB4O1xuICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQ7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udDtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAxMCUpO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDIwJSk7XG4gIH1cbn1cblxubGFiZWwge1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgY29sb3I6IGhzbCgwLCAwJSwgNTAlKTtcbn1cblxuLyogVGV4dFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xucCB7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4xO1xuICBsaW5lLWhlaWdodDogJGJhc2UtZm9udC1zaXplICsgMC44O1xuICBtYXJnaW46IDAgMCAxNXB4O1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYueC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuXG4gICYuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cblxuICAmLmxhcmdlIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSArIDAuMjtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG5cbi8qIERhcmsgdGhlbWVcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVkYXJrLXRoZW1lIHtcblxuICBhLFxuICBwIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgaHIge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4vLyAuZGFyay10aGVtZSB7XG4vLyAgIEBleHRlbmQgJWRhcmstdGhlbWU7XG4vLyB9XG5cbiVibG9nLXR5cG9ncmFwaHkge1xuXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICB9XG5cbiAgbGksXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG5cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgKyAwLjE7XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIEBleHRlbmQgJWl0ZW0tbGlzdDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICB9XG4gIH1cblxuICBvbCB7XG4gICAgQGV4dGVuZCAlaXRlbS1saXN0O1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgIH1cbiAgfVxufSIsIi8qIERlZmF1bHRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBPYmplY3RzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud3AtY2FwdGlvbixcbmVtYmVkLFxuaWZyYW1lLFxuaW1nLFxub2JqZWN0LFxudmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuLyogR2FsbGVyeVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmdhbGxlcnkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4vKiBUYWJsZXNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxudGJvZHkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbn1cblxudGQsXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbnRkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG4gIHBhZGRpbmc6IDZweDtcbn1cblxudGgge1xuICBmb250LXdlaWdodDogJGZvbnQtbm9ybTtcbiAgcGFkZGluZzogMCA2cHg7XG59XG4vKiBTY3JlZW4gUmVhZGVyIFRleHRcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zY3JlZW4tcmVhZGVyLXNob3J0Y3V0LFxuLnNjcmVlbi1yZWFkZXItdGV4dCxcbi5zY3JlZW4tcmVhZGVyLXRleHQgc3BhbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uc2NyZWVuLXJlYWRlci1zaG9ydGN1dDpmb2N1cyxcbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzMzMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwO1xuICAvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xufVxuXG4ubW9yZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLyogSW1hZ2UgcmVsZWFzZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmltYWdlLXJlbGVhc2Uge1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gIG1hcmdpbi1yaWdodDogLTUwdnc7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKiBWZXJ0aWNhbCBhbGlnbiBjb2x1bW4gb2JqZWN0c1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnZlcnRpY2FsLWNlbnRlciB7XG4gIC53cC1ibG9jay1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4iLCIvKiBBbmltYXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4lYW5pbWF0aW9uLWJhc2ljLWhpZGUge1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgb3BhY2l0eTogMDtcbn1cbi8qIGZhZGUgaW4gdG9wICovXG4uaGlkZGVuIHtcbiAgQGV4dGVuZCAlYW5pbWF0aW9uLWJhc2ljLWhpZGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbn1cblxuLnNob3duIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG59XG4vKiBmYWRlIGluIHJpZ2h0ICovXG4uZmFkZS1yaWdodC1iZWZvcmUge1xuICBAZXh0ZW5kICVhbmltYXRpb24tYmFzaWMtaGlkZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcbn1cblxuLmZhZGUtcmlnaHQge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbn1cbi8qIGZhZGUgaW4gbGVmdCAqL1xuLmZhZGUtbGVmdC1iZWZvcmUge1xuICBAZXh0ZW5kICVhbmltYXRpb24tYmFzaWMtaGlkZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xufVxuXG4uZmFkZS1sZWZ0IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG59XG4vKiBmYWRlIGluIHNjYWxlICovXG4uZmFkZS1zY2FsZS1iZWZvcmUge1xuICBAZXh0ZW5kICVhbmltYXRpb24tYmFzaWMtaGlkZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSguOSk7XG59XG5cbi5mYWRlLXNjYWxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbiIsIi8qIEdyaWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENvbHVtbiBNaXhpblxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGNvbHVtbnMoJHNwYWNlLCAkY29sczogMiwgJG1vYmlsZS1jb2w6IDEpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICA+KiB7XG4gICAgQGlmICRtb2JpbGUtY29sID09MSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcbiAgICB9XG5cbiAgICBAaWYgJG1vYmlsZS1jb2wgPT0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gKCN7JHNwYWNlfSAvIDIgKiAoI3skbW9iaWxlLWNvbH0gLSAxKSkpIC8gI3skbW9iaWxlLWNvbH0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCRzcGFjZSAvIDIpO1xuXG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCRzcGFjZSAvIDIpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAtICgjeyRzcGFjZX0gKiAoI3skY29sc30gLSAxKSkpIC8gI3skY29sc30pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2U7XG5cbiAgICAgICY6bnRoLWNoaWxkKCN7JGNvbHN9bikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiVjb2wtMSB7XG4gIHBhZGRpbmc6IDAgNSU7XG5cbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4uY29scy0yIHtcbiAgQGluY2x1ZGUgY29sdW1ucygzMHB4LCAyKTtcbn1cblxuLmNvbHMtMyB7XG4gIEBpbmNsdWRlIGNvbHVtbnMoMzBweCwgMyk7XG59XG5cbi8qIENvbHVtbiBMYXlvdXRzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gY29sdW1uLWxheW91dCgkY29sLTEsICRjb2wtMiwgJGNvbC0zOiBudWxsKSB7XG4gIEBpZiAkY29sLTMgPT1udWxsIHtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgPio6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgZmxleDogJGNvbC0xIDEgMDtcbiAgICAgIH1cblxuICAgICAgPio6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgZmxleDogJGNvbC0yIDEgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgID4qOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIGZsZXg6ICRjb2wtMSAxIDA7XG4gICAgICB9XG5cbiAgICAgID4qOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGZsZXg6ICRjb2wtMiAxIDA7XG4gICAgICB9XG5cbiAgICAgID4qOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGZsZXg6ICRjb2wtMyAxIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50d28tb25lIHtcbiAgQGluY2x1ZGUgY29sdW1uLWxheW91dCgyLCAxKTtcbn1cblxuLyogV3JhcHBlclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNTBweCA1JTtcblxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiA4MHB4IDEwJTtcbiAgfVxuXG4gICYtc21hbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDE1cHggNSU7XG5cbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMTAlO1xuICAgIH1cbiAgfVxuXG4gICYtbGFyZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDgwcHggNSU7XG5cbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHBhZGRpbmc6IDEyMHB4IDEwJTtcbiAgICB9XG4gIH1cblxuICAmLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDUwcHggMDtcblxuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgcGFkZGluZzogODBweCAwO1xuICAgIH1cbiAgfVxufVxuXG5zZWN0aW9uLndyYXBwZXIge1xuICBAZXh0ZW5kICV3cmFwcGVyO1xuXG4gICYtc21hbGwge1xuICAgIEBleHRlbmQgJXdyYXBwZXItc21hbGw7XG4gIH1cblxuICAmLWxhcmdlIHtcbiAgICBAZXh0ZW5kICV3cmFwcGVyLWxhcmdlO1xuICB9XG5cbiAgJi1mdWxsIHtcbiAgICBAZXh0ZW5kICV3cmFwcGVyLWZ1bGw7XG4gIH1cbn0iLCIvKiBHZW5lc2lzIFN0cnVjdHVyZSBhbmQgTGF5b3V0XG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNpdGUgQ29udGFpbmVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2l0ZS1jb250YWluZXIge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxubWFpbi5jb250ZW50IHtcbiAgZmxleDogMSAxIDEwMCU7XG59XG5cbi5zaXRlLWhlYWRlcisqIHtcbiAgbWFyZ2luLXRvcDogNjNweDtcbn1cblxuLyogQ29tbW9uIENsYXNzZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogR2VuZXNpc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFmdGVyLWVudHJ5LFxuLmFyY2hpdmUtZGVzY3JpcHRpb24sXG4uYXV0aG9yLWJveCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5hZnRlci1lbnRyeSB7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHBhZGRpbmc6IDIwcHggMzBweDtcbn1cblxuLmFmdGVyLWVudHJ5IC53aWRnZXQ6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJyZWFkY3J1bWIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5hcmNoaXZlLWRlc2NyaXB0aW9uIHA6bGFzdC1jaGlsZCxcbi5hdXRob3ItYm94IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFNlYXJjaCBGb3JtXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2VhcmNoLWZvcm0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZW50cnktY29udGVudCAuc2VhcmNoLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB3aWR0aDogNTAlO1xufVxuXG4ucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4uc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi53aWRnZXRfc2VhcmNoIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLyogVGl0bGVzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZW50cnktdGl0bGUgYSxcbi5zaWRlYmFyIC53aWRnZXQtdGl0bGUgYSB7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi53aWRnZXQtdGl0bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLyogV29yZFByZXNzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuYS5hbGlnbmNlbnRlciBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbmEuYWxpZ25ub25lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5hLmFsaWdubGVmdCxcbmEuYWxpZ25ub25lLFxuYS5hbGlnbnJpZ2h0IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcuYWxpZ25ub25lLFxuLmFsaWdubm9uZSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbmEuYWxpZ25sZWZ0LFxuaW1nLmFsaWdubGVmdCxcbi53cC1jYXB0aW9uLmFsaWdubGVmdCB7XG4gIG1hcmdpbjogMCAyMHB4IDIwcHggMDtcbn1cblxuYS5hbGlnbnJpZ2h0LFxuaW1nLmFsaWducmlnaHQsXG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgbWFyZ2luOiAwIDAgMjBweCAyMHB4O1xufVxuXG4uZ2FsbGVyeS1jYXB0aW9uLFxuLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5lbnRyeS1jb250ZW50IHAud3AtY2FwdGlvbi10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVudHJ5LWNvbnRlbnQgLndwLWF1ZGlvLXNob3J0Y29kZSxcbi5lbnRyeS1jb250ZW50IC53cC1wbGF5bGlzdCxcbi5lbnRyeS1jb250ZW50IC53cC12aWRlbyB7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG59IiwiLy8gLm1lbnUtaXRlbS0taGlnaGxpZ2h0XG4vKiBIZWFkZXIgQnV0dG9uc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWhlYWRlci1idXR0b25zIHtcbiAgQGluY2x1ZGUgY2lyY2xlLW9iamVjdCg0MHB4LCBoc2xhKDAsIDAlLCAwJSwgMCksIDE3cHgpO1xuICBjb2xvcjogaHNsKDAsIDAlLCA0MCUpO1xuICBmb250LXdlaWdodDogJGZvbnQtbm9ybTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRtYWluLWNvbG9yO1xuICB9XG59XG5cbi8qIFNraXAgTGlua3NcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5nZW5lc2lzLXNraXAtbGluayB7XG4gIG1hcmdpbjogMDtcblxuICAuc2tpcC1saW5rLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBsaSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDA7XG4gIH1cbn1cblxuLyogU2l0ZSBIZWFkZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBwYWRkaW5nOiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAjMEQyQjg4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgxMywgNDMsIDEzNiwgMSkgMCUsIHJnYmEoMjI3LCA2LCAxOSwgMSkgMTAwJSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICA+LndyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiBtaW4oOTAlLCAkZGVza3RvcC14bC13aWR0aCk7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcblxuICAgIC8qIFN0cnVjdHVyZSAqL1xuICAgID4qIHtcbiAgICAgICYucHJlLWhlYWRlciB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmLnRpdGxlLWFyZWEge1xuICAgICAgICAvLyBmbGV4OiAyIDEgMDtcblxuICAgICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhlYWRlci13aWRnZXQtYXJlYSB7XG4gICAgICAgIGZsZXg6IDEgMSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubWVudS10b2dnbGUge1xuICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogVGl0bGUgQXJlYVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnRpdGxlLWFyZWEge1xuICB3aWR0aDogMTEwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgb3JkZXI6IDI7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIG9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbi5zaXRlLWRlc2NyaXB0aW9uLFxuLndwLWN1c3RvbS1sb2dvIC5zaXRlLXRpdGxlIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi8qIFJlc3BvbnNpdmUgTWVudVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm1lbnUgLm1lbnUtaXRlbTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi5tZW51IC5tZW51LWl0ZW0+YTpmb2N1cyt1bC5zdWItbWVudSxcbi5tZW51IC5tZW51LWl0ZW0uc2ZIb3Zlcj51bC5zdWItbWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5nZW5lc2lzLXJlc3BvbnNpdmUtbWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICB9XG59XG5cbi8qIE1lbnUgVG9nZ2xlICYgU3ViIE1lbnUgVG9nZ2xlICovXG4ubWVudS10b2dnbGUsXG4uc3ViLW1lbnUtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgY29sb3I6ICRtYWluLWNvbG9yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgfVxufVxuXG4vKiBNZW51IFRvZ2dsZSAqL1xuLm1lbnUtdG9nZ2xlIHtcbiAgQGV4dGVuZCAlaGVhZGVyLWJ1dHRvbnM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgb3JkZXI6IDQ7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG5cbiAgJi5hY3RpdmF0ZWQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYzMzVcIjtcbiAgfVxufVxuXG4vKiBTdWIgTWVudSBUb2dnbGUgKi9cbi5zdWItbWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA1cHg7XG4gIHRvcDogMTVweDtcbiAgei1pbmRleDogMTAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgY29sb3I6ICRtYWluLWNvbG9yO1xuICB9XG5cbiAgJi5hY3RpdmF0ZWQ6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIGNvbG9yOiBsaWdodGVuKCRtYWluLWNvbG9yLCAxMCUpO1xuICB9XG59XG5cbi8qIEhlYWRlciBNZW51XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lbWFpbi1uYXYtaW50ZXJhY3Qge1xuICAmOm5vdCgubWVudS1pdGVtLS1oaWdobGlnaHQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwgMCUsIDk2JSk7XG4gICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJG1haW4tY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8qIEhlYWRlciBNZW51IFN0cnVjdHVyZSAqL1xuLm5hdi1wcmltYXJ5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDEwOXB4O1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHotaW5kZXg6IDk5O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC53cmFwIHtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLyogTWFpbiBIZWFkZXIgTWVudSAqL1xuLm1lbnUtcHJpbWFyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTAsIDI1MCwgMjUwLCAxKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvKiBHZW5lcmljIGxpIHN0eWxlKi9cbiAgLm1lbnUtaXRlbSB7XG4gICAgQGV4dGVuZCAlbWFpbi1tZW51LWl0ZW07XG4gIH1cblxuICAvKiBHZW5lcmljIG5hdiBsaW5rIHN0eWxlICovXG4gIGEge1xuICAgIEBleHRlbmQgJW1haW4tbWVudS1saW5rO1xuICB9XG5cbiAgLyogRmlyc3QgbGV2ZWwgbGkgKi9cbiAgPmxpIHtcbiAgICBAZXh0ZW5kICVtYWluLW1lbnUtaXRlbS1maXJzdDtcblxuICAgID5hIHtcbiAgICAgIEBleHRlbmQgJW1haW4tbWVudS1saW5rLWZpcnN0O1xuICAgIH1cbiAgfVxuXG4gIC8qIExldmVsIDIgTWVudSAqL1xuICAuc3ViLW1lbnUge1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjZmZmLCA2JSk7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGxlZnQ6IDk5OTlweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiAwIDAgM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7XG4gICAgfVxuXG4gICAgLyogU2Vjb25kIGxldmVsIGxpICovXG4gICAgLm1lbnUtaXRlbSB7XG4gICAgICBAZXh0ZW5kICVtYWluLW1lbnUtaXRlbS1zZWNvbmQ7XG5cbiAgICAgID5hIHtcbiAgICAgICAgQGV4dGVuZCAlbWFpbi1tZW51LWxpbmstc2Vjb25kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBTdHlsZXMgZm9yIE1haW4gTmF2aWdhdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lbWFpbi1tZW51LWl0ZW0ge1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLWZpcnN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLyogSWYgaGF2ZSBjaGlsZHJlbiAqL1xuICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpiZWZvcmUge1xuICAgICAgQGV4dGVuZCAldHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICRtYWluLWNvbG9yO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC8qIElmIEhpZ2hsaWdodGVkICovXG4gICAgJi5tZW51LWl0ZW0tLWhpZ2hsaWdodCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgID5hIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW4tY29sb3I7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKTtcblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zdWItbWVudS10b2dnbGU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG5cbiAgICAgIC5zdWItbWVudSB7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZTogMTBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgQGV4dGVuZCAlbWFpbi1uYXYtaW50ZXJhY3Q7XG4gICAgfVxuICB9XG5cbiAgJi1zZWNvbmQge1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuXG4gICAgICAgID5hIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4lbWFpbi1tZW51LWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250O1xuICBjb2xvcjogJGRhcmstY29sb3I7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4zO1xuXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgaSB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG4gIH1cblxuICAmLWZpcnN0IHtcbiAgICBwYWRkaW5nOiAxNnB4IDI0cHg7XG5cbiAgICBAaW5jbHVkZSBkZXNrdG9wIHt9XG4gIH1cblxuICAmLXNlY29uZCB7XG4gICAgcGFkZGluZzogMTRweCAxNXB4O1xuXG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW4tY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIEhlYWRlciBXaWRnZXQgQXJlYVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhlYWRlci13aWRnZXQtYXJlYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDE7XG4gIG9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIG9yZGVyOiAzO1xuICAgIG1hcmdpbjogMCA1JSAwIGF1dG87XG4gIH1cblxuICAubWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAud2lkZ2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVoZWFkZXItYnV0dG9ucztcbiAgfVxufVxuXG4vKiBQcmUgSGVhZGVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucHJlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIHBhZGRpbmc6IDNweCAzJTtcblxuICA+KiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGkge1xuICAgICAgbWFyZ2luOiAwIDNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGZsZXg6IDExIDEgMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgZmxleDogMiAxIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogJHJlZDtcbiAgfVxuXG4gIGEge1xuICAgIHNwYW4ge1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKiBTaWRlYmFyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2lkZWJhciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5zaWRlYmFyIC53aWRnZXQge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4uc2lkZWJhciBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiIsIi8qIEZvb3RlclxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBGb290ZXIgV2lkZ2V0c1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmZvb3Rlci13aWRnZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAkbWFpbi1jb2xvcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDYwcHggMDtcblxuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IC04OXB4O1xuICAgIGhlaWdodDogOTBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uL3N0YXRpYy9kaXZpZGVyLWJvb2suc3ZnJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC53cmFwIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHdpZHRoOiBtaW4oOTAlLCAkZGVza3RvcC14bC13aWR0aCk7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcblxuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgZ2FwOiA4cmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyIDFmciAxZnI7XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgQGluY2x1ZGUgbGluZS1ib3JkZXIoMXB4LCAkbWFpbi1jb2xvciwgXCJib3R0b21cIiwgMTVweCk7XG4gIH1cblxuICAud2lkZ2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgaDIge1xuICAgIGNvbG9yOiAkb2ZmLXdoaXRlO1xuICB9XG59XG5cbi5mb290ZXItd2lkZ2V0LWFyZWEge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gIHAge1xuICAgIEBleHRlbmQgc21hbGw7XG4gIH1cblxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cblxuLmZvb3Rlci13aWRnZXRzIC5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBnYXA6IDAuNXJlbTtcblxuICBAaW5jbHVkZSBtb2JpbGUge31cblxuICBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDNweCAwO1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjM7XG4gICAgICBjb2xvcjogJG9mZi13aGl0ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZm9vdGVyLXdpZGdldHMtMSB7XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDAgMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci13aWRnZXQtYXJlYSB1bFtpZCo9XCJzb2NpYWxcIl0ge1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBnYXA6IDFyZW07XG5cbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIGxpIGEge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3ItNzAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi50ZXh0d2lkZ2V0PnAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZvb3Rlci13aWRnZXQtYXJlYTpsYXN0LWNoaWxkLFxuLmZvb3Rlci13aWRnZXRzIC53aWRnZXQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNtZW51LXNvY2lhbC1tZWRpYS1tZW51IHtcbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAubWVudS1pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5zaXRlLWhlYWRlciAmIHtcbiAgICAgIC8vIHRvIGhpZGUgZGlzcGxheSBmcm9tIGhlYWRlclxuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci13aWRnZXRzLTEge1xuICBwIHtcbiAgICBjb2xvcjogJG9mZi13aGl0ZTtcblxuICAgIGxhYmVsIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGNvbG9yOiAkb2ZmLXdoaXRlO1xuXG4gICAgICBpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIFNpdGUgRm9vdGVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2l0ZS1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgY29sb3I6ICRvZmYtd2hpdGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgPi53cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiBtaW4oOTAlLCAkZGVza3RvcC14bC13aWR0aCk7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMi41cmVtIDIuNXJlbSAwIDA7XG5cbiAgICA+cCB7XG4gICAgICBAZXh0ZW5kIC5zbWFsbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbn0iLCIvKiBHcmFwaGljc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2Vjb25kYXJ5IEdyYXBoaWNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVzZWNvbmRhcnktZ3JhcGhpYyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOmFmdGVyLFxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgb3BhY2l0eTogMC4xO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIHRvcDogMTBweDtcbiAgICBsZWZ0OiAxMHB4O1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjIwZGVnKTtcbiAgICBib3R0b206IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gIH1cbn1cbi8vIC5zZWNvbmRhcnktZ3JhcGhpYyB7XG4vLyAgIEBleHRlbmQgJXNlY29uZGFyeS1ncmFwaGljO1xuLy8gfVxuLyogQmFja2dyb3VuZCBQYXR0ZXJuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiViZy1wYXR0ZXJuIHtcbiAgYmFja2dyb3VuZDogJHBhdHRlcm4tMS1saW5rIHJlcGVhdCBjZW50ZXI7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIH1cbn1cbi8qIEdyYXBoaWMgRGl2aWRlciAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVncmFwaGljLWRpdmlkZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEyMHB4O1xuICBsZWZ0OiAwO1xuICAvLyBiYWNrZ3JvdW5kOiAkZ3JhcGhpYy1kaXZpZGVyLTEtbGluayBuby1yZXBlYXQgYm90dG9tIC8gMTAydncgYXV0bztcbn1cblxuJWdyYXBoaWMtZGl2aWRlci10b3Age1xuICBAZXh0ZW5kICVncmFwaGljLWRpdmlkZXI7XG4gIHRvcDogLTExOXB4O1xufVxuXG4lZ3JhcGhpYy1kaXZpZGVyLWJvdHRvbSB7XG4gIEBleHRlbmQgJWdyYXBoaWMtZGl2aWRlcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgYm90dG9tOiAtMTE5cHg7XG59XG4vKiBHcmFwaGljIERpdmlkZXIgMiAtIGJydXNoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVncmFwaGljLWRpdmlkZXItLWJydXNoIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBsZWZ0OiAwO1xuICAvLyBiYWNrZ3JvdW5kOiAkZ3JhcGhpYy1kaXZpZGVyLTItbGluayBuby1yZXBlYXQgYm90dG9tIC8gMTAydncgYXV0bztcbn1cblxuJWdyYXBoaWMtZGl2aWRlci0tYnJ1c2gtdG9wIHtcbiAgQGV4dGVuZCAlZ3JhcGhpYy1kaXZpZGVyLS1icnVzaDtcbiAgdG9wOiAtNDlweDtcbn1cblxuJWdyYXBoaWMtZGl2aWRlci0tYnJ1c2gtYm90dG9tIHtcbiAgQGV4dGVuZCAlZ3JhcGhpYy1kaXZpZGVyLS1icnVzaDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgYm90dG9tOiAtNDlweDtcbn1cbi8qIERpdmlkZXIgYWZ0ZXIgdGl0bGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWRpdmlkZXItYWZ0ZXItdGl0bGUge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbWFpbi1jb2xvcjtcbiAgICB3aWR0aDogNTBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbn1cbiIsIi8qIEJ1dHRvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBidG4tMVxuIGJ0bi0yXG4gYnRuLWljb24tdGV4dFxuICovXG4vKiBTdHJ1Y3R1cmUgb2YgYSBidXR0b24gKi9cbkBtaXhpbiBidG4oJHNpemUpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0b3A6IDA7XG4gIGJvcmRlcjogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgQGlmICRzaXplID09c21hbGwge1xuICAgIHBhZGRpbmc6IDAuNmVtIDAuOWVtO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC40O1xuICB9XG5cbiAgQGlmICRzaXplID09bWVkaXVtIHtcbiAgICBwYWRkaW5nOiAwLjllbSAxLjJlbTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMztcbiAgfVxuXG4gIEBpZiAkc2l6ZSA9PWxhcmdlIHtcbiAgICBwYWRkaW5nOiAxLjJlbTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4lYnRuIHtcbiAgQGluY2x1ZGUgYnRuKG1lZGl1bSk7XG5cbiAgJi1zbWFsbCB7XG4gICAgQGluY2x1ZGUgYnRuKHNtYWxsKTtcbiAgfVxuXG4gICYtbGFyZ2Uge1xuICAgIEBpbmNsdWRlIGJ0bihsYXJnZSk7XG4gIH1cbn1cblxuLmJ0biB7XG4gIEBleHRlbmQgJWJ0bjtcblxuICAmLmFsaWduLWMge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJi1zbWFsbCB7XG4gICAgQGV4dGVuZCAlYnRuLXNtYWxsO1xuICB9XG5cbiAgJi1sYXJnZSB7XG4gICAgQGV4dGVuZCAlYnRuLWxhcmdlO1xuICB9XG59XG5cbi8qIFNvbGlkIEJ1dHRvbiAtIGJ0bi0xXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBidG4tMSgkYmctY29sb3IsICRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLWNvbG9yLCAxNSUpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xuICB9XG59XG5cbiVidG4tMSB7XG4gIEBpbmNsdWRlIGJ0bi0xKGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKSwgI2ZmZik7XG5cbiAgJi1zZWNvbmRhcnkge1xuICAgIEBpbmNsdWRlIGJ0bi0xKGhzbCgwLCAwJSwgNjAlKSwgaHNsKDAsIDAlLCAxMDAlKSk7XG4gIH1cblxuICAmLWxpZ2h0IHtcbiAgICBAaW5jbHVkZSBidG4tMShoc2woMCwgMCUsIDkwJSksIGhzbCgwLCAwJSwgNTAlKSk7XG4gIH1cblxuICAmLXN1Y2Nlc3Mge1xuICAgIEBpbmNsdWRlIGJ0bi0xKCRncmVlbiwgaHNsKDAsIDAlLCAxMDAlKSk7XG4gIH1cblxuICAmLWluZm8ge1xuICAgIEBpbmNsdWRlIGJ0bi0xKCRibHVlLCBoc2woMCwgMCUsIDEwMCUpKTtcbiAgfVxuXG4gICYtd2FybmluZyB7XG4gICAgQGluY2x1ZGUgYnRuLTEoJHllbGxvdywgZGFya2VuKCR5ZWxsb3csIDQwJSkpO1xuICB9XG5cbiAgJi1kYW5nZXIge1xuICAgIEBpbmNsdWRlIGJ0bi0xKCRyZWQsIGhzbCgwLCAwJSwgMTAwJSkpO1xuICB9XG59XG5cbi5idG4tMSB7XG4gIEBleHRlbmQgJWJ0bi0xO1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDA7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA5MCU7XG4gICAgdG9wOiA1JTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9zdGF0aWMveC1pY29uLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDIwKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmLXNlY29uZGFyeSB7XG4gICAgQGV4dGVuZCAlYnRuLTEtc2Vjb25kYXJ5O1xuICB9XG5cbiAgJi1saWdodCB7XG4gICAgQGV4dGVuZCAlYnRuLTEtbGlnaHQ7XG4gIH1cblxuICAmLXN1Y2Nlc3Mge1xuICAgIEBleHRlbmQgJWJ0bi0xLXN1Y2Nlc3M7XG4gIH1cblxuICAmLWluZm8ge1xuICAgIEBleHRlbmQgJWJ0bi0xLWluZm87XG4gIH1cblxuICAmLXdhcm5pbmcge1xuICAgIEBleHRlbmQgJWJ0bi0xLXdhcm5pbmc7XG4gIH1cblxuICAmLWRhbmdlciB7XG4gICAgQGV4dGVuZCAlYnRuLTEtZGFuZ2VyO1xuICB9XG59XG5cbi8qIE91dGxpbmUgQnV0dG9uIC0gYnRuLTJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGJ0bi0yKCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyOiAycHggc29saWQgbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbiVidG4tMiB7XG4gIEBpbmNsdWRlIGJ0bi0yKCRtYWluLWNvbG9yKTtcblxuICAmLXdoaXRlIHtcbiAgICBAaW5jbHVkZSBidG4tMigjZmZmKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTUlKTtcbiAgICB9XG4gIH1cbn1cblxuLmJ0bi0yIHtcbiAgQGV4dGVuZCAlYnRuLTI7XG5cbiAgJi13aGl0ZSB7XG4gICAgQGV4dGVuZCAlYnRuLTItd2hpdGU7XG4gIH1cbn1cblxuLyogQnV0dG9uIEljb24gVGV4dCAtIC5idG4taWNvbi10ZXh0XG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVidG4taWNvbi10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDE1JSk7XG4gIGNvbG9yOiAjZmZmO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogNnB4IDEycHg7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICBpIHtcbiAgICBAaW5jbHVkZSBjaXJjbGUtb2JqZWN0KDMwcHgsIGhzbGEoMCwgMCUsIDEwMCUsIDApLCAxOHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgfVxufVxuXG4uYnRuLWljb24tdGV4dCB7XG4gIEBleHRlbmQgJWJ0bi1pY29uLXRleHQ7XG59IiwiLyogR2VuZXNpcyBXaWRnZXRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBXaWRnZXRcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53aWRnZXQge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4ud2lkZ2V0IHA6bGFzdC1jaGlsZCxcbi53aWRnZXQgdWwgPiBsaTpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud2lkZ2V0IHVsID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ud2lkZ2V0IHVsID4gbGk6bGFzdC1vZi10eXBlIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi53aWRnZXQgb2wgPiBsaSB7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHRleHQtaW5kZW50OiAtMjBweDtcbn1cblxuLndpZGdldCBsaSBsaSB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwIDAgMCAzMHB4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4ud2lkZ2V0X2NhbGVuZGFyIHRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi53aWRnZXRfY2FsZW5kYXIgdGQsXG4ud2lkZ2V0X2NhbGVuZGFyIHRoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLyogRm9ybXNcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqKiBGb3JtIEVycm9yc1xuICovXG4laW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XG59XG5cbiVpbnZhbGlkLWlucHV0IHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRyZWQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLypDT05UQUNUIEZPUk0qL1xuOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuOjpwbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuI3skaW5wdXQtZmllbGRzfSxcbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiAzOHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEMUQxRDE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICM1NTU7XG5cbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufVxuXG4vKiBSZW1vdmVzIGF3a3dhcmQgZGVmYXVsdCBzdHlsZXMgb24gc29tZSBpbnB1dHMgZm9yIGlPUyAqL1xuI3skaW5wdXQtZmllbGRzfSxcbnRleHRhcmVhIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbiN7JGlucHV0LWZpZWxkc30sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiYmJiO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggc2F0dXJhdGUoJG1haW4tY29sb3IsIDE1JSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5mb3JtIHtcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgfVxuXG4gIHRleHRhcmVhIHtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICB9XG5cbiAgaW5wdXQge1xuICAgICZbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgcGFkZGluZzogMC42ZW0gMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgICZbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBAZXh0ZW5kICVidG47XG4gICAgICBAZXh0ZW5kICVidG4tMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YxZjFmMjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCAjY2NjO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKldQQ0Y3IFNQRUNJRklDIEVSUk9SIEFORCBBUFBST1ZBTCBNRVNTQUdFUyovXG4ud3BjZjcge1xuICBmb3JtIHtcbiAgICAud3BjZjctbGlzdC1pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRhNGE7XG4gICAgICBwYWRkaW5nOiAwLjJlbSAwLjZlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgICAgYm9yZGVyOiAwIHNvbGlkICNjYzRhNGE7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjJyZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRhNGE7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBleHRlbmQgJWZsZXhib3gtYy1jO1xuICAgICAgICBAZXh0ZW5kICVpY29uO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMTVweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53cGNmNy1hY2NlcHRhbmNlLW1pc3NpbmcsXG4gICAgLndwY2Y3LXZhbGlkYXRpb24tZXJyb3JzIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZWEwYVwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53cGNmNy1tYWlsLXNlbnQtb2sge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGVhMDNcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlbnQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZWEwM1wiO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBTZWxlY3QgUmVzZXRcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4xO1xuICBjb2xvcjogIzU1NTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgcGFkZGluZzogMC42ZW0gMS40ZW0gMC41ZW0gMC44ZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMC4zZW07XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHdpZHRoJTNEJTIyMjkyLjQlMjIlMjBoZWlnaHQlM0QlMjIyOTIuNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMDA3Q0IyJTIyJTIwZCUzRCUyMk0yODclMjA2OS40YTE3LjYlMjAxNy42JTIwMCUyMDAlMjAwLTEzLTUuNEgxOC40Yy01JTIwMC05LjMlMjAxLjgtMTIuOSUyMDUuNEExNy42JTIwMTcuNiUyMDAlMjAwJTIwMCUyMDAlMjA4Mi4yYzAlMjA1JTIwMS44JTIwOS4zJTIwNS40JTIwMTIuOWwxMjglMjAxMjcuOWMzLjYlMjAzLjYlMjA3LjglMjA1LjQlMjAxMi44JTIwNS40czkuMi0xLjglMjAxMi44LTUuNEwyODclMjA5NWMzLjUtMy41JTIwNS40LTcuOCUyMDUuNC0xMi44JTIwMC01LTEuOS05LjItNS41LTEyLjh6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuN2VtIHRvcCA1MCUsIDAgMDtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjY1ZW0gYXV0bywgMTAwJTtcblxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODg4O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWFhO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcHggM3B4IHJnYmEoNTksIDE1MywgMjUyLCAuNyk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IC1tb3otbWFjLWZvY3VzcmluZztcbiAgICBjb2xvcjogIzIyMjtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJiBvcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cblxuLyogQ2hlY2tib3ggUmVzZXRcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICsqIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICA+KiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIG1pbi13aWR0aDogMTZweDtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgYm9yZGVyOiBzb2xpZCAycHggI2NjYztcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAzcHggIzk5OTtcbiAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAzcHggIzk5OTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDApO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIEBleHRlbmQgJXRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgfVxuICB9XG5cbiAgKyo6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxuXG4gICY6Y2hlY2tlZCsqIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigjZmZmLCA1JSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oI2ZmZiwgNSUpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoLjgpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgNHB4IGxpZ2h0ZW4oJGdyZWVuLCAwKTtcbiAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCA0cHggbGlnaHRlbigkZ3JlZW4sIDApO1xuICAgIH1cbiAgfVxufVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci13aWR0aDogMDtcbn0iLCIvKiBMaXN0IHN0eWxlXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4laXRlbS1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogMjRweDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAvLyBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cbiAgfVxuXG4gIG9sLFxuICB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uaXRlbS1saXN0IHtcbiAgQGV4dGVuZCAlaXRlbS1saXN0O1xuXG4gID4gbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgfVxufVxuXG4ubnVtYmVyLWxpc3Qge1xuICBAZXh0ZW5kICVpdGVtLWxpc3Q7XG5cbiAgPiBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICB9XG59XG4vKiBFbnRyeSBNZXRhXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZW50cnktZm9vdGVyIC5lbnRyeS1tZXRhIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4uZW50cnktY29tbWVudHMtbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMTRcIjtcbiAgbWFyZ2luOiAwIDZweCAwIDJweDtcbn1cbi8qIFBhZ2luYXRpb25cbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAZXh0ZW5kICVmbGV4Ym94LWMtYztcbiAgbWFyZ2luOiA2MHB4IDA7XG59XG5cbi5hZGphY2VudC1lbnRyeS1wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgY29sb3I6ICMzMzM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSBhOmZvY3VzLFxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSBhOmhvdmVyLFxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaS5hY3RpdmUgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGNvbG9yOiAjZmZmO1xufVxuIiwiLyogU2VjdGlvbiBUaXRsZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNlY3Rpb24tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB3aWR0aDogbWluKDcwMHB4LCAxMDAlKTtcblxuICAmLmFsaWduLWMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG5cbiAgaDQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvci03MDA7XG4gICAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgaDIsXG4gIGgzLFxuICBoMSB7XG4gICAgYmRpIHtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTcwMDtcbiAgICB9XG4gIH1cbn1cblxuLyogRGl2aWRlclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHIge1xuICBib3JkZXI6IDA7XG59XG5cbmhyLnNtYWxsIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbiVkaXZpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDE1cHggMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtYWluLWNvbG9yO1xuICB3aWR0aDogNTBweDtcbn1cblxuLmRpdmlkZXIge1xuICBAZXh0ZW5kICVkaXZpZGVyO1xuXG4gICYtYyB7XG4gICAgQGV4dGVuZCAlZGl2aWRlcjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn0iLCIvKiBJbWFnZSBDYXJkXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG48ZmlndXJlIGNsYXNzPVwiaW1nLWNhcmRcIj5cbiAgPGltZyBzcmM9XCJcIj5cbiAgPGZpZ2NhcHRpb24+PC9maWdjYXB0aW9uPlxuPC9maWd1cmU+XG4qL1xuLmltZy1jYXJkIHtcbiAgQGV4dGVuZCAlaW1nLWNhcmQ7XG59XG5cbiVpbWctY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgei1pbmRleDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDEwLDEwJSwxMCUsdG9wKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxuXG4gIGZpZ2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgKiAxLjE7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cbi8qIExvZ28gR2FsbGVyeVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuPHNlY3Rpb24gY2xhc3M9XCJsb2dvLXNob3djYXNlXCI+XG4gIDxoZWFkZXIgY2xhc3M9XCJzZWN0aW9uLXRpdGxlIGFsaWduLWNcIj5cbiAgICA8aDI+T3VyIENsaWVudHM8L2gyPlxuICAgIDxociBjbGFzcz1cImRpdmlkZXItY1wiPlxuICAgIDxwPkhlcmUgYXJlIHNvbWUgb2Ygb3VyIG91ciBjbGllbnRzLjwvcD5cbiAgPC9oZWFkZXI+XG5cbiAgPGRpdiBjbGFzcz1cImxvZ28tc2hvd2Nhc2UtZ2FsbGVyeVwiPlxuICAgIDxpbWcgc3JjPVwiLi4vLi4vLi4vc3RhdGljL2xvZ28tMS5qcGdcIj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4qL1xuLmxvZ28tZmVhdHVyZS1nYWxsZXJ5IHtcbiAgQGV4dGVuZCAlbG9nby1mZWF0dXJlLWdhbGxlcnk7XG59XG5cbiVsb2dvLWZlYXR1cmUtZ2FsbGVyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGV4dGVuZCAlZmxleGJveC1jLWM7XG5cbiAgaW1nIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cbn1cbi8qIEltYWdlIEJhbm5lclxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgPHNlY3Rpb24gY2xhc3M9XCJpbWFnZS1iYW5uZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyIGNvbnRhaW5lci1sZWZ0XCI+XG4gICAgICA8aDM+VGl0bGU8L2gzPlxuICAgICAgPHA+RGVzY3JpcHRpb248L3A+XG4gICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi0zXCI+TGVhcm4gTW9yZTwvYT5cbiAgICA8L2Rpdj5cbiAgICA8aW1nIHNyYz1cIi9zdGF0aWMvYXNkLmpwZ1wiPlxuICA8L3NlY3Rpb24+XG5cbiAgKi9cbi8vIC5pbWFnZS1iYW5uZXIge1xuLy8gICBAZXh0ZW5kICVpbWFnZS1iYW5uZXI7XG4vLyB9XG5cbiVpbWFnZS1iYW5uZXIge1xuICBAZXh0ZW5kICViYW5uZXI7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLDAsMCwwLjEpO1xuXG4gICAgJi5jb250YWluZXItbGVmdCB7XG4gICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skZGVza3RvcC13aWR0aH0gKiAwLjUpO1xuICAgICAgICBtYXgtd2lkdGg6ICRkZXNrdG9wLXdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtICN7JGRlc2t0b3Atd2lkdGh9KSAvIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuY29udGFpbmVyLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoKDEwMCUgLSAjeyRkZXNrdG9wLXdpZHRofSkgLyAyKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBCYW5uZXJzXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiViYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAwO1xuICBwYWRkaW5nOiA1MHB4IDUlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGltZyB7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLyogUmVndWxhciBCYW5uZXJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJXJlZ3VsYXItYmFubmVyIHtcbiAgQGV4dGVuZCAlYmFubmVyO1xuICBAZXh0ZW5kICViZy1wYXR0ZXJuO1xuICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDEwcHgpO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgcCB7XG4gICAgQGV4dGVuZCAlY29sLTE7XG4gICAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250O1xuICB9XG59XG5cbi5lbnRyeS1oZWFkZXIsXG4ucmVndWxhci1iYW5uZXIge1xuICBAZXh0ZW5kICVyZWd1bGFyLWJhbm5lcjtcbn1cblxuLyogR2lhbnQgQmFubmVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lZ2lhbnQtYmFubmVyIHtcbiAgaGVpZ2h0OiA1MDBweDtcbiAgbWF4LWhlaWdodDogNzIwcHg7XG4gIEBleHRlbmQgJWJhbm5lcjtcblxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmgpO1xuICB9XG5cbiAgLmVudHJ5LXRpdGxlLFxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgei1pbmRleDogMDtcbiAgICB0ZXh0LXNoYWRvdzogM3B4IDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuXG4gICAgaDEsXG4gICAgaDIge1xuICAgICAgY29sb3I6IGhzbCgwLCAwJSwgMTAwJSk7XG4gICAgfVxuICB9XG59XG5cbi8vIC5naWFudC1iYW5uZXIge1xuLy8gICBAZXh0ZW5kICVnaWFudC1iYW5uZXI7XG4vLyB9XG5cblxuLnBhZ2UuaGFzLXBvc3QtdGh1bWJuYWlsIC5lbnRyeS1oZWFkZXI6aGFzKGltZykge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZ3IC8gMTkgKiA5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS0xO1xuICBAZXh0ZW5kIC50ZXh0LWxpZ2h0O1xuXG4gIGltZyB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGZpbHRlcjogc2F0dXJhdGUoMC4zKTtcbiAgfVxuXG4gIGgxLFxuICBwIHtcbiAgICB3aWR0aDogbWluKDkwJSwgNDAwcHgpO1xuICAgIGxlZnQ6IG1heCg1JSwgY2FsYygxMDB2dyAtICgkZGVza3RvcC14bC13aWR0aCAvIDIpKSk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIGgxIHtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICB9XG5cbiAgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxufSIsIi8qIEhlcm8gU2xpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBHaWFudCBCYW5uZXIgU2xpZGVyICovXG4uaGVyby1zbGlkZXIge1xuICBAZXh0ZW5kICV0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICBAZXh0ZW5kICViYW5uZXI7XG4gIC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLy8gb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiBhdXRvO1xuXG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgbWF4LWhlaWdodDogNzIwcHg7XG4gIH1cbn1cblxuLmhlcm8tc2xpZGVyLS1zaG9ydCB7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gIH1cblxuICAuaGVyby1zbGlkZSB7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgfVxuICB9XG59XG5cbi8qIEdpYW50IEJhbm5lciBTbGlkZSAqL1xuLmhlcm8tc2xpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGhlaWdodDogNzB2aDtcbiAgfVxuXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdncgLyAxNiAqIDkpO1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cblxuICAvKiBHZW5lcmljIEZpZ2NhcHRpb24gU3R5bGVzICovXG4gIGZpZ2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDUlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgICAgLy8gR3JhZGllbnQgRmFkZVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogLTk5cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDI1NSwgMjU1JSwgMjU1JSwgdG9wKTtcbiAgICAgIH1cblxuICAgICAgYnIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogbWluKDUwJSwgNDUwcHgpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMy41O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc3VidGl0bGUtZm9udDtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW0gMHJlbTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgxMywgNDMsIDEzNiwgMSkgMCUsIHJnYmEoMjI3LCA2LCAxOSwgMSkgMTAwJSk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgaGVpZ2h0OiA5MHZ3O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDYXB0aW9uIFBvc2l0aW9uXG4uaGVyby1zbGlkZS0tY2VudGVyLWNlbnRlciB7XG4gIGZpZ2NhcHRpb24ge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5cbi5oZXJvLXNsaWRlLS1jZW50ZXItbGVmdCB7XG4gIGZpZ2NhcHRpb24ge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuXG4uaGVyby1zbGlkZS0tY2VudGVyLXJpZ2h0IHtcbiAgZmlnY2FwdGlvbiB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDAlKTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIH1cbn1cblxuLmhlcm8tc2xpZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1jb2xvcjtcblxuICBpbWcge1xuICAgIG9iamVjdC1wb3NpdGlvbjogbGVmdDtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICB9XG59IiwiLyogRGVmYXVsdCBCbG9ja3MgKi9cbi5pbmxpbmUtd3JhcCB7XG4gIHdpZHRoOiBtaW4oOTAlLCAkZGVza3RvcC14bC13aWR0aCk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cbiAgJi5uYXJyb3cge1xuICAgIHdpZHRoOiBtaW4oOTAlLCAkZGVza3RvcC13aWR0aCk7XG5cbiAgICBAaW5jbHVkZSBkZXNrdG9wLXhsIHtcbiAgICAgIHdpZHRoOiBtaW4oOTAlLCAkZGVza3RvcC14bC13aWR0aCk7XG4gICAgfVxuICB9XG5cbiAgJi5mdWxsIHtcbiAgICB3aWR0aDogbWluKDEwMCUsICRkZXNrdG9wLXhsLXdpZHRoKTtcbiAgfVxuXG4gIC5pbmxpbmUtd3JhcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmFsaWduY2VudGVyIC5zZWN0aW9uLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGhyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLyogSW1hZ2UgR2FsbGVyeSAqL1xuLmltYWdlLWdhbGxlcnktc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDUwcHggNSU7XG5cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBwYWRkaW5nOiA1MHB4O1xuICB9XG59XG5cbi5pbWFnZS1nYWxsZXJ5LWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHBhZGRpbmc6IDNweDtcblxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbi8qIExSIExheW91dCAqL1xuLmxyLWxheW91dCB7XG4gIC8vIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL3N0YXRpYy9iYWNrZ3JvdW5kLmpwZ1wiKSBuby1yZXBlYXQgY2VudGVyIC8gY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0MDBweDtcblxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICB9XG5cbiAgJjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICAuaW5saW5lLXdyYXAge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdy1yZXZlcnNlIHdyYXA7XG4gICAgICB9XG5cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlubGluZS13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGV4dGVuZCAlZmxleGJveC1jLWM7XG4gICAgQGluY2x1ZGUgY29sdW1ucygwcHgsIDIpO1xuICB9XG5cbiAgZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogMDtcbiAgICBoZWlnaHQ6IDkwdnc7XG5cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgaGVpZ2h0OiA3MHZoO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgaGVpZ2h0OiA1MHZ3O1xuICAgICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJG9mZi13aGl0ZSwgMyUpO1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1dncpO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDUwdncgKyA2MHB4KTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5mZWF0dXJlLWFjdGl2ZSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG1heC13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICBwYWRkaW5nOiA2MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAzMHB4IDUlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMTAwcHg7XG4gICAgfVxuICB9XG59XG5cbi5zZWNvbmRhcnktZ3JhcGhpYy0wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgb3BhY2l0eTogMC4zO1xuICB3aWR0aDogMjV2dztcbiAgaGVpZ2h0OiAyNXZ3O1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgbGVmdDogY2FsYyg1MCUgLSAxMi41dncpO1xuICB0b3A6IGNhbGMoNTAlIC0gMTIuNXZ3KTtcbn1cblxuLyogRWNvbW1lcmNlIEhpZ2hsaWdodHMgKi9cbi5hdHRyaWJ1dGUtaGlnaGxpZ2h0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICBwYWRkaW5nOiA2MHB4IDUlIDUwcHg7XG5cbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcGFkZGluZzogNjBweCAxMCUgNTBweDtcbiAgfVxuXG4gIC5pbmxpbmUtd3JhcCB7XG4gICAgQGluY2x1ZGUgY29sdW1ucygyNXB4LCA0KTtcblxuICAgID4qIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmljb24tY2FyZCB7XG4gICAgaW1nIHtcbiAgICAgIGZpbHRlcjogc2F0dXJhdGUoMCkgaW52ZXJ0KDEpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuLyogRm9vZCBNZW51ICovXG4uZGlzaC1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJG9mZi13aGl0ZSwgMTAlKTtcbiAgfVxuXG4gIGFydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSA0NSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyA1cHgpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuXG4gICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmRpc2gtdGl0bGUge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG5cbiAgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG4gIH1cbn1cblxuXG4vKiBQcm9kdWN0IEZlYXR1cmUgKi9cbi5saWJyYXJ5LWdhbGxlcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIH1cblxuICAuc2luZ2xlLXByb2R1Y3QtZmVhdHVyZSB7XG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBib3R0b206IC0zMDBweDtcbiAgICB9XG4gIH1cblxuICAuc2luZ2xlLXByb2R1Y3QtZmVhdHVyZS5hY3RpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPmltZyB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjZzO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zaXRpb246IDAuNnM7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiBoc2xhKDAsIDAlLCAwJSwgMC41KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggNTBweDtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIFN0YXRlIHdoZW4gbm90IGFjdGl2ZSAqL1xuICAuc2luZ2xlLXByb2R1Y3QtZmVhdHVyZTpub3QoLmFjdGl2ZSkge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDAsIDAlLCA5NSUpO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGhzbCgwLCAwJSwgODUlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGhzbCgwLCAwJSwgODUlKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIGRhcmtlbigkbWFpbi1jb2xvciwgMjAlKTtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LWZhbWlseTogJG1haW4tZm9udDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEuN3JlbTtcblxuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIENvbnRhY3QgMSAqL1xuLmNvbnRhY3QtMSB7XG4gIG1hcmdpbjogODBweCAwO1xufVxuXG4uY29udGFjdC1kZXRhaWxzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBnYXA6IDQwcHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDgwcHggMDtcblxuICAuY29udGFjdC1kZXRhaWwge1xuICAgIGZsZXg6IDEgMSAyMDBweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEwcHg7XG5cbiAgICBpIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWluLXdpZHRoOiA0MHB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW4tY29sb3I7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtZGV0YWlsLWNhcHRpb24ge1xuICAgICAgYiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29udGFjdC0xX21hcGVtYmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDUwcHggMCAxNTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiA3NSU7XG4gICAgYm90dG9tOiAtMjUlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmYtd2hpdGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtlbigkb2ZmLXdoaXRlLCAxMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJG9mZi13aGl0ZSwgMTAlKTtcblxuICAgIEBleHRlbmQgLmltYWdlLXJlbGVhc2U7XG4gIH1cbn0iLCIucG9zdC1hcmNoaXZlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgLmFyY2hpdmUtZGVzY3JpcHRpb24ge1xuICAgIEBleHRlbmQgJXJlZ3VsYXItYmFubmVyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZmxleDogMSAxIDEwMCU7XG4gIH1cblxuICAucG9zdC1lbnRyeS1saXN0IHtcbiAgICB3aWR0aDogbWluKDkwJSwgNzUwcHgpO1xuXG4gICAgQGluY2x1ZGUgZGVza3RvcC14bCB7XG4gICAgICB3aWR0aDogbWluKDkwJSwgY2FsYygkZGVza3RvcC14bC13aWR0aCAvIDMgKiAyKSk7XG4gICAgfVxuICB9XG5cbiAgYXNpZGUge1xuICAgIHdpZHRoOiA5MCU7XG5cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgd2lkdGg6IG1pbig5MCUsIDI4MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBkZXNrdG9wLXhsIHtcbiAgICAgIHdpZHRoOiBtaW4oOTAlLCBjYWxjKCRkZXNrdG9wLXhsLXdpZHRoIC8gMykpO1xuICAgIH1cbiAgfVxuXG4gIC5hcmNoaXZlLXBhZ2luYXRpb24ge1xuICAgIGZsZXg6IDEgMSAxMDAlO1xuICB9XG59XG5cbi5wb3N0LWVudHJ5LWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDZyZW07XG5cbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAycmVtO1xuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMjAwcHg7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIH1cbiAgfVxuXG4gIC5jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB9XG5cbiAgICA+KiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxuXG4gIHAge1xuICAgIEBleHRlbmQgLnNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAuY2F0ZWdvcnktbGluayB7XG4gICAgQGV4dGVuZCAlYnRuLXNtYWxsO1xuICAgIEBleHRlbmQgJWJ0bi0xLWxpZ2h0O1xuICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gIH1cblxuICAuZW50cnktY29udGVudF9fdGh1bWJuYWlsLWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhc3BlY3QtcmF0aW86IDQvMztcblxuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBhYnNvbHV0ZTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxufSIsIi8qIFN0cnVjdHVyZSBvZiBzaW5nbGUgcG9zdCovXG4ucG9zdC1zaW5nbGUge1xuICAuZW50cnkge1xuICAgIEBpbmNsdWRlIGNoaWxkLW1hcmdpbignYm90dG9tJywgNTBweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgLmhhcy1wb3N0LXRodW1ibmFpbCAuZW50cnktaGVhZGVyIHtcbiAgICBAZXh0ZW5kICVkYXJrLXRoZW1lO1xuICAgIGJhY2tncm91bmQ6ICRtYWluLWNvbG9yO1xuXG4gICAgaW1nIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICB9XG4gIH1cblxuICAuZW50cnktY29udGVudCB7XG4gICAgcGFkZGluZzogMCA1JTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsZXg6IDMgMSAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgICAgbWF4LXdpZHRoOiA2NTBweDtcbiAgICB9XG4gIH1cblxuICAuc2lkZWJhciB7XG4gICAgcGFkZGluZzogMCA1JTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgfVxuICB9XG59XG4vKiBQcmltYXJ5IHNpZGViYXIgb25seSAqL1xuLnNpZGViYXItcHJpbWFyeSB7XG4gIC53aWRnZXQtdGl0bGUge1xuICAgIEBpbmNsdWRlIGxpbmUtYm9yZGVyKDRweCwgaHNsKDAsMCUsODUlKSwgJ2JvdHRvbScsIDEwcHgpO1xuICB9XG59XG5cbi5lbnRyeS1jb250ZW50IHtcbiAgLmVudHJ5LW1ldGEge1xuICAgIEBleHRlbmQgLnNtYWxsO1xuICAgIGNvbG9yOiBoc2woMCwwJSw3MCUpO1xuICB9XG59XG4vKiBTaW5nbGUgUGFnZSBDb250ZW50XG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBvc3Qtc2luZ2xlIHtcbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIEBleHRlbmQgJWJsb2ctdHlwb2dyYXBoeTtcblxuICAgID4gdWwge1xuICAgICAgQGV4dGVuZCAuaXRlbS1saXN0O1xuICAgIH1cblxuICAgID4gb2wge1xuICAgICAgQGV4dGVuZCAubnVtYmVyLWxpc3Q7XG4gICAgfVxuICB9XG4gIC8vXG4gIC8vIC5jb21tZW50LXJlc3BvbmQge1xuICAvLyAgIHBhZGRpbmc6IDAgNSU7XG4gIC8vIH1cbn1cbiIsIi5lcnJvcjQwNCB7XG4gICAgbWFpbi5jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IG1pbigxMDAlLCA3MDBweCk7XG4gICAgICAgIG1hcmdpbjogMTUwcHggYXV0byA1MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1mb3JtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59IiwiQGZ1bmN0aW9uIHNwYWNpbmcoJG11bHRpcGxpZXIpIHtcbiAgQHJldHVybiBjYWxjKHZhcigtLXNwYWNpbmcpICogI3skbXVsdGlwbGllcn1yZW0pO1xufVxuXG4uYmctcGF0dGVybiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIEBpbmNsdWRlIGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vc3RhdGljL2JnLXBhdHRlcm4uc3ZnJykgcmVwZWF0IGNlbnRlciAvIDc1MHB4O1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICB9XG59XG5cbi5iZy1wYXR0ZXJuLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uL3N0YXRpYy9iZy1wYXR0ZXJuLTIuc3ZnJykgcmVwZWF0IGNlbnRlciAvIDUwMHB4O1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICB9XG59XG5cbi5iZy1wYXR0ZXJuLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uL3N0YXRpYy9iZy1wYXR0ZXJuLTMuc3ZnJykgcmVwZWF0IGNlbnRlciAvIDc1MHB4O1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICB9XG59XG5cbi5iZy1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvZmYtd2hpdGU7XG4gIGNvbG9yOiAkbWFpbi1jb2xvci05MDA7XG5cbiAgJisuYmctbGlnaHQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi5iZy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstY29sb3I7XG5cbiAgJisuYmctZGFyayB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuLmJnLW1haW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1jb2xvcjtcblxuICAmKy5iZy1tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4udGV4dC1saWdodCB7XG4gIEBleHRlbmQgJWRhcmstdGhlbWU7XG5cbiAgcCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuXG4udGV4dC13aGl0ZSB7XG4gIGNvbG9yOiAkb2ZmLXdoaXRlO1xufVxuXG4ucmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uei0wIHtcbiAgei1pbmRleDogMDtcbn1cblxuLmJvcmRlci1ib3gge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4udGFibGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLm14LWF1dG8ge1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xufVxuXG4ubXQtMTAge1xuICBtYXJnaW4tdG9wOiBzcGFjaW5nKDEwKTtcbn1cblxuLm10LTE1IHtcbiAgbWFyZ2luLXRvcDogc3BhY2luZygxNSk7XG59XG5cbi5tdC0yMCB7XG4gIG1hcmdpbi10b3A6IHNwYWNpbmcoMjApO1xufVxuXG4ubWItMTAge1xuICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nKDEwKTtcbn1cblxuLm1iLTE1IHtcbiAgbWFyZ2luLWJvdHRvbTogc3BhY2luZygxNSk7XG59XG5cbi5tYi0yMCB7XG4gIG1hcmdpbi1ib3R0b206IHNwYWNpbmcoMjApO1xufVxuXG4ucHQtMTAge1xuICBwYWRkaW5nLXRvcDogc3BhY2luZygxMCk7XG59XG5cbi5wdC0xNSB7XG4gIHBhZGRpbmctdG9wOiBzcGFjaW5nKDE1KTtcbn1cblxuLnB0LTIwIHtcbiAgcGFkZGluZy10b3A6IHNwYWNpbmcoMjApO1xufVxuXG4ucGItMTAge1xuICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZygxMCk7XG59XG5cbi5wYi0xNSB7XG4gIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nKDE1KTtcbn1cblxuLnBiLTIwIHtcbiAgcGFkZGluZy1ib3R0b206IHNwYWNpbmcoMjApO1xufVxuXG4ubXktMjAge1xuICBtYXJnaW4tYmxvY2s6IHNwYWNpbmcoMjApO1xufVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5nYXAtNSB7XG4gIGdhcDogc3BhY2luZyg1KTtcbn1cblxuLmdhcC0xMCB7XG4gIGdhcDogc3BhY2luZygxMCk7XG59XG5cbi5nYXAtMTUge1xuICBnYXA6IHNwYWNpbmcoMTUpO1xufVxuXG4uZ2FwLTIwIHtcbiAgZ2FwOiBzcGFjaW5nKDIwKTtcbn1cblxuLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC1jb2wge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uanVzdGlmeS1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLml0ZW1zLXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5wbGFjZS1pdGVtcy1jZW50ZXIge1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLmNvbC1zcGFuLTEge1xuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICB9XG59XG5cbi5jb2wtc3Bhbi0yIHtcbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgfVxufVxuXG4uY29sLXNwYW4tMyB7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgZ3JpZC1jb2x1bW46IDM7XG4gIH1cbn1cblxuLnctM3hzIHtcbiAgd2lkdGg6IHNwYWNpbmcoNjQpO1xufVxuXG4uZ3JpZC1jb2xzLTIge1xuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cblxuLmdyaWQtY29scy0zIHtcbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG59XG5cbi5ncmlkLWNvbHMtNCB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICB9XG59XG5cbi5ncmlkLWNvbHMtNSB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICB9XG59XG5cbi5jb250ZW50LWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5wLTUge1xuICBwYWRkaW5nOiBzcGFjaW5nKDUpXG59XG5cbi5wLTEwIHtcbiAgcGFkZGluZzogc3BhY2luZygxMClcbn1cblxuLnAtMTUge1xuICBwYWRkaW5nOiBzcGFjaW5nKDE1KVxufVxuXG4ucC0yMCB7XG4gIHBhZGRpbmc6IHNwYWNpbmcoMjApXG59XG5cbi5mb250LW1lZGl1bSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5mb250LWJvbGQge1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbn1cblxuLnRleHQtc20ge1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbn1cblxuLnRleHQtM3hsIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbVxufVxuXG4udGV4dC01eGwge1xuICBmb250LXNpemU6IDNyZW1cbn1cblxuLnRleHQtN3hsIHtcbiAgZm9udC1zaXplOiA0LjVyZW1cbn1cblxuLnRleHQtOXhsIHtcbiAgZm9udC1zaXplOiA4cmVtXG59XG5cbi5yb3VuZGVkLTUwIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uYXNwZWN0LXNxdWFyZSB7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5hc3BlY3QtNC0zIHtcbiAgYXNwZWN0LXJhdGlvOiA0LzM7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYXNwZWN0LTE2LTkge1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4ub2JqZWN0LWNvdmVyIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5vYmplY3QtY29udGFpbiB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbiNiYWNrLXRvLXRvcC1idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiA0cmVtO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIHRvcDogY2FsYyg1MCUgLSAycmVtKTtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgcmlnaHQ6IDBweDtcbiAgei1pbmRleDogOTk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMnJlbSAwIDAgMnJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjZmZmO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJUT1BcIjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yLTkwMDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi8qIEVjb21tZXJjZSBIaWdobGlnaHRzICovXG4uZWNvbW1lcmNlLWhpZ2hsaWdodHMge1xuICBAaW5jbHVkZSBjb2x1bW5zKDE1cHgsIDQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgcGFkZGluZzogNjBweCA1JSA1MHB4O1xuXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIHBhZGRpbmc6IDYwcHggMTAlIDUwcHg7XG4gIH1cblxuICA+KiB7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmljb24tY2FyZCB7XG4gICAgaW1nIHtcbiAgICAgIGZpbHRlcjogc2F0dXJhdGUoMCkgaW52ZXJ0KDEpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuLmljb24tY2FyZCB7XG4gIEBpbmNsdWRlIHRodW1ibmFpbC1jYXJkKDEwMCUsIDQwcHgsIHJpZ2h0LCAxMHB4KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIH1cblxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgIEBpbmNsdWRlIHRhYmxldCB7fVxuICB9XG5cbiAgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAyMCUpO1xuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLmNhcHRpb24ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8qIEZsb2F0aW5nIGJ1dHRvbiAqL1xuLmZsb2F0aW5nLXdoYXRzYXBwLWJ1dHRvbiB7XG4gIEBpbmNsdWRlIGNpcmNsZS1vYmplY3QoNDZweCwgIzI1ZDM2NiwgMjNweCk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG4gIHJpZ2h0OiAxMHB4O1xuICBib3R0b206IDEwcHg7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGxpbmUtaGVpZ2h0OiA0NnB4O1xufVxuXG4vKiBTd2lwZXIgQnV0dG9uICovXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGNvbG9yOiAkbWFpbi1jb2xvcjtcbn1cblxuLnZpc2lvbi1taXNzaW9uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAudGV4dC1naWFudCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgKiA0O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMnB4O1xuICB9XG5cbiAgaDQge1xuICAgIGNvbG9yOiAkcmVkO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICsgMC4zO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICBhcnRpY2xlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogbWluKDYwMHB4LCAxMDAlKTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtYWluLWNvbG9yLTMwMDtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxMjVweCk7XG4gICAgICBsZWZ0OiAtMTIwcHg7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHRyYW5zaXRpb246IDAuNnM7XG4gICAgfVxuXG4gICAgJithcnRpY2xlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAtMTIwcHg7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpoYXMoLmNvbnRlbnQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogbWluKDYwMHB4LCAxMDAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BlY2lhbC1jbGlwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHJpZ2h0OiAtNXZ3O1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgYXNwZWN0LXJhdGlvOiAyLzM7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjc2l4UGFja0NsaXApO1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNwZWNpYWwtY2xpcC0yIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IDB2dztcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgIG9yZGVyOiAtMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMi41KTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNzdGFyLWNsaXApO1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFjY3JlZGl0aW9ucyBMb2dvIExpc3Rcbi8vIExvZ28gc2VjdGlvblxuLmxvZ28tbGlzdCB7XG4gIG1hcmdpbi10b3A6IDVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDNyZW0gM3JlbTtcbiAgYm9yZGVyLXJhZGl1czogNHJlbSAwLjVyZW0gNHJlbSAwLjVyZW07XG5cbiAgLnN3aXBlci13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5cbi5pbWFnZS10ZXh0LW9iamVjdCB7XG4gIGltZyB7XG4gICAgYXNwZWN0LXJhdGlvOiA0LzM7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0cmVtIDAuNXJlbSA0cmVtIDAuNXJlbTtcblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gICAgfVxuICB9XG5cbiAgZmlnY2FwdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxLjVyZW07XG5cbiAgICA+KiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjM7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgICYuaW1hZ2UtdGV4dC1vYmplY3QtZmlnY2FwdGlvbi1jdXN0b20ge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgIHBhZGRpbmc6IDAgMnJlbTtcblxuICAgICAgLmJ0bi1jaXJjbGUge1xuICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuNDtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IDA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ob21lLWNvbnRhY3Qge1xuICAuaW5saW5lLXdyYXAge1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vc3RhdGljL3gtaWNvbi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIC8gY292ZXI7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTtcbiAgICAgIG9wYWNpdHk6IDAuMDU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDNmcjtcbiAgICB9XG5cbiAgICAud3BjZjcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMi41cmVtIDVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmLXdoaXRlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwRDJCODg7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgxMywgNDMsIDEzNiwgMSkgMCUsIHJnYmEoMjI3LCA2LCAxOSwgMSkgMTAwJSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkbWFpbi1jb2xvci05NTA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgc3BsYXNocm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4uc3BpcmFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vc3RhdGljL3NwaXJhbC5zdmcnKSBuby1yZXBlYXQgY2VudGVyIC8gY292ZXI7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGFuaW1hdGlvbjogc3BsYXNocm90YXRlIDUwcyBsaW5lYXIgaW5maW5pdGU7XG4gIH1cbn1cblxuLy8gRkFRIExJU1Rcbi5mYXEtbGlzdCB7XG4gIHdpZHRoOiBtaW4oMTAwJSwgNjAwcHgpO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAzcmVtO1xufVxuXG5kZXRhaWxzIHtcbiAgcGFkZGluZzogMXJlbSAycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbWFpbi1jb2xvci0zMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG5cbiAgK2RldGFpbHMge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwgMCUsIDk4JSk7XG4gIH1cblxuICAmW29wZW5dIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yLTUwMDtcblxuICAgIHN1bW1hcnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAmOjptYXJrZXIge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvci01MDA7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3ItNjAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN1bW1hcnkge1xuICAgIGNvbG9yOiAkbWFpbi1jb2xvcjtcblxuICAgIGgzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuICB9XG5cblxuICA+Kjpub3Qoc3VtbWFyeSk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gID4qOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBwLFxuICBsaSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuXG4gIHVsIHtcbiAgICBAZXh0ZW5kICVpdGVtLWxpc3Q7XG5cbiAgICA+bGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgIH1cbiAgfVxuXG4gIG9sIHtcbiAgICBAZXh0ZW5kICVpdGVtLWxpc3Q7XG5cbiAgICA+bGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgIH1cbiAgfVxufVxuXG4uZGVzY3JpcHRpb24ge1xuICBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cblxuXG4uYXJyb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogMjAvMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9zdGF0aWMvdHJpYW5nbGUtYm90dG9tLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tLyBjb250YWluO1xuICB9XG59XG5cbi8vIEltYWdlIHRleHQgb3ZlcmxheVxuLmltYWdlLXRleHQtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDIyNiwgODIlLCAxMCUpO1xuXG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgbWluLWhlaWdodDogNTB2dztcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIH1cblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgyMjYsIDgyJSwgMTAlLCAwLjUpO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgfVxuXG4gIGZpZ2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxcmVtO1xuICAgIHBhZGRpbmc6IDVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgyMjYsIDgyJSwgMTAlLCAwLjgpO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG5cbiAgICA+KiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTcwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgICB9XG4gIH1cbn1cblxuLmdyaWQtY29scy0xLTIge1xuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmcjtcbiAgfVxufVxuXG4ubG9jYXRpb24tZGV0YWlsLWxpc3Qge31cblxuLmxvY2F0aW9uLWRldGFpbCB7XG4gIGNvbG9yOiAkcmVkO1xufVxuXG4uaWNvbi10ZXh0LXNpbmdsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMXJlbTtcblxuICA+KiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGkge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMS41O1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMS4xNTtcblxuICAgIGJkaSB7XG4gICAgICBjb2xvcjogJG1haW4tY29sb3ItODAwO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3ItNzAwO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cbn1cblxuLmljb24tdGV4dC0tY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG59XG5cbi5pbWFnZS10ZXh0LXNpbmdsZSB7XG4gIGg0IHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgfVxuXG4gIGltZyB7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbi5pbWFnZS10ZXh0LXNpbmdsZS0tY2FyZCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvZmYtd2hpdGU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gIGJveC1zaGFkb3c6IDByZW0gMnJlbSA0cmVtIDByZW0gaHNsYSgwLCAwJSwgMCUsIDAuMSk7XG5cbiAgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICB9XG5cbiAgZmlnY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMCAxcmVtIDFyZW07XG4gIH1cbn1cblxuLnN0aWNreS1zZWN0aW9uLTEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1jb2xvcjtcblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDEwMHB4O1xuXG4gICAgPioge1xuICAgICAgY29sb3I6ICRvZmYtd2hpdGVcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICB9XG4gIH1cbn1cblxuLnNlcnZpY2VzLWxpc3Qge1xuXG4gIC5zd2lwZXItYnV0dG9uLW5leHQsXG4gIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwgMCUsIDkwJSk7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgfVxuICB9XG5cbiAgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMTAwJSAtIDVweCkpIHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG5cbiAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxufVxuXG4vLyBJY29uIFByb2Nlc3NzXG4uaWNvbi1wcm9jZXNzLXNpbmdsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMXJlbTtcblxuICAvLyBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgKy5pY29uLXByb2Nlc3Mtc2luZ2xlIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmVcbiAgICB9XG4gIH1cblxuICBpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGNvbG9yOiAkcmVkO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDJweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgdG9wOiAzcmVtO1xuICAgICAgYmFja2dyb3VuZDogaHNsKDAsIDAlLCA3MCUpO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG5cbiAgcCB7XG4gICAgY29sb3I6IGhzbCgwLCAwJSwgMzAlKTtcbiAgfVxufVxuXG4vLyBTbGlkZXIgdGV4dCBuYXZpZ2F0aW9uIFxuXG4uc2xpZGVyLXRleHQtbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNXJlbTtcbiAgbWluLXdpZHRoOiAwO1xuXG4gIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDFyZW07XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBvcmRlcjogLTE7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcblxuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgO1xuICAgIH1cbiAgfVxuXG4gIGIge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgfVxuXG4gIC5zd2lwZXItc2xpZGU6bm90KC5zd2lwZXItc2xpZGUtYWN0aXZlKSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucGVzdC1kZXRhaWwge1xuICBpbWcge1xuICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuXG4vLyBJY29uIFRleHQgSG9yaXpvbnRhbFxuLmljb24tdGV4dC0taG9yaXpvbnRhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cblxuLmJnLXgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDA7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uL3N0YXRpYy94LWljb24uc3ZnJykgbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTtcbiAgICBvcGFjaXR5OiAwLjA1O1xuICB9XG59Il19 */
