HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/wwwroot/css/style.css
@charset "UTF-8";
/*  1 - SETTINGS
 *  Global variables, site-wide settings,
 *  config switches etc.
 *
 *  The order in which these Sass files
 *  are loaded is critical!
 *  So please be careful when editing
  =========================================================== */
/* =========================================================
   Organize color variables in a Sass Map.
   This way, the colors can be iterated, are more organized,
   and are more intuitive to reference.
   ========================================================= */
/**
 *	A simple function for accessing the colors from our mapping
 *	To access colors in our palette, we use a very simple custom Sass function
 *  This function is placed here, (and not in the toolbox)
 *  because we want to use it in our other setting files

	USAGE:

	.demo {
		color: palette(primary, 500);
	}

 */
/* ========================================
   Config settings
   ======================================== */
/*
	[1]		Logo dark or light can be set in header.blade.php / footer.blade.php &
	[2] 	Set this to true when bgColor gets a dark color that contrast the body bg color
*/
/* ==========================================================
 	 Defines the typographic baseline.
   We define every size in pixels, the underlying system
   converts the respective units to the responsive REM value.
 	 ========================================================== */
/**
 * Our base font-size and line-height
 */
/**
 *	Here we assign short names for the font families
 */
/* ============================================
   Define breakpoints for given formats
   ============================================ */
/*  2 - TOOLS
 *  Site wide mixins and functions
 =========================================================== */
/* ==========================================================================
  Functions used in grid calculation
  ========================================================================== */
/**
  * Return percentage based on amount of columns
  * Use parent column size to adjust the origin
  */
/**
  * Default function for columns
  * Return as percentage
  */
/**
  * Return as viewport width
  */
/* ==========================================================================
 * Font related functions
 * ========================================================================== */
/**
 *  Mixin for setting font-size in REM through a Sass Map with all available sizes

    USAGE:

    .myClass {
        @include font-size(xl);
    }

 */
/* Media query mixin for writing Mobile First
 * ========================================== */
/* =============================================
   Toolbox functions
   ================================================ */
/**
 *  Maths helpers.
 *  Halve and double numbers, returning rounded integers.

    USAGE:

    .foo {
        padding: halve(30px);
    }

 */
/**
 *  Remove the unit of a length
 *  @param {Number} $number - Number to remove unit from
 *  @return {Number} - Unitless number
 */
/* Check if value is number */
/* Value to Em */
/* Value to Rem */
/*
 * Set vertical spacing only for mobile viewport

 USAGE:

 .example {
	 @include vspacing-s(
				'margin-top' 1
		);
  }

 */
/*
 * Set vertical spacing for viewport larger than mobile
 * In flexible units (vw) and on max viewport in a fixed amount (px)

 USAGE:

 .example {
	 @include vspacing-m-up(
				'padding-top' 0.33,
				'margin-bottom' 0.5
		);
  }

 */
/*
 * From values given return the correct v-spacing for each breakpoint
 */
/**
 *	A simple function for setting a consistent border-radius

	USAGE:

	.card {
		@include border-radius;
	}

	.card--alt {
		@include border-radius(l);
	}

 */
/**
 * Lobotomized Owl Selector mixin:
 * - Set spacing for consecutive items with margin-top on all but the first item

	USAGE:

	.box {
		@include owl-children;
	}

	.card__item {
		@include owl;
	}

 */
/*
 * Lobotomized owl selector.
 * - Gives the children of the element spacing
 * - https://alistapart.com/article/axiomatic-css-and-lobotomized-owls
 */
/**
 *  Show hyphens for every browser supporting it
 *  and will break lines in every other browser
 */
/*
 *  Restrict an element to a max-width for creating gutters on the side
 */
/*
 *	A mixin to set elements to its own named grid-area
 */
/** =================================================================================================
 *  The 'z-index-map' is used for managing the elements stacking order in the 'root' stacking context
 *  This way we have a overview of all the z-index values that are used across the project.
 ==================================================================================================== */
/**
    USAGE:

    @include z(z-modal);

 */
/*  3 - ELEMENTS
 *  Plain old simple HTML elements without a class (type selectors)
 =========================================================== */
/* ==========================================================================
 * Basic elements (no class selectors allowed)
 * ========================================================================== */
/**
 * Set up the html
 *
 * 1. Makes sure that some fonts are better rendered
 * 2. Set font to lining figures
 *
 * 3. Avoid the IE 10-11 `min-height` bug.
 * 4. Use `%` instead of `vh` since `vh` is buggy in older mobile Safari.
 */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "lnum";
  box-sizing: border-box;
  height: 100%;
}

body {
  font-size: 1rem;
  line-height: 1.5;
  position: relative;
  line-height: 1.5;
  font-family: "Roboto", sans-serif;
  margin: 0;
  color: #656565;
  background: #FFFFFF;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  /* 3, 4 */
}

footer {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

/**
 * [1] Make sure elements like input and textarea inherit some base properties
 *     https://www.smashingmagazine.com/2016/11/css-inheritance-cascade-global-scope-new-old-worst-best-friends/
 *
 * [2] Setting box-sizing the best way per:
 *     https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
* {
  font-family: inherit;
  line-height: inherit;
  color: inherit;
}
*, *:before, *:after {
  box-sizing: inherit;
}

/**
 * [1] Turn off text-shadow when selecting text for better readability
 */
::selection {
  background: #EBC457;
  color: #000000;
  text-shadow: none;
  /* [1] */
}

/* Remove default margin around figure
 */
figure {
  margin: 0;
}

/**
 * [1] Setting 'vertical-align' removes the whitespace that appears under 'img'
 *	   elements when they are dropped into a page as-is. Safer alternative to
 *	   using 'display: block;'.
 * [2] Remove border / especially on older browsers
 */
img, svg {
  vertical-align: middle;
  /*[1]*/
  border: none;
  /*[2]*/
  max-width: 100%;
}

/**
 *  Needed for iOS to prevent input zooming
 *  https://uxcellence.com/2014/01/15/quick-fix-increase-font-size-to-16px-to-fix-input-zoom
 */
input,
select,
textarea {
  font-size: 16px;
}

a:not([class]) {
  position: relative;
  color: #4079B8;
  text-decoration: none;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
a:not([class])::after {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #4079B8;
  content: "";
  opacity: 0;
  transition: height 0.3s, opacity 0.3s, transform 0.3s;
  transform: translateY(-5px);
}
a:not([class]):hover::after {
  height: 2px;
  opacity: 1;
  transform: translateY(0px);
}

h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dd,
p, figure,
pre, table, fieldset, hr {
  margin-top: 0;
  margin-bottom: 0;
}

h1 {
  font-size: 2.5rem;
  line-height: 1;
}

h2 {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: normal;
}

h3 {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  font-weight: 500;
}

h4 {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 500;
}

h5, h6 {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
}

/** =====================================================================================
 *  Lists
 ===================================================================================== */
/**
 *	Default indentation value for lists
 */
ul,
ol {
  padding: 0;
  margin: 0;
  margin-left: 1.125em;
}

dd {
  margin-left: 0;
}

/**
 *	Remove extra vertical spacing when nesting lists.
 */
li > ul,
li > ol {
  margin-bottom: 0;
}

/*  4 - Layout elements
 *  Design patterns (e.g. grids or media object)
 =========================================================== */
/*==========================================================================
 * Contain
 * ========================================================================== */
.l-contain {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .l-contain {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .l-contain {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

/*===============================================================================
 * Split layout in 2 equal columns
 *
 * Until viewport is wide enough the columns are stacked vertically
 * ============================================================================== */
.l-split {
  position: relative;
  background-color: #FFFFFF;
  height: 100%;
}
@media screen and (min-width: 840px) {
  .l-split {
    display: flex;
  }
}

/**
 * Special contain version for split.
 * Doesn't restrain content on medium viewport
 */
.l-split--contain {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .l-split--contain {
    width: 100%;
  }
}
@media screen and (min-width: 1152px) {
  .l-split--contain {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

@media screen and (min-width: 1152px) {
  .l-split__column {
    width: 50%;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .l-split__column:first-child {
    width: 62.5%;
    padding-right: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .l-split__column:first-child {
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
  }
}
@media screen and (max-width: 839px) {
  .l-split__column:last-child {
    margin-top: 6vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .l-split__column:last-child {
    width: 37.5%;
  }
}
.l-split--is-reversed .l-split__column:first-child {
  order: 2;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .l-split--is-reversed .l-split__column:first-child {
    padding-left: 12.5%;
    padding-right: 0;
  }
}
@media screen and (min-width: 1152px) {
  .l-split--is-reversed .l-split__column:first-child {
    padding-left: 8.3333333333%;
  }
}

@media screen and (min-width: 840px) and (max-width: 1151px) {
  .l-split--breakout-on-m .l-split__column:first-child {
    width: 60%;
    padding-left: 10%;
    padding-right: 10%;
  }
  .l-split--breakout-on-m .l-split__column:last-child {
    width: 40%;
  }
}
/**
 * When there is only 1 column, align it to the middle and contain the width
 * Only one column is used e.g. in the tabslider when there is no image set
 */
@media screen and (min-width: 840px) {
  .l-split__column:only-child {
    margin: 0 auto;
    width: 75%;
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 1152px) {
  .l-split__column:only-child {
    width: 50%;
    padding-left: 0 !important;
  }
}

.l-split__column--vpad {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (min-width: 840px) {
  .l-split__column--vpad {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}

@media screen and (min-width: 1152px) {
  .l-split__column--leftpad {
    padding-left: 8.3333333333%;
  }
}
/*==========================================================================
 * Restrict
 *
 * When a block shouldn't take up the whole width of the container
 * we can restrict the maximum width
 * ========================================================================== */
@media screen and (min-width: 840px) {
  .l-restrict-narrow {
    margin-left: auto;
    margin-right: auto;
    width: 75%;
    max-width: 38em;
  }
}
@media screen and (min-width: 1152px) {
  .l-restrict-narrow {
    width: 50%;
  }
}

@media screen and (min-width: 840px) {
  .l-restrict-wide {
    margin-left: auto;
    margin-right: auto;
    width: 87.5%;
  }
}
@media screen and (min-width: 1152px) {
  .l-restrict-wide {
    width: 66.6666666667%;
  }
}

/*  5 - COMPONENTS
 *  Discrete complete chunks of UI.
 *  Designed components
 =========================================================== */
/** ==========================================================================
 * Components
 * =========================================================================*/
.c-breadcrumb {
  padding-bottom: 4px;
}

.c-breadcrumb__list {
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.c-breadcrumb__item {
  display: flex;
  align-items: center;
}
.c-breadcrumb__item:nth-child(n+2) .c-breadcrumb__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-left: 8px;
  margin-right: 8px;
  transform: rotate(0.75turn);
  color: #1D1D1D;
}

.c-breadcrumb__link {
  color: #656565;
  text-decoration: none;
}
.c-breadcrumb__item--last .c-breadcrumb__link {
  font-weight: bold;
}

.c-button {
  border-radius: 4px;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #2C2C2C;
  background-color: #EBC457;
  text-shadow: 0 0 4px rgba(255, 255, 255, 0.2);
  border: none;
  padding: 16px 0;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
}
.c-button:focus {
  outline: none;
  box-shadow: 0 0 0 1px #FFFFFF, 0 0 5px 2px #EBC457;
}
.c-button:active:not(:disabled) {
  outline: none;
  box-shadow: none;
}
.c-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.c-button::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: calc(50% - 2px);
  left: calc(50% - 2px);
  width: 4px;
  height: 4px;
  opacity: 0;
  border-radius: 50%;
  background: #e4b01d;
  pointer-events: none;
  transition-property: opacity, transform;
  transition-duration: 0.5s;
}
.c-button:hover:not(:disabled)::after {
  opacity: 1;
  transform: scale(100);
}

.c-button__text {
  position: relative;
  z-index: 2;
  padding: 0 24px;
  text-align: center;
}
.c-button--icon .c-button__text {
  padding-right: 16px;
}

.c-button__icon {
  display: none;
  position: relative;
  z-index: 2;
  top: -1px;
  margin-right: 15px;
  transition: transform 0.3s;
}
.c-button:hover:not(:disabled) .c-button__icon {
  transform: translateX(3px);
}
.c-button__icon:first-child {
  margin-right: 0;
  margin-left: 15px;
}
.c-button--icon .c-button__icon {
  display: block;
  width: 16px;
}

/* ==========================================================================
 * Default button
 * ========================================================================== */
.c-ghostbutton {
  border-radius: 8px;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  font-weight: 500;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #FFFFFF;
  background: transparent;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
  border: 1px solid currentColor;
  padding: 16px 0;
  text-transform: uppercase;
  position: relative;
  cursor: pointer;
  text-decoration: none;
}
.c-ghostbutton:focus {
  outline: none;
  box-shadow: 0 0 4px 2px rgba(255, 255, 255, 0.5);
}
.c-ghostbutton:active:not(:disabled) {
  outline: none;
  box-shadow: none !important;
}
.c-ghostbutton:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.c-ghostbutton::after {
  border-radius: 8px;
  border: 1px solid transparent;
  background: rgba(0, 0, 0, 0.07);
  background-clip: content-box;
  content: "";
  position: absolute;
  top: -1px;
  bottom: -1px;
  right: -1px;
  left: -1px;
  transform: scaleX(0);
  opacity: 0;
  pointer-events: none;
  transition-duration: 0.5s;
}
.c-ghostbutton:hover:not(:disabled)::after {
  transform: scaleX(1);
  opacity: 1;
  transition-property: opacity, transform;
  transition-duration: 0.35s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-ghostbutton__text {
  position: relative;
  z-index: 2;
  padding: 0 24px;
  text-align: center;
}
.c-button--icon .c-ghostbutton__text {
  padding-right: 16px;
}

.c-ghostbutton__icon {
  display: none;
  position: relative;
  z-index: 2;
  top: -1px;
  margin-right: 15px;
  transition: transform 0.3s;
}
.c-ghostbutton:hover:not(:disabled) .c-ghostbutton__icon {
  transform: translateX(3px);
}
.c-ghostbutton--icon .c-ghostbutton__icon {
  display: block;
  width: 16px;
}
.c-ghostbutton__icon:first-child {
  margin-right: 0;
  margin-left: 15px;
}

.c-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  position: relative;
}

/*
 * Card that does some animations on hover
 */
.c-card--has-action {
  overflow: hidden;
  z-index: 0;
}
.c-card--has-action:hover, .c-card--has-action:active {
  outline: none !important;
}
.c-card--has-action::before, .c-card--has-action::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}
.c-card--has-action::before {
  background-color: rgba(0, 0, 0, 0.92);
  background: radial-gradient(rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.92) 100%);
  transform: translateX(-135%) rotate(-11deg) scale(1.3);
  transform-origin: center;
  transition-property: opacity, transform;
  transition-duration: 300ms;
  transition-delay: 100ms;
  transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
}
.c-card--has-action::after {
  z-index: 2;
  width: 25px;
  margin: auto;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23EBC457' d='M13.4 6.783H.762A.772.772 0 0 1 0 6c0-.432.341-.783.762-.783H13.4L9.623 1.336a.798.798 0 0 1 0-1.107.747.747 0 0 1 1.077 0l5.077 5.218a.798.798 0 0 1 0 1.106L10.7 11.771a.747.747 0 0 1-1.077 0 .798.798 0 0 1 0-1.107L13.4 6.783z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  transform: scale(1.75);
  transition-property: opacity, transform;
  transition-duration: 200ms;
}
.c-card--has-action:hover:before {
  opacity: 0.92;
  transform: rotate(-11deg) scale(1.3);
  transition-duration: 400ms;
  transition-delay: 50ms;
}
.c-card--has-action:hover:after {
  opacity: 1;
  transform: none;
  transition-duration: 400ms;
  transition-delay: 200ms;
}
.c-card--has-action:focus {
  outline-color: #000000;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-card__picture {
  width: 100%;
  flex: auto;
  display: block;
}

.c-card__img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.c-card__label {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  position: relative;
  z-index: 3;
  overflow: hidden;
  padding: 14px 10px 15px;
  text-align: center;
  font-weight: medium;
  text-transform: uppercase;
  color: #FFFFFF;
  background-color: #2C2C2C;
  transition-property: background;
  transition-duration: 400ms;
}
.c-card--has-action:hover .c-card__label {
  color: #2C2C2C;
}
.c-card__label::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #EBC457;
  pointer-events: none;
  transform: translateY(300%) rotate(11deg) scale(1.5, 3);
  transform-origin: center;
  transition-property: opacity, transform;
  transition-duration: 300ms;
  transition-delay: 200ms;
  transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
}
.c-card--has-action:hover .c-card__label::before {
  opacity: 1;
  transform: rotate(5deg) scale(2);
  transition-duration: 300ms;
  transition-delay: 0ms;
}

.c-card__info {
  padding: 16px 32px;
  background-color: #F8F8F8;
}

.c-card__heading {
  font-size: 1.125rem;
  line-height: 1.7777777778;
  color: #2B3745;
}

.c-card__subheading {
  color: #999999;
}

.c-card__textline {
  color: #999999;
}
*:not(.c-card__textline) + .c-card__textline {
  margin-top: 16px;
}

.c-card__email {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #0F5A9D;
}

.c-close {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  transition: transform 180ms ease-out;
}
.c-close:focus {
  box-shadow: 0 0 3px 2px #FFFFFF;
}
.c-close:after, .c-close:before {
  content: "";
  position: absolute;
  top: 20px;
  right: 20%;
  left: 20%;
  height: 3px;
  margin-top: -2px;
  pointer-events: none;
  background: #FFFFFF;
  border-radius: 3px;
}
.c-close:before {
  transform: rotate(45deg);
}
.c-close:after {
  transform: rotate(-45deg);
}
.c-close:hover {
  transform: scale(1.2);
}

.c-connect {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 840px) {
  .c-connect {
    flex-direction: row;
  }
}

.c-connect__phone {
  font-size: 1.125rem;
  line-height: 1.7777777778;
  font-weight: bold;
  text-decoration: none;
  color: #2C2C2C;
  transition: opacity 300ms;
}
.c-connect__phone:hover, .c-connect__phone:active {
  outline: none !important;
}
.c-connect__phone:hover {
  opacity: 0.7;
  text-decoration: underline;
}
.c-connect__phone:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-connect__or {
  margin: 0 16px;
  color: #656565;
}
@media screen and (max-width: 839px) {
  .c-connect__or {
    margin: 8px 0 16px;
  }
}

.c-data {
  margin: 16px 0;
}

.c-data__line {
  display: flex;
}

.c-data__label {
  min-width: 64px;
  font-weight: bold;
  color: #2C2C2C;
}

.c-data__value {
  color: #656565;
  text-decoration: none;
}
.c-data__value[href]:hover, .c-data__value[href]:active {
  outline: none !important;
}
.c-data__value[href]:hover {
  text-decoration: underline;
}
.c-data__value[href]:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-date-label {
  display: inline-block;
  padding: 4px 24px;
  font-weight: bold;
}

.c-date-label--secondary {
  background-color: #EBC457;
  color: #FFFFFF;
}

.c-date-label__day {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  display: inline-block;
}

.c-date-label__month {
  font-size: 1.125rem;
  line-height: 1.7777777778;
  display: inline-block;
}

.c-download-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.c-download-list__item {
  border-bottom: 1px solid #C8C8C8;
  transition: color 0.2s, background-color 0.2s;
}
.c-download-list__item:hover {
  background-color: rgba(200, 200, 200, 0.2);
}

.c-download-list__link {
  display: flex;
  padding: 8px 0;
  text-decoration: none;
}

.c-download-list__icon {
  display: inline-block;
  width: 16px;
}
.c-download-list__icon svg {
  width: 100%;
}

.c-download-list__text {
  width: calc(100% - 16px);
  padding-left: 8px;
}
.c-download-list__item:hover .c-download-list__text {
  color: #1D1D1D;
}

.c-event-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  z-index: 0;
}
.c-event-card:hover, .c-event-card:active {
  outline: none !important;
}
.c-event-card:focus {
  outline-color: #EBC457;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-event-card__picture {
  width: 100%;
  flex: none;
  display: block;
  position: relative;
}
.c-event-card__picture::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
  pointer-events: none;
  transition: all 200ms linear;
}
.c-event-card:hover .c-event-card__picture::before {
  opacity: 1;
}

.c-event-card__img {
  object-fit: cover;
  width: 100%;
  height: auto;
}

.c-event-card__date {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  background-color: #EBC457;
  color: #FFFFFF;
  transform-origin: left bottom;
  transition: all 200ms linear;
}
.c-event-card:hover .c-event-card__date {
  background-color: #EBC457;
  color: #FFFFFF;
  transform: scale(1.05);
}

.c-event-card__info {
  flex: 1;
  padding: 16px 24px;
  background-color: #F8F8F8;
  position: relative;
  transition: all 200ms linear;
}
.c-event-card:hover .c-event-card__info {
  background-color: #EBC457;
}

.c-event-card__title {
  font-size: 1rem;
  line-height: 1.5;
  position: relative;
  z-index: 2;
  font-weight: bold;
  color: #2C2C2C;
  transition: all 200ms linear;
}
.c-event-card:hover .c-event-card__title {
  color: #FFFFFF !important;
}

.c-event-card__subtitle {
  font-size: 0.9375rem;
  line-height: 1.6;
  position: relative;
  z-index: 2;
  color: #999999;
  transition: all 200ms linear;
}
.c-event-card:hover .c-event-card__subtitle {
  color: #FFFFFF !important;
}

.c-event-card__type {
  font-size: 0.9375rem;
  line-height: 1.6;
  position: relative;
  z-index: 2;
  margin-top: 8px;
  color: #C8C8C8;
  transition: all 200ms linear;
}
.c-event-card:hover .c-event-card__type {
  color: #FFFFFF !important;
}

.c-file-upload__main {
  position: relative;
}

.c-file-upload__input {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.c-file-upload__button {
  border-radius: 8px;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1D1D1D;
  background-color: #FFFFFF;
  border: 1px solid #656565;
  margin-right: 8px;
  padding: 16px 24px;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  transition: all 150ms;
}
.c-file-upload__button::after {
  content: "";
  background-image: url(/img/add.svg);
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  margin-left: 16px;
}
.c-file-upload__button:hover {
  opacity: 0.7;
}

.c-file-upload__list {
  margin-left: 0;
  margin-bottom: 24px;
  list-style: none;
  overflow: hidden;
}
.c-file-upload__list > li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-bottom: 1px solid #C8C8C8;
  padding: 4px 0;
  animation: expand 0.5s ease-in-out;
}
.c-file-upload__list > li::before {
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background: url("/img/file.svg") no-repeat;
}
.c-file-upload__list > li > button {
  font-size: 24px;
  line-height: 16px;
  color: #000000;
  margin-left: auto;
  border: none;
  background-color: transparent;
  cursor: pointer;
  outline: none;
  transition: color 150ms linear;
}
.c-file-upload__list > li > button:hover {
  color: red;
}
.c-file-upload__list > li > button::before {
  content: "\D7";
}

.c-file-upload__note {
  color: #999999;
}

@keyframes expand {
  from {
    transform: translateX(-100%);
    transform-origin: top;
    opacity: 0;
    background: #4079B8;
  }
}
.c-form-group__label {
  font-size: 0.9375rem;
  line-height: 1.6;
  display: block;
  padding: 4px 0;
  color: #999999;
}

.c-form-group__error {
  display: none;
}
.has-error .c-form-group__error:not(:empty) {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  display: block;
  padding: 8px;
  color: #4079B8;
  background-color: rgba(64, 121, 184, 0.1);
  border: 1px solid #4079B8;
  border-top: none;
  border-radius: 0 0 4px 4px;
}

.c-form-feedback {
  font-size: 0.9375rem;
  line-height: 1.6;
  border-radius: 4px;
  margin: 0 0 8px;
  padding: 24px 32px;
  color: #2C2C2C;
  background-color: rgba(255, 211, 58, 0.2);
  border: 1px solid #ffd33a;
}
.c-form-feedback:not(:empty) {
  display: block;
}
.c-form-feedback:before {
  content: attr(data-feedback);
  display: inline-block;
  margin-left: -16px;
  margin-bottom: 8px;
  font-weight: 500;
}
.c-form-feedback li::first-letter {
  text-transform: uppercase;
}

.c-hamburger {
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: center;
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0;
  color: #FFFFFF;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
}
.c-hamburger:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}
.c-hamburger > span, .c-hamburger:after, .c-hamburger:before {
  content: "";
  position: absolute;
  top: 20px;
  right: 20%;
  left: 20%;
  height: 3px;
  margin-top: -2px;
  pointer-events: none;
  background: currentColor;
  border-radius: 3px;
  transform-origin: right;
  transition-property: transform;
  transition-duration: 150ms;
  transition-timing-function: ease-out;
  transition-delay: 100ms;
}
.c-hamburger:before {
  top: 12px;
  transform: scaleX(0.8);
}
.c-hamburger:after {
  top: 28px;
  transform: scaleX(0.5);
}
.c-hamburger:hover > span {
  transform: scaleX(0.8);
}
.c-hamburger:hover:after, .c-hamburger:hover:before {
  transform: scaleX(1);
}
.is-overlay-menu-active .c-hamburger > span {
  transform: scaleX(1) !important;
}
.is-overlay-menu-active .c-hamburger:before {
  transform: translateY(3px) scaleX(1) !important;
  transition-delay: 0s;
}
.is-overlay-menu-active .c-hamburger:after {
  transform: translateY(-3px) scaleX(1) !important;
  transition-delay: 0s;
}

.c-heading {
  font-size: 2rem;
  line-height: 1.25;
  margin: 40px 0;
  color: #2C2C2C;
}

@media screen and (min-width: 1152px) {
  .c-heading--indent {
    padding-left: 8.3333333333%;
  }
}

@media screen and (min-width: 840px) {
  .c-hero {
    width: calc(100% - 12vw);
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 840px) and (min-width: 840px) {
  .c-hero {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 840px) and (min-width: 1152px) {
  .c-hero {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.c-hero__main {
  position: relative;
  background-color: #FFFFFF;
}

.c-hero__slider {
  overflow: hidden;
  position: relative;
  padding-bottom: 55.556%;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .c-hero__slider {
    padding-bottom: 50%;
  }
}

.c-hero__picture {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition-property: opacity, filter;
  transition-duration: 500ms;
  transition-timing-function: linear;
  filter: blur(5px);
}
.c-hero__picture.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: none;
}

.c-hero__image {
  width: 100%;
}

.c-hero__caption {
  font-size: calc(16px + 1vw);
  font-weight: bold;
  position: relative;
  padding: 24px;
  line-height: 1.2;
  text-align: center;
  color: #FFFFFF;
  background-color: #0F5A9D;
  text-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 839px) {
  .c-hero__caption br {
    display: none;
  }
}
@media screen and (min-width: 840px) {
  .c-hero__caption {
    position: absolute;
    bottom: 0;
    min-width: 33.3333333333%;
    max-width: 50%;
    padding: 32px;
    text-align: left;
  }
}
@media screen and (min-width: 840px) and (max-width: 1343px) {
  .c-hero__caption {
    padding: 2.6vw;
    font-size: 3.5vw;
    line-height: 1.2;
  }
}
@media screen and (min-width: 1344px) {
  .c-hero__caption {
    font-size: 3rem;
    line-height: 1;
    line-height: 1.25;
    padding-left: 4.1666666667%;
    padding-right: 4.1666666667%;
  }
}

.c-hero__controls {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  padding: 8px;
}
.c-hero__controls::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 48px;
  width: 100%;
  background: linear-gradient(to top, black, transparent);
  opacity: 0.3;
}

.c-hero__scroll {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 40px;
  height: 40px;
  padding: 10px;
  color: #FFFFFF;
  background-color: #EBC457;
  border-radius: 100%;
  transform: translate(-50%, 50%) rotate(0.25turn);
  transition: background-color 200ms;
}
@media screen and (max-width: 839px) {
  .c-hero__scroll {
    display: none;
  }
}
.c-hero__scroll > svg {
  transition: transform 200ms;
}
.c-hero__scroll:hover {
  cursor: pointer;
  background: #e6b52c;
}
.c-hero__scroll:hover > svg {
  transform: translateX(3px);
}
.c-hero__scroll:focus {
  outline: none;
  background: #e8ba3a;
  box-shadow: 0 0 0 3px #f9edcd;
}

.c-info {
  border-radius: 4px;
  font-weight: bold;
  padding: 12px 16px;
  color: #3ecf8e;
  background-color: rgba(62, 207, 142, 0.1);
  border: 1px solid #3ecf8e;
}

.c-input {
  font-size: 0.9375rem;
  line-height: 1.6;
  width: 100%;
  padding: 6px 16px;
  color: #2C2C2C;
  background-color: #FFFFFF;
  border: 2px solid #C8C8C8;
  border-radius: 6px;
  outline: none;
}
.has-error .c-input {
  box-shadow: 0 0 7px -3px #ffd33a;
  border-color: #ffd33a;
  background-color: rgba(255, 211, 58, 0.05);
}
.c-input:focus {
  box-shadow: 0 0 7px -3px #0F5A9D;
  border-color: #0F5A9D;
}
textarea.c-input {
  display: block;
  padding: 16px;
  min-height: 156px;
  line-height: 24px;
  resize: vertical;
}

.c-language {
  position: relative;
}

.c-language__button {
  font-size: 0.9375rem;
  line-height: 1.6;
  border-radius: 4px;
  display: flex;
  position: relative;
  width: 100%;
  padding: 8px;
  text-align: left;
  background: transparent;
  color: rgba(255, 255, 255, 0.5);
  border: none;
  -webkit-appearance: none;
          appearance: none;
  transition: background-color 0.15s, box-shadow 0.15s;
}
.c-language__button:focus {
  outline: none;
}

.c-language__icon {
  flex: none;
  pointer-events: none;
}

.c-language__label {
  margin-left: 4px;
  font-weight: bold;
}

.c-language__dropdown {
  position: absolute;
  right: 0;
  top: 100%;
  min-width: 100%;
  margin: 0;
  opacity: 0;
  list-style: none;
  border-radius: 4px;
  box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.15);
  pointer-events: none;
  transform: translate3d(0, -5px, 0);
  transition: opacity 0.3s, transform 0.3s;
}
.c-language:hover .c-language__dropdown {
  opacity: 1;
  pointer-events: all;
  transform: translate3d(0, 0, 0);
}

.c-language__item {
  background-color: #FFFFFF;
  overflow: hidden;
}
.c-language__item:nth-child(even) {
  background-color: #f2f2f2;
}
.c-language__item:first-child {
  border-radius: 4px 4px 0 0;
}
.c-language__item:last-child {
  border-radius: 0 0 4px 4px;
}
.c-language__item:first-child:last-child {
  border-radius: 4px;
}

.c-language__link {
  display: block;
  padding: 4px 8px;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  color: #656565;
  transition: background-color 0.3s;
}
.c-language__link:hover {
  color: #FFFFFF;
  background-color: #EBC457;
}

/*
	Colors get defined in _settings.config.scss
*/
.c-nav {
  height: 100%;
  padding: 0;
}

.c-nav__list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-left: 0;
  padding: 0;
  list-style: none;
}

.c-nav__item {
  font-size: 1rem;
  line-height: 1.5;
  white-space: nowrap;
  margin-right: 2%;
}
.c-nav__item:last-child {
  margin-right: 0;
}

.c-nav__link {
  position: relative;
  padding: 4px;
  color: #FFFFFF;
  text-decoration: none;
  transition: color 150ms linear;
}
.c-nav__link:hover, .c-nav__link:active {
  outline: none !important;
}
.c-nav__link::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  left: 4px;
  bottom: 1px;
  width: calc(100% - 8px);
  height: 2px;
  border-radius: 1px;
  background-color: rgba(235, 196, 87, 0.5);
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 300ms cubic-bezier(0.86, 0, 0.07, 1);
}
.c-nav__link:hover {
  color: #FFFFFF;
}
.c-nav__link:hover::before {
  transform: scaleX(1);
  transform-origin: bottom left;
}
.c-nav__link.is-active {
  font-weight: 500;
  color: #EBC457;
}
.c-nav__link.is-active::before {
  transform: scaleX(1);
  transform-origin: bottom left;
  background-color: rgba(235, 196, 87, 0.5);
}
.c-nav__link:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-pagination {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  border: 1px solid #C8C8C8;
  list-style: none;
  margin-left: 0;
  overflow: hidden;
}

.c-pagination__item {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 839px) {
  .c-pagination__item {
    display: none;
  }
  .c-pagination__item:first-child, .c-pagination__item:last-child, .c-pagination__item.is-last-page, .c-pagination__item.is-active {
    display: flex;
  }
  .c-pagination__item.is-last-page {
    pointer-events: none;
  }
}
.c-pagination__item + .c-pagination__item {
  border-left: 1px solid;
  border-color: inherit;
}

.c-pagination__text,
.c-pagination__link,
.c-pagination__prev,
.c-pagination__next {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 48px;
  min-height: 48px;
  padding: 8px;
}

.c-pagination__text {
  color: #2C2C2C;
  opacity: 0.35;
}

.c-pagination__link {
  color: #2C2C2C;
  text-decoration: none;
  transition: color 0.2s, background-color 0.2s;
}
.c-pagination__link:hover {
  color: #1f1f1f;
  background: #F8F8F8;
}
.is-active > .c-pagination__link {
  box-shadow: inset 0 0 10px -5px #2B3745;
  font-weight: bold;
  color: #2B3745;
  cursor: default;
}

.c-pagination__prev,
.c-pagination__next {
  transition: background 0.2s;
  transform: rotate(0.75turn);
}
.c-pagination__prev.is-inactive,
.c-pagination__next.is-inactive {
  color: rgba(44, 44, 44, 0.4);
  background: transparent;
}

.c-pagination__prev {
  transform: rotate(0.25turn);
}

/*
 * Page title
 */
.c-page-title {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  padding-top: 16px;
  padding-bottom: 16px;
  color: #2C2C2C;
}
@media screen and (min-width: 840px) {
  .c-page-title {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .c-page-title {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
@media screen and (min-width: 840px) {
  .c-page-title {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

.c-page-title--center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .c-page-title--center {
    width: 75%;
  }
}
@media screen and (min-width: 1152px) {
  .c-page-title--center {
    width: 66.6666666667%;
  }
}

@media screen and (min-width: 840px) {
  .c-page-title__preheading {
    margin-top: -8px;
    margin-bottom: 8px;
  }
}

.c-page-title__heading {
  font-size: 2.5rem;
  line-height: 1;
  line-height: 1.3;
}

.c-page-title__heading-small {
  font-size: 1.25rem;
  line-height: 1.6;
  display: block;
}

.c-page-title__subheading {
  font-size: 1rem;
  line-height: 1.5;
  color: #999999;
}

.c-projector {
  position: relative;
  height: 100%;
}

.c-projector__figure {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  height: 100%;
}

.c-projector__caption {
  font-size: 0.9375rem;
  line-height: 1.6;
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
  -webkit-user-select: text;
      -ms-user-select: text;
          user-select: text;
  margin-top: 8px;
  color: #999999;
}

.c-projector__picture {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  -ms-grid-row-align: end;
      align-self: end;
  height: 100%;
  min-height: 360px;
  display: block;
  background-color: #F8F8F8;
  opacity: 0;
  transition: opacity 0.5s;
}
.ie .c-projector--single-image .c-projector__picture {
  min-height: 400px;
}
.c-projector__picture.is-active {
  opacity: 1;
}

.c-projector__control {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  -ms-grid-row-align: end;
      align-self: end;
  margin-bottom: 8px;
  margin-right: 8px;
}

.c-projector__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 839px) {
  .c-projector__img {
    max-height: 78vh;
  }
}

.c-servicepoint {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
}

.c-servicepoint__image {
  flex: 0;
  min-width: auto;
  max-width: 194px;
  margin-right: 16px;
  border-radius: 100%;
}

.c-servicepoint__content {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  min-width: 50%;
  max-width: 100%;
  flex-grow: 1;
  flex-basis: calc(calc(420px - 100%) * 999);
  margin-top: 16px;
  margin-bottom: 16px;
}
@media screen and (min-width: 1152px) {
  .c-servicepoint__content {
    flex-basis: auto;
  }
}

.c-servicepoint__body {
  margin-top: 8px;
}

.c-servicepoint__footer {
  margin-top: 8px;
}

.c-servicepoint__heading {
  font-size: 1rem;
  line-height: 1.5;
  color: #656565;
  border-radius: 100%;
}

.c-servicepoint__subheading {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #999999;
}

.c-sitemap__item {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  color: #656565;
}

.c-sitemap__link {
  display: block;
  padding: 4px 0;
  text-decoration: none;
}
.c-sitemap__link:hover {
  color: #2B3745;
  text-decoration: underline;
}

/*
 * Skip Link
 */
.c-skip-link {
  font-size: 0.9375rem;
  line-height: 1.6;
  position: fixed;
  top: -100vh;
  left: 50%;
  transform: translateX(-50%);
  color: #4079B8;
  text-decoration: none;
}
.c-skip-link:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
  top: 5px;
  /* Now the link will appear */
}

.c-slide-indicator {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.c-slide-indicator__button {
  position: relative;
  border: none;
  background-color: #EBC457;
  color: #FFFFFF;
  height: 40px;
  width: 40px;
}
.c-slide-indicator__button + .c-slide-indicator__button {
  margin-left: 8px;
}
.c-slide-indicator__button[aria-label=previous] > svg {
  transform: rotate(90deg);
}
.c-slide-indicator__button[aria-label=next] > svg {
  transform: rotate(-90deg);
}
.c-slide-indicator__button:hover {
  cursor: pointer;
  background-color: #e8ba3a;
}
.c-slide-indicator__button:focus {
  outline: none;
  background-color: #e8ba3a;
}

.c-slide-indicator__dot {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: transparent;
  border: none;
  cursor: pointer;
  transition-property: background-color, opacity;
  transition-duration: 250ms;
}
.c-slide-indicator__dot:focus {
  outline: none;
}
.c-slide-indicator__dot:hover:not(.is-active), .c-slide-indicator__dot:focus:not(.is-active) {
  opacity: 0.5;
}
.c-slide-indicator__dot:before, .c-slide-indicator__dot:after {
  content: "";
  position: absolute;
  background-clip: content-box;
  transition-property: transform, background-color, opacity;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  border-radius: 100%;
}
.c-slide-indicator__dot:before {
  top: calc((30px - 8px) / 2);
  right: calc((30px - 8px) / 2);
  bottom: calc((30px - 8px) / 2);
  left: calc((30px - 8px) / 2);
  background-color: #FFFFFF;
}
.c-slide-indicator__dot:after {
  top: calc((30px - 12px) / 2);
  right: calc((30px - 12px) / 2);
  bottom: calc((30px - 12px) / 2);
  left: calc((30px - 12px) / 2);
  border: 1px solid #FFFFFF;
  transform: scale(1.4);
  opacity: 0;
}
.c-slide-indicator__dot.is-active:before {
  background-color: #000000;
  border-color: rgba(255, 255, 255, 0.9);
  transform: scale(0.75);
}
.c-slide-indicator__dot.is-active:after {
  opacity: 0.9;
  transform: scale(1);
}
.c-slide-indicator__dot:focus {
  opacity: 1 !important;
}
.c-slide-indicator__dot:focus:before {
  box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-slide-indicator__dot:focus:after {
  box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}

.c-subnav {
  height: 100%;
}

.c-subnav--boxed {
  background-color: #F8F8F8;
  padding: 80px 6vw;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .c-subnav--boxed {
    padding-left: 25%;
  }
}

.c-subnav__header {
  margin: 0;
}

.c-subnav__list {
  margin-top: 40px;
  list-style-type: none;
  margin-left: 0;
}

.c-subnav__item--back {
  margin-top: 24px;
}

.c-subnav__link {
  position: relative;
  display: flex;
  padding: 8px 0;
  color: #656565;
  text-decoration: none;
  cursor: pointer;
  transition: color 250ms;
}
.c-subnav__link:hover, .c-subnav__link:active {
  outline: none !important;
}
.c-subnav__link:hover {
  color: #4079B8;
}
.c-subnav__link:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}
.c-subnav__link::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-bottom: 1px solid #C8C8C8;
}
.c-subnav__item.is-active .c-subnav__link::before {
  border-color: #2B3745;
  border-width: 2px;
}

.c-subnav__icon {
  opacity: 0;
  align-items: center;
  margin-left: 16px;
  color: #C8C8C8;
  transform: translateX(-16px);
  transition: all 250ms ease-out;
}
.c-subnav__link:hover .c-subnav__icon {
  opacity: 1;
  transform: none;
  color: #4079B8;
}

.c-subnav__item.is-active .c-subnav__link {
  color: #2B3745;
  font-weight: bold;
}
.c-subnav__item.is-active .c-subnav__link::before {
  border-color: #2B3745;
  border-width: 2px;
}
.c-subnav__item.is-active .c-subnav__icon {
  opacity: 0;
}

/**
 * 1. Color gets inherited and used for nested elements with 'currentColor' property
 * 2. Reset default button styling
 */
.c-textbutton {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #4079B8;
  /* 1 */
  padding: 0;
  /* 2 */
  background-color: transparent;
  /* 2 */
  border: none;
  /* 2 */
  cursor: pointer;
  text-decoration: none;
  transition: color 0.3s;
}
.c-textbutton:hover, .c-textbutton:active {
  outline: none !important;
}
.c-textbutton:hover:not(:disabled) {
  color: #26496e;
}
.c-textbutton:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.c-textbutton:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-textbutton__text {
  font-size: 1rem;
  line-height: 1.5;
}

.c-textbutton__icon {
  display: none;
  position: relative;
  margin-left: 8px;
  transition: transform 0.3s;
}
.c-textbutton:hover:not(:disabled) .c-textbutton__icon {
  transform: translateX(3px);
}
.c-textbutton--icon .c-textbutton__icon {
  display: block;
}

.c-textbutton--is-reversed .c-textbutton__text {
  order: 2;
}
.c-textbutton--is-reversed .c-textbutton__icon {
  order: 1;
  top: 1px;
  margin-left: 0;
  margin-right: 8px;
  transform: rotate(0.5turn);
}
.c-textbutton--is-reversed:hover:not(:disabled) .c-textbutton__icon {
  transform: rotate(0.5turn) translateX(3px);
}

.c-toggle {
  list-style: none;
  margin-left: 0;
}

.c-toggle__item {
  border-radius: 8px;
  border: 1px solid #C8C8C8;
}
.c-toggle__item + .c-toggle__item {
  margin-top: 16px;
}

.c-toggle__title {
  position: relative;
  padding-left: 96px;
}
.c-toggle__title[data-toggle-id] {
  cursor: pointer;
}

.c-toggle__icon {
  position: absolute;
  top: 18px;
  left: calc(48px);
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #0F5A9D;
  border: 2px solid currentColor;
  transform: translateX(-50%);
  transition: all 150ms linear;
}
.c-toggle__icon > svg {
  width: 10px;
}
.c-toggle__icon.plus {
  display: flex;
}
.c-toggle__title.is-active .c-toggle__icon.plus {
  display: none;
}
.c-toggle__title.is-active .c-toggle__icon.minus {
  display: flex;
}
.c-toggle__icon.check {
  display: flex;
  border: none;
}
.c-toggle__icon.check > svg {
  width: 24px;
}
.c-toggle__title[data-toggle-id]:not(.is-active):hover .c-toggle__icon {
  color: #1D1D1D;
}

.c-toggle__label {
  font-size: 1rem;
  line-height: 1.5;
  display: flex;
  padding: 16px 0;
  font-weight: bold;
  color: #0F5A9D;
  transition: all 150ms linear;
}
.c-toggle__title[data-toggle-id]:not(.is-active):hover .c-toggle__label {
  color: #1D1D1D;
}

.c-toggle__content {
  max-height: 0;
  opacity: 0;
  padding-left: 96px;
  padding-right: 48px;
  pointer-events: none;
  transition: all 250ms ease-in-out;
}
.is-active ~ .c-toggle__content {
  padding-bottom: 16px;
  max-height: 1000px;
  opacity: 1;
  pointer-events: all;
}

.c-trademark {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: color 200ms;
}
.c-trademark:hover, .c-trademark:active {
  outline: none !important;
}
.c-trademark:hover {
  color: #FFFFFF;
}
.c-trademark:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-trademark__text {
  margin-right: 7px;
  white-space: nowrap;
}

.c-trademark__icon {
  width: 100px;
  max-height: 32px;
  opacity: 0.5;
  transition: opacity 200ms;
  transform: translateY(-1px);
}
.c-trademark:hover .c-trademark__icon {
  opacity: 1;
}

.c-vacancy-properties {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin-left: 0;
}

.c-vacancy-properties__item {
  display: flex;
  align-items: center;
  color: #4079B8;
  margin-top: 4px;
  margin-bottom: 4px;
}
.c-vacancy-properties__item:nth-last-child(n+2) {
  margin-right: 32px;
}

.c-vacancy-properties__icon {
  display: flex;
  align-items: center;
  width: 24px;
  height: 24px;
  margin-right: 8px;
}

.c-video {
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 56.25%;
  background-color: #F5F5F5;
}

.c-video__iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  6 - ORGANISMS
 *  Large blocks composed of multiple components.
 =========================================================== */
/** ==========================================================================
 * Organisms
 * =========================================================================*/
.o-accordion {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-accordion {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-accordion {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.o-accordion__item {
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  border-style: solid;
  border-width: 1px;
  border-color: #C8C8C8;
  transition-property: border;
  transition-duration: 250ms;
}
.o-accordion__item + .o-accordion__item {
  margin-top: 16px;
}
.o-accordion__item:not(.is-active):hover {
  border-color: #2B3745;
}

.o-accordion__title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-top: 16px;
  padding-right: 24px;
  padding-bottom: 16px;
  padding-left: 48px;
  color: #000000;
  cursor: pointer;
}
@media screen and (min-width: 840px) {
  .o-accordion__title {
    padding-left: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-accordion__title {
    padding-left: 8.3333333333%;
  }
}
.o-accordion__item:not(.is-active) .o-accordion__title:hover {
  color: #2B3745;
}

.o-accordion__icon {
  flex: 0 0 auto;
  position: absolute;
  top: auto;
  left: 14px;
  width: 20px;
  height: 20px;
  color: inherit;
  border-color: currentColor;
  border-width: 2px;
  border-style: solid;
  border-radius: 100%;
  transition-property: color;
  transition-duration: 250ms;
  transition-timing-function: ease;
}
@media screen and (min-width: 840px) {
  .o-accordion__icon {
    left: calc(6.25% - 10px);
  }
}
@media screen and (min-width: 1152px) {
  .o-accordion__icon {
    left: calc(4.1666666667% - 10px);
  }
}
.o-accordion__icon::before, .o-accordion__icon::after {
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  width: 10px;
  left: 3px;
  top: calc(50% - 1px);
  background-color: currentColor;
  transition-property: background-color, transform;
  transition-duration: 250ms, 400ms;
  transition-timing-function: ease, cubic-bezier(0.86, 0, 0.07, 1);
}
.o-accordion__item.is-active .o-accordion__icon::before {
  transform: scaleX(0) rotate(0.25turn);
}
.o-accordion__icon::after {
  transform: rotate(0.25turn);
}
.o-accordion__item.is-active .o-accordion__icon::after {
  transform: rotate(0.5turn);
}

.o-accordion__header {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 500;
  color: inherit;
  text-decoration: inherit;
  transition-property: color;
  transition-duration: 250ms;
  transition-timing-function: ease;
}
@media screen and (min-width: 840px) {
  .o-accordion__header {
    font-size: 1.5rem;
    line-height: 1.3333333333;
  }
}

/* Hidden by default*/
.o-accordion__content {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  padding-left: 48px;
  padding-right: 24px;
  transform: translateY(6px);
  transition: all 0.2s ease-in-out;
}
.o-accordion__content > * + * {
  margin-top: 1.5rem;
}
@media screen and (min-width: 840px) {
  .o-accordion__content {
    padding-left: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-accordion__content {
    padding-left: 8.3333333333%;
  }
}
.o-accordion__item.is-active .o-accordion__content {
  opacity: 1;
  max-height: 400px;
  padding-bottom: 32px;
  transform: none;
  transition-property: all;
  transition-duration: 400ms;
  transition-timing-function: ease-out;
  transition-delay: 0.2s;
}

@media screen and (max-width: 839px) {
  .o-apply {
    padding-top: 6vw;
    padding-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-apply {
    padding-top: 5vw;
    padding-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-apply {
    padding-top: 3.5714285714vw;
    padding-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-apply {
    padding-top: 48px;
    padding-bottom: 96px;
  }
}

.o-apply__heading {
  padding-bottom: 48px;
  color: #1D1D1D;
}

@media screen and (min-width: 700px) {
  .o-apply__body {
    display: flex;
  }
}

@media screen and (min-width: 700px) {
  .o-apply__left {
    width: calc(50% + 48px);
    padding-right: 48px;
  }
}

.o-apply__right {
  margin-top: 16px;
}
@media screen and (min-width: 700px) {
  .o-apply__right {
    width: 50%;
    margin-top: 0;
  }
}

.o-apply__row + .o-apply__row {
  margin-top: 16px;
}

@media screen and (min-width: 700px) {
  .o-apply__fileupload {
    margin-top: 40px;
  }
}

.o-apply__footer {
  border-top: 1px solid #C8C8C8;
  margin-top: 48px;
  padding-top: 48px;
  text-align: center;
}

.o-apply__feedback {
  margin-top: 32px;
}

@media screen and (max-width: 839px) {
  .o-block {
    margin-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-block {
    margin-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-block {
    margin-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-block {
    margin-bottom: 96px;
  }
}
@media screen and (max-width: 839px) {
  .o-block + .o-block {
    margin-top: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-block + .o-block {
    margin-top: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-block + .o-block {
    margin-top: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-block + .o-block {
    margin-top: 96px;
  }
}

/*
* Wrapper of the main body
* (between the header and the footer)
*/
.o-body {
  z-index: 40;
  position: relative;
  flex: 0 0 auto;
}

.o-callout-bar {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  color: #2C2C2C;
  background-color: #F8F8F8;
  text-align: center;
}

.o-callout-bar__main {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-callout-bar__main {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-callout-bar__main {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
@media screen and (max-width: 839px) {
  .o-callout-bar__main {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-callout-bar__main {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-callout-bar__main {
    padding-top: 7.1428571429vw;
    padding-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-callout-bar__main {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}
@media screen and (max-width: 839px) {
  .o-callout-bar__main > * + * {
    margin-top: 6vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-callout-bar__main > * + * {
    margin-top: 5vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-callout-bar__main > * + * {
    margin-top: 3.5714285714vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-callout-bar__main > * + * {
    margin-top: 48px;
  }
}

.o-callout-bar__body {
  display: inline-block;
}

.o-callout-bar__heading {
  font-size: 2rem;
  line-height: 1.25;
}

/*
 * Card grid
 *
 */
@media screen and (min-width: 600px) {
  .o-card-grid__main {
    display: flex;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 599px) {
  .o-card-grid__item + .o-card-grid__item {
    margin-top: 32px;
  }
}
@media screen and (max-width: 599px) {
  .o-card-grid__item {
    max-width: 344px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 600px) and (max-width: 1151px) {
  .o-card-grid__item {
    flex: 0;
    flex-basis: calc(50% - ((2 - 1) / 2 * 32px));
    margin-left: 32px;
  }
  .o-card-grid__item:nth-child(2n+1) {
    margin-left: 0;
  }
  .o-card-grid__item:nth-child(n+3) {
    margin-top: 32px;
  }
}
@media screen and (min-width: 1152px) {
  .o-card-grid__item {
    flex: 0;
    flex-basis: calc(33.3333333333% - ((3 - 1) / 3 * 32px));
    margin-left: 32px;
  }
  .o-card-grid__item:nth-child(3n+1) {
    margin-left: 0;
  }
  .o-card-grid__item:nth-child(n+4) {
    margin-top: 32px;
  }
}

.o-contact {
  background-color: #FFFFFF;
  position: relative;
}
@media screen and (min-width: 1040px) {
  .o-contact {
    display: flex;
    width: calc((100% / 14) * 12);
    max-width: 1152px;
    margin-left: auto;
    margin-right: auto;
  }
}

.o-contact__info {
  padding-top: 32px;
  padding-left: 6vw;
  padding-right: 6vw;
}
@media screen and (min-width: 840px) {
  .o-contact__info {
    padding-left: 10%;
    padding-right: 10%;
  }
}
@media screen and (min-width: 1152px) {
  .o-contact__info {
    padding-left: 7.1428571429%;
    padding-right: 7.1428571429%;
  }
}
@media screen and (min-width: 1040px) {
  .o-contact__info {
    width: 50%;
    padding-top: 48px;
    padding-bottom: 48px;
    padding-right: 8px;
  }
}

.o-contact__form {
  margin-top: 32px;
  padding: 32px 6vw;
  background-color: #F8F8F8;
}
@media screen and (min-width: 840px) {
  .o-contact__form {
    padding-left: 10%;
    padding-right: 10%;
  }
}
@media screen and (min-width: 1152px) {
  .o-contact__form {
    padding-left: 7.1428571429%;
    padding-right: 7.1428571429%;
  }
}
@media screen and (min-width: 1040px) {
  .o-contact__form {
    width: 50%;
    margin-top: 0;
    padding-top: 48px;
  }
}

.o-contact__header {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  font-size: 2rem;
  line-height: 1.25;
  margin-bottom: 32px;
  color: #2C2C2C;
}

.o-contact__card {
  margin-bottom: 40px;
}

.o-contact__address {
  margin-top: 24px;
}

.o-contact__numbers {
  margin-top: 16px;
}

.o-cookie-bar {
  z-index: -1;
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  height: 64px;
  width: 100%;
  background-color: #1D1D1D;
  opacity: 1;
  box-shadow: 0 -4px 6px 0 rgba(0, 0, 0, 0.2);
  transition: opacity 0.5s, transform 0.6s;
  transform: none;
}
.o-cookie-bar:not(.is-accepted) {
  z-index: 9999;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.o-cookie-bar.is-transitioning-out {
  z-index: -1;
  opacity: 0;
  transform: translateY(50%);
}

.o-cookie-bar__main {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 373px) {
  .o-cookie-bar__main {
    transform: scale(0.9);
  }
}

.o-cookie-bar__text {
  margin: 0;
  color: #FFFFFF;
}
@media screen and (max-width: 374px) {
  .o-cookie-bar__text {
    font-size: 0.875rem;
    line-height: 1.1428571429;
  }
}

.o-cookie-bar__link {
  color: inherit;
  transition: color 0.3s;
}
.o-cookie-bar__link:hover {
  color: rgba(255, 255, 255, 0.75);
}

.o-cookie-bar__button {
  flex: none;
  margin-left: 40px;
}
@media screen and (max-width: 839px) {
  .o-cookie-bar__button {
    margin-left: 16px;
  }
}

/*===============================================================================
 * Double image in 2 equal columns
 *
 * Until viewport is wide enough the pictures are stacked vertically
 * ============================================================================== */
.o-double-image {
  margin: -1px;
  text-align: center;
}
@media screen and (min-width: 1100px) {
  .o-double-image {
    display: flex;
  }
}

.o-double-image__picture {
  display: block;
  margin: 1px;
  order: 1;
  min-height: 360px;
}
@media screen and (min-width: 1100px) {
  .o-double-image__picture {
    width: 50%;
    display: flex;
    justify-content: flex-end;
  }
  .o-double-image__picture:last-child {
    justify-content: flex-start;
  }
}

.o-double-image__img {
  object-fit: cover;
  max-height: 85vh;
}

.o-double-image--is-reversed .o-double-image__picture {
  justify-content: flex-start;
}
.o-double-image--is-reversed .o-double-image__picture:last-child {
  order: 0;
  justify-content: flex-end;
}

/*===============================================================================
 * Double layout in 2 equal columns
 *
 * Until viewport is wide enough the columns are stacked vertically
 * ============================================================================== */
.o-double-text {
  position: relative;
  background-color: #FFFFFF;
  height: 100%;
}
@media screen and (min-width: 840px) {
  .o-double-text {
    display: flex;
  }
}

@media screen and (min-width: 1152px) {
  .o-double-text__column {
    width: 50%;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-double-text__column:first-child {
    width: 62.5%;
    padding-right: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-double-text__column:first-child {
    padding-left: 8.3333333333%;
  }
}
@media screen and (max-width: 839px) {
  .o-double-text__column:last-child {
    margin-top: 6vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-double-text__column:last-child {
    width: 37.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-double-text__column:last-child {
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
  }
}

@media screen and (max-width: 1151px) {
  .o-double-usp {
    background-color: #2B3745;
  }
}

.o-double-usp__main {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  padding-top: 48px;
  padding-bottom: 48px;
}
@media screen and (min-width: 840px) {
  .o-double-usp__main {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-double-usp__main {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
@media screen and (min-width: 840px) {
  .o-double-usp__main {
    display: flex;
  }
}

@media screen and (max-width: 839px) {
  .o-double-usp__left {
    margin-bottom: 48px;
  }
}
@media screen and (min-width: 840px) {
  .o-double-usp__left {
    width: 58.3333333333%;
    padding-right: 8.3333333333%;
  }
}

@media screen and (min-width: 840px) {
  .o-double-usp__right {
    width: 50%;
  }
}

.o-double-usp__heading {
  font-size: 2rem;
  line-height: 1.25;
  margin-bottom: 24px;
  color: #FFFFFF;
}

.o-double-usp__list {
  list-style-type: none;
  margin-left: 16px;
}

.o-double-usp__item {
  position: relative;
  padding-left: 16px;
  color: #FFFFFF;
}
.o-double-usp__item + .o-double-usp__item {
  margin-top: 16px;
}
.o-double-usp__item::before {
  content: "";
  position: absolute;
  top: 5px;
  left: -16px;
  width: 16px;
  height: 12px;
  background-image: url(/img/check/checked.svg);
  background-size: 16px 12px;
}

@media screen and (min-width: 840px) {
  .o-downloads {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 840px) {
  .o-downloads--is-reversed {
    flex-direction: row-reverse;
  }
}

.o-downloads__main {
  background-color: #FFFFFF;
  padding-top: 40px;
  padding-bottom: 72px;
}
@media screen and (min-width: 840px) {
  .o-downloads__main {
    width: 50%;
  }
}
@media screen and (max-width: 1151px) {
  .o-downloads__main {
    padding-left: 6.25%;
    padding-right: 6.25%;
  }
}
@media screen and (min-width: 1152px) {
  .o-downloads__main {
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
  }
}
.o-downloads__main .c-heading {
  margin-top: 0;
}

@media screen and (max-width: 839px) {
  .o-downloads__service-point {
    margin-top: 80px;
  }
}
@media screen and (min-width: 840px) {
  .o-downloads__service-point {
    margin-top: 40px;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-downloads__service-point {
    width: 37.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-downloads__service-point {
    width: 41.6666666667%;
  }
}

.o-event {
  display: -ms-grid;
  display: grid;
  grid-row-gap: 64px;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: auto 64px auto;
  grid-template-rows: repeat(2, auto);
              grid-template-areas: "data" "form";
}
.o-event__data {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: data;
  display: block;
}
.o-event__form {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: form;
  display: block;
}
@media screen and (min-width: 1000px) {
  .o-event {
    -ms-grid-columns: 6fr 8.3333333333% 5fr;
    grid-template-columns: 6fr 5fr;
    grid-column-gap: 8.3333333333%;
                grid-template-areas: "form data";
  }
  .o-event__data {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-event__form {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}

@media screen and (min-width: 1000px) {
  .o-event__data {
    padding-top: 32px;
  }
}
@media screen and (min-width: 1152px) {
  .o-event__data {
    padding-top: 48px;
  }
}

.o-event__form {
  padding-top: 32px;
  padding-bottom: 32px;
  background-color: #F8F8F8;
}
@media screen and (max-width: 839px) {
  .o-event__form {
    margin-left: -8.3333333333%;
    margin-right: -8.3333333333%;
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
  }
}
@media screen and (min-width: 840px) {
  .o-event__form {
    padding-left: 48px;
    padding-right: 48px;
  }
}
@media screen and (min-width: 1152px) {
  .o-event__form {
    padding-top: 48px;
    padding-left: 96px;
    padding-right: 96px;
    padding-bottom: 80px;
  }
}

.o-event__info-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 64px;
}
.o-event__info-list dt {
  width: 110px;
  text-transform: capitalize;
  align-self: flex-start;
  font-weight: bold;
}
.o-event__info-list dd {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  width: calc(100% - 110px);
}

.o-event__heading {
  color: #1D1D1D;
  margin-bottom: 32px;
}

.o-event__servicepoint-heading {
  margin-top: 64px;
}

/*
 * Events
 *
 */
@media screen and (min-width: 600px) {
  .o-events__main {
    display: flex;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 599px) {
  .o-events__item + .o-events__item {
    margin-top: 32px;
  }
}
@media screen and (max-width: 599px) {
  .o-events__item {
    max-width: 344px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 600px) and (max-width: 899px) {
  .o-events__item {
    flex: 0;
    flex-basis: calc(50% - ((2 - 1) / 2 * 32px));
    margin-left: 32px;
  }
  .o-events__item:nth-child(2n+1) {
    margin-left: 0;
  }
  .o-events__item:nth-child(n+3) {
    margin-top: 32px;
  }
}
@media screen and (min-width: 900px) and (max-width: 1199px) {
  .o-events__item {
    flex: 0;
    flex-basis: calc(33.3333333333% - ((3 - 1) / 3 * 32px));
    margin-left: 32px;
  }
  .o-events__item:nth-child(3n+1) {
    margin-left: 0;
  }
  .o-events__item:nth-child(n+4) {
    margin-top: 32px;
  }
}
@media screen and (min-width: 1200px) {
  .o-events__item {
    flex: 0;
    flex-basis: calc(25% - ((4 - 1) / 4 * 32px));
    margin-left: 32px;
  }
  .o-events__item:nth-child(4n+1) {
    margin-left: 0;
  }
  .o-events__item:nth-child(n+5) {
    margin-top: 32px;
  }
}

.o-footer {
  z-index: 20;
  color: #FFFFFF;
  background-color: #2B3745;
  flex: 1 0 auto;
  background-image: url("/img/patroon-footer.svg");
  background-position: right top;
  background-repeat: repeat-y;
  background-size: auto 50.1%;
}
@media screen and (min-width: 840px) {
  .o-footer {
    background-repeat: no-repeat;
    background-size: auto;
  }
}

.o-footer__main {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-footer__main {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-footer__main {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
@media screen and (max-width: 839px) {
  .o-footer__main {
    padding-top: 6vw;
    padding-bottom: 6vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-footer__main {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-footer__main {
    padding-top: 3.5714285714vw;
    padding-bottom: 3.5714285714vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-footer__main {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

@media screen and (min-width: 840px) {
  .o-footer__columns {
    display: flex;
  }
}

.o-footer__brand {
  display: inline-block;
  transition: opacity 200ms linear;
}
@media screen and (max-width: 839px) {
  .o-footer__brand {
    margin-bottom: 3.96vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-footer__brand {
    margin-bottom: 3.3vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-footer__brand {
    margin-bottom: 2.3571428571vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-footer__brand {
    margin-bottom: 31.68px;
  }
}
.o-footer__brand:hover {
  opacity: 0.5;
}

.o-footer__logo {
  height: 28px;
}

.o-footer__info > * + * {
  margin-top: 32px;
}
@media screen and (min-width: 840px) {
  .o-footer__info {
    width: 40%;
  }
}
@media screen and (min-width: 1152px) {
  .o-footer__info {
    width: 41.6666666667%;
  }
}

@media screen and (max-width: 839px) {
  .o-footer__nav {
    margin-top: 6vw;
  }
}
@media screen and (min-width: 840px) {
  .o-footer__nav {
    margin-left: 10%;
  }
}
@media screen and (min-width: 1152px) {
  .o-footer__nav {
    margin-left: 8.3333333333%;
  }
}

.o-footer__list {
  list-style: none;
  margin: 0;
}

.o-footer__link {
  display: inline-block;
  position: relative;
  z-index: 0;
  color: #FFFFFF;
  text-decoration: none;
  cursor: pointer;
}
.o-footer__link:hover, .o-footer__link:active {
  outline: none !important;
}
.o-footer__link::before {
  border-radius: 4px;
  opacity: 0;
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: -8px;
  right: -8px;
  background-color: rgba(0, 0, 0, 0.15);
  transition: opacity 150ms linear;
}
.o-footer__link:hover {
  color: #EBC457;
}
.o-footer__link:hover::before {
  opacity: 1;
}
.o-footer__link:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.o-footer__social {
  display: flex;
  list-style: none;
  margin: 32px 0 0;
}

.o-footer__channel {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  margin-right: 16px;
}

.o-footer__icon {
  flex: auto;
  display: block;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  transition-property: opacity;
  transition-duration: 0.3s;
}
.facebook .o-footer__icon {
  background-image: url("/img/social/facebook.svg");
  height: 21px;
}
.instagram .o-footer__icon {
  background-image: url("/img/social/instagram.svg");
}
.twitter .o-footer__icon {
  background-image: url("/img/social/twitter.svg");
  height: 20px;
}
.linkedin .o-footer__icon {
  background-image: url("/img/social/linkedin.svg");
  height: 18px;
}
.o-footer__icon:hover {
  opacity: 0.5;
}
.o-footer__icon:focus {
  outline-color: #4079B8;
}

.o-form__header {
  margin-bottom: 40px;
}

.o-form__footer {
  margin-top: 40px;
}

.o-form__row + .o-form__row {
  margin-top: 20px;
}

.o-form__pot {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
}

/*
	Colors get defined in _settings.config.scss
*/
.o-header {
  z-index: 50;
  background-color: #2B3745;
  position: relative;
  padding: 32px 0;
}
.o-header.is-sticky {
  opacity: 0;
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 32px;
  padding-bottom: 32px;
  box-shadow: 0 -5px 30px black;
  transform: translateY(-100%);
  transition-property: transform, opacity;
  transition-duration: 300ms;
  transition-delay: 0s, 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
}
@media screen and (min-width: 1152px) {
  .o-header.is-sticky {
    display: none;
  }
}
.is-sticky-header-visible .o-header.is-sticky {
  opacity: 1;
  transform: none;
  transition-delay: 0s;
}

.o-header__main {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
@media screen and (min-width: 840px) {
  .o-header__main {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-header__main {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.o-header__nav {
  width: 100%;
  margin-left: 48px;
}
@media screen and (max-width: 1151px) {
  .o-header__nav {
    display: none;
  }
}

.o-header__language {
  flex: none;
  margin-left: 16px;
}
@media screen and (max-width: 1151px) {
  .o-header__language {
    margin-left: auto;
  }
}

.o-header__logo {
  flex: none;
}
.o-header__logo:hover, .o-header__logo:active {
  outline: none !important;
}
.o-header__logo:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.o-header__img {
  height: 32px;
}

@media screen and (min-width: 1152px) {
  .o-header__toggle {
    display: none;
  }
}

.o-intro {
  position: relative;
  z-index: 0;
  background-color: #2B3745;
}
@media screen and (max-width: 839px) {
  .o-intro {
    margin-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-intro {
    margin-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-intro {
    margin-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-intro {
    margin-bottom: 96px;
  }
}

.o-intro__body {
  position: relative;
}
@media screen and (max-width: 839px) {
  .o-intro__body {
    margin-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-intro__body {
    margin-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-intro__body {
    margin-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-intro__body {
    margin-bottom: 96px;
  }
}
@media screen and (max-width: 839px) {
  .o-intro--mobile-break-out .o-intro__body {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
  }
}
.o-intro__body::before, .o-intro__body::after {
  content: "";
  z-index: -1;
  position: absolute;
  bottom: 0;
  width: 50vw;
  height: 5vw;
  max-height: 96px;
}
.o-intro__body::before {
  background-image: url(/img/patroon-header-l.svg);
  background-position: right;
  right: 90%;
}
@media screen and (min-width: 1152px) {
  .o-intro__body::before {
    right: 92.8571428571%;
  }
}
@media screen and (min-width: 1344px) {
  .o-intro__body::before {
    right: calc((100% - 1152px) / 2 + 1152px);
  }
}
.o-intro__body::after {
  background-image: url(/img/patroon-header-r.svg);
  left: 90%;
}
@media screen and (min-width: 1152px) {
  .o-intro__body::after {
    left: 92.8571428571%;
  }
}
@media screen and (min-width: 1344px) {
  .o-intro__body::after {
    left: calc((100% - 1152px) / 2 + 1152px);
  }
}

.o-intro__content {
  background-color: #FFFFFF;
  position: relative;
}
@media screen and (min-width: 840px) {
  .o-intro__content {
    display: flex;
  }
}
@media screen and (min-width: 1152px) {
  .o-intro__content {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
    margin-left: auto;
    margin-right: auto;
  }
}

.o-intro__nav,
.o-intro__image {
  margin-top: 32px;
}
@media screen and (min-width: 840px) {
  .o-intro__nav,
.o-intro__image {
    order: -1;
    width: 41.6666666667%;
    margin-top: 0;
  }
}
@media screen and (min-width: 1152px) {
  .o-intro__nav,
.o-intro__image {
    width: 50%;
  }
}

.o-intro__nav {
  background-color: #F8F8F8;
  padding: 32px 6vw;
}
@media screen and (min-width: 840px) {
  .o-intro__nav {
    padding: 80px 4.1666666667%;
    padding-left: 10%;
  }
}
@media screen and (min-width: 1152px) {
  .o-intro__nav {
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
  }
}

.o-intro__text {
  padding-top: 32px;
  padding-left: 6vw;
  padding-right: 6vw;
}
@media screen and (min-width: 840px) {
  .o-intro__text {
    width: 58.3333333333%;
    padding: 80px 8.3333333333%;
  }
}
@media screen and (min-width: 1152px) {
  .o-intro__text {
    width: 50%;
  }
}

.o-intro__title,
.o-intro__heading {
  color: #FFFFFF !important;
}

.o-intro__button {
  color: rgba(255, 255, 255, 0.35) !important;
}

.o-logos__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: 0;
  margin: -2.382vw;
  list-style-type: none;
}
@media screen and (min-width: 1344px) {
  .o-logos__list {
    margin: -32px;
  }
}

.o-logos__item {
  flex: 0 1 100%;
  margin: 2.382vw;
}
@media screen and (min-width: 384px) {
  .o-logos__item {
    flex-basis: calc(50% - 5vw);
  }
}
@media screen and (min-width: 840px) {
  .o-logos__item {
    flex-basis: calc(33.3333333333% - 5vw);
  }
}
@media screen and (min-width: 1152px) {
  .o-logos__item {
    flex-basis: calc(25% - 5vw);
  }
}
@media screen and (min-width: 1344px) {
  .o-logos__item {
    flex-basis: calc(25% - 64px);
    margin: 32px;
  }
}

.o-logos__link {
  display: block;
}

.o-logos__img {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.o-map a:after {
  display: none;
}

.o-news {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-news {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-news {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.o-news__heading {
  font-size: 2rem;
  line-height: 1.25;
  color: #2C2C2C;
}

.o-news__article {
  position: relative;
}
.o-news__article + .o-news__article {
  margin-top: 32px;
}

.o-news__link {
  display: block;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 150ms linear;
}
.o-news__link:hover, .o-news__link:active {
  outline: none !important;
}
.o-news__link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 1px solid #C8C8C8;
  transition: opacity 150ms linear;
}
.o-news__link:hover, .o-news__link:focus {
  background-color: #F8F8F8;
}
.o-news__link:hover::before, .o-news__link:focus::before {
  opacity: 0;
}
.o-news__link:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}
@media screen and (min-width: 840px) {
  .o-news__link {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
}

.o-news__body {
  flex-grow: 1;
  padding: 6vw;
}
@media screen and (min-width: 840px) {
  .o-news__body {
    order: 1;
    padding-top: 48px;
    padding-bottom: 48px;
    padding-left: 12.5%;
    padding-right: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-news__body {
    padding-left: 8.3333333333%;
  }
}

.o-news__image {
  position: relative;
  width: 100%;
  padding-bottom: 55%;
}
@media screen and (min-width: 840px) {
  .o-news__image {
    flex: none;
    order: 2;
    width: 25%;
    padding-bottom: 25%;
  }
}

.o-news__bg-image {
  position: absolute;
  background-position: 50% 50%;
  background-size: cover;
  top: 6vw;
  right: 6vw;
  width: calc(100% - 12vw);
  height: calc(100% - 6vw);
}
@media screen and (min-width: 840px) {
  .o-news__bg-image {
    top: 8px;
    right: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
  }
}

.o-news__intro {
  margin-top: 24px;
}

.o-news__timestamp {
  display: block;
  margin-top: 16px;
  color: #999999;
}

.o-news__action {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 8px;
  color: #4079B8;
}

.o-news__readmore {
  margin-right: 8px;
}

.o-news__footer {
  margin-top: 32px;
  text-align: center;
}

.o-overlay-menu {
  z-index: 100;
  display: flex;
  flex-direction: column;
  opacity: 0;
  position: fixed;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  background-color: #2B3745;
  transform: translateX(-120vw);
  transition-property: transform, opacity;
  transition-duration: 400ms, 200ms;
  transition-delay: 0s, 400ms;
  transition-timing-function: cubic-bezier(0.5, 0.15, 0.1, 1), linear;
}
.is-overlay-menu-active .o-overlay-menu {
  opacity: 1;
  transform: none;
  transition-delay: 200ms, 0s;
}
.o-overlay-menu::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: -120vw;
  width: 120vw;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  pointer-events: none;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 200ms;
  transition-delay: 400ms;
  transition-timing-function: linear;
}
.is-overlay-menu-active .o-overlay-menu::before {
  opacity: 1;
  transition-delay: 0s;
}
.o-overlay-menu::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: -20%;
  width: 20%;
  height: 100%;
  background: linear-gradient(-86deg, transparent 50%, #2B3745 50%);
}
@media screen and (min-width: 1152px) {
  .o-overlay-menu {
    display: none;
  }
}

.o-overlay-menu__bar {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 32px;
  padding-bottom: 32px;
}
@media screen and (min-width: 840px) {
  .o-overlay-menu__bar {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-overlay-menu__bar {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.o-overlay-menu__img {
  height: 48px;
}

.o-overlay-menu__toggle {
  transform: rotate(-0.5turn);
  transition: transform 600ms ease-out;
  transition-delay: 200ms;
}
.is-overlay-menu-active .o-overlay-menu__toggle {
  transform: none;
}

.o-overlay-menu__list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-left: 0;
  list-style: none;
}

.o-overlay-menu__item {
  padding: 8px 7.1428571429%;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.o-overlay-menu__link {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  display: block;
  color: #FFFFFF;
  text-decoration: none;
  transition: opacity 200ms linear;
}
.o-overlay-menu__link:hover {
  color: rgba(255, 255, 255, 0.7);
}
.o-overlay-menu__link:focus {
  outline-offset: 2px;
  outline-color: rgba(255, 255, 255, 0.3);
}
.o-overlay-menu__link.is-active {
  position: relative;
  opacity: 1;
  font-weight: bold;
}
.o-overlay-menu__link.is-active::before {
  content: "\2794";
  position: absolute;
  top: 6px;
  left: -1.25em;
  font-size: 14px;
}

.o-quote {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-quote {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-quote {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

@media screen and (min-width: 840px) {
  .o-quote {
    display: flex;
  }
}

@media screen and (min-width: 840px) {
  .o-quote__body {
    width: 50%;
  }
}
@media screen and (min-width: 1152px) {
  .o-quote__body {
    margin-left: 8.3333333333%;
    width: 66.6666666667%;
  }
}

.o-quote__picture {
  display: block;
}
@media screen and (max-width: 839px) {
  .o-quote__picture {
    margin-top: 32px;
  }
}
@media screen and (min-width: 840px) {
  .o-quote__picture {
    width: 37.5%;
    margin-left: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-quote__picture {
    width: 33.3333333333%;
    margin-left: 8.3333333333%;
    margin-right: 8.3333333333%;
  }
}

.o-quote__img {
  display: block;
  margin: 0 auto;
}

.o-quote__text {
  font-size: 1.125rem;
  line-height: 1.7777777778;
  quotes: "\201C" "\201D";
}
.o-quote__text::before {
  content: open-quote;
}
.o-quote__text::after {
  content: close-quote;
}

.o-quote__author {
  margin-top: 24px;
  margin-left: 8.3333333333%;
}

.o-quote__heading {
  font-size: 1rem;
  line-height: 1.5;
  color: #656565;
}

.o-quote__subheading {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #999999;
}

.o-references {
  display: flex;
  flex-wrap: wrap;
  margin: -32px;
}

.o-references__item {
  border-radius: 4px;
  flex: 0 1 100%;
  margin: 32px;
  padding-top: 24px;
  padding-bottom: 24px;
  background-color: #FFFFFF;
  border: 0px solid #C8C8C8;
  box-shadow: 0 2.4px 39.4px -16px rgba(0, 0, 0, 0.024), 0 6.8px 45.5px -16px rgba(0, 0, 0, 0.035), 0 16.3px 51.4px -16px rgba(0, 0, 0, 0.046), 0 54px 80px -16px rgba(0, 0, 0, 0.07);
}
@media screen and (min-width: 800px) {
  .o-references__item {
    flex-basis: calc(50% - 64px - 0px);
  }
}

.o-references__body {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-top: 0;
  padding-right: 24px;
}

.o-references__picture {
  display: block;
  flex-grow: 1;
  flex-basis: 25%;
  margin-bottom: 24px;
  margin-left: 24px;
}

.o-references__content {
  flex-grow: 9999;
  flex-basis: 18em;
  margin-left: 24px;
  color: #656565;
}

.o-references__author {
  margin-top: 24px;
}

.o-references__heading {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: normal;
  color: #656565;
}

.o-references__subheading {
  color: #999999;
}

.o-subfooter {
  z-index: 10;
  color: #FFFFFF;
  background-color: #242e39;
  padding-bottom: 64px;
  transition: padding 0.6s;
}
.is-cookies-accepted .o-subfooter {
  padding-bottom: 0;
}

.o-subfooter__main {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  font-size: 0.9375rem;
  line-height: 1.6;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  padding-top: 8px;
  padding-bottom: 8px;
}
@media screen and (min-width: 840px) {
  .o-subfooter__main {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-subfooter__main {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.o-subfooter__copyright {
  display: flex;
  flex-wrap: wrap;
  margin-top: 8px;
  margin-bottom: 8px;
  margin-right: 32px;
}

.o-subfooter__nav {
  margin-right: auto;
  margin-top: 8px;
  margin-bottom: 8px;
}

.o-subfooter__list {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 0;
}

.o-subfooter__item {
  margin-right: 32px;
  white-space: nowrap;
}

.o-subfooter__link {
  color: #FFFFFF;
  text-decoration: none;
  transition: color 200ms;
}
.o-subfooter__link:hover, .o-subfooter__link:active {
  outline: none !important;
}
.o-subfooter__link:hover {
  color: rgba(255, 255, 255, 0.7);
}
.o-subfooter__link:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.o-subfooter__trademark {
  margin-top: 8px;
  margin-bottom: 8px;
}

/*
 * On small screens the content is stacked, without controls
 * When the screen is wide enough we add the controls
 * and show only the chosen 'slide content'
 */
.o-tabslider {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-tabslider {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-tabslider {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.o-tabslider__button {
  border-radius: 8px;
  min-height: 48px;
  color: #2C2C2C;
  background-color: #FFFFFF;
  border: 1px solid #C8C8C8;
  font-weight: 500;
  cursor: pointer;
  transition-property: color, border;
  transition-duration: 250ms;
}
.o-tabslider__button:hover {
  color: #2B3745;
  border-color: #2B3745;
}
.o-tabslider__button.is-active {
  color: #FFFFFF;
  background-color: #2B3745;
  border-color: #2B3745;
}
.o-tabslider__button:focus {
  outline: none;
  border-color: #2B3745;
}
.o-tabslider__button:focus:not(.is-active):not(:active) {
  box-shadow: 0 0 0 1px #FFFFFF, 0 0 5px 3px rgba(44, 44, 44, 0.1);
}

@media screen and (max-width: 839px) {
  .o-tabslider__controls {
    display: none;
  }
}
@media screen and (min-width: 840px) {
  .o-tabslider__controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (min-width: 1152px) {
  .o-tabslider__controls {
    margin-left: 8.3333333333%;
    margin-right: 8.3333333333%;
  }
}

.o-tabslider__step {
  width: 48px;
}

.o-tabslider__step--prev {
  transform: rotate(0.5turn);
}

@media screen and (min-width: 840px) {
  .o-tabslider__tabs {
    display: flex;
  }
}
@media screen and (min-width: 1344px) {
  .o-tabslider__tabs {
    margin: -8px 8px;
  }
}

.o-tabslider__tab {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  margin: 8px;
  padding: 7px 16px;
  text-transform: uppercase;
}

@media screen and (min-width: 840px) {
  .o-tabslider__container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
    margin-top: 48px;
  }
}

@media screen and (max-width: 839px) {
  .o-tabslider__content + .o-tabslider__content {
    margin-top: 12vw;
  }
}
@media screen and (min-width: 840px) {
  .o-tabslider__content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    opacity: 0;
    z-index: 0;
    transform: translateY(6px);
    pointer-events: none;
    transform-origin: top center;
    transition-property: opacity, transform;
    transition-duration: 200ms;
    transition-timing-function: ease-in;
  }
  .o-tabslider__content.is-active {
    opacity: 1;
    z-index: 1;
    transform: none;
    pointer-events: all;
    transition-duration: 500ms;
    transition-delay: 200ms;
    transition-timing-function: ease-out;
  }
}

.o-tabslider__label {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  display: block;
  padding-bottom: 8px;
  text-transform: uppercase;
  color: #2C2C2C;
}
@media screen and (min-width: 840px) {
  .o-tabslider__label {
    display: none;
  }
}

.o-team {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-team {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-team {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
@media screen and (max-width: 839px) {
  .o-team {
    margin-top: 12vw;
    margin-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-team {
    margin-top: 10vw;
    margin-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-team {
    margin-top: 7.1428571429vw;
    margin-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-team {
    margin-top: 96px;
    margin-bottom: 96px;
  }
}

@media screen and (min-width: 560px) {
  .o-team__matrix {
    display: flex;
    flex-wrap: wrap;
    margin: -16px;
  }
}

.o-team__item {
  margin: 0 auto 32px;
  max-width: 300px;
}
@media screen and (min-width: 560px) {
  .o-team__item {
    margin: 16px;
    max-width: none;
    flex: none;
    flex-basis: calc(50% - 32px);
  }
}
@media screen and (min-width: 900px) {
  .o-team__item {
    flex-basis: calc(33.33% - 32px);
  }
}
@media screen and (min-width: 1200px) {
  .o-team__item {
    flex-basis: calc(25% - 32px);
  }
}

.o-thanks {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-thanks {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-thanks {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
@media screen and (max-width: 839px) {
  .o-thanks {
    padding-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-thanks {
    padding-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-thanks {
    padding-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-thanks {
    padding-bottom: 96px;
  }
}
@media screen and (min-width: 1110px) {
  .o-thanks {
    display: flex;
  }
}

@media screen and (min-width: 1110px) {
  .o-thanks__left {
    width: calc(50% + 48px);
    padding-right: 48px;
  }
}

.o-thanks__right {
  margin-top: 40px;
}
@media screen and (min-width: 1110px) {
  .o-thanks__right {
    width: 50%;
    margin-top: 0;
  }
}

@media screen and (max-width: 1151px) {
  .o-usp {
    background-color: #2B3745;
  }
}

@media screen and (min-width: 840px) {
  .o-usp__main {
    display: flex;
  }
}

.o-usp__text {
  padding: 32px 0;
  color: #FFFFFF;
  background-color: #2B3745;
}
@media screen and (min-width: 840px) {
  .o-usp__text {
    width: 62.5%;
    padding-top: 6.25%;
    padding-bottom: 6.25%;
    padding-left: 0;
    padding-right: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-usp__text {
    width: 50%;
    padding: 4.1666666667% 8.3333333333%;
  }
}

.o-usp__image {
  background-position: 50% 50%;
  background-size: cover;
}
@media screen and (max-width: 839px) {
  .o-usp__image {
    margin-left: -6vw;
    margin-right: -6vw;
    padding-bottom: 65%;
    min-height: 360px;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-usp__image {
    width: 50%;
    margin-right: -12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-usp__image {
    width: 50%;
  }
}

.o-usp__heading {
  font-size: 2rem;
  line-height: 1.25;
  margin-bottom: 24px;
  color: #FFFFFF;
}

.o-usp__list {
  list-style-type: none;
  margin-left: 16px;
}

.o-usp__item {
  position: relative;
  padding-left: 16px;
}
.o-usp__item + .o-usp__item {
  margin-top: 16px;
}
.o-usp__item::before {
  content: "";
  position: absolute;
  top: 5px;
  left: -16px;
  width: 16px;
  height: 12px;
  background-image: url(/img/check/checked.svg);
  background-size: 16px 12px;
}

.o-usp__action {
  margin-top: 48px;
}

.o-usp__image {
  background-color: #F8F8F8;
  background-repeat: no-repeat;
}

.o-vacancies {
  margin: 0;
  padding: 0;
  line-height: 1.4;
  list-style: none;
}
.o-vacancies > * + * {
  margin-top: 16px;
}

.o-vacancies__link {
  border-radius: 8px;
  display: flex;
  align-items: center;
  padding: 32px;
  border: 1px solid #C8C8C8;
  color: #1D1D1D;
  text-decoration: none;
  transition: all 150ms linear;
}
.o-vacancies__link:hover {
  color: #4079B8;
  border-color: currentColor;
  box-shadow: inset 0 0 1px 1px currentColor;
}

.o-vacancies__content {
  flex: auto;
}

.o-vacancies__icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #EBC457;
  border-radius: 50%;
  color: #FFFFFF;
  transition: all 150ms linear;
}
.o-vacancies__link:hover .o-vacancies__icon {
  background-color: #4079b8;
}

.o-vacancies__title {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  font-weight: bold;
  color: currentColor;
}

.o-vacancies__subtitle {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: normal;
  color: #999999;
}

.o-vacancies__properties {
  margin-top: 32px;
}

.o-vacancy__hero {
  position: relative;
  margin-bottom: 32px;
}
@media screen and (min-width: 1152px) {
  .o-vacancy__hero {
    width: calc(100% - 12vw);
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 1152px) and (min-width: 840px) {
  .o-vacancy__hero {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) and (min-width: 1152px) {
  .o-vacancy__hero {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
.o-vacancy__hero::before {
  position: absolute;
  z-index: -1;
  content: "";
  top: 0;
  bottom: 0;
  right: -50vw;
  left: -50vw;
  background-color: #0F5A9D;
}

.o-vacancy__hero-img {
  width: 100%;
  height: auto;
}

.o-vacancy__properties {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  margin-top: -16px;
}
@media screen and (min-width: 840px) {
  .o-vacancy__properties {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-vacancy__properties {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

/*  7 - Templates
 *  Override styling for a specific template
 =========================================================== */
/** ==========================================================================
 * Templates
 * =========================================================================*/
/*  8 - SCOPES
 *  Elements and classes that are scoped by a parent class
 =========================================================== */
.s-checklist {
  list-style: none;
  margin-left: 0;
}
.s-checklist li {
  display: flex;
  vertical-align: middle;
  margin-top: 5px;
  line-height: 1.45;
}
.s-checklist li::before {
  content: "";
  background-image: url(/img/check/checked.svg);
  background-repeat: no-repeat;
  width: 12px;
  height: 12px;
  margin-right: 8px;
  transform: translateY(7px);
}
.checklist-has-x-small-font .s-checklist {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
.checklist-has-x-small-font .s-checklist li::before {
  transform: translateY(5px);
}

/**
 * All text elements that can be added by the user through a CMS
 */
.s-text h2, .s-text h3, .s-text h4 {
  color: #2C2C2C;
}
.s-text > * + * {
  margin-top: 32px;
}
.s-text > :first-child {
  margin-top: 0 !important;
}
.s-text > * + .c-button {
  margin-top: 40px;
}
.s-text > ul:not([class]) {
  list-style: none;
}
.s-text > ul:not([class]) > li {
  position: relative;
  margin-left: -1.125em;
  padding-left: 1.125em;
}
.s-text > ul:not([class]) > li::before {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  content: "\2022";
  position: absolute;
  top: -4px;
  left: 0;
}
.s-text > ol:not([class]) {
  list-style: none;
  counter-reset: ol-counter;
}
.s-text > ol:not([class]) > li {
  counter-increment: ol-counter;
  position: relative;
  margin-left: -1.125em;
  padding-left: 1.8em;
}
.s-text > ol:not([class]) > li::before {
  content: counter(ol-counter) ". ";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.275em;
  text-align: right;
}

/*  9 - UTILITIES
 *  High-specificity, very explicit selectors.
 *  Overrides and helper classes.
 =========================================================== */
/** =====================================================================================
 *  Color
 ===================================================================================== */
/**
 * Here we print out all our helper classes for our defined colors
 * Based on these articles:
 * - http://erskinedesign.com/blog/friendlier-colour-names-sass-maps/
 * - https://blog.atechmedia.com/css-for-multiple-themes/
 * Output is in the form of:

   .u-color-primary {
      color: #bada55;
   }

  .u-bg-neutral--900 {
    background-color: #decaff;
  }
 */
.u-color-primary--500 {
  color: #2B3745;
}

.u-bg-primary--500 {
  background-color: #2B3745;
}

.u-color-primary--700 {
  color: #0F5A9D;
}

.u-bg-primary--700 {
  background-color: #0F5A9D;
}

.u-color-secondary--500 {
  color: #EBC457;
}

.u-bg-secondary--500 {
  background-color: #EBC457;
}

.u-color-tertiary--500 {
  color: #D74F5B;
}

.u-bg-tertiary--500 {
  background-color: #D74F5B;
}

.u-color-neutral--0 {
  color: #FFFFFF;
}

.u-bg-neutral--0 {
  background-color: #FFFFFF;
}

.u-color-neutral--100 {
  color: #F8F8F8;
}

.u-bg-neutral--100 {
  background-color: #F8F8F8;
}

.u-color-neutral--200 {
  color: #F5F5F5;
}

.u-bg-neutral--200 {
  background-color: #F5F5F5;
}

.u-color-neutral--300 {
  color: #C8C8C8;
}

.u-bg-neutral--300 {
  background-color: #C8C8C8;
}

.u-color-neutral--400 {
  color: #999999;
}

.u-bg-neutral--400 {
  background-color: #999999;
}

.u-color-neutral--500 {
  color: #656565;
}

.u-bg-neutral--500 {
  background-color: #656565;
}

.u-color-neutral--800 {
  color: #2C2C2C;
}

.u-bg-neutral--800 {
  background-color: #2C2C2C;
}

.u-color-neutral--900 {
  color: #1D1D1D;
}

.u-bg-neutral--900 {
  background-color: #1D1D1D;
}

.u-color-neutral--1000 {
  color: #000000;
}

.u-bg-neutral--1000 {
  background-color: #000000;
}

.u-color-feedback--action {
  color: #4079B8;
}

.u-bg-feedback--action {
  background-color: #4079B8;
}

.u-color-feedback--warning {
  color: #ffd33a;
}

.u-bg-feedback--warning {
  background-color: #ffd33a;
}

.u-color-feedback--alert {
  color: #ff8100;
}

.u-bg-feedback--alert {
  background-color: #ff8100;
}

.u-color-feedback--negative {
  color: #cf3e3e;
}

.u-bg-feedback--negative {
  background-color: #cf3e3e;
}

.u-color-feedback--positive {
  color: #3ecf8e;
}

.u-bg-feedback--positive {
  background-color: #3ecf8e;
}

.u-color-border--0 {
  color: #fff;
}

.u-bg-border--0 {
  background-color: #fff;
}

.u-color-border--300 {
  color: #C8C8C8;
}

.u-bg-border--300 {
  background-color: #C8C8C8;
}

.u-color-border--500 {
  color: #656565;
}

.u-bg-border--500 {
  background-color: #656565;
}

/** =====================================================================================
 *  Fonts
 ===================================================================================== */
/**
 * Here we print out all our helper classes for our defined $font-sizes map
 * Output of the classes in the this form:

   .u-fs-m {}
   .u-fs-xl {}
   ... etc

 */
.u-fs-xs {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}

.u-fs-xs {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}

.u-fs-s {
  font-size: 0.9375rem;
  line-height: 1.6;
}

.u-fs-s {
  font-size: 0.9375rem;
  line-height: 1.6;
}

.u-fs-base {
  font-size: 1rem;
  line-height: 1.5;
}

.u-fs-base {
  font-size: 1rem;
  line-height: 1.5;
}

.u-fs-m {
  font-size: 1.125rem;
  line-height: 1.7777777778;
}

.u-fs-m {
  font-size: 1.125rem;
  line-height: 1.7777777778;
}

.u-fs-l {
  font-size: 1.25rem;
  line-height: 1.6;
}

.u-fs-l {
  font-size: 1.25rem;
  line-height: 1.6;
}

.u-fs-xl {
  font-size: 1.5rem;
  line-height: 1.3333333333;
}

.u-fs-xl {
  font-size: 1.5rem;
  line-height: 1.3333333333;
}

.u-fs-xxl {
  font-size: 2rem;
  line-height: 1.25;
}

.u-fs-xxl {
  font-size: 2rem;
  line-height: 1.25;
}

.u-fs-xxxl {
  font-size: 2.5rem;
  line-height: 1;
}

.u-fs-xxxl {
  font-size: 2.5rem;
  line-height: 1;
}

.u-fs-xxxxl {
  font-size: 3rem;
  line-height: 1;
}

.u-fs-xxxxl {
  font-size: 3rem;
  line-height: 1;
}

/**
 * Here we print out all our helper classes for our defined $font-weights map
 * Output of the classes in the this form:

   .u-fw-regular {}
   .u-fw-semiBold {}
   ... etc

 */
.u-hidden {
  display: none !important;
}

.u-placeholder-image {
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
}

.u-text-align-center {
  text-align: center !important;
}

.nowrap {
  white-space: nowrap;
}

.u-max-content {
  max-width: 40em;
}

/*
* If you need to make a quick fix, you can do it here.
* Later when you have the time, you can move the fix into the correct place in the structure
*/
.u-spacing-mt0 {
  margin-top: 0px !important;
}

.u-spacing-mr0 {
  margin-right: 0px !important;
}

.u-spacing-mb0 {
  margin-bottom: 0px !important;
}

.u-spacing-ml0 {
  margin-left: 0px !important;
}

.u-spacing-pt0 {
  padding-top: 0px !important;
}

.u-spacing-pr0 {
  padding-right: 0px !important;
}

.u-spacing-pb0 {
  padding-bottom: 0px !important;
}

.u-spacing-pl0 {
  padding-left: 0px !important;
}

.u-spacing-mt1 {
  margin-top: 8px !important;
}

.u-spacing-mr1 {
  margin-right: 8px !important;
}

.u-spacing-mb1 {
  margin-bottom: 8px !important;
}

.u-spacing-ml1 {
  margin-left: 8px !important;
}

.u-spacing-pt1 {
  padding-top: 8px !important;
}

.u-spacing-pr1 {
  padding-right: 8px !important;
}

.u-spacing-pb1 {
  padding-bottom: 8px !important;
}

.u-spacing-pl1 {
  padding-left: 8px !important;
}

.u-spacing-mt2 {
  margin-top: 16px !important;
}

.u-spacing-mr2 {
  margin-right: 16px !important;
}

.u-spacing-mb2 {
  margin-bottom: 16px !important;
}

.u-spacing-ml2 {
  margin-left: 16px !important;
}

.u-spacing-pt2 {
  padding-top: 16px !important;
}

.u-spacing-pr2 {
  padding-right: 16px !important;
}

.u-spacing-pb2 {
  padding-bottom: 16px !important;
}

.u-spacing-pl2 {
  padding-left: 16px !important;
}

.u-spacing-mt3 {
  margin-top: 24px !important;
}

.u-spacing-mr3 {
  margin-right: 24px !important;
}

.u-spacing-mb3 {
  margin-bottom: 24px !important;
}

.u-spacing-ml3 {
  margin-left: 24px !important;
}

.u-spacing-pt3 {
  padding-top: 24px !important;
}

.u-spacing-pr3 {
  padding-right: 24px !important;
}

.u-spacing-pb3 {
  padding-bottom: 24px !important;
}

.u-spacing-pl3 {
  padding-left: 24px !important;
}

.u-spacing-mt4 {
  margin-top: 32px !important;
}

.u-spacing-mr4 {
  margin-right: 32px !important;
}

.u-spacing-mb4 {
  margin-bottom: 32px !important;
}

.u-spacing-ml4 {
  margin-left: 32px !important;
}

.u-spacing-pt4 {
  padding-top: 32px !important;
}

.u-spacing-pr4 {
  padding-right: 32px !important;
}

.u-spacing-pb4 {
  padding-bottom: 32px !important;
}

.u-spacing-pl4 {
  padding-left: 32px !important;
}

.u-spacing-mt5 {
  margin-top: 40px !important;
}

.u-spacing-mr5 {
  margin-right: 40px !important;
}

.u-spacing-mb5 {
  margin-bottom: 40px !important;
}

.u-spacing-ml5 {
  margin-left: 40px !important;
}

.u-spacing-pt5 {
  padding-top: 40px !important;
}

.u-spacing-pr5 {
  padding-right: 40px !important;
}

.u-spacing-pb5 {
  padding-bottom: 40px !important;
}

.u-spacing-pl5 {
  padding-left: 40px !important;
}

.u-spacing-mt6 {
  margin-top: 48px !important;
}

.u-spacing-mr6 {
  margin-right: 48px !important;
}

.u-spacing-mb6 {
  margin-bottom: 48px !important;
}

.u-spacing-ml6 {
  margin-left: 48px !important;
}

.u-spacing-pt6 {
  padding-top: 48px !important;
}

.u-spacing-pr6 {
  padding-right: 48px !important;
}

.u-spacing-pb6 {
  padding-bottom: 48px !important;
}

.u-spacing-pl6 {
  padding-left: 48px !important;
}

.u-spacing-mt7 {
  margin-top: 56px !important;
}

.u-spacing-mr7 {
  margin-right: 56px !important;
}

.u-spacing-mb7 {
  margin-bottom: 56px !important;
}

.u-spacing-ml7 {
  margin-left: 56px !important;
}

.u-spacing-pt7 {
  padding-top: 56px !important;
}

.u-spacing-pr7 {
  padding-right: 56px !important;
}

.u-spacing-pb7 {
  padding-bottom: 56px !important;
}

.u-spacing-pl7 {
  padding-left: 56px !important;
}

.u-spacing-mt8 {
  margin-top: 64px !important;
}

.u-spacing-mr8 {
  margin-right: 64px !important;
}

.u-spacing-mb8 {
  margin-bottom: 64px !important;
}

.u-spacing-ml8 {
  margin-left: 64px !important;
}

.u-spacing-pt8 {
  padding-top: 64px !important;
}

.u-spacing-pr8 {
  padding-right: 64px !important;
}

.u-spacing-pb8 {
  padding-bottom: 64px !important;
}

.u-spacing-pl8 {
  padding-left: 64px !important;
}

@media screen and (max-width: 839px) {
  .u-spacing-pv {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .u-spacing-pv {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .u-spacing-pv {
    padding-top: 7.1428571429vw;
    padding-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .u-spacing-pv {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}

@media screen and (min-width: 1152px) {
  .u-spacing-pr0\@l {
    padding-right: 0 !important;
  }
}
/* ==========================================================================
 * This grid can be turned on and off when you want to check
 * if everything is nice in place.
 * Set flag 'showGrid' to true in site.php
 * ========================================================================== */
.u-visible-grid {
  z-index: 10000;
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  pointer-events: none;
  /* 8 point grid lines */
}
@media screen and (min-width: 840px) {
  .u-visible-grid {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .u-visible-grid {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .u-visible-grid {
    padding: 0;
  }
}

.u-visible-grid__main {
  height: 100vh;
  background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 25%, rgba(0, 43, 255, 0.04) 25%, rgba(0, 43, 255, 0.04) 50%);
}
@media screen and (min-width: 840px) {
  .u-visible-grid__main {
    background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 12.5%, rgba(0, 43, 255, 0.04) 12.5%, rgba(0, 43, 255, 0.04) 25%);
  }
}
@media screen and (min-width: 1152px) {
  .u-visible-grid__main {
    background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 8.3333333333%, rgba(0, 43, 255, 0.04) 8.3333333333%, rgba(0, 43, 255, 0.04) 16.6666666667%);
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zdHlsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbmZpZy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLnR5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xLVNldHRpbmdzL19zZXR0aW5ncy5icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmNvbHVtbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMubWVkaWFRdWVyaWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMudG9vbGJveC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLnppbmRleC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmJhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8zLUVsZW1lbnRzL19lbGVtZW50cy5oZWFkaW5ncy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmxpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNC1MYXlvdXRzL19sYXlvdXRzLmNvbnRhaW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMuc3BsaXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMucmVzdHJpY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZ2hvc3RidXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY2FyZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jb25uZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmRhdGEuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZGF0ZUxhYmVsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmRvd25sb2FkTGlzdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5ldmVudENhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZmlsZVVwbG9hZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5mb3JtR3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZm9ybUZlZWRiYWNrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmhhbWJ1cmdlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5oZWFkaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmhlcm8uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaW5mby5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5pbnB1dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5sYW5ndWFnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wYWdlVGl0bGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucHJvamVjdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNlcnZpY2VQb2ludC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zaXRlbWFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNraXBMaW5rLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNsaWRlLWluZGljYXRvci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zdWJuYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudGV4dC1idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudG9nZ2xlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnRyYWRlbWFyay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy52YWNhbmN5UHJvcGVydGllcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy52aWRlby5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmFjY29yZGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuYXBwbHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmJsb2NrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5ib2R5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5jYWxsb3V0QmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5jYXJkLWdyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNvbnRhY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNvb2tpZUJhci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZG91YmxlSW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmRvdWJsZVRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmRvdWJsZVVzcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZG93bmxvYWRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5ldmVudC5zY3NzIiwid2VicGFjazovLy8uLzxubyBzb3VyY2U+Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZXZlbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmZvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmhlYWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuaW50cm8uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmxvZ29zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5tYXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm5ld3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm92ZXJsYXlNZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5xdW90ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMucmVmZXJlbmNlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuc3ViZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy50YWJzbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRlYW0uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRoYW5rcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudXNwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy52YWNhbmNpZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnZhY2FuY3kuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy83LVRlbXBsYXRlcy9fdGVtcGxhdGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOC1TY29wZXMvX3Njb3Blcy5jaGVja2xpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy84LVNjb3Blcy9fc2NvcGVzLnRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LVV0aWxpdGllcy9fdXRpbGl0aWVzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzktVXRpbGl0aWVzL191dGlsaXRpZXMuZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LVV0aWxpdGllcy9fdXRpbGl0aWVzLmhlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LVV0aWxpdGllcy9fdXRpbGl0aWVzLnNoYW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy5zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy52aXNpYmxlR3JpZC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFnQjtBQUNoQjs7Ozs7OztnRUFBQTtBQ0RBOzs7OytEQUFBO0FBa0RBOzs7Ozs7Ozs7Ozs7R0FBQTtBQ2xEQTs7OENBQUE7QUFJQTs7O0VBQUE7QUNKQTs7OztnRUFBQTtBQU1BOztHQUFBO0FBK0NBOztHQUFBO0FDckRBOztrREFBQTtBSmNBOzsrREFBQTtBS2RBOzsrRUFBQTtBQUlBOzs7SUFBQTtBQWtCQTs7O0lBQUE7QUFRQTs7SUFBQTtBQzlCQTs7Z0ZBQUE7QUFLQTs7Ozs7Ozs7O0dBQUE7QUNMQTtnREFBQTtBQ0FBOztzREFBQTtBQUtBOzs7Ozs7Ozs7O0dBQUE7QUFpQ0E7Ozs7R0FBQTtBQWVBO0FBT0E7QUFPQTtBQWtCQTs7Ozs7Ozs7Ozs7R0FBQTtBQXdCQTs7Ozs7Ozs7Ozs7OztHQUFBO0FBaUNBOztHQUFBO0FBU0E7Ozs7Ozs7Ozs7Ozs7R0FBQTtBQTBCQTs7Ozs7Ozs7Ozs7Ozs7R0FBQTtBQWdCQTs7OztHQUFBO0FBa0JBOzs7R0FBQTtBQXdCQTs7R0FBQTtBQXFDQTs7R0FBQTtBQ2hSQTs7O3dHQUFBO0FBaUJBOzs7OztHQUFBO0FUS0E7OytEQUFBO0FVdEJBOztnRkFBQTtBQUlBOzs7Ozs7OztHQUFBO0FBVUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1YyTEY7O0FVeExBO0VKU007RUFSQTtFSUNKO0VBQ0EsaUJQZmtCO0VPZ0JsQixrQ1ArQmE7RU85QmI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBYztDVjZMaEI7O0FVMUxBO0VBQ0U7RUFDQTtFQUNBO0NWNkxGOztBVXpMQTs7Ozs7O0dBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtDVjRMRjtBVTFMRTtFQUdFO0NWMExKOztBVXRMQTs7R0FBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQW1CO0NWMExyQjs7QVV2TEE7R0FBQTtBQUVBO0VBQ0U7Q1YwTEY7O0FVdkxBOzs7OztHQUFBO0FBTUE7RUFDRTtFQUF3QjtFQUN4QjtFQUFjO0VBQ2Q7Q1Y0TEY7O0FVekxBOzs7R0FBQTtBQUlBOzs7RUFHRTtDVjRMRjs7QVV2TEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0NWMExGO0FVeExFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1YwTEo7QVV0TEk7RUFDRTtFQUNBO0VBQ0E7Q1Z3TE47O0FVaExBOzs7O0VBSUU7RUFDQTtDVm1MRjs7QVc3VEE7RUxnQ007RUFSQTtDTjBTTjs7QVc5VEE7RUw0Qk07RUFSQTtFS2xCTDtDWGtVRDs7QVcvVEE7RUx1Qk07RUFSQTtFS2JMO0NYbVVEOztBV2hVQTtFTGtCTTtFQVJBO0VLUkw7Q1hvVUQ7O0FXalVBO0VMYU07RUFSQTtFS0hMO0NYcVVEOztBWTFWQTs7eUZBQUE7QUFLQTs7R0FBQTtBQUlBOztFQUVDO0VBQ0E7RUFDQTtDWjBWRDs7QVl2VkE7RUFDQztDWjBWRDs7QVlyVkE7O0dBQUE7QUFLQzs7RUFFQztDWnNWRjs7QUFyVkE7OytEQUFBO0FhOUJBOztnRkFBQTtBQUtBO0VMMk9DO0VBQ0E7RUFDQTtDUjZJRDtBT3hWQztFTWxDRDtJTGlQRztHUjZJRDtDQUNGO0FPN1ZDO0VNbENEO0lMd1BFO0lBQ0E7R1IySUE7Q0FDRjs7QWMxWUE7Ozs7b0ZBQUE7QUFPQTtFQUNDO0VBQ0E7RUFDQTtDZDJZRDtBTzlXQztFT2hDRDtJQU9FO0dkMllBO0NBQ0Y7O0FjdllBOzs7R0FBQTtBQUtBO0VOd05DO0VBQ0E7RUFDQTtDUmtMRDtBTzdYQztFT2ZEO0lOZ09HO0dSZ0xEO0NBQ0Y7QU9sWUM7RU9mRDtJTnFPRTtJQUNBO0dSZ0xBO0NBQ0Y7O0FPeFlDO0VPVkQ7SUFJRTtHZG1aQTtDQUNGO0FPOVlDO0VPRkE7SUFFRTtJQUNBO0dka1pEO0NBQ0Y7QU9wWkM7RU9GQTtJQU1FO0lBQ0E7R2RvWkQ7Q0FDRjtBTzFaQztFT1VBO0lOdURLO0dSNlZKO0NBQ0Y7QU8vWkM7RU9VQTtJQU1FO0dkbVpEO0NBQ0Y7QWM5WUU7RUFDQztDZGdaSDtBT3ZhQztFT3NCQztJQUlFO0lBQ0E7R2RpWkY7Q0FDRjtBTzdhQztFT3NCQztJQVFFO0dkbVpGO0NBQ0Y7O0FPbGJDO0VPdUNFO0lBQ0M7SUFDQTtJQUNBO0dkK1lGO0VjN1lDO0lBQ0M7R2QrWUY7Q0FDRjtBY3pZQTs7O0dBQUE7QVBwREM7RU93REQ7SUFFRTtJQUNBO0lBQ0E7SUFDQTtHZDJZQTtDQUNGO0FPemNDO0VPd0REO0lBUUU7SUFDQTtHZDZZQTtDQUNGOztBY3ZZQTtFQUNDO0VBQ0E7Q2QwWUQ7QU9wZEM7RU93RUQ7SUFLRTtJQUNBO0dkMllBO0NBQ0Y7O0FPMWRDO0VPcUZBO0lBQ0M7R2R5WUE7Q0FDRjtBZXZnQkE7Ozs7O2dGQUFBO0FSdUNDO0VRL0JEO0lBRUk7SUFDQTtJQUNBO0lBQ0E7R2Z1Z0JGO0NBQ0Y7QU85ZUM7RVEvQkQ7SUFRSTtHZnlnQkY7Q0FDRjs7QU9uZkM7RVFuQkQ7SUFFSTtJQUNBO0lBQ0E7R2Z5Z0JGO0NBQ0Y7QU8zZkM7RVFuQkQ7SUFRSTtHZjBnQkY7Q0FDRjs7QUFqZ0JBOzs7K0RBQUE7QWdCdENBOzs4RUFBQTtBQ0FBO0VBQ0M7Q2pCaWpCRDs7QWlCOWlCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NqQmlqQkQ7O0FpQjdpQkE7RUFDQztFQUNBO0NqQmdqQkQ7QWlCN2lCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtDakI4aUJIOztBaUJ6aUJBO0VBQ0M7RUFDQTtDakI0aUJEO0FpQjFpQkM7RUFDQztDakI0aUJGOztBa0Jya0JBO0VWMkpFO0VGdklJO0VBUkE7RVlUTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQnlrQkQ7QWtCdmtCQztFQUNDO0VBQ0E7Q2xCeWtCRjtBa0J2a0JDO0VBQ0M7RUFDQTtDbEJ5a0JGO0FrQnZrQkM7RUFDQztFQUNBO0NsQnlrQkY7QWtCcmtCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQnVrQkY7QWtCcGtCQztFQUNDO0VBQ0E7Q2xCc2tCRjs7QWtCbGtCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NsQnFrQkQ7QWtCbmtCQztFQUNDO0NsQnFrQkY7O0FrQmprQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xCb2tCRDtBa0Jsa0JDO0VBQ0M7Q2xCb2tCRjtBa0Joa0JDO0VBQ0M7RUFDQTtDbEJra0JGO0FrQi9qQkM7RUFDQztFQUNBO0NsQmlrQkY7O0FtQmxxQkE7O2dGQUFBO0FBU0E7RVhpS0U7RUYxSUk7RUFSQTtFYVpMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuQmdxQkQ7QW1COXBCQztFQUNDO0VBQ0E7Q25CZ3FCRjtBbUI3cEJDO0VBQ0M7RUFDQTtDbkIrcEJGO0FtQjdwQkM7RUFDQztFQUNBO0NuQitwQkY7QW1CM3BCQztFWGlJQztFVy9IQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkI2cEJGO0FtQnpwQkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuQjJwQkg7O0FtQnRwQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDbkJ5cEJEO0FtQnZwQkM7RUFDQztDbkJ5cEJGOztBbUJycEJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuQndwQkQ7QW1CdHBCQztFQUNDO0NuQndwQkY7QW1CcnBCQztFQUNDO0VBQ0E7Q25CdXBCRjtBbUJucEJDO0VBQ0M7RUFDQTtDbkJxcEJGOztBb0J6dUJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEI0dUJEOztBb0J6dUJBOztHQUFBO0FBR0E7RUFFQztFQUNBO0NwQjJ1QkQ7QVF0aUJDO0VBRUM7Q1J1aUJGO0FvQjV1QkM7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCNnVCRjtBb0J6dUJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEIydUJGO0FvQnR1QkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCd3VCRjtBb0JudUJFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3BCcXVCSDtBb0JsdUJFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3BCb3VCSDtBb0JqdUJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3BCbXVCRjs7QW9CL3RCQTtFQUNDO0VBQ0E7RUFDQTtDcEJrdUJEOztBb0IvdEJBO0VBQ0M7RUFDQTtFQUNBO0NwQmt1QkQ7O0FvQi90QkE7RWQzRU07RUFSQTtFY3FGTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQm11QkQ7QW9CanVCQztFQUNDO0NwQm11QkY7QW9CL3RCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEJndUJGO0FvQjl0QkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtDcEJndUJIOztBb0IzdEJBO0VBQ0M7RUFDQTtDcEI4dEJEOztBb0I1dEJBO0VkN0hNO0VBUkE7RWN1SUw7Q3BCZ3VCRDs7QW9COXRCQTtFQUNDO0NwQml1QkQ7O0FvQi90QkE7RUFDQztDcEJrdUJEO0FvQi90QkM7RUFDQztDcEJpdUJGOztBb0I5dEJBO0VkNUlNO0VBUkE7RWNzSkw7Q3BCa3VCRDs7QXFCdDRCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQnk0QkQ7QXFCdjRCQztFQUNDO0NyQnk0QkY7QXFCdDRCQztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQnU0QkY7QXFCcjRCQztFQUNDO0NyQnU0QkY7QXFCcjRCQztFQUNDO0NyQnU0QkY7QXFCcDRCQztFQUNDO0NyQnM0QkY7O0FzQjU2QkE7RUFDQztFQUNBO0VBQ0E7Q3RCKzZCRDtBT3Y1QkM7RWUzQkQ7SUFNRTtHdEJnN0JBO0NBQ0Y7O0FzQjU2QkE7RWhCU007RUFSQTtFZ0JFTDtFQUNBO0VBQ0E7RUFDQTtDdEIrNkJEO0FRenVCQztFQUVDO0NSMHVCRjtBc0JoN0JDO0VBQ0M7RUFDQTtDdEJrN0JGO0FzQi82QkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDdEJpN0JGOztBc0I1NkJBO0VBQ0M7RUFDQTtDdEIrNkJEO0FPdjdCQztFZU1EO0lBS0U7R3RCZzdCQTtDQUNGOztBdUJ4OUJBO0VBQ0M7Q3ZCMjlCRDs7QXVCeDlCQTtFQUNDO0N2QjI5QkQ7O0F1Qng5QkE7RUFDQztFQUNBO0VBQ0E7Q3ZCMjlCRDs7QXVCeDlCQTtFQUNJO0VBQ0g7Q3ZCMjlCRDtBUW54QkM7RUFFQztDUm94QkY7QXVCejlCRTtFQUNDO0N2QjI5Qkg7QXVCejlCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N2QjI5Qkg7O0F3QmxnQ0E7RUFDQztFQUNBO0VBQ0E7Q3hCcWdDRDs7QXdCamdDQTtFQUNDO0VBQ0E7Q3hCb2dDRDs7QXdCaGdDQTtFbEJtQk07RUFSQTtFa0JUTDtDeEJvZ0NEOztBd0JoZ0NBO0VsQmFNO0VBUkE7RWtCSEw7Q3hCb2dDRDs7QXlCemhDQTtFQUNFO0VBQ0E7RUFDQTtDekI0aENGOztBeUJ6aENBO0VBQ0U7RUFDQTtDekI0aENGO0F5QjFoQ0U7RUFDRTtDekI0aENKOztBeUJ4aENBO0VBQ0U7RUFDQTtFQUNBO0N6QjJoQ0Y7O0F5QnhoQ0E7RUFDRTtFQUNBO0N6QjJoQ0Y7QXlCemhDRTtFQUNFO0N6QjJoQ0o7O0F5QnZoQ0E7RUFDRTtFQUNBO0N6QjBoQ0Y7QXlCeGhDRTtFQUNFO0N6QjBoQ0o7O0EwQmxqQ0E7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUJvakNEO0FRcDJCQztFQUVDO0NScTJCRjtBMEJyakNDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzFCdWpDRjs7QTBCbGpDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0MxQnFqQ0Q7QTBCbmpDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFCcWpDRjtBMEJqakNFO0VBQ0M7QzFCbWpDSDs7QTBCN2lDQTtFQUNDO0VBQ0E7RUFDQTtDMUJnakNEOztBMEI1aUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUIraUNEO0EwQjdpQ0M7RUFDQztFQUNBO0VBQ0E7QzFCK2lDRjs7QTBCemlDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFCNGlDRDtBMEIxaUNDO0VBQ0M7QzFCNGlDRjs7QTBCdmlDQTtFcEJqRU07RUFSQTtFb0IyRUw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUIyaUNEO0EwQnppQ0M7RUFDQztDMUIyaUNGOztBMEJ0aUNBO0VwQi9FTTtFQVJBO0VvQnlGTDtFQUNBO0VBQ0E7RUFDQTtDMUIwaUNEO0EwQnhpQ0M7RUFDQztDMUIwaUNGOztBMEJyaUNBO0VwQjVGTTtFQVJBO0VvQnNHTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQnlpQ0Q7QTBCdmlDQztFQUNDO0MxQnlpQ0Y7O0EyQmxxQ0E7RUFDQztDM0JxcUNEOztBMkJqcUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzNCb3FDRDs7QTJCaHFDQTtFbkJpSkU7RUYxSUk7RUFSQTtFcUJJTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNCb3FDRDtBMkJscUNDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzQm9xQ0Y7QTJCanFDQztFQUNDO0MzQm1xQ0Y7O0EyQjlwQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtDM0JpcUNEO0EyQi9wQ0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNCaXFDRjtBMkIvcENFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0JpcUNIO0EyQjdwQ0U7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNCK3BDSDtBMkI3cENHO0VBQ0M7QzNCK3BDSjtBMkI1cENHO0VBQ0M7QzNCOHBDSjs7QTJCdnBDQTtFQUNDO0MzQjBwQ0Q7O0EyQnRwQ0E7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0czQnlwQ0E7Q0FDRjtBNEJyd0NBO0V0QnFCTTtFQVJBO0VzQlhKO0VBQ0E7RUFDQTtDNUJ3d0NGOztBNEJyd0NBO0VBQ0U7QzVCd3dDRjtBNEJ0d0NFO0V0QldJO0VBUkE7RXNCREY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVCeXdDSjs7QTZCMXhDQTtFdkJvQk07RUFSQTtFRStJSjtFcUJ4SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0I4eENGO0E2QjV4Q0U7RUFDRTtDN0I4eENKO0E2QjN4Q0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3QjZ4Q0o7QTZCMXhDRTtFQUNFO0M3QjR4Q0o7O0E4Qnp6Q0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUI0ekNEO0E4QjF6Q0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtDOUI0ekNGO0E4Qnp6Q0M7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlCeXpDRjtBOEJ0ekNDO0VBQ0M7RUFDQTtDOUJ3ekNGO0E4QnJ6Q0M7RUFDQztFQUNBO0M5QnV6Q0Y7QThCbnpDRTtFQUNDO0M5QnF6Q0g7QThCbnpDRTtFQUVDO0M5Qm96Q0g7QThCL3lDRTtFQUNDO0M5Qml6Q0g7QThCL3lDRTtFQUNDO0VBQ0E7QzlCaXpDSDtBOEIveUNFO0VBQ0M7RUFDQTtDOUJpekNIOztBK0I5M0NBO0V6QmdDTTtFQVJBO0V5QnRCTDtFQUNBO0MvQms0Q0Q7O0FPOTFDQztFd0JqQ0Q7SUFFRTtHL0JrNENBO0NBQ0Y7O0FPcDJDQztFeUI1QkQ7SXhCcU9DO0lBQ0E7SUFDQTtHUmdxQ0M7Q0FDRjtBTzUyQ0M7RXlCNUJEO0l4QjJPRztHUmlxQ0Q7Q0FDRjtBT2ozQ0M7RXlCNUJEO0l4QmtQRTtJQUNBO0dSK3BDQTtDQUNGOztBZ0M3NENBO0VBQ0M7RUFDQTtDaENnNUNEOztBZ0M3NENBO0VBQ0M7RUFDQTtFQUNBO0NoQ2c1Q0Q7QU9sNENDO0V5QmpCRDtJQU1FO0doQ2k1Q0E7Q0FDRjs7QWdDOTRDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDaTVDRDtBZ0MvNENDO0VBQ0M7RUFDQTtFQUNBO0NoQ2k1Q0Y7O0FnQzc0Q0E7RUFDQztDaENnNUNEOztBZ0M3NENBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoQys0Q0Q7QU92NkNDO0V5QjJCQztJQUNDO0doQys0Q0Q7Q0FDRjtBTzU2Q0M7RXlCY0Q7SUFtQkU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0doQys0Q0E7Q0FDRjtBT3Q3Q0M7RXlCY0Q7SUE2QkU7SUFDQTtJQUNBO0doQys0Q0E7Q0FDRjtBTzc3Q0M7RXlCY0Q7STFCckJNO0lBUkE7STBCaUVKO0lBQ0E7SUFDQTtHaENpNUNBO0NBQ0Y7O0FnQzk0Q0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoQ2k1Q0Q7QWdDLzRDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDaTVDRjs7QWdDMzRDQTtFQUtDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDMDRDRDtBT3orQ0M7RXlCNkVEO0lBRUU7R2hDODVDQTtDQUNGO0FnQzc0Q0M7RUFDQztDaEMrNENGO0FnQzU0Q0M7RUFDQztFQUNBO0NoQzg0Q0Y7QWdDNTRDRTtFQUNDO0NoQzg0Q0g7QWdDMTRDQztFQUNDO0VBQ0E7RUFDQTtDaEM0NENGOztBaUNwaURBO0V6QnVLRTtFeUJyS0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakN1aUREOztBa0M3aERBO0U1QmdCTTtFQVJBO0U0Qk5MO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQ2lpREQ7QWtDL2hEQztFQUNDO0VBQ0E7RUFDQTtDbENpaURGO0FrQzloREM7RUFDQztFQUNBO0NsQ2dpREY7QWtDN2hEVTtFQUNSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xDK2hERjs7QW1DM2pEQTtFQUNDO0NuQzhqREQ7O0FtQzNqREE7RTdCY007RUFSQTtFRStJSjtFMkJsSkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtDbkMrakREO0FtQzdqREM7RUFDQztDbkMrakRGOztBbUN2akRBO0VBQ0M7RUFDQTtDbkMwakREOztBbUN2akRBO0VBQ0M7RUFDQTtDbkMwakREOztBbUN2akRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuQzBqREQ7QW1DeGpEQztFQUNDO0VBQ0E7RUFDQTtDbkMwakRGOztBbUN0akRBO0VBQ0M7RUFDQTtDbkN5akREO0FtQ3ZqREM7RUFDQztDbkN5akRGO0FtQ3RqREM7RUFDQztDbkN3akRGO0FtQ3JqREM7RUFDQztDbkN1akRGO0FtQ3BqREM7RUFDQztDbkNzakRGOztBbUNsakRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25DcWpERDtBbUNuakRDO0VBQ0M7RUFDQTtDbkNxakRGOztBb0N6cERBOztFQUFBO0FBV0E7RUFDQztFQUNBO0NwQ29wREQ7O0FvQ2pwREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BDb3BERDs7QW9DaHBEQTtFOUJFTTtFQVJBO0U4QlFMO0VBQ0E7Q3BDb3BERDtBb0NscERDO0VBQ0M7Q3BDb3BERjs7QW9DL29EQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BDaXBERDtBUTc5Q0M7RUFFQztDUjg5Q0Y7QW9DbHBEQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQ29wREY7QW9DanBEQztFQUNDO0NwQ21wREY7QW9DanBERTtFQUNDO0VBQ0E7Q3BDbXBESDtBb0M5b0RDO0VBQ0M7RUFDQTtDcENncERGO0FvQzlvREU7RUFDQztFQUNBO0VBQ0E7Q3BDZ3BESDtBb0M1b0RDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3BDOG9ERjs7QXFDNXREQTtFQUNDO0VBQ0E7RUFDQTtFN0IySkM7RTZCekpEO0VBQ0E7RUFDQTtFQUNBO0NyQyt0REQ7O0FxQzV0REE7RUFDQztFQUNBO0VBQ0E7Q3JDK3RERDtBT2x0REM7RThCaEJEO0lBT0U7R3JDK3REQTtFcUM3dERBO0lBSUM7R3JDNHRERDtFcUN6dERBO0lBQ0M7R3JDMnRERDtDQUNGO0FxQ3h0REM7RUFDQztFQUNBO0NyQzB0REY7O0FxQ3R0REE7Ozs7RUFJQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JDeXRERDs7QXFDdHREQTtFQUNDO0VBQ0E7Q3JDeXRERDs7QXFDdHREQTtFQUNDO0VBQ0E7RUFDQTtDckN5dEREO0FxQ3Z0REM7RUFDQztFQUNBO0NyQ3l0REY7QXFDdHREQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0NyQ3d0REY7O0FxQ3B0REE7O0VBRUM7RUFDQTtDckN1dEREO0FxQ3J0REM7O0VBQ0M7RUFDQTtDckN3dERGOztBcUNwdERBO0VBQ0M7Q3JDdXRERDs7QXNDeHpEQTs7R0FBQTtBQUlBO0U5QjRPQztFQUNBO0VBQ0E7RUF6QkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFOEJ0TkM7RUFDQTtFQUNBO0N0Q2cwREY7QU9seURDO0UrQm5DRDtJOUJrUEc7R1J1bEREO0NBQ0Y7QU92eURDO0UrQm5DRDtJOUJ5UEU7SUFDQTtHUnFsREE7Q0FDRjtBTzd5REM7RStCbkNEO0lBUUk7SUFDQTtHdEM0MERGO0NBQ0Y7O0FzQ3owREE7RUFDRTtFQUNBO0VBQ0E7Q3RDNDBERjtBT3p6REM7RStCdEJEO0lBTUk7R3RDNjBERjtDQUNGO0FPOXpEQztFK0J0QkQ7SUFTSTtHdEMrMERGO0NBQ0Y7O0FPbjBEQztFK0JURDtJQUVJO0lBQ0E7R3RDKzBERjtDQUNGOztBc0M1MERBO0VoQ0xNO0VBUkE7RWdDZUo7Q3RDZzFERjs7QXNDNzBEQTtFaENWTTtFQVJBO0VnQ29CSjtDdENpMURGOztBc0M3MERBO0VoQ2hCTTtFQVJBO0VnQzBCSjtDdENpMURGOztBdUNuNERBO0VBQ0M7RUFDQTtDdkNzNEREOztBdUNsNERBO0VBQ0M7RUFBQTtFQUNBO0VBQUE7RUFDQTtFQUFBO0VBQ0E7Q3ZDcTRERDs7QXVDajREQTtFakNrQk07RUFSQTtFaUNSTDtFQUFBO0VBQ0E7RUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7Q3ZDcTRERDs7QXVDajREQTtFQUNDO0VBQUE7RUFDQTtFQUFBO0VBQ0E7TUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkNvNEREO0F1Q2w0REM7RUFDQztDdkNvNERGO0F1Q2o0REM7RUFDQztDdkNtNERGOztBdUM5M0RBO0VBQ0M7RUFBQTtFQUNBO0VBQUE7RUFDQTtNQUFBO0VBQ0E7RUFDQTtDdkNpNEREOztBdUM3M0RBO0VBRUM7RUFDQTtFQUNBO0N2QyszREQ7QU9sNURDO0VnQ2VEO0lBT0U7R3ZDZzREQTtDQUNGOztBd0MxN0RBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEM2N0REOztBd0N6N0RBO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsbUJBaEJvQjtFQWlCcEI7Q3hDNDdERDs7QXdDeDdEQTtFaENtTUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFZ0NyTUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4Qys3REQ7QU9yN0RDO0VpQ2pCRDtJQVVFO0d4Q2c4REE7Q0FDRjs7QXdDNTdEQTtFQUNDO0N4Qys3REQ7O0F3QzM3REE7RUFDQztDeEM4N0REOztBd0MxN0RBO0VsQ2ZNO0VBUkE7RWtDeUJMO0VBQ0E7Q3hDODdERDs7QXdDMTdEQTtFbEN0Qk07RUFSQTtFa0NnQ0w7Q3hDODdERDs7QXlDdC9EQTtFbkNnQ007RUFSQTtFbUN0Qkw7Q3pDMC9ERDs7QXlDdi9EQTtFQUNDO0VBQ0E7RUFDQTtDekMwL0REO0F5Q3gvREM7RUFDQztFQUNBO0N6QzAvREY7O0EwQ3RnRUE7O0dBQUE7QUFJQTtFcEM0Qk07RUFSQTtFb0NsQko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQ3lnRUY7QTBDdmdFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBVTtDMUMwZ0VkOztBMkN2Z0VBO0VBQ0M7RUFDQTtFQUNBO0MzQzBnRUQ7O0EyQ3ZnRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNDMGdFRDtBMkN4Z0VDO0VBQ0M7QzNDMGdFRjtBMkN2Z0VDO0VBQ0M7QzNDeWdFRjtBMkN0Z0VDO0VBQ0M7QzNDd2dFRjtBMkNyZ0VDO0VBQ0M7RUFDQTtDM0N1Z0VGO0EyQ3BnRUM7RUFDQztFQUNBO0MzQ3NnRUY7O0EyQ2xnRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNDcWdFRDtBMkNuZ0VDO0VBQ0M7QzNDcWdFRjtBMkNsZ0VDO0VBRUM7QzNDbWdFRjtBMkNoZ0VDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUM7QzNDZ2dFSDtBMkM1L0RDO0VBRUMsNEJBRFM7RUFFVCw4QkFGUztFQUdULCtCQUhTO0VBSVQsNkJBSlM7RUFLVDtDM0M2L0RGO0EyQzEvREM7RUFFQyw2QkFEUztFQUVULCtCQUZTO0VBR1QsZ0NBSFM7RUFJVCw4QkFKUztFQUtUO0VBQ0E7RUFDQTtDM0MyL0RGO0EyQ3YvREU7RUFDQztFQUNBO0VBQ0E7QzNDeS9ESDtBMkN0L0RFO0VBQ0M7RUFDQTtDM0N3L0RIO0EyQ3AvREM7RUFDQztDM0NzL0RGO0EyQ3AvREU7RUFFQztDM0NxL0RIO0EyQ2wvREU7RUFFQztDM0NtL0RIOztBNEM1bUVBO0VBQ0M7QzVDK21FRDs7QTRDM21FQTtFQUNDO0VBQ0E7QzVDOG1FRDtBTzNsRUM7RXFDckJEO0lBS0U7RzVDK21FQTtDQUNGOztBNEMzbUVBO0VBQ0M7QzVDOG1FRDs7QTRDMW1FQTtFQUNDO0VBQ0E7RUFDQTtDNUM2bUVEOztBNEN6bUVBO0VBQ0M7QzVDNG1FRDs7QTRDeG1FQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1QzBtRUQ7QVE1N0RDO0VBRUM7Q1I2N0RGO0E0QzNtRUM7RUFDQztDNUM2bUVGO0E0QzFtRUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDNUM0bUVGO0E0Q3ptRUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1QzJtRUY7QTRDem1FRTtFQUNDO0VBQ0E7QzVDMm1FSDs7QTRDcm1FQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDNUN3bUVEO0E0Q3RtRUM7RUFDQztFQUNBO0VBQ0E7QzVDd21FRjs7QTRDam1FQztFQUNDO0VBQ0E7QzVDb21FRjtBNENsbUVFO0VBQ0M7RUFDQTtDNUNvbUVIO0E0Q2htRUM7RUFDQztDNUNrbUVGOztBNkN6c0VBOzs7R0FBQTtBQUtBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFBd0M7RUFDeEM7RUFBWTtFQUNaO0VBQStCO0VBQy9CO0VBQWM7RUFDZDtFQUNBO0VBQ0E7QzdDOHNFRDtBUXJnRUM7RUFFQztDUnNnRUY7QTZDL3NFQztFQUNDO0M3Q2l0RUY7QTZDL3NFQztFQUNDO0VBQ0E7QzdDaXRFRjtBNkMvc0VDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzdDaXRFRjs7QTZDN3NFQTtFdkNYTTtFQVJBO0NOcXVFTjs7QTZDOXNFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0M3Q2l0RUQ7QTZDL3NFQztFQUNDO0M3Q2l0RUY7QTZDOXNFQztFQUNDO0M3Q2d0RUY7O0E2QzFzRUM7RUFBc0I7QzdDOHNFdkI7QTZDN3NFQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdDK3NFRjtBNkM3c0VDO0VBQ0M7QzdDK3NFRjs7QThDanhFQTtFQUNDO0VBQ0E7QzlDb3hFRDs7QThDaHhFQTtFdEM2SkU7RXNDMUpEO0M5Q2t4RUQ7QVFwbEVDO0VBQ0MsaUJzQ2pNWTtDOUN1eEVkOztBOENqeEVBO0VBQ0M7RUFDQSxtQkFwQm1CO0M5Q3d5RXBCO0E4Q2x4RUM7RUFDQztDOUNveEVGOztBOEMvd0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5Q2t4RUQ7QThDaHhFQztFQUNDO0M5Q2t4RUY7QThDL3dFQztFQUFTO0M5Q2t4RVY7QThDL3dFRTtFQUFTO0M5Q2t4RVg7QThDanhFRTtFQUFVO0M5Q294RVo7QThDanhFQztFQUNDO0VBQ0E7QzlDbXhFRjtBOENqeEVFO0VBQ0M7QzlDbXhFSDtBOEMvd0VDO0VBQ0MsZUE3RHFCO0M5QzgwRXZCOztBOEM1d0VBO0V4Q3RDTTtFQVJBO0V3Q2dETDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5Q2d4RUQ7QThDOXdFQztFQUNDLGVBM0VxQjtDOUMyMUV2Qjs7QThDM3dFQTtFQUNDO0VBQ0E7RUFDQSxtQkFyRm1CO0VBc0ZuQixvQkFyRm9CO0VBc0ZwQjtFQUNBO0M5Qzh3RUQ7QThDNXdFQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0M5Qzh3RUY7O0ErQ3IyRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvQ3UyRUQ7QVFucEVDO0VBRUM7Q1JvcEVGO0ErQ3gyRUM7RUFDQztDL0MwMkVGO0ErQ3YyRUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDL0N5MkVGOztBK0NyMkVBO0VBQ0M7RUFDQTtDL0N3MkVEOztBK0NyMkVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0N3MkVEO0ErQ3QyRUM7RUFDQztDL0N3MkVGOztBZ0RsNUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2hEcTVFRDs7QWdEajVFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hEbzVFRDtBZ0RsNUVDO0VBQ0M7Q2hEbzVFRjs7QWdELzRFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hEazVFRDs7QWlENTZFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pEKzZFRjs7QWlENTZFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pEKzZFRjs7QUE3NEVBOzsrREFBQTtBa0QvQ0E7OzhFQUFBO0FDb0JBO0UzQzROQztFQUNBO0VBQ0E7Q1JzdEVEO0FPajZFQztFNENuQkQ7STNDa09HO0dSc3RFRDtDQUNGO0FPdDZFQztFNENuQkQ7STNDeU9FO0lBQ0E7R1JvdEVBO0NBQ0Y7O0FtRDM3RUE7RTNDa0pFO0UyQy9JRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkQ2N0VEO0FRaHhFQztFQUNDLGlCMkN0TFk7Q25EdzhFZDtBbUQ5N0VDO0VBQ0M7Q25EZzhFRjs7QW1ENTdFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkQrN0VEO0FPejhFQztFNENDRDtJQVlFO0duRGc4RUE7Q0FDRjtBTzk4RUM7RTRDQ0Q7SUFlRTtHbkRrOEVBO0NBQ0Y7QW1ELzdFQztFQUNDO0NuRGk4RUY7O0FtRDc3RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRGc4RUQ7QU92K0VDO0U0Q3lCRDtJQWlCRTtHbkRpOEVBO0NBQ0Y7QU81K0VDO0U0Q3lCRDtJQW9CRTtHbkRtOEVBO0NBQ0Y7QW1EajhFQztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25EazhFRjtBbUQ5N0VFO0VBQ0M7Q25EZzhFSDtBbUQ1N0VDO0VBQ0M7Q25EODdFRjtBbUQ1N0VFO0VBQ0M7Q25EODdFSDs7QW1EejdFQTtFN0NyRk07RUFSQTtFNkMrRkw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRDY3RUQ7QU9saEZDO0U0QzhFRDtJN0NyRk07SUFSQTtHTnNpRko7Q0FDRjs7QW1ENTdFQTtBQUNBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7Q25ENjdFRDtBUW40RUM7RUFDQyxtQkFGMkI7Q1J1NEU3QjtBT3RpRkM7RTRDNkZEO0lBWUU7R25EaThFQTtDQUNGO0FPM2lGQztFNEM2RkQ7SUFlRTtHbkRtOEVBO0NBQ0Y7QW1EajhFQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7Q25EazhFRjs7QU8xakZDO0U2Q25DRDtJNUNvR007SUFBQTtHUisvRUo7Q0FDRjtBT2prRkM7RTZDbkNEO0k1QzJITTtJQUFBO0dSOCtFSjtDQUNGO0FPdmtGQztFNkNuQ0Q7STVDZ0lNO0lBQUE7R1IrK0VKO0NBQ0Y7QU83a0ZDO0U2Q25DRDtJNUNxSU07SUFBQTtHUmcvRUo7Q0FDRjs7QW9EL21GQTtFQUNDO0VBQ0E7Q3BEa25GRDs7QU94bEZDO0U2Q3RCRDtJQUVFO0dwRGluRkE7Q0FDRjs7QU85bEZDO0U2Q2ZEO0lBRUU7SUFDQSxvQkExQlk7R3BEMG9GWjtDQUNGOztBb0Q1bUZBO0VBQ0M7Q3BEK21GRDtBT3ptRkM7RTZDUEQ7SUFJRTtJQUNBO0dwRGduRkE7Q0FDRjs7QVF4OEVDO0VBQ0MsaUI0Q3BLWTtDcEQrbUZkOztBT25uRkM7RTZDUUQ7SUFFRTtHcEQ4bUZBO0NBQ0Y7O0FvRDFtRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDcEQ2bUZEOztBb0QxbUZBO0VBQ0M7Q3BENm1GRDs7QU9wb0ZDO0U4Q3ZDRDtJN0N3R007R1J3a0ZKO0NBQ0Y7QU8xb0ZDO0U4Q3ZDRDtJN0MrSE07R1JzakZKO0NBQ0Y7QU8vb0ZDO0U4Q3ZDRDtJN0NvSU07R1JzakZKO0NBQ0Y7QU9wcEZDO0U4Q3ZDRDtJN0N5SU07R1JzakZKO0NBQ0Y7QU96cEZDO0U4Q2pDQTtJN0NrR0s7R1I0bEZKO0NBQ0Y7QU85cEZDO0U4Q2pDQTtJN0N5SEs7R1Iwa0ZKO0NBQ0Y7QU9ucUZDO0U4Q2pDQTtJN0M4SEs7R1Iwa0ZKO0NBQ0Y7QU94cUZDO0U4Q2pDQTtJN0NtSUs7R1Iwa0ZKO0NBQ0Y7O0FzRHB0RkM7OztFQUFBO0FBTUQ7RTdDbUJDO0U2Q2pCQTtFQUNBO0N0RHF0RkQ7O0F1RG50RkE7RS9DOE1DO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RStDaE5BO0VBQ0E7RUFDRTtDdkQwdEZIOztBdUR2dEZBO0UvQzhOQztFQUNBO0VBQ0E7Q1I2L0VEO0FPeHNGQztFZ0RyQkQ7SS9Db09HO0dSNi9FRDtDQUNGO0FPN3NGQztFZ0RyQkQ7SS9DMk9FO0lBQ0E7R1IyL0VBO0NBQ0Y7QU9udEZDO0VnRHJCRDtJL0NzRk07SUFBQTtHUnVwRko7Q0FDRjtBT3p0RkM7RWdEckJEO0kvQzZHTTtJQUFBO0dSc29GSjtDQUNGO0FPL3RGQztFZ0RyQkQ7SS9Da0hNO0lBQUE7R1J1b0ZKO0NBQ0Y7QU9ydUZDO0VnRHJCRDtJL0N1SE07SUFBQTtHUndvRko7Q0FDRjtBTzN1RkM7RWdEYkE7SS9DOEVLO0dSOHFGSjtDQUNGO0FPaHZGQztFZ0RiQTtJL0NxR0s7R1I0cEZKO0NBQ0Y7QU9ydkZDO0VnRGJBO0kvQzBHSztHUjRwRko7Q0FDRjtBTzF2RkM7RWdEYkE7SS9DK0dLO0dSNHBGSjtDQUNGOztBdURwd0ZBO0VBQ0M7Q3ZEdXdGRDs7QXVEbndGQTtFakRQTTtFQVJBO0NOdXhGTjs7QXdEL3lGQTs7O0dBQUE7QWpEdUNDO0VpRHhCRDtJQUVJO0lBQ0E7R3hEdXlGRjtDQUNGOztBT254RkM7RWlEYkc7SUFDRTtHeERveUZKO0NBQ0Y7QU96eEZDO0VpRGpCRDtJQVdJO0lBQ0E7R3hEbXlGRjtDQUNGO0FPL3hGQztFaURqQkQ7SUFpQkk7SUFFQTtJQUNBO0d4RGt5RkY7RXdEaHlGRTtJQUNFO0d4RGt5Rko7RXdEL3hGRTtJQUNFO0d4RGl5Rko7Q0FDRjtBTzV5RkM7RWlEakJEO0lBaUNJO0lBRUE7SUFDQTtHeEQreEZGO0V3RDd4RkU7SUFDRTtHeEQreEZKO0V3RDV4RkU7SUFDRSxpQkF6RGtCO0d4RHUxRnRCO0NBQ0Y7O0F5RHQxRkE7RUFDQztFQUNBO0N6RHkxRkQ7QU85ekZDO0VrRDdCRDtJQUtFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R3pEMDFGQTtDQUNGOztBeUR0MUZBO0VBR0M7RUFDQSxrQnZEU3dCO0V1RFJ4QixtQnZEUXdCO0NGKzBGekI7QU83MEZDO0VrRGZEO0lqRGtQRTtJQUNBO0dSOG1GQTtDQUNGO0FPbjFGQztFa0RmRDtJakRrUEU7SUFDQTtHUm9uRkE7Q0FDRjtBT3oxRkM7RWtEZkQ7SUFTRTtJQUNBO0lBQ0E7SUFDQTtHekRtMkZBO0NBQ0Y7O0F5RGgyRkE7RUFHQztFQUNBO0VBQ0E7Q3pEaTJGRDtBT3YyRkM7RWtEQ0Q7SWpEa09FO0lBQ0E7R1J3b0ZBO0NBQ0Y7QU83MkZDO0VrRENEO0lqRGtPRTtJQUNBO0dSOG9GQTtDQUNGO0FPbjNGQztFa0RDRDtJQVFFO0lBQ0E7SUFDQTtHekQ4MkZBO0NBQ0Y7O0F5RDMyRkE7RWpEbUtDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUY3TEs7RUFSQTtFbURpQ0w7RUFDQTtDekRtM0ZEOztBeURoM0ZBO0VBQ0M7Q3pEbTNGRDs7QXlEaDNGQTtFQUNDO0N6RG0zRkQ7O0F5RGgzRkE7RUFDQztDekRtM0ZEOztBMERqN0ZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGF4RHdCMkI7RXdEdkIzQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFEbzdGRDtBMERqN0ZDO0VqREVBO0VpREFDO0VBQ0E7RUFDQTtDMURtN0ZGO0EwRGg3RkM7RUFDQztFQUNBO0VBQ0E7QzFEazdGRjs7QTBEOTZGQTtFQUNDO0VBQ0E7RUFDQTtDMURpN0ZEO0FPbDdGQztFbURGRDtJQU1FO0cxRGs3RkE7Q0FDRjs7QTBELzZGQTtFQUNDO0VBQ0E7QzFEazdGRDtBTzU3RkM7RW1EUUQ7SXBEZk07SUFSQTtHTmc5Rko7Q0FDRjs7QTBEajdGQTtFQUNDO0VBQ0E7QzFEbzdGRDtBMERsN0ZDO0VBQ0M7QzFEbzdGRjs7QTBEaDdGQTtFQUNDO0VBQ0E7QzFEbTdGRDtBTy84RkM7RW1EMEJEO0lBS0U7RzFEbzdGQTtDQUNGOztBMkQzL0ZBOzs7O29GQUFBO0FBUUE7RUFDQztFQUNBO0MzRDIvRkQ7QU85OUZDO0VvRC9CRDtJQU9FO0czRDAvRkE7Q0FDRjs7QTJEdC9GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0MzRHkvRkQ7QU8xK0ZDO0VvRG5CRDtJQU9FO0lBQ0E7SUFDQTtHM0QwL0ZBO0UyRHgvRkE7SUFDQztHM0QwL0ZEO0NBQ0Y7O0EyRHIvRkE7RUFDQztFQUNBO0MzRHcvRkQ7O0EyRG4vRkM7RUFDQztDM0RzL0ZGO0EyRHAvRkU7RUFDQztFQUNBO0MzRHMvRkg7O0E0RHhpR0E7Ozs7b0ZBQUE7QUFPQTtFQUNDO0VBQ0E7RUFDQTtDNUR5aUdEO0FPNWdHQztFcURoQ0Q7SUFPRTtHNUR5aUdBO0NBQ0Y7O0FPamhHQztFcURwQkQ7SUFHRTtHNUR1aUdBO0NBQ0Y7QU92aEdDO0VxRGRBO0lBRUU7SUFDQTtHNUR1aUdEO0NBQ0Y7QU83aEdDO0VxRGRBO0lBTUU7RzVEeWlHRDtDQUNGO0FPbGlHQztFcURKQTtJcERxRUs7R1JxK0ZKO0NBQ0Y7QU92aUdDO0VxREpBO0lBTUU7RzVEeWlHRDtDQUNGO0FPNWlHQztFcURKQTtJQVNFO0lBQ0E7RzVEMmlHRDtDQUNGOztBT2xqR0M7RXNEL0JEO0lBRUU7RzdEb2xHQTtDQUNGOztBNkRobEdBO0VyRGlPQztFQUNBO0VBQ0E7RXFEak9BO0VBQ0E7QzdEcWxHRDtBT2hrR0M7RXNEeEJEO0lyRHVPRztHUnEzRkQ7Q0FDRjtBT3JrR0M7RXNEeEJEO0lyRDhPRTtJQUNBO0dSbTNGQTtDQUNGO0FPM2tHQztFc0R4QkQ7SUFNRTtHN0RpbUdBO0NBQ0Y7O0FPaGxHQztFc0RiRDtJQUVFO0c3RGdtR0E7Q0FDRjtBT3RsR0M7RXNEYkQ7SUFNRTtJQUNBO0c3RGltR0E7Q0FDRjs7QU81bEdDO0VzREZEO0lBRUU7RzdEaW1HQTtDQUNGOztBNkQ5bEdBO0V2RFhNO0VBUkE7RXVEcUJMO0VBQ0E7QzdEa21HRDs7QTZEOWxHQTtFQUNDO0VBQ0E7QzdEaW1HRDs7QTZEN2xHQTtFQUVDO0VBQ0E7RUFDQTtDN0QrbEdEO0FRNzhGQztFQUNDLGlCcUR0Slk7QzdEcW1HZDtBNkRobUdDO0VBSUM7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQVBRO0VBUVIsYUFQUztFQVFUO0VBQ0E7QzdEK2xHRjs7QU9qb0dDO0V1RHZDRDtJQUVJO0lBQ0E7RzlEMnFHRjtDQUNGOztBT3hvR0M7RXVEaENEO0lBRUk7RzlEMnFHRjtDQUNGOztBOER4cUdBO0VBQ0U7RUFDQTtFQUNBO0M5RDJxR0Y7QU9wcEdDO0V1RDFCRDtJQU1JO0c5RDRxR0Y7Q0FDRjtBT3pwR0M7RXVEMUJEO0lBVUk7SUFDQTtHOUQ2cUdGO0NBQ0Y7QU8vcEdDO0V1RDFCRDtJQWNJO0lBQ0E7RzlEK3FHRjtDQUNGO0E4RDdxR0U7RUFDRTtDOUQrcUdKOztBT3hxR0M7RXVESEQ7SUFHSTtHOUQ2cUdGO0NBQ0Y7QU85cUdDO0V1REhEO0lBT0k7RzlEOHFHRjtDQUNGO0FPbnJHQztFdURIRDtJQVdJO0c5RCtxR0Y7Q0FDRjtBT3hyR0M7RXVESEQ7SUFjSTtHOURpckdGO0NBQ0Y7O0ErRDV0R0E7RUFFQztFQUFBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFBQTtjQUNBLG1DQUNDO0MvRDZ0R0Y7QVF0OUZFO0V3RHRSRjtFQUFBO0V4RHVSRyxnQnVEOVFGO0V2RCtRRTtDUnc5Rkg7QVExOUZFO0V3RHRSRjtFQUFBO0V4RHVSRyxnQnVEOVFGO0V2RCtRRTtDUjQ5Rkg7QU83c0dDO0V3RC9CRDtJQVdFO0lBQUE7SUFDQTtnQkFDQTtHL0RxdUdBO0VRcCtGQTtJd0R0UkY7SUFBQTtHaEVndkdBO0VRMTlGRTtJd0R0UkY7SUFBQTtHaEVvdkdBO0NBT0E7O0FPcHRHQztFd0RiRDtJQUVFLGtCQTFCMEI7Ry9EOHZHMUI7Q0FDRjtBTzF0R0M7RXdEYkQ7SUFNRSxrQkE3QjBCO0cvRGt3RzFCO0NBQ0Y7O0ErRGp1R0E7RUFDQyxrQkFwQzJCO0VBcUMzQixxQkFyQzJCO0VBc0MzQjtDL0RvdUdEO0FPcnVHQztFd0RGRDtJQU1FO0lBQ0E7SUFDQTtJQUNBO0cvRHF1R0E7Q0FDRjtBTzd1R0M7RXdERkQ7SUFhRTtJQUNBO0cvRHN1R0E7Q0FDRjtBT252R0M7RXdERkQ7SUFrQkUsa0JBcEQwQjtJQXFEMUI7SUFDQTtJQUNBO0cvRHV1R0E7Q0FDRjs7QStEbnVHQTtFQUVDO0VBQ0E7RUFDQTtDL0RxdUdEO0ErRG51R0M7RUFDQyxhQU5VO0VBT1Y7RUFDQTtFQUNBO0MvRHF1R0Y7QStEbnVHQztFdkQ4SUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdURoSkM7Qy9EeXVHRjs7QStEcHVHQTtFQUNDO0VBQ0E7Qy9EdXVHRDs7QStEbnVHQTtFQUNDO0MvRHN1R0Q7O0FpRS96R0E7OztHQUFBO0ExRHVDQztFMER2QkQ7SUFFSTtJQUNBO0dqRXN6R0Y7Q0FDRjs7QU9ueUdDO0UwRFpHO0lBQ0U7R2pFbXpHSjtDQUNGO0FPenlHQztFMERoQkQ7SUFXSTtJQUNBO0dqRWt6R0Y7Q0FDRjtBTy95R0M7RTBEaEJEO0lBaUJJO0lBRUE7SUFDQTtHakVpekdGO0VpRS95R0U7SUFDRTtHakVpekdKO0VpRTl5R0U7SUFDRTtHakVnekdKO0NBQ0Y7QU81ekdDO0UwRGhCRDtJQWtDSTtJQUVBO0lBQ0E7R2pFNnlHRjtFaUUzeUdFO0lBQ0U7R2pFNnlHSjtFaUUxeUdFO0lBQ0U7R2pFNHlHSjtDQUNGO0FPejBHQztFMERoQkQ7SUFtREk7SUFFQTtJQUNBO0dqRXl5R0Y7RWlFdnlHRTtJQUNFO0dqRXl5R0o7RWlFdHlHRTtJQUNFLGlCQS9FZ0I7R2pFdTNHcEI7Q0FDRjs7QWtFaDNHQTtFekRZQztFeURWQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEVtM0dEO0FPajJHQztFMkQxQkQ7SUFXRTtJQUNBO0dsRW8zR0E7Q0FDRjs7QWtFaDNHQTtFMURrTkM7RUFDQTtFQUNBO0NSa3FHRDtBTzcyR0M7RTJEVEQ7STFEd05HO0dSa3FHRDtDQUNGO0FPbDNHQztFMkRURDtJMUQrTkU7SUFDQTtHUmdxR0E7Q0FDRjtBT3gzR0M7RTJEVEQ7STFEMEVNO0lBQUE7R1I0ekdKO0NBQ0Y7QU85M0dDO0UyRFREO0kxRGlHTTtJQUFBO0dSMnlHSjtDQUNGO0FPcDRHQztFMkRURDtJMURzR007SUFBQTtHUjR5R0o7Q0FDRjtBTzE0R0M7RTJEVEQ7STFEMkdNO0lBQUE7R1I2eUdKO0NBQ0Y7O0FPaDVHQztFMkRBRDtJQUVFO0dsRW01R0E7Q0FDRjs7QWtFLzRHQTtFQUlDO0VBQ0E7Q2xFKzRHRDtBTzM1R0M7RTJET0Q7STFEMERNO0dSODFHSjtDQUNGO0FPaDZHQztFMkRPRDtJMURpRk07R1I0MEdKO0NBQ0Y7QU9yNkdDO0UyRE9EO0kxRHNGTTtHUjQwR0o7Q0FDRjtBTzE2R0M7RTJET0Q7STFEMkZNO0dSNDBHSjtDQUNGO0FrRWo2R0M7RUFDQztDbEVtNkdGOztBa0U5NUdBO0VBQ0M7Q2xFaTZHRDs7QVF0eEdDO0VBQ0MsaUIwRHRJcUI7Q2xFKzVHdkI7QU8xN0dDO0UyRDBCRDtJQUlFO0dsRWc2R0E7Q0FDRjtBTy83R0M7RTJEMEJEO0lBT0U7R2xFazZHQTtDQUNGOztBT3A4R0M7RTJEdUNEO0kxRDBCTTtHUnc0R0o7Q0FDRjtBTzE4R0M7RTJEdUNEO0lBS0U7R2xFazZHQTtDQUNGO0FPLzhHQztFMkR1Q0Q7SUFRRTtHbEVvNkdBO0NBQ0Y7O0FrRWo2R0E7RUFDQztFQUNBO0NsRW82R0Q7O0FrRWg2R0E7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xFazZHRDtBUXR5R0M7RUFFQztDUnV5R0Y7QWtFbjZHQztFMUQ4REM7RTBENURBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xFcTZHRjtBa0VsNkdDO0VBQ0M7Q2xFbzZHRjtBa0VsNkdFO0VBQ0M7Q2xFbzZHSDtBa0VoNkdDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2xFazZHRjs7QWtFNzVHQTtFQUNDO0VBQ0E7RUFDQTtDbEVnNkdEOztBa0U1NUdBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRSs1R0Q7O0FrRTM1R0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEU4NUdEO0FrRTU1R0M7RUFDQztFQUNBO0NsRTg1R0Y7QWtFNTVHQztFQUNDO0NsRTg1R0Y7QWtFNTVHQztFQUNDO0VBQ0E7Q2xFODVHRjtBa0U1NUdDO0VBQ0M7RUFDQTtDbEU4NUdGO0FrRTM1R0M7RUFDQztDbEU2NUdGO0FrRTE1R0M7RUFDQztDbEU0NUdGOztBbUVsbEhBO0VBQ0M7Q25FcWxIRDs7QW1FaGxIQTtFQUNDO0NuRW1sSEQ7O0FtRS9rSEM7RUFDQztDbkVrbEhGOztBbUU3a0hBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25FZ2xIRDs7QW9Fdm1IQTs7RUFBQTtBQUlBO0UzRGtCQztFMkRoQkE7RUFDQTtFQUNBO0NwRXltSEQ7QW9Fdm1IQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BFeW1IRjtBTzdsSEM7RTZEMUJBO0lBaUJFO0dwRTBtSEQ7Q0FDRjtBb0V4bUhFO0VBQ0M7RUFDQTtFQUNBO0NwRTBtSEg7O0FvRXJtSEE7RTVEdU1DO0VBQ0E7RUFDQTtFNER2TUE7RUFDQTtFQUNBO0VBQ0E7Q3BFMG1IRDtBT2puSEM7RTZERUQ7STVENk1HO0dSczZHRDtDQUNGO0FPdG5IQztFNkRFRDtJNURvTkU7SUFDQTtHUm82R0E7Q0FDRjs7QW9FbG5IQTtFQUNDO0VBQ0E7Q3BFcW5IRDtBT2pvSEM7RTZEVUQ7SUFLRTtHcEVzbkhBO0NBQ0Y7O0FvRW5uSEE7RUFDQztFQUNBO0NwRXNuSEQ7QU8zb0hDO0U2RG1CRDtJQUtFO0dwRXVuSEE7Q0FDRjs7QW9FcG5IQTtFQUVDO0NwRXNuSEQ7QVF4OUdDO0VBRUM7Q1J5OUdGO0FvRXZuSEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDcEV5bkhGOztBb0VybkhBO0VBQ0M7Q3BFd25IRDs7QU9qcUhDO0U2RDRDRDtJQUVFO0dwRXduSEE7Q0FDRjs7QXFFMXNIQTtFQUNDO0VBQ0E7RUFDQTtDckU2c0hEO0FPN3FIQztFOERuQ0Q7STdEb0dNO0dSZ25ISjtDQUNGO0FPbHJIQztFOERuQ0Q7STdEMkhNO0dSOGxISjtDQUNGO0FPdnJIQztFOERuQ0Q7STdEZ0lNO0dSOGxISjtDQUNGO0FPNXJIQztFOERuQ0Q7STdEcUlNO0dSOGxISjtDQUNGOztBcUV0dEhBO0VBQ0M7Q3JFeXRIRDtBT3JzSEM7RThEckJEO0k3RHNGTTtHUndvSEo7Q0FDRjtBTzFzSEM7RThEckJEO0k3RDZHTTtHUnNuSEo7Q0FDRjtBTy9zSEM7RThEckJEO0k3RGtITTtHUnNuSEo7Q0FDRjtBT3B0SEM7RThEckJEO0k3RHVITTtHUnNuSEo7Q0FDRjtBT3p0SEM7RThEYkM7SUFDQztJQUNBO0lBQ0E7R3JFeXVIRDtDQUNGO0FxRXJ1SEM7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckVzdUhGO0FxRW51SEM7RUFDQztFQUNBO0VBQ0E7Q3JFcXVIRjtBTzl1SEM7RThETUE7SUFNRTtHckVzdUhEO0NBQ0Y7QU9udkhDO0U4RE1BO0lBU0U7R3JFd3VIRDtDQUNGO0FxRXR1SEM7RUFDQztFQUNBO0NyRXd1SEY7QU81dkhDO0U4RGtCQTtJQUtFO0dyRXl1SEQ7Q0FDRjtBT2p3SEM7RThEa0JBO0lBUUU7R3JFMnVIRDtDQUNGOztBcUV0dUhBO0VBQ0M7RUFDQTtDckV5dUhEO0FPM3dIQztFOERnQ0Q7SUFLRTtHckUwdUhBO0NBQ0Y7QU9oeEhDO0U4RGdDRDtJQVNFO0lBQ0E7SUFDQTtJQUNBO0dyRTJ1SEE7Q0FDRjs7QXFFdnVIQTs7RUFFQztDckUwdUhEO0FPN3hIQztFOERpREQ7O0lBS0U7SUFDQTtJQUNBO0dyRTR1SEE7Q0FDRjtBT3J5SEM7RThEaUREOztJQVdFO0dyRTh1SEE7Q0FDRjs7QXFFMXVIQTtFQUNDO0VBQ0E7Q3JFNnVIRDtBT2h6SEM7RThEaUVEO0lBS0U7SUFDQTtHckU4dUhBO0NBQ0Y7QU90ekhDO0U4RGlFRDtJQVVFO0lBQ0E7R3JFK3VIQTtDQUNGOztBcUUzdUhBO0VBQ0M7RUFDQSxrQm5FckZ3QjtFbUVzRnhCLG1CbkV0RndCO0NGbzBIekI7QU9sMEhDO0U4RGlGRDtJQU1FO0lBQ0E7R3JFK3VIQTtDQUNGO0FPeDBIQztFOERpRkQ7SUFXRTtHckVndkhBO0NBQ0Y7O0FxRTV1SEE7O0VBRUM7Q3JFK3VIRDs7QXFFM3VIQTtFQUNDO0NyRTh1SEQ7O0FzRXgzSEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0N0RTIzSEQ7QU85MUhDO0UrRGxDRDtJQVFFO0d0RTQzSEE7Q0FDRjs7QXNFejNIQTtFQUNDO0VBQ0EsZ0JBbkJ5QjtDdEUrNEgxQjtBT3gySEM7RStEdEJEO0lBS0U7R3RFNjNIQTtDQUNGO0FPNzJIQztFK0R0QkQ7SUFRRTtHdEUrM0hBO0NBQ0Y7QU9sM0hDO0UrRHRCRDtJQVdFO0d0RWk0SEE7Q0FDRjtBT3YzSEM7RStEdEJEO0lBY0U7SUFDQSxhQS9CdUI7R3RFazZIdkI7Q0FDRjs7QXNFaDRIQTtFQUNDO0N0RW00SEQ7O0FzRWg0SEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdEVtNEhEOztBdUU5NkhFO0VBQ0M7Q3ZFaTdISDs7QXdFMzZIQTtFaEVxT0M7RUFDQTtFQUNBO0NSMHNIRDtBT3I1SEM7RWlFNUJEO0loRTJPRztHUjBzSEQ7Q0FDRjtBTzE1SEM7RWlFNUJEO0loRWtQRTtJQUNBO0dSd3NIQTtDQUNGOztBd0V4N0hBO0VsRWlCTTtFQVJBO0VrRVBMO0N4RTQ3SEQ7O0F3RXo3SEE7RUFFQztDeEUyN0hEO0FRbndIQztFQUNDLGlCZ0UxTFk7Q3hFKzdIZDs7QXdFMzdIQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0N4RTY3SEQ7QVF4dkhDO0VBRUM7Q1J5dkhGO0F3RTk3SEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hFZzhIRjtBd0U3N0hDO0VBRUM7Q3hFODdIRjtBd0U1N0hFO0VBQ0M7Q3hFODdISDtBd0UxN0hDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3hFNDdIRjtBTzk4SEM7RWlFZEQ7SUFvQ0U7SUFDQTtJQUNBO0d4RTQ3SEE7Q0FDRjs7QXdFejdIQTtFQUNDO0VBQ0EsYXRFaEN3QjtDRjQ5SHpCO0FPMTlIQztFaUU0QkQ7SUFLRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0d4RTY3SEE7Q0FDRjtBT24rSEM7RWlFNEJEO0lBYUU7R3hFODdIQTtDQUNGOztBd0UzN0hBO0VBQ0M7RUFDQTtFQUNBO0N4RTg3SEQ7QU85K0hDO0VpRTZDRDtJQU1FO0lBQ0E7SUFDQTtJQUNBO0d4RSs3SEE7Q0FDRjs7QXdFNTdIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLFN0RWhFd0I7RXNFaUV4QixXdEVqRXdCO0VzRWtFeEI7RUFDQTtDeEUrN0hEO0FPaGdJQztFaUUwREQ7SUFVRTtJQUNBO0lBQ0E7SUFDQTtHeEVnOEhBO0NBQ0Y7O0F3RTM3SEE7RUFDQztDeEU4N0hEOztBd0UzN0hBO0VBQ0M7RUFDQTtFQUNBO0N4RTg3SEQ7O0F3RTM3SEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RTg3SEQ7O0F3RTM3SEE7RUFDQztDeEU4N0hEOztBd0UzN0hBO0VBQ0M7RUFDQTtDeEU4N0hEOztBeUUzaklBO0VoRVVDO0VnRVJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFNGpJRDtBeUV6aklDO0VBQ0M7RUFDQTtFQUNBO0N6RTJqSUY7QXlFdmpJQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFeWpJRjtBeUV2aklFO0VBQ0M7RUFDQTtDekV5aklIO0F5RXBqSUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RXNqSUY7QU94bElDO0VrRXhCRDtJQStERTtHekVxaklBO0NBQ0Y7O0F5RWpqSUE7RWpFNkpDO0VBQ0E7RUFDQTtFaUU3SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekVzaklEO0FPeG1JQztFa0U0Q0Q7SWpFbUtHO0dSNjVIRDtDQUNGO0FPN21JQztFa0U0Q0Q7SWpFMEtFO0lBQ0E7R1IyNUhBO0NBQ0Y7O0F5RTdqSUE7RUFDQztDekVna0lEOztBeUU1aklBO0VBQ0M7RUFDQTtFQUNBO0N6RStqSUQ7QXlFN2pJQztFQUNDO0N6RStqSUY7O0F5RTFqSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RTZqSUQ7O0F5RXpqSUE7RUFDQztFQUNBO0N6RTRqSUQ7O0F5RXhqSUE7RW5FNUZNO0VBUkE7RW1Fc0dMO0VBQ0E7RUFDQTtFQUNBO0N6RTRqSUQ7QXlFMWpJQztFQUNDO0N6RTRqSUY7QXlFempJQztFQUNDO0VBQ0E7Q3pFMmpJRjtBeUV4aklDO0VBQ0M7RUFDQTtFQUNBO0N6RTBqSUY7QXlFeGpJRTtFQUNJO0VBQ0g7RUFDRztFQUNBO0VBQ0g7Q3pFMGpJSDs7QTBFaHRJQTtFbEVnUEM7RUFDQTtFQUNBO0NSbytIRDtBTy9xSUM7RW1FdkNEO0lsRXNQRztHUm8rSEQ7Q0FDRjtBT3BySUM7RW1FdkNEO0lsRTZQRTtJQUNBO0dSaytIQTtDQUNGOztBTzFySUM7RW1FbkNEO0lBRUU7RzFFZ3VJQTtDQUNGOztBT2hzSUM7RW1FN0JEO0lBRUU7RzFFZ3VJQTtDQUNGO0FPdHNJQztFbUU3QkQ7SUFNRTtJQUNBO0cxRWl1SUE7Q0FDRjs7QTBFOXRJQTtFQUNDO0MxRWl1SUQ7QU9odElDO0VtRWxCRDtJQUlFO0cxRWt1SUE7Q0FDRjtBT3J0SUM7RW1FbEJEO0lBUUU7SUFDQTtHMUVtdUlBO0NBQ0Y7QU8zdElDO0VtRWxCRDtJQVlFO0lBQ0E7SUFDQTtHMUVxdUlBO0NBQ0Y7O0EwRWx1SUE7RUFDQztFQUNBO0MxRXF1SUQ7O0EwRWx1SUE7RXBFWk07RUFSQTtFb0VzQkw7QzFFc3VJRDtBMEVwdUlDO0VBQVk7QzFFdXVJYjtBMEV0dUlDO0VBQVk7QzFFeXVJYjs7QTBFdHVJQTtFQUNDO0VBQ0E7QzFFeXVJRDs7QTBFdHVJQTtFcEV6Qk07RUFSQTtFb0VtQ0w7QzFFMHVJRDs7QTBFdnVJQTtFcEU5Qk07RUFSQTtFb0V3Q0w7QzFFMnVJRDs7QTJFNXhJQTtFQUNDO0VBQ0E7RUFDQTtDM0UreElEOztBMkU1eElBO0VuRWtKRTtFbUVoSkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esb0xBQ0M7QzNFOHhJRjtBT3J4SUM7RW9FbEJEO0lBZ0JFO0czRTJ4SUE7Q0FDRjs7QTJFeHhJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNFMnhJRDs7QTJFeHhJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNFMnhJRDs7QTJFeHhJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0MzRTJ4SUQ7O0EyRXh4SUE7RUFDQztDM0UyeElEOztBMkV4eElBO0VyRXBDTTtFQVJBO0VxRThDTDtFQUNBO0MzRTR4SUQ7O0EyRXp4SUE7RUFDQztDM0U0eElEOztBNEUxMUlBO0VuRVlDO0VtRVZBO0VBQ0E7RUFDQSxxQjFFcUIyQjtFMEVwQjNCO0M1RTYxSUQ7QTRFMzFJQztFQUNDO0M1RTYxSUY7O0E0RXgxSUE7RXBFc05DO0VBQ0E7RUFDQTtFRmxOSztFQVJBO0VzRUtMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDNUU4MUlEO0FPejFJQztFcUViRDtJcEU0Tkc7R1I4b0lEO0NBQ0Y7QU85MUlDO0VxRWJEO0lwRW1PRTtJQUNBO0dSNG9JQTtDQUNGOztBNEVyMklBO0VBQ0M7RUFDQTtFQUNFO0VBQ0E7RUFDRjtDNUV3MklEOztBNEVwMklBO0VBQ0M7RUFDQTtFQUNBO0M1RXUySUQ7O0E0RW4ySUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDNUVzMklEOztBNEVsMklBO0VBQ0M7RUFDQTtDNUVxMklEOztBNEVqMklBO0VBRUM7RUFDQTtFQUNBO0M1RW0ySUQ7QVF4c0lDO0VBRUM7Q1J5c0lGO0E0RXAySUM7RUFDQztDNUVzMklGO0E0RW4ySUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDNUVxMklGOztBNEVoMklBO0VBQ0M7RUFDQTtDNUVtMklEOztBNkUvNklBOzs7O0dBQUE7QUFPQTtFckU0TkM7RUFDQTtFQUNBO0NScXRJRDtBT2g2SUM7RXNFbkJEO0lyRWtPRztHUnF0SUQ7Q0FDRjtBT3I2SUM7RXNFbkJEO0lyRXlPRTtJQUNBO0dSbXRJQTtDQUNGOztBNkV4N0lBO0VyRWdKRTtFcUU5SUQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0UyN0lEO0E2RXo3SUM7RUFDQztFQUNBO0M3RTI3SUY7QTZFeDdJQztFQUNDO0VBQ0E7RUFDQTtDN0UwN0lGO0E2RXY3SUM7RUFDQztFQUNBO0M3RXk3SUY7QTZFdjdJRTtFQUNDO0M3RXk3SUg7O0FPdjhJQztFc0VtQkQ7SUFFRTtHN0V1N0lBO0NBQ0Y7QU83OElDO0VzRW1CRDtJQU1FO0lBQ0E7SUFDQTtHN0V3N0lBO0NBQ0Y7QU9wOUlDO0VzRW1CRDtJQVlFO0lBQ0E7RzdFeTdJQTtDQUNGOztBNkV0N0lBO0VBQ0M7QzdFeTdJRDs7QTZFdDdJQTtFQUNDO0M3RXk3SUQ7O0FPbCtJQztFc0U0Q0Q7SUFFRTtHN0V5N0lBO0NBQ0Y7QU94K0lDO0VzRTRDRDtJQU1FO0c3RTA3SUE7Q0FDRjs7QTZFdDdJQTtFdkU5RE07RUFSQTtFdUV3RUw7RUFDQTtFQUNBO0M3RTA3SUQ7O0FPci9JQztFc0U4REQ7SUFFRTtJQUFBO0lBQ0E7SUFBQTtJQUNBO0lBQUE7SUFDQTtHN0UwN0lBO0NBQ0Y7O0FPOS9JQztFc0V3RUE7SXJFUEs7R1JrOElKO0NBQ0Y7QU9wZ0pDO0VzRXVFRDtJQVFFO0lBQUE7SUFDQTtJQUFBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHN0V5N0lBO0U2RXY3SUE7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHN0V5N0lEO0NBQ0Y7O0E2RXI3SUE7RXZFN0dNO0VBUkE7RXVFdUhMO0VBQ0E7RUFDQTtFQUNBO0M3RXk3SUQ7QU9waUpDO0VzRXNHRDtJQVFFO0c3RTA3SUE7Q0FDRjs7QThFaGxKQTtFdEVnUEM7RUFDQTtFQUNBO0NSbzJJRDtBTy9pSkM7RXVFdkNEO0l0RXNQRztHUm8ySUQ7Q0FDRjtBT3BqSkM7RXVFdkNEO0l0RTZQRTtJQUNBO0dSazJJQTtDQUNGO0FPMWpKQztFdUV2Q0Q7SXRFd0dNO0lBQUE7R1I4L0lKO0NBQ0Y7QU9oa0pDO0V1RXZDRDtJdEUrSE07SUFBQTtHUjYrSUo7Q0FDRjtBT3RrSkM7RXVFdkNEO0l0RW9JTTtJQUFBO0dSOCtJSjtDQUNGO0FPNWtKQztFdUV2Q0Q7SXRFeUlNO0lBQUE7R1IrK0lKO0NBQ0Y7O0FPbGxKQztFdUUvQkQ7SUFFSTtJQUNBO0lBQ0E7RzlFb25KRjtDQUNGOztBOEVqbkpBO0VBQ0U7RUFDQTtDOUVvbkpGO0FPL2xKQztFdUV2QkQ7SUFLSTtJQUNBO0lBQ0E7SUFDQTtHOUVxbkpGO0NBQ0Y7QU92bUpDO0V1RXZCRDtJQVlJO0c5RXNuSkY7Q0FDRjtBTzVtSkM7RXVFdkJEO0lBZ0JJO0c5RXVuSkY7Q0FDRjs7QStFcHBKQTtFdkU0T0M7RUFDQTtFQUNBO0NSNDZJRDtBT3ZuSkM7RXdFbkNEO0l2RWtQRztHUjQ2SUQ7Q0FDRjtBTzVuSkM7RXdFbkNEO0l2RXlQRTtJQUNBO0dSMDZJQTtDQUNGO0FPbG9KQztFd0VuQ0Q7SXZFb0dNO0dScWtKSjtDQUNGO0FPdm9KQztFd0VuQ0Q7SXZFMkhNO0dSbWpKSjtDQUNGO0FPNW9KQztFd0VuQ0Q7SXZFZ0lNO0dSbWpKSjtDQUNGO0FPanBKQztFd0VuQ0Q7SXZFcUlNO0dSbWpKSjtDQUNGO0FPdHBKQztFd0VuQ0Q7SUFPRTtHL0VzckpBO0NBQ0Y7O0FPM3BKQztFd0V2QkQ7SUFFRTtJQUNBLG9CQWxCYTtHL0V1c0piO0NBQ0Y7O0ErRWpySkE7RUFDQztDL0VvckpEO0FPdHFKQztFd0VmRDtJQUlFO0lBQ0E7Ry9FcXJKQTtDQUNGOztBTzVxSkM7RXlFNUJEO0lBRUU7R2hGMnNKQTtDQUNGOztBT2xySkM7RXlFdEJEO0lBRUU7R2hGMnNKQTtDQUNGOztBZ0Z4c0pBO0VBQ0M7RUFDQTtFQUNBO0NoRjJzSkQ7QU85ckpDO0V5RWhCRDtJQU1FO0lBRUM7SUFDQTtJQUNBO0lBQ0E7R2hGMnNKRDtDQUNGO0FPdnNKQztFeUVoQkQ7SUFnQkU7SUFDQTtHaEYyc0pBO0NBQ0Y7O0FnRnhzSkE7RUFDQztFQUNBO0NoRjJzSkQ7QU9sdEpDO0V5RUtEO0lBS0U7SUFDQTtJQUNBO0lBQ0E7R2hGNHNKQTtDQUNGO0FPMXRKQztFeUVLRDtJQVlFO0lBQ0E7R2hGNnNKQTtDQUNGO0FPaHVKQztFeUVLRDtJQWlCRTtHaEY4c0pBO0NBQ0Y7O0FnRjNzSkE7RTFFakNNO0VBUkE7RTBFMkNMO0VBQ0E7Q2hGK3NKRDs7QWdGNXNKQTtFQUNDO0VBQ0E7Q2hGK3NKRDs7QWdGNXNKQTtFQUVDO0VBQ0E7Q2hGOHNKRDtBUS9rSkM7RUFDQyxpQndFbElZO0NoRm10SmQ7QWdGL3NKQztFQUlDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFQUTtFQVFSLGFBUFM7RUFRVDtFQUNBO0NoRjhzSkY7O0FnRjFzSkE7RUFDQztDaEY2c0pEOztBZ0Yxc0pBO0VBQ0M7RUFDQTtDaEY2c0pEOztBaUZuekpBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2pGc3pKRDtBaUZwekpDO0VBQ0M7Q2pGc3pKRjs7QWlGanpKQTtFekU4SkU7RXlFNUpEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqRm96SkQ7QWlGbHpKQztFQUNDO0VBQ0E7RUFDQTtDakZvekpGOztBaUYveUpBO0VBQ0M7Q2pGa3pKRDs7QWlGOXlKQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqRml6SkQ7QWlGL3lKQztFQUNDO0NqRml6SkY7O0FpRjV5SkE7RTNFckJNO0VBUkE7RTJFK0JMO0VBQ0E7Q2pGZ3pKRDs7QWlGNXlKQTtFM0U1Qk07RUFSQTtFMkVzQ0w7RUFDQTtDakZnekpEOztBaUY1eUpBO0VBQ0M7Q2pGK3lKRDs7QWtGajNKQTtFQUNDO0VBQ0E7Q2xGbzNKRDtBT2oxSkM7RTJFckNEO0kxRThPQztJQUNBO0lBQ0E7R1I0b0pDO0NBQ0Y7QU94MUpDO0UyRXJDRDtJMUVvUEc7R1I2b0pEO0NBQ0Y7QU83MUpDO0UyRXJDRDtJMUUyUEU7SUFDQTtHUjJvSkE7Q0FDRjtBa0ZoNEpDO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDSDtDbEZrNEpGOztBa0Y5M0pBO0VBQ0M7RUFDQTtDbEZpNEpEOztBa0Y3M0pBO0UxRW9OQztFQUNBO0VBQ0E7RTBFcE5BO0NsRms0SkQ7QU96M0pDO0UyRVhEO0kxRTBORztHUjhxSkQ7Q0FDRjtBTzkzSkM7RTJFWEQ7STFFaU9FO0lBQ0E7R1I0cUpBO0NBQ0Y7O0FBcDNKQTs7K0RBQUE7QW1GdkRBOzs4RUFBQTtBbkYrREE7OytEQUFBO0FvRi9EQTtFQUNDO0VBQ0E7Q3BGdTdKRDtBb0ZyN0pDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3BGdTdKRjtBb0ZyN0pFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BGdTdKSDtBb0ZuN0pDO0U5RVdLO0VBUkE7Q05vN0pOO0FvRm43Skc7RUFDQztDcEZxN0pKOztBcUYvOEpBOztHQUFBO0FBT0M7RUFDQztDckY4OEpGO0FxRjE4SkM7RUFDQztDckY0OEpGO0FxRng4SkM7RUFDQztDckYwOEpGO0FxRnY4SkM7RUFDQztDckZ5OEpGO0FxRnQ4SkM7RUFDQztDckZ3OEpGO0FxRnQ4SkU7RUFDQztFQUNBO0VBQ0E7Q3JGdzhKSDtBcUZ0OEpHO0UvRURHO0VBUkE7RStFV0Y7RUFDQTtFQUNBO0VBQ0E7Q3JGeThKSjtBcUZwOEpDO0VBQ0M7RUFDQTtDckZzOEpGO0FxRnA4SkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtDckZzOEpIO0FxRnA4Skc7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JGczhKSjs7QUExN0pBOzs7K0RBQUE7QXNGdkVBOzt5RkFBQTtBQUtBOzs7Ozs7Ozs7Ozs7OztHQUFBO0FBMEJHO0VBQ0M7Q3RGMi9KSjs7QXNGei9KRztFQUNDO0N0RjQvSko7O0FzRmhnS0c7RUFDQztDdEZtZ0tKOztBc0ZqZ0tHO0VBQ0M7Q3RGb2dLSjs7QXNGeGdLRztFQUNDO0N0RjJnS0o7O0FzRnpnS0c7RUFDQztDdEY0Z0tKOztBc0ZoaEtHO0VBQ0M7Q3RGbWhLSjs7QXNGamhLRztFQUNDO0N0Rm9oS0o7O0FzRnhoS0c7RUFDQztDdEYyaEtKOztBc0Z6aEtHO0VBQ0M7Q3RGNGhLSjs7QXNGaGlLRztFQUNDO0N0Rm1pS0o7O0FzRmppS0c7RUFDQztDdEZvaUtKOztBc0Z4aUtHO0VBQ0M7Q3RGMmlLSjs7QXNGemlLRztFQUNDO0N0RjRpS0o7O0FzRmhqS0c7RUFDQztDdEZtaktKOztBc0ZqaktHO0VBQ0M7Q3RGb2pLSjs7QXNGeGpLRztFQUNDO0N0RjJqS0o7O0FzRnpqS0c7RUFDQztDdEY0aktKOztBc0Zoa0tHO0VBQ0M7Q3RGbWtLSjs7QXNGamtLRztFQUNDO0N0Rm9rS0o7O0FzRnhrS0c7RUFDQztDdEYya0tKOztBc0Z6a0tHO0VBQ0M7Q3RGNGtLSjs7QXNGaGxLRztFQUNDO0N0Rm1sS0o7O0FzRmpsS0c7RUFDQztDdEZvbEtKOztBc0Z4bEtHO0VBQ0M7Q3RGMmxLSjs7QXNGemxLRztFQUNDO0N0RjRsS0o7O0FzRmhtS0c7RUFDQztDdEZtbUtKOztBc0ZqbUtHO0VBQ0M7Q3RGb21LSjs7QXNGeG1LRztFQUNDO0N0RjJtS0o7O0FzRnptS0c7RUFDQztDdEY0bUtKOztBc0ZobktHO0VBQ0M7Q3RGbW5LSjs7QXNGam5LRztFQUNDO0N0Rm9uS0o7O0FzRnhuS0c7RUFDQztDdEYybktKOztBc0Z6bktHO0VBQ0M7Q3RGNG5LSjs7QXNGaG9LRztFQUNDO0N0Rm1vS0o7O0FzRmpvS0c7RUFDQztDdEZvb0tKOztBc0Z4b0tHO0VBQ0M7Q3RGMm9LSjs7QXNGem9LRztFQUNDO0N0RjRvS0o7O0FzRmhwS0c7RUFDQztDdEZtcEtKOztBc0ZqcEtHO0VBQ0M7Q3RGb3BLSjs7QXNGeHBLRztFQUNDO0N0RjJwS0o7O0FzRnpwS0c7RUFDQztDdEY0cEtKOztBdUYvcktBOzt5RkFBQTtBQUtBOzs7Ozs7OztHQUFBO0FBY0c7RWpGYUc7RUFSQTtDTndyS047O0F1RjdyS0c7RWpGYUc7RUFSQTtDTjZyS047O0F1RmxzS0c7RWpGYUc7RUFSQTtDTmtzS047O0F1RnZzS0c7RWpGYUc7RUFSQTtDTnVzS047O0F1RjVzS0c7RWpGYUc7RUFSQTtDTjRzS047O0F1Rmp0S0c7RWpGYUc7RUFSQTtDTml0S047O0F1RnR0S0c7RWpGYUc7RUFSQTtDTnN0S047O0F1RjN0S0c7RWpGYUc7RUFSQTtDTjJ0S047O0F1Rmh1S0c7RWpGYUc7RUFSQTtDTmd1S047O0F1RnJ1S0c7RWpGYUc7RUFSQTtDTnF1S047O0F1RjF1S0c7RWpGYUc7RUFSQTtDTjB1S047O0F1Ri91S0c7RWpGYUc7RUFSQTtDTit1S047O0F1RnB2S0c7RWpGYUc7RUFSQTtDTm92S047O0F1Rnp2S0c7RWpGYUc7RUFSQTtDTnl2S047O0F1Rjl2S0c7RWpGYUc7RUFSQTtDTjh2S047O0F1Rm53S0c7RWpGYUc7RUFSQTtDTm13S047O0F1Rnh3S0c7RWpGYUc7RUFSQTtDTnd3S047O0F1Rjd3S0c7RWpGYUc7RUFSQTtDTjZ3S047O0F1Rnp3S0E7Ozs7Ozs7O0dBQUE7QUM1QkE7RUFDQztDeEZpektEOztBd0Y5eUtBO0VBQ0M7RUFDQTtFQUNBO0N4Rml6S0Q7O0F3Rjl5S0E7RUFDQztDeEZpektEOztBd0Y5eUtBO0VBQ0M7Q3hGaXpLRDs7QXdGOXlLQTtFQUNDO0N4Rml6S0Q7O0F5RnAwS0E7OztFQUFBO0FDRUM7RUFBeUI7QzFGMDBLMUI7O0EwRnowS0M7RUFBeUI7QzFGNjBLMUI7O0EwRjUwS0M7RUFBeUI7QzFGZzFLMUI7O0EwRi8wS0M7RUFBeUI7QzFGbTFLMUI7O0EwRmgxS0M7RUFBeUI7QzFGbzFLMUI7O0EwRm4xS0M7RUFBeUI7QzFGdTFLMUI7O0EwRnQxS0M7RUFBeUI7QzFGMDFLMUI7O0EwRnoxS0M7RUFBeUI7QzFGNjFLMUI7O0EwRnQyS0M7RUFBeUI7QzFGMDJLMUI7O0EwRnoyS0M7RUFBeUI7QzFGNjJLMUI7O0EwRjUyS0M7RUFBeUI7QzFGZzNLMUI7O0EwRi8yS0M7RUFBeUI7QzFGbTNLMUI7O0EwRmgzS0M7RUFBeUI7QzFGbzNLMUI7O0EwRm4zS0M7RUFBeUI7QzFGdTNLMUI7O0EwRnQzS0M7RUFBeUI7QzFGMDNLMUI7O0EwRnozS0M7RUFBeUI7QzFGNjNLMUI7O0EwRnQ0S0M7RUFBeUI7QzFGMDRLMUI7O0EwRno0S0M7RUFBeUI7QzFGNjRLMUI7O0EwRjU0S0M7RUFBeUI7QzFGZzVLMUI7O0EwRi80S0M7RUFBeUI7QzFGbTVLMUI7O0EwRmg1S0M7RUFBeUI7QzFGbzVLMUI7O0EwRm41S0M7RUFBeUI7QzFGdTVLMUI7O0EwRnQ1S0M7RUFBeUI7QzFGMDVLMUI7O0EwRno1S0M7RUFBeUI7QzFGNjVLMUI7O0EwRnQ2S0M7RUFBeUI7QzFGMDZLMUI7O0EwRno2S0M7RUFBeUI7QzFGNjZLMUI7O0EwRjU2S0M7RUFBeUI7QzFGZzdLMUI7O0EwRi82S0M7RUFBeUI7QzFGbTdLMUI7O0EwRmg3S0M7RUFBeUI7QzFGbzdLMUI7O0EwRm43S0M7RUFBeUI7QzFGdTdLMUI7O0EwRnQ3S0M7RUFBeUI7QzFGMDdLMUI7O0EwRno3S0M7RUFBeUI7QzFGNjdLMUI7O0EwRnQ4S0M7RUFBeUI7QzFGMDhLMUI7O0EwRno4S0M7RUFBeUI7QzFGNjhLMUI7O0EwRjU4S0M7RUFBeUI7QzFGZzlLMUI7O0EwRi84S0M7RUFBeUI7QzFGbTlLMUI7O0EwRmg5S0M7RUFBeUI7QzFGbzlLMUI7O0EwRm45S0M7RUFBeUI7QzFGdTlLMUI7O0EwRnQ5S0M7RUFBeUI7QzFGMDlLMUI7O0EwRno5S0M7RUFBeUI7QzFGNjlLMUI7O0EwRnQrS0M7RUFBeUI7QzFGMCtLMUI7O0EwRnorS0M7RUFBeUI7QzFGNitLMUI7O0EwRjUrS0M7RUFBeUI7QzFGZy9LMUI7O0EwRi8rS0M7RUFBeUI7QzFGbS9LMUI7O0EwRmgvS0M7RUFBeUI7QzFGby9LMUI7O0EwRm4vS0M7RUFBeUI7QzFGdS9LMUI7O0EwRnQvS0M7RUFBeUI7QzFGMC9LMUI7O0EwRnovS0M7RUFBeUI7QzFGNi9LMUI7O0EwRnRnTEM7RUFBeUI7QzFGMGdMMUI7O0EwRnpnTEM7RUFBeUI7QzFGNmdMMUI7O0EwRjVnTEM7RUFBeUI7QzFGZ2hMMUI7O0EwRi9nTEM7RUFBeUI7QzFGbWhMMUI7O0EwRmhoTEM7RUFBeUI7QzFGb2hMMUI7O0EwRm5oTEM7RUFBeUI7QzFGdWhMMUI7O0EwRnRoTEM7RUFBeUI7QzFGMGhMMUI7O0EwRnpoTEM7RUFBeUI7QzFGNmhMMUI7O0EwRnRpTEM7RUFBeUI7QzFGMGlMMUI7O0EwRnppTEM7RUFBeUI7QzFGNmlMMUI7O0EwRjVpTEM7RUFBeUI7QzFGZ2pMMUI7O0EwRi9pTEM7RUFBeUI7QzFGbWpMMUI7O0EwRmhqTEM7RUFBeUI7QzFGb2pMMUI7O0EwRm5qTEM7RUFBeUI7QzFGdWpMMUI7O0EwRnRqTEM7RUFBeUI7QzFGMGpMMUI7O0EwRnpqTEM7RUFBeUI7QzFGNmpMMUI7O0EwRnRrTEM7RUFBeUI7QzFGMGtMMUI7O0EwRnprTEM7RUFBeUI7QzFGNmtMMUI7O0EwRjVrTEM7RUFBeUI7QzFGZ2xMMUI7O0EwRi9rTEM7RUFBeUI7QzFGbWxMMUI7O0EwRmhsTEM7RUFBeUI7QzFGb2xMMUI7O0EwRm5sTEM7RUFBeUI7QzFGdWxMMUI7O0EwRnRsTEM7RUFBeUI7QzFGMGxMMUI7O0EwRnpsTEM7RUFBeUI7QzFGNmxMMUI7O0FPamtMQztFbUZ6QkQ7SWxGMEZNO0lBQUE7R1JzZ0xKO0NBQ0Y7QU94a0xDO0VtRnpCRDtJbEZpSE07SUFBQTtHUnEvS0o7Q0FDRjtBTzlrTEM7RW1GekJEO0lsRnNITTtJQUFBO0dScy9LSjtDQUNGO0FPcGxMQztFbUZ6QkQ7SWxGMkhNO0lBQUE7R1J1L0tKO0NBQ0Y7O0FPMWxMQztFbUZqQkE7SUFDQztHMUYrbUxBO0NBQ0Y7QTJGdm9MQTs7OztnRkFBQTtBQXlCQTtFbEZBQztFRHVOQTtFQUNBO0VBQ0E7RW1GdE5BO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtDM0ZzbkxEO0FPam5MQztFb0ZkRDtJbkY2Tkc7R1JzNktEO0NBQ0Y7QU90bkxDO0VvRmREO0luRm9PRTtJQUNBO0dSbzZLQTtDQUNGO0FPNW5MQztFb0ZkRDtJQW1CRTtHM0YybkxBO0NBQ0Y7O0EyRnZuTEE7RUFDQztFQUVBO0MzRnluTEQ7QU90b0xDO0VvRlVEO0lBWUU7RzNGb25MQTtDQUNGO0FPM29MQztFb0ZVRDtJQXFCRTtHM0ZnbkxBIiwiZmlsZSI6ImNzcy9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiAgMSAtIFNFVFRJTkdTXG4gKiAgR2xvYmFsIHZhcmlhYmxlcywgc2l0ZS13aWRlIHNldHRpbmdzLFxuICogIGNvbmZpZyBzd2l0Y2hlcyBldGMuXG4gKlxuICogIFRoZSBvcmRlciBpbiB3aGljaCB0aGVzZSBTYXNzIGZpbGVzXG4gKiAgYXJlIGxvYWRlZCBpcyBjcml0aWNhbCFcbiAqICBTbyBwbGVhc2UgYmUgY2FyZWZ1bCB3aGVuIGVkaXRpbmdcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT3JnYW5pemUgY29sb3IgdmFyaWFibGVzIGluIGEgU2FzcyBNYXAuXG4gICBUaGlzIHdheSwgdGhlIGNvbG9ycyBjYW4gYmUgaXRlcmF0ZWQsIGFyZSBtb3JlIG9yZ2FuaXplZCxcbiAgIGFuZCBhcmUgbW9yZSBpbnR1aXRpdmUgdG8gcmVmZXJlbmNlLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3IgYWNjZXNzaW5nIHRoZSBjb2xvcnMgZnJvbSBvdXIgbWFwcGluZ1xuICpcdFRvIGFjY2VzcyBjb2xvcnMgaW4gb3VyIHBhbGV0dGUsIHdlIHVzZSBhIHZlcnkgc2ltcGxlIGN1c3RvbSBTYXNzIGZ1bmN0aW9uXG4gKiAgVGhpcyBmdW5jdGlvbiBpcyBwbGFjZWQgaGVyZSwgKGFuZCBub3QgaW4gdGhlIHRvb2xib3gpXG4gKiAgYmVjYXVzZSB3ZSB3YW50IHRvIHVzZSBpdCBpbiBvdXIgb3RoZXIgc2V0dGluZyBmaWxlc1xuXG5cdFVTQUdFOlxuXG5cdC5kZW1vIHtcblx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA1MDApO1xuXHR9XG5cbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuXHRbMV1cdFx0TG9nbyBkYXJrIG9yIGxpZ2h0IGNhbiBiZSBzZXQgaW4gaGVhZGVyLmJsYWRlLnBocCAvIGZvb3Rlci5ibGFkZS5waHAgJlxuXHRbMl0gXHRTZXQgdGhpcyB0byB0cnVlIHdoZW4gYmdDb2xvciBnZXRzIGEgZGFyayBjb2xvciB0aGF0IGNvbnRyYXN0IHRoZSBib2R5IGJnIGNvbG9yXG4qL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIFx0IERlZmluZXMgdGhlIHR5cG9ncmFwaGljIGJhc2VsaW5lLlxuICAgV2UgZGVmaW5lIGV2ZXJ5IHNpemUgaW4gcGl4ZWxzLCB0aGUgdW5kZXJseWluZyBzeXN0ZW1cbiAgIGNvbnZlcnRzIHRoZSByZXNwZWN0aXZlIHVuaXRzIHRvIHRoZSByZXNwb25zaXZlIFJFTSB2YWx1ZS5cbiBcdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIE91ciBiYXNlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHRcbiAqL1xuLyoqXG4gKlx0SGVyZSB3ZSBhc3NpZ24gc2hvcnQgbmFtZXMgZm9yIHRoZSBmb250IGZhbWlsaWVzXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIGdpdmVuIGZvcm1hdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgMiAtIFRPT0xTXG4gKiAgU2l0ZSB3aWRlIG1peGlucyBhbmQgZnVuY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1bmN0aW9ucyB1c2VkIGluIGdyaWQgY2FsY3VsYXRpb25cbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAqIFJldHVybiBwZXJjZW50YWdlIGJhc2VkIG9uIGFtb3VudCBvZiBjb2x1bW5zXG4gICogVXNlIHBhcmVudCBjb2x1bW4gc2l6ZSB0byBhZGp1c3QgdGhlIG9yaWdpblxuICAqL1xuLyoqXG4gICogRGVmYXVsdCBmdW5jdGlvbiBmb3IgY29sdW1uc1xuICAqIFJldHVybiBhcyBwZXJjZW50YWdlXG4gICovXG4vKipcbiAgKiBSZXR1cm4gYXMgdmlld3BvcnQgd2lkdGhcbiAgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplIGluIFJFTSB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHNpemVzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbiAgICB9XG5cbiAqL1xuLyogTWVkaWEgcXVlcnkgbWl4aW4gZm9yIHdyaXRpbmcgTW9iaWxlIEZpcnN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVG9vbGJveCBmdW5jdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWF0aHMgaGVscGVycy5cbiAqICBIYWx2ZSBhbmQgZG91YmxlIG51bWJlcnMsIHJldHVybmluZyByb3VuZGVkIGludGVnZXJzLlxuXG4gICAgVVNBR0U6XG5cbiAgICAuZm9vIHtcbiAgICAgICAgcGFkZGluZzogaGFsdmUoMzBweCk7XG4gICAgfVxuXG4gKi9cbi8qKlxuICogIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICogIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cbiAqICBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG4gKi9cbi8qIENoZWNrIGlmIHZhbHVlIGlzIG51bWJlciAqL1xuLyogVmFsdWUgdG8gRW0gKi9cbi8qIFZhbHVlIHRvIFJlbSAqL1xuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIG9ubHkgZm9yIG1vYmlsZSB2aWV3cG9ydFxuXG4gVVNBR0U6XG5cbiAuZXhhbXBsZSB7XG5cdCBAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG4gIH1cblxuICovXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgZm9yIHZpZXdwb3J0IGxhcmdlciB0aGFuIG1vYmlsZVxuICogSW4gZmxleGlibGUgdW5pdHMgKHZ3KSBhbmQgb24gbWF4IHZpZXdwb3J0IGluIGEgZml4ZWQgYW1vdW50IChweClcblxuIFVTQUdFOlxuXG4gLmV4YW1wbGUge1xuXHQgQGluY2x1ZGUgdnNwYWNpbmctbS11cChcblx0XHRcdFx0J3BhZGRpbmctdG9wJyAwLjMzLFxuXHRcdFx0XHQnbWFyZ2luLWJvdHRvbScgMC41XG5cdFx0KTtcbiAgfVxuXG4gKi9cbi8qXG4gKiBGcm9tIHZhbHVlcyBnaXZlbiByZXR1cm4gdGhlIGNvcnJlY3Qgdi1zcGFjaW5nIGZvciBlYWNoIGJyZWFrcG9pbnRcbiAqL1xuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJvcmRlci1yYWRpdXNcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobCk7XG5cdH1cblxuICovXG4vKipcbiAqIExvYm90b21pemVkIE93bCBTZWxlY3RvciBtaXhpbjpcbiAqIC0gU2V0IHNwYWNpbmcgZm9yIGNvbnNlY3V0aXZlIGl0ZW1zIHdpdGggbWFyZ2luLXRvcCBvbiBhbGwgYnV0IHRoZSBmaXJzdCBpdGVtXG5cblx0VVNBR0U6XG5cblx0LmJveCB7XG5cdFx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xuXHR9XG5cblx0LmNhcmRfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIG93bDtcblx0fVxuXG4gKi9cbi8qXG4gKiBMb2JvdG9taXplZCBvd2wgc2VsZWN0b3IuXG4gKiAtIEdpdmVzIHRoZSBjaGlsZHJlbiBvZiB0aGUgZWxlbWVudCBzcGFjaW5nXG4gKiAtIGh0dHBzOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9heGlvbWF0aWMtY3NzLWFuZC1sb2JvdG9taXplZC1vd2xzXG4gKi9cbi8qKlxuICogIFNob3cgaHlwaGVucyBmb3IgZXZlcnkgYnJvd3NlciBzdXBwb3J0aW5nIGl0XG4gKiAgYW5kIHdpbGwgYnJlYWsgbGluZXMgaW4gZXZlcnkgb3RoZXIgYnJvd3NlclxuICovXG4vKlxuICogIFJlc3RyaWN0IGFuIGVsZW1lbnQgdG8gYSBtYXgtd2lkdGggZm9yIGNyZWF0aW5nIGd1dHRlcnMgb24gdGhlIHNpZGVcbiAqL1xuLypcbiAqXHRBIG1peGluIHRvIHNldCBlbGVtZW50cyB0byBpdHMgb3duIG5hbWVkIGdyaWQtYXJlYVxuICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIFRoZSAnei1pbmRleC1tYXAnIGlzIHVzZWQgZm9yIG1hbmFnaW5nIHRoZSBlbGVtZW50cyBzdGFja2luZyBvcmRlciBpbiB0aGUgJ3Jvb3QnIHN0YWNraW5nIGNvbnRleHRcbiAqICBUaGlzIHdheSB3ZSBoYXZlIGEgb3ZlcnZpZXcgb2YgYWxsIHRoZSB6LWluZGV4IHZhbHVlcyB0aGF0IGFyZSB1c2VkIGFjcm9zcyB0aGUgcHJvamVjdC5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICBVU0FHRTpcblxuICAgIEBpbmNsdWRlIHooei1tb2RhbCk7XG5cbiAqL1xuLyogIDMgLSBFTEVNRU5UU1xuICogIFBsYWluIG9sZCBzaW1wbGUgSFRNTCBlbGVtZW50cyB3aXRob3V0IGEgY2xhc3MgKHR5cGUgc2VsZWN0b3JzKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQmFzaWMgZWxlbWVudHMgKG5vIGNsYXNzIHNlbGVjdG9ycyBhbGxvd2VkKVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogU2V0IHVwIHRoZSBodG1sXG4gKlxuICogMS4gTWFrZXMgc3VyZSB0aGF0IHNvbWUgZm9udHMgYXJlIGJldHRlciByZW5kZXJlZFxuICogMi4gU2V0IGZvbnQgdG8gbGluaW5nIGZpZ3VyZXNcbiAqXG4gKiAzLiBBdm9pZCB0aGUgSUUgMTAtMTEgYG1pbi1oZWlnaHRgIGJ1Zy5cbiAqIDQuIFVzZSBgJWAgaW5zdGVhZCBvZiBgdmhgIHNpbmNlIGB2aGAgaXMgYnVnZ3kgaW4gb2xkZXIgbW9iaWxlIFNhZmFyaS5cbiAqL1xuaHRtbCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibG51bVwiO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbmJvZHkge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiAzLCA0ICovXG59XG5cbmZvb3RlciB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4vKipcbiAqIFsxXSBNYWtlIHN1cmUgZWxlbWVudHMgbGlrZSBpbnB1dCBhbmQgdGV4dGFyZWEgaW5oZXJpdCBzb21lIGJhc2UgcHJvcGVydGllc1xuICogICAgIGh0dHBzOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTYvMTEvY3NzLWluaGVyaXRhbmNlLWNhc2NhZGUtZ2xvYmFsLXNjb3BlLW5ldy1vbGQtd29yc3QtYmVzdC1mcmllbmRzL1xuICpcbiAqIFsyXSBTZXR0aW5nIGJveC1zaXppbmcgdGhlIGJlc3Qgd2F5IHBlcjpcbiAqICAgICBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cbiAqL1xuKiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogWzFdIFR1cm4gb2ZmIHRleHQtc2hhZG93IHdoZW4gc2VsZWN0aW5nIHRleHQgZm9yIGJldHRlciByZWFkYWJpbGl0eVxuICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNFQkM0NTc7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgLyogWzFdICovXG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBhcm91bmQgZmlndXJlXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBbMV0gU2V0dGluZyAndmVydGljYWwtYWxpZ24nIHJlbW92ZXMgdGhlIHdoaXRlc3BhY2UgdGhhdCBhcHBlYXJzIHVuZGVyICdpbWcnXG4gKlx0ICAgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkIGludG8gYSBwYWdlIGFzLWlzLiBTYWZlciBhbHRlcm5hdGl2ZSB0b1xuICpcdCAgIHVzaW5nICdkaXNwbGF5OiBibG9jazsnLlxuICogWzJdIFJlbW92ZSBib3JkZXIgLyBlc3BlY2lhbGx5IG9uIG9sZGVyIGJyb3dzZXJzXG4gKi9cbmltZywgc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLypbMV0qL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qWzJdKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqICBOZWVkZWQgZm9yIGlPUyB0byBwcmV2ZW50IGlucHV0IHpvb21pbmdcbiAqICBodHRwczovL3V4Y2VsbGVuY2UuY29tLzIwMTQvMDEvMTUvcXVpY2stZml4LWluY3JlYXNlLWZvbnQtc2l6ZS10by0xNnB4LXRvLWZpeC1pbnB1dC16b29tXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbmE6bm90KFtjbGFzc10pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzQwNzlCODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IGF1dG87XG59XG5hOm5vdChbY2xhc3NdKTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjNDA3OUI4O1xuICBjb250ZW50OiBcIlwiO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcywgb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xufVxuYTpub3QoW2NsYXNzXSk6aG92ZXI6OmFmdGVyIHtcbiAgaGVpZ2h0OiAycHg7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBoZ3JvdXAsXG51bCwgb2wsIGRkLFxucCwgZmlndXJlLFxucHJlLCB0YWJsZSwgZmllbGRzZXQsIGhyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmg1LCBoNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqXHREZWZhdWx0IGluZGVudGF0aW9uIHZhbHVlIGZvciBsaXN0c1xuICovXG51bCxcbm9sIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogMS4xMjVlbTtcbn1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyoqXG4gKlx0UmVtb3ZlIGV4dHJhIHZlcnRpY2FsIHNwYWNpbmcgd2hlbiBuZXN0aW5nIGxpc3RzLlxuICovXG5saSA+IHVsLFxubGkgPiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qICA0IC0gTGF5b3V0IGVsZW1lbnRzXG4gKiAgRGVzaWduIHBhdHRlcm5zIChlLmcuIGdyaWRzIG9yIG1lZGlhIG9iamVjdClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29udGFpblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLWNvbnRhaW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1jb250YWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtY29udGFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBTcGxpdCBsYXlvdXQgaW4gMiBlcXVhbCBjb2x1bW5zXG4gKlxuICogVW50aWwgdmlld3BvcnQgaXMgd2lkZSBlbm91Z2ggdGhlIGNvbHVtbnMgYXJlIHN0YWNrZWQgdmVydGljYWxseVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubC1zcGxpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtc3BsaXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLyoqXG4gKiBTcGVjaWFsIGNvbnRhaW4gdmVyc2lvbiBmb3Igc3BsaXQuXG4gKiBEb2Vzbid0IHJlc3RyYWluIGNvbnRlbnQgb24gbWVkaXVtIHZpZXdwb3J0XG4gKi9cbi5sLXNwbGl0LS1jb250YWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtc3BsaXQtLWNvbnRhaW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXQtLWNvbnRhaW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdF9fY29sdW1uIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDogNjIuNSU7XG4gICAgcGFkZGluZy1yaWdodDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG59XG4ubC1zcGxpdC0taXMtcmV2ZXJzZWQgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIG9yZGVyOiAyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmwtc3BsaXQtLWlzLXJldmVyc2VkIC5sLXNwbGl0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMTIuNSU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXNwbGl0LS1pcy1yZXZlcnNlZCAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmwtc3BsaXQtLWJyZWFrb3V0LW9uLW0gLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG4gIH1cbiAgLmwtc3BsaXQtLWJyZWFrb3V0LW9uLW0gLmwtc3BsaXRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG59XG4vKipcbiAqIFdoZW4gdGhlcmUgaXMgb25seSAxIGNvbHVtbiwgYWxpZ24gaXQgdG8gdGhlIG1pZGRsZSBhbmQgY29udGFpbiB0aGUgd2lkdGhcbiAqIE9ubHkgb25lIGNvbHVtbiBpcyB1c2VkIGUuZy4gaW4gdGhlIHRhYnNsaWRlciB3aGVuIHRoZXJlIGlzIG5vIGltYWdlIHNldFxuICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1zcGxpdF9fY29sdW1uOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdF9fY29sdW1uOm9ubHktY2hpbGQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmwtc3BsaXRfX2NvbHVtbi0tdnBhZCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1zcGxpdF9fY29sdW1uLS12cGFkIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW4tLWxlZnRwYWQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogUmVzdHJpY3RcbiAqXG4gKiBXaGVuIGEgYmxvY2sgc2hvdWxkbid0IHRha2UgdXAgdGhlIHdob2xlIHdpZHRoIG9mIHRoZSBjb250YWluZXJcbiAqIHdlIGNhbiByZXN0cmljdCB0aGUgbWF4aW11bSB3aWR0aFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXJlc3RyaWN0LW5hcnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWF4LXdpZHRoOiAzOGVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtcmVzdHJpY3QtbmFycm93IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXJlc3RyaWN0LXdpZGUge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogODcuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1yZXN0cmljdC13aWRlIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbn1cblxuLyogIDUgLSBDT01QT05FTlRTXG4gKiAgRGlzY3JldGUgY29tcGxldGUgY2h1bmtzIG9mIFVJLlxuICogIERlc2lnbmVkIGNvbXBvbmVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb21wb25lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5jLWJyZWFkY3J1bWIge1xuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xufVxuXG4uYy1icmVhZGNydW1iX19saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5jLWJyZWFkY3J1bWJfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmMtYnJlYWRjcnVtYl9faXRlbTpudGgtY2hpbGQobisyKSAuYy1icmVhZGNydW1iX19pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIGNvbG9yOiAjMUQxRDFEO1xufVxuXG4uYy1icmVhZGNydW1iX19saW5rIHtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLWJyZWFkY3J1bWJfX2l0ZW0tLWxhc3QgLmMtYnJlYWRjcnVtYl9fbGluayB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYy1idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQkM0NTc7XG4gIHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI0ZGRkZGRiwgMCAwIDVweCAycHggI0VCQzQ1Nztcbn1cbi5jLWJ1dHRvbjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmMtYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmMtYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiBjYWxjKDUwJSAtIDJweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMnB4KTtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIG9wYWNpdHk6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogI2U0YjAxZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbn1cbi5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEwMCk7XG59XG5cbi5jLWJ1dHRvbl9fdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZzogMCAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYy1idXR0b24tLWljb24gLmMtYnV0dG9uX190ZXh0IHtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLmMtYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4uYy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtYnV0dG9uX19pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG4uYy1idXR0b25fX2ljb246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuLmMtYnV0dG9uLS1pY29uIC5jLWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTZweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIERlZmF1bHQgYnV0dG9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZ2hvc3RidXR0b24ge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgcGFkZGluZzogMTZweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtZ2hvc3RidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4uYy1naG9zdGJ1dHRvbjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1naG9zdGJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5jLWdob3N0YnV0dG9uOjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMXB4O1xuICBib3R0b206IC0xcHg7XG4gIHJpZ2h0OiAtMXB4O1xuICBsZWZ0OiAtMXB4O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG59XG4uYy1naG9zdGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjM1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4uYy1naG9zdGJ1dHRvbl9fdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZzogMCAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYy1idXR0b24tLWljb24gLmMtZ2hvc3RidXR0b25fX3RleHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG4uYy1naG9zdGJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAtMXB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xufVxuLmMtZ2hvc3RidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtZ2hvc3RidXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLWdob3N0YnV0dG9uLS1pY29uIC5jLWdob3N0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xufVxuLmMtZ2hvc3RidXR0b25fX2ljb246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuXG4uYy1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIENhcmQgdGhhdCBkb2VzIHNvbWUgYW5pbWF0aW9ucyBvbiBob3ZlclxuICovXG4uYy1jYXJkLS1oYXMtYWN0aW9uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMDtcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXIsIC5jLWNhcmQtLWhhcy1hY3Rpb246YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjo6YmVmb3JlLCAuYy1jYXJkLS1oYXMtYWN0aW9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45Mik7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDAuOCkgMCUsIHJnYmEoMCwgMCwgMCwgMC45MikgMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTM1JSkgcm90YXRlKC0xMWRlZykgc2NhbGUoMS4zKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1LCAwLjEsIDAuMywgMSk7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOjphZnRlciB7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAyNXB4O1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgdmlld0JveD0nMCAwIDE2IDEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsPSclMjNFQkM0NTcnIGQ9J00xMy40IDYuNzgzSC43NjJBLjc3Mi43NzIgMCAwIDEgMCA2YzAtLjQzMi4zNDEtLjc4My43NjItLjc4M0gxMy40TDkuNjIzIDEuMzM2YS43OTguNzk4IDAgMCAxIDAtMS4xMDcuNzQ3Ljc0NyAwIDAgMSAxLjA3NyAwbDUuMDc3IDUuMjE4YS43OTguNzk4IDAgMCAxIDAgMS4xMDZMMTAuNyAxMS43NzFhLjc0Ny43NDcgMCAwIDEtMS4wNzcgMCAuNzk4Ljc5OCAwIDAgMSAwLTEuMTA3TDEzLjQgNi43ODN6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS43NSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuOTI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xMWRlZykgc2NhbGUoMS4zKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDUwbXM7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzAwMDAwMDtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLmMtY2FyZF9fcGljdHVyZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtY2FyZF9faW1nIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLWNhcmRfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAxNHB4IDEwcHggMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogbWVkaXVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDMkMyQztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyIC5jLWNhcmRfX2xhYmVsIHtcbiAgY29sb3I6ICMyQzJDMkM7XG59XG4uYy1jYXJkX19sYWJlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJDNDU3O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwMCUpIHJvdGF0ZSgxMWRlZykgc2NhbGUoMS41LCAzKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1LCAwLjEsIDAuMywgMSk7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyIC5jLWNhcmRfX2xhYmVsOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKSBzY2FsZSgyKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcbn1cblxuLmMtY2FyZF9faW5mbyB7XG4gIHBhZGRpbmc6IDE2cHggMzJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbn1cblxuLmMtY2FyZF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc3Nzc3Nzg7XG4gIGNvbG9yOiAjMkIzNzQ1O1xufVxuXG4uYy1jYXJkX19zdWJoZWFkaW5nIHtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5jLWNhcmRfX3RleHRsaW5lIHtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG4qOm5vdCguYy1jYXJkX190ZXh0bGluZSkgKyAuYy1jYXJkX190ZXh0bGluZSB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5jLWNhcmRfX2VtYWlsIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjMEY1QTlEO1xufVxuXG4uYy1jbG9zZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyBlYXNlLW91dDtcbn1cbi5jLWNsb3NlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAycHggI0ZGRkZGRjtcbn1cbi5jLWNsb3NlOmFmdGVyLCAuYy1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwJTtcbiAgbGVmdDogMjAlO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5jLWNsb3NlOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5jLWNsb3NlOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cbi5jLWNsb3NlOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuXG4uYy1jb25uZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1jb25uZWN0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5jLWNvbm5lY3RfX3Bob25lIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzc3Nzc3Nzc3ODtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG59XG4uYy1jb25uZWN0X19waG9uZTpob3ZlciwgLmMtY29ubmVjdF9fcGhvbmU6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtY29ubmVjdF9fcGhvbmU6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmMtY29ubmVjdF9fcGhvbmU6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5jLWNvbm5lY3RfX29yIHtcbiAgbWFyZ2luOiAwIDE2cHg7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtY29ubmVjdF9fb3Ige1xuICAgIG1hcmdpbjogOHB4IDAgMTZweDtcbiAgfVxufVxuXG4uYy1kYXRhIHtcbiAgbWFyZ2luOiAxNnB4IDA7XG59XG5cbi5jLWRhdGFfX2xpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uYy1kYXRhX19sYWJlbCB7XG4gIG1pbi13aWR0aDogNjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuXG4uYy1kYXRhX192YWx1ZSB7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1kYXRhX192YWx1ZVtocmVmXTpob3ZlciwgLmMtZGF0YV9fdmFsdWVbaHJlZl06YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtZGF0YV9fdmFsdWVbaHJlZl06aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5jLWRhdGFfX3ZhbHVlW2hyZWZdOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uYy1kYXRlLWxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA0cHggMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jLWRhdGUtbGFiZWwtLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQkM0NTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYy1kYXRlLWxhYmVsX19kYXkge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1kYXRlLWxhYmVsX19tb250aCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc3Nzc3Nzg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtZG93bmxvYWQtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzhDOEM4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG4uYy1kb3dubG9hZC1saXN0X19pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjIpO1xufVxuXG4uYy1kb3dubG9hZC1saXN0X19saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE2cHg7XG59XG4uYy1kb3dubG9hZC1saXN0X19pY29uIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1kb3dubG9hZC1saXN0X190ZXh0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbn1cbi5jLWRvd25sb2FkLWxpc3RfX2l0ZW06aG92ZXIgLmMtZG93bmxvYWQtbGlzdF9fdGV4dCB7XG4gIGNvbG9yOiAjMUQxRDFEO1xufVxuXG4uYy1ldmVudC1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMDtcbn1cbi5jLWV2ZW50LWNhcmQ6aG92ZXIsIC5jLWV2ZW50LWNhcmQ6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtZXZlbnQtY2FyZDpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICNFQkM0NTc7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5jLWV2ZW50LWNhcmRfX3BpY3R1cmUge1xuICB3aWR0aDogMTAwJTtcbiAgZmxleDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLWV2ZW50LWNhcmRfX3BpY3R1cmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xufVxuLmMtZXZlbnQtY2FyZDpob3ZlciAuYy1ldmVudC1jYXJkX19waWN0dXJlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uYy1ldmVudC1jYXJkX19pbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmMtZXZlbnQtY2FyZF9fZGF0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJDNDU3O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XG59XG4uYy1ldmVudC1jYXJkOmhvdmVyIC5jLWV2ZW50LWNhcmRfX2RhdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJDNDU3O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cblxuLmMtZXZlbnQtY2FyZF9faW5mbyB7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmc6IDE2cHggMjRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xufVxuLmMtZXZlbnQtY2FyZDpob3ZlciAuYy1ldmVudC1jYXJkX19pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VCQzQ1Nztcbn1cblxuLmMtZXZlbnQtY2FyZF9fdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xufVxuLmMtZXZlbnQtY2FyZDpob3ZlciAuYy1ldmVudC1jYXJkX190aXRsZSB7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5jLWV2ZW50LWNhcmRfX3N1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XG59XG4uYy1ldmVudC1jYXJkOmhvdmVyIC5jLWV2ZW50LWNhcmRfX3N1YnRpdGxlIHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLmMtZXZlbnQtY2FyZF9fdHlwZSB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgY29sb3I6ICNDOEM4Qzg7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XG59XG4uYy1ldmVudC1jYXJkOmhvdmVyIC5jLWV2ZW50LWNhcmRfX3R5cGUge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4uYy1maWxlLXVwbG9hZF9fbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtZmlsZS11cGxvYWRfX2lucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jLWZpbGUtdXBsb2FkX19idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NTY1NjU7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcztcbn1cbi5jLWZpbGUtdXBsb2FkX19idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvYWRkLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuLmMtZmlsZS11cGxvYWRfX2J1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmMtZmlsZS11cGxvYWRfX2xpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jLWZpbGUtdXBsb2FkX19saXN0ID4gbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzhDOEM4O1xuICBwYWRkaW5nOiA0cHggMDtcbiAgYW5pbWF0aW9uOiBleHBhbmQgMC41cyBlYXNlLWluLW91dDtcbn1cbi5jLWZpbGUtdXBsb2FkX19saXN0ID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9maWxlLnN2Z1wiKSBuby1yZXBlYXQ7XG59XG4uYy1maWxlLXVwbG9hZF9fbGlzdCA+IGxpID4gYnV0dG9uIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGxpbmVhcjtcbn1cbi5jLWZpbGUtdXBsb2FkX19saXN0ID4gbGkgPiBidXR0b246aG92ZXIge1xuICBjb2xvcjogcmVkO1xufVxuLmMtZmlsZS11cGxvYWRfX2xpc3QgPiBsaSA+IGJ1dHRvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCLDl1wiO1xufVxuXG4uYy1maWxlLXVwbG9hZF9fbm90ZSB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG5Aa2V5ZnJhbWVzIGV4cGFuZCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogIzQwNzlCODtcbiAgfVxufVxuLmMtZm9ybS1ncm91cF9fbGFiZWwge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweCAwO1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLmMtZm9ybS1ncm91cF9fZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuLmhhcy1lcnJvciAuYy1mb3JtLWdyb3VwX19lcnJvcjpub3QoOmVtcHR5KSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHg7XG4gIGNvbG9yOiAjNDA3OUI4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY0LCAxMjEsIDE4NCwgMC4xKTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQwNzlCODtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG59XG5cbi5jLWZvcm0tZmVlZGJhY2sge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW46IDAgMCA4cHg7XG4gIHBhZGRpbmc6IDI0cHggMzJweDtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMTEsIDU4LCAwLjIpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZkMzNhO1xufVxuLmMtZm9ybS1mZWVkYmFjazpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmMtZm9ybS1mZWVkYmFjazpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtZmVlZGJhY2spO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmMtZm9ybS1mZWVkYmFjayBsaTo6Zmlyc3QtbGV0dGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtaGFtYnVyZ2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYy1oYW1idXJnZXI6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG4uYy1oYW1idXJnZXIgPiBzcGFuLCAuYy1oYW1idXJnZXI6YWZ0ZXIsIC5jLWhhbWJ1cmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwJTtcbiAgbGVmdDogMjAlO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcbn1cbi5jLWhhbWJ1cmdlcjpiZWZvcmUge1xuICB0b3A6IDEycHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG59XG4uYy1oYW1idXJnZXI6YWZ0ZXIge1xuICB0b3A6IDI4cHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuNSk7XG59XG4uYy1oYW1idXJnZXI6aG92ZXIgPiBzcGFuIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcbn1cbi5jLWhhbWJ1cmdlcjpob3ZlcjphZnRlciwgLmMtaGFtYnVyZ2VyOmhvdmVyOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLmMtaGFtYnVyZ2VyID4gc3BhbiB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuYy1oYW1idXJnZXI6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLmMtaGFtYnVyZ2VyOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cblxuLmMtaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbjogNDBweCAwO1xuICBjb2xvcjogIzJDMkMyQztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLWhlYWRpbmctLWluZGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLWhlcm8ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtaGVybyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmMtaGVybyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLmMtaGVyb19fbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLmMtaGVyb19fc2xpZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTUuNTU2JTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5jLWhlcm9fX3NsaWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgfVxufVxuXG4uYy1oZXJvX19waWN0dXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIGZpbHRlcjogYmx1cig1cHgpO1xufVxuLmMtaGVyb19fcGljdHVyZS5pcy1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gIGZpbHRlcjogbm9uZTtcbn1cblxuLmMtaGVyb19faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtaGVyb19fY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogY2FsYygxNnB4ICsgMXZ3KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBGNUE5RDtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLWhlcm9fX2NhcHRpb24gYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLWhlcm9fX2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbWluLXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5jLWhlcm9fX2NhcHRpb24ge1xuICAgIHBhZGRpbmc6IDIuNnZ3O1xuICAgIGZvbnQtc2l6ZTogMy41dnc7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5jLWhlcm9fX2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQuMTY2NjY2NjY2NyU7XG4gICAgcGFkZGluZy1yaWdodDogNC4xNjY2NjY2NjY3JTtcbiAgfVxufVxuXG4uYy1oZXJvX19jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweDtcbn1cbi5jLWhlcm9fX2NvbnRyb2xzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHRyYW5zcGFyZW50KTtcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4uYy1oZXJvX19zY3JvbGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQkM0NTc7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSkgcm90YXRlKDAuMjV0dXJuKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLWhlcm9fX3Njcm9sbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmMtaGVyb19fc2Nyb2xsID4gc3ZnIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zO1xufVxuLmMtaGVyb19fc2Nyb2xsOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjZTZiNTJjO1xufVxuLmMtaGVyb19fc2Nyb2xsOmhvdmVyID4gc3ZnIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG4uYy1oZXJvX19zY3JvbGw6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZThiYTNhO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggI2Y5ZWRjZDtcbn1cblxuLmMtaW5mbyB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbiAgY29sb3I6ICMzZWNmOGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjIsIDIwNywgMTQyLCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2VjZjhlO1xufVxuXG4uYy1pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNnB4IDE2cHg7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDJweCBzb2xpZCAjQzhDOEM4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uaGFzLWVycm9yIC5jLWlucHV0IHtcbiAgYm94LXNoYWRvdzogMCAwIDdweCAtM3B4ICNmZmQzM2E7XG4gIGJvcmRlci1jb2xvcjogI2ZmZDMzYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDIxMSwgNTgsIDAuMDUpO1xufVxuLmMtaW5wdXQ6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggIzBGNUE5RDtcbiAgYm9yZGVyLWNvbG9yOiAjMEY1QTlEO1xufVxudGV4dGFyZWEuYy1pbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNnB4O1xuICBtaW4taGVpZ2h0OiAxNTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5jLWxhbmd1YWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1sYW5ndWFnZV9fYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgYm9yZGVyOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzLCBib3gtc2hhZG93IDAuMTVzO1xufVxuLmMtbGFuZ3VhZ2VfX2J1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLWxhbmd1YWdlX19pY29uIHtcbiAgZmxleDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLWxhbmd1YWdlX19sYWJlbCB7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYy1sYW5ndWFnZV9fZHJvcGRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbn1cbi5jLWxhbmd1YWdlOmhvdmVyIC5jLWxhbmd1YWdlX19kcm9wZG93biB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5jLWxhbmd1YWdlX19pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jLWxhbmd1YWdlX19pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG59XG4uYy1sYW5ndWFnZV9faXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xufVxuLmMtbGFuZ3VhZ2VfX2l0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xufVxuLmMtbGFuZ3VhZ2VfX2l0ZW06Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmMtbGFuZ3VhZ2VfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzY1NjU2NTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xufVxuLmMtbGFuZ3VhZ2VfX2xpbms6aG92ZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VCQzQ1Nztcbn1cblxuLypcblx0Q29sb3JzIGdldCBkZWZpbmVkIGluIF9zZXR0aW5ncy5jb25maWcuc2Nzc1xuKi9cbi5jLW5hdiB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbn1cblxuLmMtbmF2X19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLW5hdl9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAyJTtcbn1cbi5jLW5hdl9faXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uYy1uYXZfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDRweDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMTUwbXMgbGluZWFyO1xufVxuLmMtbmF2X19saW5rOmhvdmVyLCAuYy1uYXZfX2xpbms6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtbmF2X19saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgbGVmdDogNHB4O1xuICBib3R0b206IDFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XG4gIGhlaWdodDogMnB4O1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM1LCAxOTYsIDg3LCAwLjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xufVxuLmMtbmF2X19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYy1uYXZfX2xpbms6aG92ZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbn1cbi5jLW5hdl9fbGluay5pcy1hY3RpdmUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogI0VCQzQ1Nztcbn1cbi5jLW5hdl9fbGluay5pcy1hY3RpdmU6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzUsIDE5NiwgODcsIDAuNSk7XG59XG4uYy1uYXZfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5jLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtcGFnaW5hdGlvbl9faXRlbTpmaXJzdC1jaGlsZCwgLmMtcGFnaW5hdGlvbl9faXRlbTpsYXN0LWNoaWxkLCAuYy1wYWdpbmF0aW9uX19pdGVtLmlzLWxhc3QtcGFnZSwgLmMtcGFnaW5hdGlvbl9faXRlbS5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmMtcGFnaW5hdGlvbl9faXRlbS5pcy1sYXN0LXBhZ2Uge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG4uYy1wYWdpbmF0aW9uX19pdGVtICsgLmMtcGFnaW5hdGlvbl9faXRlbSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCxcbi5jLXBhZ2luYXRpb25fX2xpbmssXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4td2lkdGg6IDQ4cHg7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCB7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICBvcGFjaXR5OiAwLjM1O1xufVxuXG4uYy1wYWdpbmF0aW9uX19saW5rIHtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuLmMtcGFnaW5hdGlvbl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMWYxZjFmO1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xufVxuLmlzLWFjdGl2ZSA+IC5jLXBhZ2luYXRpb25fX2xpbmsge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMTBweCAtNXB4ICMyQjM3NDU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzJCMzc0NTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xufVxuLmMtcGFnaW5hdGlvbl9fcHJldi5pcy1pbmFjdGl2ZSxcbi5jLXBhZ2luYXRpb25fX25leHQuaXMtaW5hY3RpdmUge1xuICBjb2xvcjogcmdiYSg0NCwgNDQsIDQ0LCAwLjQpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn1cblxuLypcbiAqIFBhZ2UgdGl0bGVcbiAqL1xuLmMtcGFnZS10aXRsZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtcGFnZS10aXRsZSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLXBhZ2UtdGl0bGUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlX19wcmVoZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtcGFnZS10aXRsZV9fc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5jLXByb2plY3RvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1wcm9qZWN0b3JfX2ZpZ3VyZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1wcm9qZWN0b3JfX2NhcHRpb24ge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAyO1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLmMtcHJvamVjdG9yX19waWN0dXJlIHtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBlbmQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMzYwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG59XG4uaWUgLmMtcHJvamVjdG9yLS1zaW5nbGUtaW1hZ2UgLmMtcHJvamVjdG9yX19waWN0dXJlIHtcbiAgbWluLWhlaWdodDogNDAwcHg7XG59XG4uYy1wcm9qZWN0b3JfX3BpY3R1cmUuaXMtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmMtcHJvamVjdG9yX19jb250cm9sIHtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBlbmQ7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5jLXByb2plY3Rvcl9faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1wcm9qZWN0b3JfX2ltZyB7XG4gICAgbWF4LWhlaWdodDogNzh2aDtcbiAgfVxufVxuXG4uYy1zZXJ2aWNlcG9pbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmMtc2VydmljZXBvaW50X19pbWFnZSB7XG4gIGZsZXg6IDA7XG4gIG1pbi13aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxOTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2NvbnRlbnQge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIG1pbi13aWR0aDogNTAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogY2FsYyhjYWxjKDQyMHB4IC0gMTAwJSkgKiA5OTkpO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLXNlcnZpY2Vwb2ludF9fY29udGVudCB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2JvZHkge1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX3N1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5jLXNpdGVtYXBfX2l0ZW0ge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5jLXNpdGVtYXBfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNHB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLXNpdGVtYXBfX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzJCMzc0NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qXG4gKiBTa2lwIExpbmtcbiAqL1xuLmMtc2tpcC1saW5rIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAtMTAwdmg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBjb2xvcjogIzQwNzlCODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtc2tpcC1saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xuICB0b3A6IDVweDtcbiAgLyogTm93IHRoZSBsaW5rIHdpbGwgYXBwZWFyICovXG59XG5cbi5jLXNsaWRlLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQkM0NTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24gKyAuYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvblthcmlhLWxhYmVsPXByZXZpb3VzXSA+IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uW2FyaWEtbGFiZWw9bmV4dF0gPiBzdmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b246aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOGJhM2E7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOGJhM2E7XG59XG5cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpob3Zlcjpub3QoLmlzLWFjdGl2ZSksIC5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzOm5vdCguaXMtYWN0aXZlKSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmJlZm9yZSwgLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YmVmb3JlIHtcbiAgdG9wOiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICByaWdodDogY2FsYygoMzBweCAtIDhweCkgLyAyKTtcbiAgYm90dG9tOiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICBsZWZ0OiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YWZ0ZXIge1xuICB0b3A6IGNhbGMoKDMwcHggLSAxMnB4KSAvIDIpO1xuICByaWdodDogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIGJvdHRvbTogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIGxlZnQ6IGNhbGMoKDMwcHggLSAxMnB4KSAvIDIpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNCk7XG4gIG9wYWNpdHk6IDA7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdC5pcy1hY3RpdmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdC5pcy1hY3RpdmU6YWZ0ZXIge1xuICBvcGFjaXR5OiAwLjk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpmb2N1cyB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXM6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggYmxhY2ssIDAgMCAxMHB4IDFweCB3aGl0ZTtcbn1cblxuLmMtc3VibmF2IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1zdWJuYXYtLWJveGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgcGFkZGluZzogODBweCA2dnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuYy1zdWJuYXYtLWJveGVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgfVxufVxuXG4uYy1zdWJuYXZfX2hlYWRlciB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmMtc3VibmF2X19saXN0IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmMtc3VibmF2X19pdGVtLS1iYWNrIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLmMtc3VibmF2X19saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA4cHggMDtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyNTBtcztcbn1cbi5jLXN1Ym5hdl9fbGluazpob3ZlciwgLmMtc3VibmF2X19saW5rOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLXN1Ym5hdl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjNDA3OUI4O1xufVxuLmMtc3VibmF2X19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuLmMtc3VibmF2X19saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzhDOEM4O1xufVxuLmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAuYy1zdWJuYXZfX2xpbms6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzJCMzc0NTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG5cbi5jLXN1Ym5hdl9faWNvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICBjb2xvcjogI0M4QzhDODtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNnB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2Utb3V0O1xufVxuLmMtc3VibmF2X19saW5rOmhvdmVyIC5jLXN1Ym5hdl9faWNvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgY29sb3I6ICM0MDc5Qjg7XG59XG5cbi5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUgLmMtc3VibmF2X19saW5rIHtcbiAgY29sb3I6ICMyQjM3NDU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAuYy1zdWJuYXZfX2xpbms6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzJCMzc0NTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIC5jLXN1Ym5hdl9faWNvbiB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qKlxuICogMS4gQ29sb3IgZ2V0cyBpbmhlcml0ZWQgYW5kIHVzZWQgZm9yIG5lc3RlZCBlbGVtZW50cyB3aXRoICdjdXJyZW50Q29sb3InIHByb3BlcnR5XG4gKiAyLiBSZXNldCBkZWZhdWx0IGJ1dHRvbiBzdHlsaW5nXG4gKi9cbi5jLXRleHRidXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjNDA3OUI4O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDIgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xufVxuLmMtdGV4dGJ1dHRvbjpob3ZlciwgLmMtdGV4dGJ1dHRvbjphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy10ZXh0YnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY29sb3I6ICMyNjQ5NmU7XG59XG4uYy10ZXh0YnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmMtdGV4dGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLmMtdGV4dGJ1dHRvbl9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4uYy10ZXh0YnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5jLXRleHRidXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLXRleHRidXR0b24tLWljb24gLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy10ZXh0YnV0dG9uLS1pcy1yZXZlcnNlZCAuYy10ZXh0YnV0dG9uX190ZXh0IHtcbiAgb3JkZXI6IDI7XG59XG4uYy10ZXh0YnV0dG9uLS1pcy1yZXZlcnNlZCAuYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgb3JkZXI6IDE7XG4gIHRvcDogMXB4O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xufVxuLmMtdGV4dGJ1dHRvbi0taXMtcmV2ZXJzZWQ6aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pIHRyYW5zbGF0ZVgoM3B4KTtcbn1cblxuLmMtdG9nZ2xlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jLXRvZ2dsZV9faXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbn1cbi5jLXRvZ2dsZV9faXRlbSArIC5jLXRvZ2dsZV9faXRlbSB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5jLXRvZ2dsZV9fdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogOTZweDtcbn1cbi5jLXRvZ2dsZV9fdGl0bGVbZGF0YS10b2dnbGUtaWRdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYy10b2dnbGVfX2ljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMThweDtcbiAgbGVmdDogY2FsYyg0OHB4KTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6ICMwRjVBOUQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xufVxuLmMtdG9nZ2xlX19pY29uID4gc3ZnIHtcbiAgd2lkdGg6IDEwcHg7XG59XG4uYy10b2dnbGVfX2ljb24ucGx1cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uYy10b2dnbGVfX3RpdGxlLmlzLWFjdGl2ZSAuYy10b2dnbGVfX2ljb24ucGx1cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYy10b2dnbGVfX3RpdGxlLmlzLWFjdGl2ZSAuYy10b2dnbGVfX2ljb24ubWludXMge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmMtdG9nZ2xlX19pY29uLmNoZWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyOiBub25lO1xufVxuLmMtdG9nZ2xlX19pY29uLmNoZWNrID4gc3ZnIHtcbiAgd2lkdGg6IDI0cHg7XG59XG4uYy10b2dnbGVfX3RpdGxlW2RhdGEtdG9nZ2xlLWlkXTpub3QoLmlzLWFjdGl2ZSk6aG92ZXIgLmMtdG9nZ2xlX19pY29uIHtcbiAgY29sb3I6ICMxRDFEMUQ7XG59XG5cbi5jLXRvZ2dsZV9fbGFiZWwge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMEY1QTlEO1xuICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xufVxuLmMtdG9nZ2xlX190aXRsZVtkYXRhLXRvZ2dsZS1pZF06bm90KC5pcy1hY3RpdmUpOmhvdmVyIC5jLXRvZ2dsZV9fbGFiZWwge1xuICBjb2xvcjogIzFEMUQxRDtcbn1cblxuLmMtdG9nZ2xlX19jb250ZW50IHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZy1sZWZ0OiA5NnB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2UtaW4tb3V0O1xufVxuLmlzLWFjdGl2ZSB+IC5jLXRvZ2dsZV9fY29udGVudCB7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5cbi5jLXRyYWRlbWFyayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbn1cbi5jLXRyYWRlbWFyazpob3ZlciwgLmMtdHJhZGVtYXJrOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLXRyYWRlbWFyazpob3ZlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmMtdHJhZGVtYXJrOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uYy10cmFkZW1hcmtfX3RleHQge1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmMtdHJhZGVtYXJrX19pY29uIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBtYXgtaGVpZ2h0OiAzMnB4O1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5jLXRyYWRlbWFyazpob3ZlciAuYy10cmFkZW1hcmtfX2ljb24ge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uYy12YWNhbmN5LXByb3BlcnRpZXMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uYy12YWNhbmN5LXByb3BlcnRpZXNfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzQwNzlCODtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG4uYy12YWNhbmN5LXByb3BlcnRpZXNfX2l0ZW06bnRoLWxhc3QtY2hpbGQobisyKSB7XG4gIG1hcmdpbi1yaWdodDogMzJweDtcbn1cblxuLmMtdmFjYW5jeS1wcm9wZXJ0aWVzX19pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5jLXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xufVxuXG4uYy12aWRlb19faWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qICA2IC0gT1JHQU5JU01TXG4gKiAgTGFyZ2UgYmxvY2tzIGNvbXBvc2VkIG9mIG11bHRpcGxlIGNvbXBvbmVudHMuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogT3JnYW5pc21zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5vLWFjY29yZGlvbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWFjY29yZGlvbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWFjY29yZGlvbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tYWNjb3JkaW9uX19pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNDOEM4Qzg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG59XG4uby1hY2NvcmRpb25fX2l0ZW0gKyAuby1hY2NvcmRpb25fX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuLm8tYWNjb3JkaW9uX19pdGVtOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzJCMzc0NTtcbn1cblxuLm8tYWNjb3JkaW9uX190aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1hY2NvcmRpb25fX3RpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tYWNjb3JkaW9uX190aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG4uby1hY2NvcmRpb25fX2l0ZW06bm90KC5pcy1hY3RpdmUpIC5vLWFjY29yZGlvbl9fdGl0bGU6aG92ZXIge1xuICBjb2xvcjogIzJCMzc0NTtcbn1cblxuLm8tYWNjb3JkaW9uX19pY29uIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAxNHB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYWNjb3JkaW9uX19pY29uIHtcbiAgICBsZWZ0OiBjYWxjKDYuMjUlIC0gMTBweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1hY2NvcmRpb25fX2ljb24ge1xuICAgIGxlZnQ6IGNhbGMoNC4xNjY2NjY2NjY3JSAtIDEwcHgpO1xuICB9XG59XG4uby1hY2NvcmRpb25fX2ljb246OmJlZm9yZSwgLm8tYWNjb3JkaW9uX19pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTBweDtcbiAgbGVmdDogM3B4O1xuICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zLCA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UsIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcbn1cbi5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgLm8tYWNjb3JkaW9uX19pY29uOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKSByb3RhdGUoMC4yNXR1cm4pO1xufVxuLm8tYWNjb3JkaW9uX19pY29uOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn1cbi5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgLm8tYWNjb3JkaW9uX19pY29uOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xufVxuXG4uby1hY2NvcmRpb25fX2hlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWFjY29yZGlvbl9faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICB9XG59XG5cbi8qIEhpZGRlbiBieSBkZWZhdWx0Ki9cbi5vLWFjY29yZGlvbl9fY29udGVudCB7XG4gIG9wYWNpdHk6IDA7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuLm8tYWNjb3JkaW9uX19jb250ZW50ID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAuby1hY2NvcmRpb25fX2NvbnRlbnQge1xuICBvcGFjaXR5OiAxO1xuICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1hcHBseSB7XG4gICAgcGFkZGluZy10b3A6IDZ2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tYXBwbHkge1xuICAgIHBhZGRpbmctdG9wOiA1dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1hcHBseSB7XG4gICAgcGFkZGluZy10b3A6IDMuNTcxNDI4NTcxNHZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWFwcGx5IHtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbiAgfVxufVxuXG4uby1hcHBseV9faGVhZGluZyB7XG4gIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICBjb2xvcjogIzFEMUQxRDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgLm8tYXBwbHlfX2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgLm8tYXBwbHlfX2xlZnQge1xuICAgIHdpZHRoOiBjYWxjKDUwJSArIDQ4cHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG4gIH1cbn1cblxuLm8tYXBwbHlfX3JpZ2h0IHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gIC5vLWFwcGx5X19yaWdodCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5vLWFwcGx5X19yb3cgKyAuby1hcHBseV9fcm93IHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgLm8tYXBwbHlfX2ZpbGV1cGxvYWQge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cblxuLm8tYXBwbHlfX2Zvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQzhDOEM4O1xuICBtYXJnaW4tdG9wOiA0OHB4O1xuICBwYWRkaW5nLXRvcDogNDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uby1hcHBseV9fZmVlZGJhY2sge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tYmxvY2sgKyAuby1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tYmxvY2sgKyAuby1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWJsb2NrICsgLm8tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tYmxvY2sgKyAuby1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogOTZweDtcbiAgfVxufVxuXG4vKlxuKiBXcmFwcGVyIG9mIHRoZSBtYWluIGJvZHlcbiogKGJldHdlZW4gdGhlIGhlYWRlciBhbmQgdGhlIGZvb3RlcilcbiovXG4uby1ib2R5IHtcbiAgei1pbmRleDogNDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5vLWNhbGxvdXQtYmFyIHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBjb2xvcjogIzJDMkMyQztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDEydnc7XG4gICAgcGFkZGluZy1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMTB2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNy4xNDI4NTcxNDI5dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiA5NnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA5NnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDV2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDMuNTcxNDI4NTcxNHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4gPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogNDhweDtcbiAgfVxufVxuXG4uby1jYWxsb3V0LWJhcl9fYm9keSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm8tY2FsbG91dC1iYXJfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG4vKlxuICogQ2FyZCBncmlkXG4gKlxuICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuby1jYXJkLWdyaWRfX21haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5vLWNhcmQtZ3JpZF9faXRlbSArIC5vLWNhcmQtZ3JpZF9faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLm8tY2FyZC1ncmlkX19pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDM0NHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1jYXJkLWdyaWRfX2l0ZW0ge1xuICAgIGZsZXg6IDA7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAoKDIgLSAxKSAvIDIgKiAzMnB4KSk7XG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIH1cbiAgLm8tY2FyZC1ncmlkX19pdGVtOm50aC1jaGlsZCgybisxKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm8tY2FyZC1ncmlkX19pdGVtOm50aC1jaGlsZChuKzMpIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tY2FyZC1ncmlkX19pdGVtIHtcbiAgICBmbGV4OiAwO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAoKDMgLSAxKSAvIDMgKiAzMnB4KSk7XG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIH1cbiAgLm8tY2FyZC1ncmlkX19pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm8tY2FyZC1ncmlkX19pdGVtOm50aC1jaGlsZChuKzQpIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5cbi5vLWNvbnRhY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQwcHgpIHtcbiAgLm8tY29udGFjdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLm8tY29udGFjdF9faW5mbyB7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDZ2dztcbiAgcGFkZGluZy1yaWdodDogNnZ3O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tY29udGFjdF9faW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gICAgcGFkZGluZy1yaWdodDogMTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tY29udGFjdF9faW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiA3LjE0Mjg1NzE0MjklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDcuMTQyODU3MTQyOSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNDBweCkge1xuICAuby1jb250YWN0X19pbmZvIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgfVxufVxuXG4uby1jb250YWN0X19mb3JtIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbiAgcGFkZGluZzogMzJweCA2dnc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1jb250YWN0X19mb3JtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1jb250YWN0X19mb3JtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDcuMTQyODU3MTQyOSU7XG4gICAgcGFkZGluZy1yaWdodDogNy4xNDI4NTcxNDI5JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0MHB4KSB7XG4gIC5vLWNvbnRhY3RfX2Zvcm0ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgfVxufVxuXG4uby1jb250YWN0X19oZWFkZXIge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuXG4uby1jb250YWN0X19jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLm8tY29udGFjdF9fYWRkcmVzcyB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5vLWNvbnRhY3RfX251bWJlcnMge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uby1jb29raWUtYmFyIHtcbiAgei1pbmRleDogLTE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDY0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUQxRDFEO1xuICBvcGFjaXR5OiAxO1xuICBib3gtc2hhZG93OiAwIC00cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAwLjZzO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4uby1jb29raWUtYmFyOm5vdCguaXMtYWNjZXB0ZWQpIHtcbiAgei1pbmRleDogOTk5OTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm8tY29va2llLWJhci5pcy10cmFuc2l0aW9uaW5nLW91dCB7XG4gIHotaW5kZXg6IC0xO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbn1cblxuLm8tY29va2llLWJhcl9fbWFpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzczcHgpIHtcbiAgLm8tY29va2llLWJhcl9fbWFpbiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG59XG5cbi5vLWNvb2tpZS1iYXJfX3RleHQge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzc0cHgpIHtcbiAgLm8tY29va2llLWJhcl9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICB9XG59XG5cbi5vLWNvb2tpZS1iYXJfX2xpbmsge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5vLWNvb2tpZS1iYXJfX2xpbms6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbn1cblxuLm8tY29va2llLWJhcl9fYnV0dG9uIHtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1jb29raWUtYmFyX19idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRG91YmxlIGltYWdlIGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBwaWN0dXJlcyBhcmUgc3RhY2tlZCB2ZXJ0aWNhbGx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLWRvdWJsZS1pbWFnZSB7XG4gIG1hcmdpbjogLTFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5vLWRvdWJsZS1pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4uby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxcHg7XG4gIG9yZGVyOiAxO1xuICBtaW4taGVpZ2h0OiAzNjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gIC5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZTpsYXN0LWNoaWxkIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuLm8tZG91YmxlLWltYWdlX19pbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgbWF4LWhlaWdodDogODV2aDtcbn1cblxuLm8tZG91YmxlLWltYWdlLS1pcy1yZXZlcnNlZCAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4uby1kb3VibGUtaW1hZ2UtLWlzLXJldmVyc2VkIC5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZTpsYXN0LWNoaWxkIHtcbiAgb3JkZXI6IDA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRG91YmxlIGxheW91dCBpbiAyIGVxdWFsIGNvbHVtbnNcbiAqXG4gKiBVbnRpbCB2aWV3cG9ydCBpcyB3aWRlIGVub3VnaCB0aGUgY29sdW1ucyBhcmUgc3RhY2tlZCB2ZXJ0aWNhbGx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLWRvdWJsZS10ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3VibGUtdGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDYyLjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1kb3VibGUtdGV4dF9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDZ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMzcuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1kb3VibGUtdGV4dF9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1kb3VibGUtdXNwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkIzNzQ1O1xuICB9XG59XG5cbi5vLWRvdWJsZS11c3BfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctdG9wOiA0OHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWRvdWJsZS11c3BfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1kb3VibGUtdXNwX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG91YmxlLXVzcF9fbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1kb3VibGUtdXNwX19sZWZ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3VibGUtdXNwX19sZWZ0IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3VibGUtdXNwX19yaWdodCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uby1kb3VibGUtdXNwX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5vLWRvdWJsZS11c3BfX2xpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuXG4uby1kb3VibGUtdXNwX19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLm8tZG91YmxlLXVzcF9faXRlbSArIC5vLWRvdWJsZS11c3BfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuLm8tZG91YmxlLXVzcF9faXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgbGVmdDogLTE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWRvd25sb2FkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG93bmxvYWRzLS1pcy1yZXZlcnNlZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG59XG5cbi5vLWRvd25sb2Fkc19fbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWRvd25sb2Fkc19fbWFpbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWRvd25sb2Fkc19fbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2LjI1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2LjI1JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWRvd25sb2Fkc19fbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbi5vLWRvd25sb2Fkc19fbWFpbiAuYy1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tZG93bmxvYWRzX19zZXJ2aWNlLXBvaW50IHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3dubG9hZHNfX3NlcnZpY2UtcG9pbnQge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWRvd25sb2Fkc19fc2VydmljZS1wb2ludCB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZG93bmxvYWRzX19zZXJ2aWNlLXBvaW50IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbn1cblxuLm8tZXZlbnQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXJvdy1nYXA6IDY0cHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBhdXRvKTtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJkYXRhXCIgXCJmb3JtXCI7XG59XG4uby1ldmVudF9fZGF0YSB7XG4gIGdyaWQtYXJlYTogZGF0YTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uby1ldmVudF9fZm9ybSB7XG4gIGdyaWQtYXJlYTogZm9ybTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLm8tZXZlbnQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNmZyIDVmcjtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJmb3JtIGRhdGFcIjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLm8tZXZlbnRfX2RhdGEge1xuICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZXZlbnRfX2RhdGEge1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICB9XG59XG5cbi5vLWV2ZW50X19mb3JtIHtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tZXZlbnRfX2Zvcm0ge1xuICAgIG1hcmdpbi1sZWZ0OiAtOC4zMzMzMzMzMzMzJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC04LjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1ldmVudF9fZm9ybSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1ldmVudF9fZm9ybSB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuLm8tZXZlbnRfX2luZm8tbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIDAgNjRweDtcbn1cbi5vLWV2ZW50X19pbmZvLWxpc3QgZHQge1xuICB3aWR0aDogMTEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5vLWV2ZW50X19pbmZvLWxpc3QgZGQge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMTBweCk7XG59XG5cbi5vLWV2ZW50X19oZWFkaW5nIHtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG59XG5cbi5vLWV2ZW50X19zZXJ2aWNlcG9pbnQtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDY0cHg7XG59XG5cbi8qXG4gKiBFdmVudHNcbiAqXG4gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5vLWV2ZW50c19fbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLm8tZXZlbnRzX19pdGVtICsgLm8tZXZlbnRzX19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuby1ldmVudHNfX2l0ZW0ge1xuICAgIG1heC13aWR0aDogMzQ0cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLm8tZXZlbnRzX19pdGVtIHtcbiAgICBmbGV4OiAwO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gKCgyIC0gMSkgLyAyICogMzJweCkpO1xuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICB9XG4gIC5vLWV2ZW50c19faXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5vLWV2ZW50c19faXRlbTpudGgtY2hpbGQobiszKSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLm8tZXZlbnRzX19pdGVtIHtcbiAgICBmbGV4OiAwO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAoKDMgLSAxKSAvIDMgKiAzMnB4KSk7XG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIH1cbiAgLm8tZXZlbnRzX19pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm8tZXZlbnRzX19pdGVtOm50aC1jaGlsZChuKzQpIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm8tZXZlbnRzX19pdGVtIHtcbiAgICBmbGV4OiAwO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gKCg0IC0gMSkgLyA0ICogMzJweCkpO1xuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICB9XG4gIC5vLWV2ZW50c19faXRlbTpudGgtY2hpbGQoNG4rMSkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5vLWV2ZW50c19faXRlbTpudGgtY2hpbGQobis1KSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuXG4uby1mb290ZXIge1xuICB6LWluZGV4OiAyMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQjM3NDU7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3BhdHJvb24tZm9vdGVyLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byA1MC4xJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gIH1cbn1cblxuLm8tZm9vdGVyX19tYWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNnZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDV2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMy41NzE0Mjg1NzE0dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDMuNTcxNDI4NTcxNHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1mb290ZXJfX2NvbHVtbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm8tZm9vdGVyX19icmFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1mb290ZXJfX2JyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjk2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWZvb3Rlcl9fYnJhbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMuM3Z3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tZm9vdGVyX19icmFuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4zNTcxNDI4NTcxdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1mb290ZXJfX2JyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMS42OHB4O1xuICB9XG59XG4uby1mb290ZXJfX2JyYW5kOmhvdmVyIHtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uby1mb290ZXJfX2xvZ28ge1xuICBoZWlnaHQ6IDI4cHg7XG59XG5cbi5vLWZvb3Rlcl9faW5mbyA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9faW5mbyB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWZvb3Rlcl9faW5mbyB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWZvb3Rlcl9fbmF2IHtcbiAgICBtYXJnaW4tdG9wOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9fbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogMTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZm9vdGVyX19uYXYge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLWZvb3Rlcl9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLm8tZm9vdGVyX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5vLWZvb3Rlcl9fbGluazpob3ZlciwgLm8tZm9vdGVyX19saW5rOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5vLWZvb3Rlcl9fbGluazo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBvcGFjaXR5OiAwO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IC04cHg7XG4gIHJpZ2h0OiAtOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cbi5vLWZvb3Rlcl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjRUJDNDU3O1xufVxuLm8tZm9vdGVyX19saW5rOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuLm8tZm9vdGVyX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uby1mb290ZXJfX3NvY2lhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMzJweCAwIDA7XG59XG5cbi5vLWZvb3Rlcl9fY2hhbm5lbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG59XG5cbi5vLWZvb3Rlcl9faWNvbiB7XG4gIGZsZXg6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbn1cbi5mYWNlYm9vayAuby1mb290ZXJfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9mYWNlYm9vay5zdmdcIik7XG4gIGhlaWdodDogMjFweDtcbn1cbi5pbnN0YWdyYW0gLm8tZm9vdGVyX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvaW5zdGFncmFtLnN2Z1wiKTtcbn1cbi50d2l0dGVyIC5vLWZvb3Rlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL3R3aXR0ZXIuc3ZnXCIpO1xuICBoZWlnaHQ6IDIwcHg7XG59XG4ubGlua2VkaW4gLm8tZm9vdGVyX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvbGlua2VkaW4uc3ZnXCIpO1xuICBoZWlnaHQ6IDE4cHg7XG59XG4uby1mb290ZXJfX2ljb246aG92ZXIge1xuICBvcGFjaXR5OiAwLjU7XG59XG4uby1mb290ZXJfX2ljb246Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjNDA3OUI4O1xufVxuXG4uby1mb3JtX19oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uby1mb3JtX19mb290ZXIge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uby1mb3JtX19yb3cgKyAuby1mb3JtX19yb3cge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uby1mb3JtX19wb3Qge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi8qXG5cdENvbG9ycyBnZXQgZGVmaW5lZCBpbiBfc2V0dGluZ3MuY29uZmlnLnNjc3NcbiovXG4uby1oZWFkZXIge1xuICB6LWluZGV4OiA1MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCMzc0NTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzMnB4IDA7XG59XG4uby1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1MDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBib3gtc2hhZG93OiAwIC01cHggMzBweCBibGFjaztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDMwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaXMtc3RpY2t5LWhlYWRlci12aXNpYmxlIC5vLWhlYWRlci5pcy1zdGlja3kge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuXG4uby1oZWFkZXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taGVhZGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8taGVhZGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1oZWFkZXJfX25hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogNDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1oZWFkZXJfX25hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1oZWFkZXJfX2xhbmd1YWdlIHtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8taGVhZGVyX19sYW5ndWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLm8taGVhZGVyX19sb2dvIHtcbiAgZmxleDogbm9uZTtcbn1cbi5vLWhlYWRlcl9fbG9nbzpob3ZlciwgLm8taGVhZGVyX19sb2dvOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5vLWhlYWRlcl9fbG9nbzpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLm8taGVhZGVyX19pbWcge1xuICBoZWlnaHQ6IDMycHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1oZWFkZXJfX3RvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1pbnRybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCMzc0NTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWludHJvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1pbnRybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWludHJvIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWludHJvIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xuICB9XG59XG5cbi5vLWludHJvX19ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8taW50cm9fX2JvZHkge1xuICAgIG1hcmdpbi1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWludHJvX19ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8taW50cm9fX2JvZHkge1xuICAgIG1hcmdpbi1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8taW50cm9fX2JvZHkge1xuICAgIG1hcmdpbi1ib3R0b206IDk2cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWludHJvLS1tb2JpbGUtYnJlYWstb3V0IC5vLWludHJvX19ib2R5IHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cbi5vLWludHJvX19ib2R5OjpiZWZvcmUsIC5vLWludHJvX19ib2R5OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHotaW5kZXg6IC0xO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDUwdnc7XG4gIGhlaWdodDogNXZ3O1xuICBtYXgtaGVpZ2h0OiA5NnB4O1xufVxuLm8taW50cm9fX2JvZHk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL3BhdHJvb24taGVhZGVyLWwuc3ZnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gIHJpZ2h0OiA5MCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8taW50cm9fX2JvZHk6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDkyLjg1NzE0Mjg1NzElO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8taW50cm9fX2JvZHk6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IGNhbGMoKDEwMCUgLSAxMTUycHgpIC8gMiArIDExNTJweCk7XG4gIH1cbn1cbi5vLWludHJvX19ib2R5OjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL3BhdHJvb24taGVhZGVyLXIuc3ZnKTtcbiAgbGVmdDogOTAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWludHJvX19ib2R5OjphZnRlciB7XG4gICAgbGVmdDogOTIuODU3MTQyODU3MSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1pbnRyb19fYm9keTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGNhbGMoKDEwMCUgLSAxMTUycHgpIC8gMiArIDExNTJweCk7XG4gIH1cbn1cblxuLm8taW50cm9fX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1pbnRyb19fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWludHJvX19jb250ZW50IHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLm8taW50cm9fX25hdixcbi5vLWludHJvX19pbWFnZSB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1pbnRyb19fbmF2LFxuLm8taW50cm9fX2ltYWdlIHtcbiAgICBvcmRlcjogLTE7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fbmF2LFxuLm8taW50cm9fX2ltYWdlIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi5vLWludHJvX19uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICBwYWRkaW5nOiAzMnB4IDZ2dztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWludHJvX19uYXYge1xuICAgIHBhZGRpbmc6IDgwcHggNC4xNjY2NjY2NjY3JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWludHJvX19uYXYge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLWludHJvX190ZXh0IHtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctbGVmdDogNnZ3O1xuICBwYWRkaW5nLXJpZ2h0OiA2dnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1pbnRyb19fdGV4dCB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmc6IDgwcHggOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWludHJvX190ZXh0IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi5vLWludHJvX190aXRsZSxcbi5vLWludHJvX19oZWFkaW5nIHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLm8taW50cm9fX2J1dHRvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpICFpbXBvcnRhbnQ7XG59XG5cbi5vLWxvZ29zX19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luOiAtMi4zODJ2dztcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWxvZ29zX19saXN0IHtcbiAgICBtYXJnaW46IC0zMnB4O1xuICB9XG59XG5cbi5vLWxvZ29zX19pdGVtIHtcbiAgZmxleDogMCAxIDEwMCU7XG4gIG1hcmdpbjogMi4zODJ2dztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM4NHB4KSB7XG4gIC5vLWxvZ29zX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDV2dyk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWxvZ29zX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gNXZ3KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWxvZ29zX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtIDV2dyk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSA2NHB4KTtcbiAgICBtYXJnaW46IDMycHg7XG4gIH1cbn1cblxuLm8tbG9nb3NfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm8tbG9nb3NfX2ltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5vLW1hcCBhOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm8tbmV3cyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW5ld3Mge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1uZXdzIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1uZXdzX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6ICMyQzJDMkM7XG59XG5cbi5vLW5ld3NfX2FydGljbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uby1uZXdzX19hcnRpY2xlICsgLm8tbmV3c19fYXJ0aWNsZSB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5cbi5vLW5ld3NfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgbGluZWFyO1xufVxuLm8tbmV3c19fbGluazpob3ZlciwgLm8tbmV3c19fbGluazphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uby1uZXdzX19saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDOEM4Qzg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLm8tbmV3c19fbGluazpob3ZlciwgLm8tbmV3c19fbGluazpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG59XG4uby1uZXdzX19saW5rOmhvdmVyOjpiZWZvcmUsIC5vLW5ld3NfX2xpbms6Zm9jdXM6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4uby1uZXdzX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tbmV3c19fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuLm8tbmV3c19fYm9keSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogNnZ3O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tbmV3c19fYm9keSB7XG4gICAgb3JkZXI6IDE7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMi41JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLW5ld3NfX2JvZHkge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1uZXdzX19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA1NSU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1uZXdzX19pbWFnZSB7XG4gICAgZmxleDogbm9uZTtcbiAgICBvcmRlcjogMjtcbiAgICB3aWR0aDogMjUlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyNSU7XG4gIH1cbn1cblxuLm8tbmV3c19fYmctaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHRvcDogNnZ3O1xuICByaWdodDogNnZ3O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNnZ3KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW5ld3NfX2JnLWltYWdlIHtcbiAgICB0b3A6IDhweDtcbiAgICByaWdodDogOHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICB9XG59XG5cbi5vLW5ld3NfX2ludHJvIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLm8tbmV3c19fdGltZXN0YW1wIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uby1uZXdzX19hY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgY29sb3I6ICM0MDc5Qjg7XG59XG5cbi5vLW5ld3NfX3JlYWRtb3JlIHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5vLW5ld3NfX2Zvb3RlciB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm8tb3ZlcmxheS1tZW51IHtcbiAgei1pbmRleDogMTAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCMzc0NTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMjB2dyk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXMsIDIwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgNDAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLjE1LCAwLjEsIDEpLCBsaW5lYXI7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zLCAwcztcbn1cbi5vLW92ZXJsYXktbWVudTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogLTEyMHZ3O1xuICB3aWR0aDogMTIwdnc7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDQwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51OjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cbi5vLW92ZXJsYXktbWVudTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMjAlO1xuICB3aWR0aDogMjAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtODZkZWcsIHRyYW5zcGFyZW50IDUwJSwgIzJCMzc0NSA1MCUpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLW92ZXJsYXktbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnVfX2JhciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1vdmVybGF5LW1lbnVfX2JhciB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLW92ZXJsYXktbWVudV9fYmFyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnVfX2ltZyB7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLm8tb3ZlcmxheS1tZW51X190b2dnbGUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC41dHVybik7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX3RvZ2dsZSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19pdGVtIHtcbiAgcGFkZGluZzogOHB4IDcuMTQyODU3MTQyOSU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbms6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLm8tb3ZlcmxheS1tZW51X19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgb3V0bGluZS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xufVxuLm8tb3ZlcmxheS1tZW51X19saW5rLmlzLWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3BhY2l0eTogMTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbmsuaXMtYWN0aXZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKelFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNnB4O1xuICBsZWZ0OiAtMS4yNWVtO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5vLXF1b3RlIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1xdW90ZSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGVfX2JvZHkge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1xdW90ZV9fYm9keSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5cbi5vLXF1b3RlX19waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1xdW90ZV9fcGljdHVyZSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGVfX3BpY3R1cmUge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1xdW90ZV9fcGljdHVyZSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1xdW90ZV9faW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uby1xdW90ZV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc3Nzc3Nzg7XG4gIHF1b3RlczogXCLigJxcIiBcIuKAnVwiO1xufVxuLm8tcXVvdGVfX3RleHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG59XG4uby1xdW90ZV9fdGV4dDo6YWZ0ZXIge1xuICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbn1cblxuLm8tcXVvdGVfX2F1dGhvciB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uby1xdW90ZV9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5vLXF1b3RlX19zdWJoZWFkaW5nIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uby1yZWZlcmVuY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IC0zMnB4O1xufVxuXG4uby1yZWZlcmVuY2VzX19pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmbGV4OiAwIDEgMTAwJTtcbiAgbWFyZ2luOiAzMnB4O1xuICBwYWRkaW5nLXRvcDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogMHB4IHNvbGlkICNDOEM4Qzg7XG4gIGJveC1zaGFkb3c6IDAgMi40cHggMzkuNHB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC4wMjQpLCAwIDYuOHB4IDQ1LjVweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDM1KSwgMCAxNi4zcHggNTEuNHB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC4wNDYpLCAwIDU0cHggODBweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLm8tcmVmZXJlbmNlc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA2NHB4IC0gMHB4KTtcbiAgfVxufVxuXG4uby1yZWZlcmVuY2VzX19ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbn1cblxuLm8tcmVmZXJlbmNlc19fcGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtYmFzaXM6IDI1JTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IDI0cHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2NvbnRlbnQge1xuICBmbGV4LWdyb3c6IDk5OTk7XG4gIGZsZXgtYmFzaXM6IDE4ZW07XG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLm8tcmVmZXJlbmNlc19fYXV0aG9yIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLm8tcmVmZXJlbmNlc19faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3N1YmhlYWRpbmcge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLm8tc3ViZm9vdGVyIHtcbiAgei1pbmRleDogMTA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyZTM5O1xuICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzO1xufVxuLmlzLWNvb2tpZXMtYWNjZXB0ZWQgLm8tc3ViZm9vdGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5vLXN1YmZvb3Rlcl9fbWFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tc3ViZm9vdGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tc3ViZm9vdGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1zdWJmb290ZXJfX2NvcHlyaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi1yaWdodDogMzJweDtcbn1cblxuLm8tc3ViZm9vdGVyX19uYXYge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uby1zdWJmb290ZXJfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uby1zdWJmb290ZXJfX2l0ZW0ge1xuICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5vLXN1YmZvb3Rlcl9fbGluayB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xufVxuLm8tc3ViZm9vdGVyX19saW5rOmhvdmVyLCAuby1zdWJmb290ZXJfX2xpbms6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLm8tc3ViZm9vdGVyX19saW5rOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi5vLXN1YmZvb3Rlcl9fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLm8tc3ViZm9vdGVyX190cmFkZW1hcmsge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLypcbiAqIE9uIHNtYWxsIHNjcmVlbnMgdGhlIGNvbnRlbnQgaXMgc3RhY2tlZCwgd2l0aG91dCBjb250cm9sc1xuICogV2hlbiB0aGUgc2NyZWVuIGlzIHdpZGUgZW5vdWdoIHdlIGFkZCB0aGUgY29udHJvbHNcbiAqIGFuZCBzaG93IG9ubHkgdGhlIGNob3NlbiAnc2xpZGUgY29udGVudCdcbiAqL1xuLm8tdGFic2xpZGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdGFic2xpZGVyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby10YWJzbGlkZXJfX2J1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDOEM4Qzg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJvcmRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjMkIzNzQ1O1xuICBib3JkZXItY29sb3I6ICMyQjM3NDU7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbi5pcy1hY3RpdmUge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCMzc0NTtcbiAgYm9yZGVyLWNvbG9yOiAjMkIzNzQ1O1xufVxuLm8tdGFic2xpZGVyX19idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICMyQjM3NDU7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbjpmb2N1czpub3QoLmlzLWFjdGl2ZSk6bm90KDphY3RpdmUpIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNGRkZGRkYsIDAgMCA1cHggM3B4IHJnYmEoNDQsIDQ0LCA0NCwgMC4xKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fY29udHJvbHMge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby10YWJzbGlkZXJfX3N0ZXAge1xuICB3aWR0aDogNDhweDtcbn1cblxuLm8tdGFic2xpZGVyX19zdGVwLS1wcmV2IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fdGFicyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fdGFicyB7XG4gICAgbWFyZ2luOiAtOHB4IDhweDtcbiAgfVxufVxuXG4uby10YWJzbGlkZXJfX3RhYiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIG1hcmdpbjogOHB4O1xuICBwYWRkaW5nOiA3cHggMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgbWFyZ2luLXRvcDogNDhweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRlbnQgKyAuby10YWJzbGlkZXJfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fY29udGVudCB7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIC5vLXRhYnNsaWRlcl9fY29udGVudC5pcy1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbn1cblxuLm8tdGFic2xpZGVyX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzJDMkMyQztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm8tdGVhbSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRlYW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby10ZWFtIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgbWFyZ2luLXRvcDogMTJ2dztcbiAgICBtYXJnaW4tYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby10ZWFtIHtcbiAgICBtYXJnaW4tdG9wOiAxMHZ3O1xuICAgIG1hcmdpbi1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby10ZWFtIHtcbiAgICBtYXJnaW4tdG9wOiA3LjE0Mjg1NzE0Mjl2dztcbiAgICBtYXJnaW4tYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLXRlYW0ge1xuICAgIG1hcmdpbi10b3A6IDk2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NjBweCkge1xuICAuby10ZWFtX19tYXRyaXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogLTE2cHg7XG4gIH1cbn1cblxuLm8tdGVhbV9faXRlbSB7XG4gIG1hcmdpbjogMCBhdXRvIDMycHg7XG4gIG1heC13aWR0aDogMzAwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NjBweCkge1xuICAuby10ZWFtX19pdGVtIHtcbiAgICBtYXJnaW46IDE2cHg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGZsZXg6IG5vbmU7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAzMnB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLm8tdGVhbV9faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMyUgLSAzMnB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5vLXRlYW1fX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gMzJweCk7XG4gIH1cbn1cblxuLm8tdGhhbmtzIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGhhbmtzIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdGhhbmtzIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tdGhhbmtzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tdGhhbmtzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLXRoYW5rcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tdGhhbmtzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTExMHB4KSB7XG4gIC5vLXRoYW5rcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTEwcHgpIHtcbiAgLm8tdGhhbmtzX19sZWZ0IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgKyA0OHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuICB9XG59XG5cbi5vLXRoYW5rc19fcmlnaHQge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTExMHB4KSB7XG4gIC5vLXRoYW5rc19fcmlnaHQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tdXNwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkIzNzQ1O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXVzcF9fbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4uby11c3BfX3RleHQge1xuICBwYWRkaW5nOiAzMnB4IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkIzNzQ1O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdXNwX190ZXh0IHtcbiAgICB3aWR0aDogNjIuNSU7XG4gICAgcGFkZGluZy10b3A6IDYuMjUlO1xuICAgIHBhZGRpbmctYm90dG9tOiA2LjI1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby11c3BfX3RleHQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogNC4xNjY2NjY2NjY3JSA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLXVzcF9faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tdXNwX19pbWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC02dnc7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNnZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA2NSU7XG4gICAgbWluLWhlaWdodDogMzYwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLXVzcF9faW1hZ2Uge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby11c3BfX2ltYWdlIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi5vLXVzcF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uby11c3BfX2xpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuXG4uby11c3BfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbn1cbi5vLXVzcF9faXRlbSArIC5vLXVzcF9faXRlbSB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG4uby11c3BfX2l0ZW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1cHg7XG4gIGxlZnQ6IC0xNnB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9jaGVjay9jaGVja2VkLnN2Zyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTZweCAxMnB4O1xufVxuXG4uby11c3BfX2FjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDQ4cHg7XG59XG5cbi5vLXVzcF9faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uby12YWNhbmNpZXMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uby12YWNhbmNpZXMgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5vLXZhY2FuY2llc19fbGluayB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMzJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbn1cbi5vLXZhY2FuY2llc19fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjNDA3OUI4O1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAxcHggY3VycmVudENvbG9yO1xufVxuXG4uby12YWNhbmNpZXNfX2NvbnRlbnQge1xuICBmbGV4OiBhdXRvO1xufVxuXG4uby12YWNhbmNpZXNfX2ljb24ge1xuICBmbGV4OiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VCQzQ1NztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbn1cbi5vLXZhY2FuY2llc19fbGluazpob3ZlciAuby12YWNhbmNpZXNfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA3OWI4O1xufVxuXG4uby12YWNhbmNpZXNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uby12YWNhbmNpZXNfX3N1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLm8tdmFjYW5jaWVzX19wcm9wZXJ0aWVzIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cblxuLm8tdmFjYW5jeV9faGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby12YWNhbmN5X19oZXJvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby12YWNhbmN5X19oZXJvIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdmFjYW5jeV9faGVybyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbi5vLXZhY2FuY3lfX2hlcm86OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogLTUwdnc7XG4gIGxlZnQ6IC01MHZ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEY1QTlEO1xufVxuXG4uby12YWNhbmN5X19oZXJvLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5vLXZhY2FuY3lfX3Byb3BlcnRpZXMge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0xNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdmFjYW5jeV9fcHJvcGVydGllcyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXZhY2FuY3lfX3Byb3BlcnRpZXMge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi8qICA3IC0gVGVtcGxhdGVzXG4gKiAgT3ZlcnJpZGUgc3R5bGluZyBmb3IgYSBzcGVjaWZpYyB0ZW1wbGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRlbXBsYXRlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiAgOCAtIFNDT1BFU1xuICogIEVsZW1lbnRzIGFuZCBjbGFzc2VzIHRoYXQgYXJlIHNjb3BlZCBieSBhIHBhcmVudCBjbGFzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucy1jaGVja2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zLWNoZWNrbGlzdCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG4ucy1jaGVja2xpc3QgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpO1xufVxuLmNoZWNrbGlzdC1oYXMteC1zbWFsbC1mb250IC5zLWNoZWNrbGlzdCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG59XG4uY2hlY2tsaXN0LWhhcy14LXNtYWxsLWZvbnQgLnMtY2hlY2tsaXN0IGxpOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcbn1cblxuLyoqXG4gKiBBbGwgdGV4dCBlbGVtZW50cyB0aGF0IGNhbiBiZSBhZGRlZCBieSB0aGUgdXNlciB0aHJvdWdoIGEgQ01TXG4gKi9cbi5zLXRleHQgaDIsIC5zLXRleHQgaDMsIC5zLXRleHQgaDQge1xuICBjb2xvcjogIzJDMkMyQztcbn1cbi5zLXRleHQgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG4ucy10ZXh0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnMtdGV4dCA+ICogKyAuYy1idXR0b24ge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuLnMtdGV4dCA+IHVsOm5vdChbY2xhc3NdKSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ucy10ZXh0ID4gdWw6bm90KFtjbGFzc10pID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjEyNWVtO1xufVxuLnMtdGV4dCA+IHVsOm5vdChbY2xhc3NdKSA+IGxpOjpiZWZvcmUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgY29udGVudDogXCLigKJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC00cHg7XG4gIGxlZnQ6IDA7XG59XG4ucy10ZXh0ID4gb2w6bm90KFtjbGFzc10pIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogb2wtY291bnRlcjtcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkgPiBsaSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBvbC1jb3VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjhlbTtcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihvbC1jb3VudGVyKSBcIi4gXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMS4yNzVlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qICA5IC0gVVRJTElUSUVTXG4gKiAgSGlnaC1zcGVjaWZpY2l0eSwgdmVyeSBleHBsaWNpdCBzZWxlY3RvcnMuXG4gKiAgT3ZlcnJpZGVzIGFuZCBoZWxwZXIgY2xhc3Nlcy5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSGVyZSB3ZSBwcmludCBvdXQgYWxsIG91ciBoZWxwZXIgY2xhc3NlcyBmb3Igb3VyIGRlZmluZWQgY29sb3JzXG4gKiBCYXNlZCBvbiB0aGVzZSBhcnRpY2xlczpcbiAqIC0gaHR0cDovL2Vyc2tpbmVkZXNpZ24uY29tL2Jsb2cvZnJpZW5kbGllci1jb2xvdXItbmFtZXMtc2Fzcy1tYXBzL1xuICogLSBodHRwczovL2Jsb2cuYXRlY2htZWRpYS5jb20vY3NzLWZvci1tdWx0aXBsZS10aGVtZXMvXG4gKiBPdXRwdXQgaXMgaW4gdGhlIGZvcm0gb2Y6XG5cbiAgIC51LWNvbG9yLXByaW1hcnkge1xuICAgICAgY29sb3I6ICNiYWRhNTU7XG4gICB9XG5cbiAgLnUtYmctbmV1dHJhbC0tOTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVjYWZmO1xuICB9XG4gKi9cbi51LWNvbG9yLXByaW1hcnktLTUwMCB7XG4gIGNvbG9yOiAjMkIzNzQ1O1xufVxuXG4udS1iZy1wcmltYXJ5LS01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkIzNzQ1O1xufVxuXG4udS1jb2xvci1wcmltYXJ5LS03MDAge1xuICBjb2xvcjogIzBGNUE5RDtcbn1cblxuLnUtYmctcHJpbWFyeS0tNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBGNUE5RDtcbn1cblxuLnUtY29sb3Itc2Vjb25kYXJ5LS01MDAge1xuICBjb2xvcjogI0VCQzQ1Nztcbn1cblxuLnUtYmctc2Vjb25kYXJ5LS01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJDNDU3O1xufVxuXG4udS1jb2xvci10ZXJ0aWFyeS0tNTAwIHtcbiAgY29sb3I6ICNENzRGNUI7XG59XG5cbi51LWJnLXRlcnRpYXJ5LS01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDc0RjVCO1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS0wIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi51LWJnLW5ldXRyYWwtLTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS0xMDAge1xuICBjb2xvcjogI0Y4RjhGODtcbn1cblxuLnUtYmctbmV1dHJhbC0tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tMjAwIHtcbiAgY29sb3I6ICNGNUY1RjU7XG59XG5cbi51LWJnLW5ldXRyYWwtLTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTMwMCB7XG4gIGNvbG9yOiAjQzhDOEM4O1xufVxuXG4udS1iZy1uZXV0cmFsLS0zMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhDOEM4O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS00MDAge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLnUtYmctbmV1dHJhbC0tNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tNTAwIHtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi51LWJnLW5ldXRyYWwtLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NTY1NjU7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTgwMCB7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuXG4udS1iZy1uZXV0cmFsLS04MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMyQzJDO1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS05MDAge1xuICBjb2xvcjogIzFEMUQxRDtcbn1cblxuLnUtYmctbmV1dHJhbC0tOTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFEMUQxRDtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tMTAwMCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4udS1iZy1uZXV0cmFsLS0xMDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2stLWFjdGlvbiB7XG4gIGNvbG9yOiAjNDA3OUI4O1xufVxuXG4udS1iZy1mZWVkYmFjay0tYWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNzlCODtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2stLXdhcm5pbmcge1xuICBjb2xvcjogI2ZmZDMzYTtcbn1cblxuLnUtYmctZmVlZGJhY2stLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkMzNhO1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0tYWxlcnQge1xuICBjb2xvcjogI2ZmODEwMDtcbn1cblxuLnUtYmctZmVlZGJhY2stLWFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODEwMDtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2stLW5lZ2F0aXZlIHtcbiAgY29sb3I6ICNjZjNlM2U7XG59XG5cbi51LWJnLWZlZWRiYWNrLS1uZWdhdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjNlM2U7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS1wb3NpdGl2ZSB7XG4gIGNvbG9yOiAjM2VjZjhlO1xufVxuXG4udS1iZy1mZWVkYmFjay0tcG9zaXRpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2VjZjhlO1xufVxuXG4udS1jb2xvci1ib3JkZXItLTAge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnUtYmctYm9yZGVyLS0wIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnUtY29sb3ItYm9yZGVyLS0zMDAge1xuICBjb2xvcjogI0M4QzhDODtcbn1cblxuLnUtYmctYm9yZGVyLS0zMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhDOEM4O1xufVxuXG4udS1jb2xvci1ib3JkZXItLTUwMCB7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4udS1iZy1ib3JkZXItLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NTY1NjU7XG59XG5cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgRm9udHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEhlcmUgd2UgcHJpbnQgb3V0IGFsbCBvdXIgaGVscGVyIGNsYXNzZXMgZm9yIG91ciBkZWZpbmVkICRmb250LXNpemVzIG1hcFxuICogT3V0cHV0IG9mIHRoZSBjbGFzc2VzIGluIHRoZSB0aGlzIGZvcm06XG5cbiAgIC51LWZzLW0ge31cbiAgIC51LWZzLXhsIHt9XG4gICAuLi4gZXRjXG5cbiAqL1xuLnUtZnMteHMge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xufVxuXG4udS1mcy14cyB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG59XG5cbi51LWZzLXMge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLnUtZnMtcyB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4udS1mcy1iYXNlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udS1mcy1iYXNlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udS1mcy1tIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzc3Nzc3Nzc3ODtcbn1cblxuLnUtZnMtbSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc3Nzc3Nzg7XG59XG5cbi51LWZzLWwge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi51LWZzLWwge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi51LWZzLXhsIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG59XG5cbi51LWZzLXhsIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG59XG5cbi51LWZzLXh4bCB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5cbi51LWZzLXh4bCB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5cbi51LWZzLXh4eGwge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi51LWZzLXh4eGwge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi51LWZzLXh4eHhsIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLnUtZnMteHh4eGwge1xuICBmb250LXNpemU6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vKipcbiAqIEhlcmUgd2UgcHJpbnQgb3V0IGFsbCBvdXIgaGVscGVyIGNsYXNzZXMgZm9yIG91ciBkZWZpbmVkICRmb250LXdlaWdodHMgbWFwXG4gKiBPdXRwdXQgb2YgdGhlIGNsYXNzZXMgaW4gdGhlIHRoaXMgZm9ybTpcblxuICAgLnUtZnctcmVndWxhciB7fVxuICAgLnUtZnctc2VtaUJvbGQge31cbiAgIC4uLiBldGNcblxuICovXG4udS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi51LXBsYWNlaG9sZGVyLWltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi51LXRleHQtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udS1tYXgtY29udGVudCB7XG4gIG1heC13aWR0aDogNDBlbTtcbn1cblxuLypcbiogSWYgeW91IG5lZWQgdG8gbWFrZSBhIHF1aWNrIGZpeCwgeW91IGNhbiBkbyBpdCBoZXJlLlxuKiBMYXRlciB3aGVuIHlvdSBoYXZlIHRoZSB0aW1lLCB5b3UgY2FuIG1vdmUgdGhlIGZpeCBpbnRvIHRoZSBjb3JyZWN0IHBsYWNlIGluIHRoZSBzdHJ1Y3R1cmVcbiovXG4udS1zcGFjaW5nLW10MCB7XG4gIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yMCB7XG4gIG1hcmdpbi1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWIwIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWwwIHtcbiAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0MCB7XG4gIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjAge1xuICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjAge1xuICBwYWRkaW5nLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGwwIHtcbiAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDEge1xuICBtYXJnaW4tdG9wOiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjEge1xuICBtYXJnaW4tcmlnaHQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iMSB7XG4gIG1hcmdpbi1ib3R0b206IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sMSB7XG4gIG1hcmdpbi1sZWZ0OiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDEge1xuICBwYWRkaW5nLXRvcDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHIxIHtcbiAgcGFkZGluZy1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGIxIHtcbiAgcGFkZGluZy1ib3R0b206IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsMSB7XG4gIHBhZGRpbmctbGVmdDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQyIHtcbiAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yMiB7XG4gIG1hcmdpbi1yaWdodDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iMiB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDIge1xuICBtYXJnaW4tbGVmdDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0MiB7XG4gIHBhZGRpbmctdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHIyIHtcbiAgcGFkZGluZy1yaWdodDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiMiB7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGwyIHtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQzIHtcbiAgbWFyZ2luLXRvcDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yMyB7XG4gIG1hcmdpbi1yaWdodDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iMyB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDMge1xuICBtYXJnaW4tbGVmdDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0MyB7XG4gIHBhZGRpbmctdG9wOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHIzIHtcbiAgcGFkZGluZy1yaWdodDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiMyB7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGwzIHtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQ0IHtcbiAgbWFyZ2luLXRvcDogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yNCB7XG4gIG1hcmdpbi1yaWdodDogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iNCB7XG4gIG1hcmdpbi1ib3R0b206IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDQge1xuICBtYXJnaW4tbGVmdDogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0NCB7XG4gIHBhZGRpbmctdG9wOiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHI0IHtcbiAgcGFkZGluZy1yaWdodDogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiNCB7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGw0IHtcbiAgcGFkZGluZy1sZWZ0OiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQ1IHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yNSB7XG4gIG1hcmdpbi1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iNSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDUge1xuICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0NSB7XG4gIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHI1IHtcbiAgcGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiNSB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGw1IHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQ2IHtcbiAgbWFyZ2luLXRvcDogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yNiB7XG4gIG1hcmdpbi1yaWdodDogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iNiB7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDYge1xuICBtYXJnaW4tbGVmdDogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0NiB7XG4gIHBhZGRpbmctdG9wOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHI2IHtcbiAgcGFkZGluZy1yaWdodDogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiNiB7XG4gIHBhZGRpbmctYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGw2IHtcbiAgcGFkZGluZy1sZWZ0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQ3IHtcbiAgbWFyZ2luLXRvcDogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yNyB7XG4gIG1hcmdpbi1yaWdodDogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iNyB7XG4gIG1hcmdpbi1ib3R0b206IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDcge1xuICBtYXJnaW4tbGVmdDogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0NyB7XG4gIHBhZGRpbmctdG9wOiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHI3IHtcbiAgcGFkZGluZy1yaWdodDogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiNyB7XG4gIHBhZGRpbmctYm90dG9tOiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGw3IHtcbiAgcGFkZGluZy1sZWZ0OiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQ4IHtcbiAgbWFyZ2luLXRvcDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yOCB7XG4gIG1hcmdpbi1yaWdodDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iOCB7XG4gIG1hcmdpbi1ib3R0b206IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDgge1xuICBtYXJnaW4tbGVmdDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0OCB7XG4gIHBhZGRpbmctdG9wOiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHI4IHtcbiAgcGFkZGluZy1yaWdodDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiOCB7XG4gIHBhZGRpbmctYm90dG9tOiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGw4IHtcbiAgcGFkZGluZy1sZWZ0OiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC51LXNwYWNpbmctcHYge1xuICAgIHBhZGRpbmctdG9wOiAxMnZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAudS1zcGFjaW5nLXB2IHtcbiAgICBwYWRkaW5nLXRvcDogMTB2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC51LXNwYWNpbmctcHYge1xuICAgIHBhZGRpbmctdG9wOiA3LjE0Mjg1NzE0Mjl2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAudS1zcGFjaW5nLXB2IHtcbiAgICBwYWRkaW5nLXRvcDogOTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLnUtc3BhY2luZy1wcjBcXEBsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUaGlzIGdyaWQgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHdoZW4geW91IHdhbnQgdG8gY2hlY2tcbiAqIGlmIGV2ZXJ5dGhpbmcgaXMgbmljZSBpbiBwbGFjZS5cbiAqIFNldCBmbGFnICdzaG93R3JpZCcgdG8gdHJ1ZSBpbiBzaXRlLnBocFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51LXZpc2libGUtZ3JpZCB7XG4gIHotaW5kZXg6IDEwMDAwO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLyogOCBwb2ludCBncmlkIGxpbmVzICovXG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAudS12aXNpYmxlLWdyaWQge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAudS12aXNpYmxlLWdyaWQge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAudS12aXNpYmxlLWdyaWQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSAyNSUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgMjUlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDUwJSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAudS12aXNpYmxlLWdyaWRfX21haW4ge1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNyksIHJnYmEoMCwgNDMsIDI1NSwgMC4wNykgMTIuNSUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgMTIuNSUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgMjUlKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG4gICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSA4LjMzMzMzMzMzMzMlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDguMzMzMzMzMzMzMyUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgMTYuNjY2NjY2NjY2NyUpO1xuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPcmdhbml6ZSBjb2xvciB2YXJpYWJsZXMgaW4gYSBTYXNzIE1hcC5cbiAgIFRoaXMgd2F5LCB0aGUgY29sb3JzIGNhbiBiZSBpdGVyYXRlZCwgYXJlIG1vcmUgb3JnYW5pemVkLFxuICAgYW5kIGFyZSBtb3JlIGludHVpdGl2ZSB0byByZWZlcmVuY2UuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4kcGFsZXR0ZXM6IChcblxuICAncHJpbWFyeSc6IChcbiAgICA1MDA6ICMyQjM3NDUsXG4gICAgNzAwOiAjMEY1QTlELFxuICApLFxuXG4gICdzZWNvbmRhcnknOiAoXG4gICAgNTAwOiAjRUJDNDU3LFxuICApLFxuXG4gICd0ZXJ0aWFyeSc6IChcbiAgICAgIDUwMDogI0Q3NEY1QixcbiAgKSxcblxuICAnbmV1dHJhbCc6IChcbiAgICAwOiAgICNGRkZGRkYsXG4gICAgMTAwOiAjRjhGOEY4LFxuICAgIDIwMDogI0Y1RjVGNSxcbiAgICAzMDA6ICNDOEM4QzgsXG4gICAgNDAwOiAjOTk5OTk5LFxuICAgIDUwMDogIzY1NjU2NSxcbiAgICA4MDA6ICMyQzJDMkMsXG4gICAgOTAwOiAjMUQxRDFELFxuICAgIDEwMDA6ICMwMDAwMDAsXG4gICksXG5cbiAgJ2ZlZWRiYWNrJzogKFxuICAgIGFjdGlvbjogIzQwNzlCOCxcbiAgICB3YXJuaW5nOiAjZmZkMzNhLFxuICAgIGFsZXJ0OiAjZmY4MTAwLFxuICAgIG5lZ2F0aXZlOiAjY2YzZTNlLFxuICAgIHBvc2l0aXZlOiAjM2VjZjhlLFxuICApLFxuXG4gICdib3JkZXInOiAoXG4gICAgMDogICAjZmZmLFxuICAgIDMwMDogI0M4QzhDOCxcbiAgICA1MDA6ICM2NTY1NjUsXG4gICksXG4pO1xuXG5cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBhY2Nlc3NpbmcgdGhlIGNvbG9ycyBmcm9tIG91ciBtYXBwaW5nXG4gKlx0VG8gYWNjZXNzIGNvbG9ycyBpbiBvdXIgcGFsZXR0ZSwgd2UgdXNlIGEgdmVyeSBzaW1wbGUgY3VzdG9tIFNhc3MgZnVuY3Rpb25cbiAqICBUaGlzIGZ1bmN0aW9uIGlzIHBsYWNlZCBoZXJlLCAoYW5kIG5vdCBpbiB0aGUgdG9vbGJveClcbiAqICBiZWNhdXNlIHdlIHdhbnQgdG8gdXNlIGl0IGluIG91ciBvdGhlciBzZXR0aW5nIGZpbGVzXG5cblx0VVNBR0U6XG5cblx0LmRlbW8ge1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdH1cblxuICovXG5cbkBmdW5jdGlvbiBwYWxldHRlKCRwYWxldHRlLCAkbGV2ZWw6IDEpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRwYWxldHRlcywgJHBhbGV0dGUpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgJGxldmVsKSB7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgJGxldmVsKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIElmIGxldmVsIGRvZXNuJ3QgZXhpc3QgaW4gbWFwLCBnaXZlIHRoZSBmaXJzdCB2YWx1ZSBvZiB0aGUgcGFsZXR0ZVxuICAgICAgQHJldHVybiBudGgobnRoKG1hcC1nZXQoJHBhbGV0dGVzLCAkcGFsZXR0ZSksIDEpLCAyKTtcbiAgICB9XG4gIH1cblxuICBAd2FybiBcIlVua25vd24gY29sb3I6IGAjeyRwYWxldHRlfWAgaW4gJHBhbGV0dGUuIFwiO1xuICBAcmV0dXJuIGhvdHBpbms7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG5cdFsxXVx0XHRMb2dvIGRhcmsgb3IgbGlnaHQgY2FuIGJlIHNldCBpbiBoZWFkZXIuYmxhZGUucGhwIC8gZm9vdGVyLmJsYWRlLnBocCAmXG5cdFsyXSBcdFNldCB0aGlzIHRvIHRydWUgd2hlbiBiZ0NvbG9yIGdldHMgYSBkYXJrIGNvbG9yIHRoYXQgY29udHJhc3QgdGhlIGJvZHkgYmcgY29sb3JcbiovXG5cbiRzaXRlLWhlYWRlcjogKFxuXHQnYmdDb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcblx0J3RleHRDb2xvcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnZGVjb3JhdGlvbkNvbG9yJzpcdFx0XHRyZ2JhKHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLCAwLjUpLFxuXHQndGV4dENvbG9ySG92ZXInOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCd0ZXh0Q29sb3JBY3RpdmUnOlx0XHRcdHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLFxuXHQnZGVjb3JhdGlvbkNvbG9yQWN0aXZlJzpcdHJnYmEocGFsZXR0ZShzZWNvbmRhcnksIDUwMCksIDAuNSksXG5cdCdsb2dvLWhlaWdodCc6XHRcdFx0XHQzMnB4LFxuKTtcblxuXG4kc2l0ZS1pbnRybzogKFxuXHQnaXNEYXJrJzpcdFx0XHRcdFx0dHJ1ZSwgLy8gWzJdXG5cdCdiZ0NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShwcmltYXJ5LCA1MDApLFxuXHQnYmFyQ29sb3InOlx0XHRcdFx0XHRwYWxldHRlKHByaW1hcnksIDUwMCksXG5cdCdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdsaW5rQ29sb3InOlx0XHRcdFx0cmdiYShwYWxldHRlKG5ldXRyYWwsIDApLCAwLjM1KSxcblx0J3N1Ym5hdkJnQ29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwKSxcbik7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNvbWUgZ2xvYmFsIHNldHRpbmdzIHRoYXQgd2UgcHJvYmFibHkgZG9uJ3QgbmVlZCB0byBjaGFuZ2VcblxuJHNpdGUtY29sdW1ucy1zOlx0XHRcdDQ7XG4kc2l0ZS1jb2x1bW5zLW06XHRcdFx0ODtcbiRzaXRlLWNvbHVtbnMtbDpcdFx0XHQxMjtcbiRzaXRlLWNvbHVtbi1zaXplOlx0XHQgICAgOTY7IC8vIFNpemUgb2YgYSBzaW5nbGUgY29sdW1uIHdoZW4gdmlld3BvcnQgaXMgYXQgaXRzIG1heCB3aWR0aCAodXNlZCBmb3IgY2FsY3VsYXRpbmcgbWF4LXdpZHRoKS5cbiRzaXRlLWd1dHRlci13aWR0aDogXHQgICAgNnZ3OyAvLyBVc2VkIG9ubHkgZm9yIHNtYWxsIHNjcmVlbnMuIE11c3QgYmUgW3Z3XSBvciBbcHhdLCBOT1QgWyVdLlxuJHNpdGUtY29va2llQmFyLWhlaWdodDogICAgIDY0cHg7IC8vIEZpeGVkIHNpemUgc28gd2UgY2FuIG9mZnNldCBwYWRkaW5nLWJvdHRvbSBvbiB0aGUgYm9keVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYWxjdWxhdGlvbnMgdGhhdCBhcmUgZG9uZSB3aXRoIHNvbWUgb2YgdGhlIGdpdmVuIHZhbHVlcyBhYm92ZSB0aGlzIGxpbmVcblxuJHNpdGUtbWF4LXdpZHRoOiAkc2l0ZS1jb2x1bW4tc2l6ZSAqICRzaXRlLWNvbHVtbnMtbDsgLy8gTWFpbiBjb250YWluZXIgbWF4LXdpZHRoICh3aXRob3V0IGd1dHRlcilcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZSBkZWZhdWx0IGJvcmRlci1yYWRpdXMgdmFsdWVzIHVzZWQgaW4gdGhlIGJvcmRlciBtaXhpblxuXG4kYm9yZGVyLXJhZGl1czogKFxuXHRzOiA0cHgsXG5cdG06IDhweCxcblx0bDogMTZweFxuKTsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gXHQgRGVmaW5lcyB0aGUgdHlwb2dyYXBoaWMgYmFzZWxpbmUuXG4gICBXZSBkZWZpbmUgZXZlcnkgc2l6ZSBpbiBwaXhlbHMsIHRoZSB1bmRlcmx5aW5nIHN5c3RlbVxuICAgY29udmVydHMgdGhlIHJlc3BlY3RpdmUgdW5pdHMgdG8gdGhlIHJlc3BvbnNpdmUgUkVNIHZhbHVlLlxuIFx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBPdXIgYmFzZSBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0XG4gKi9cbiRiYXNlLWZvbnQtc2l6ZTogICBcdDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdCFkZWZhdWx0O1xuJGJhc2UtbGluZS1oZWlnaHQ6IFx0MjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0IWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtcmF0aW86XHQkYmFzZS1saW5lLWhlaWdodC8kYmFzZS1mb250LXNpemUgICAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZXM6IChcblx0J3hzJzogXHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDE0LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDE2XG5cdCksXG5cdCdzJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MTUsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MjRcblx0KSxcblx0J2Jhc2UnOiBcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdCRiYXNlLWZvbnQtc2l6ZSxcblx0XHRsaW5lLWhlaWdodDogXHQkYmFzZS1saW5lLWhlaWdodFxuXHQpLFxuXHQnbSc6IFx0XHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDE4LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDMyXG5cdCksXG5cdCdsJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MjAsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MzJcblx0KSxcblx0J3hsJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MjQsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MzJcblx0KSxcblx0J3h4bCc6IFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQzMixcblx0XHRsaW5lLWhlaWdodDogXHQ0MFxuXHQpLFxuXHQneHh4bCc6IFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQ0MCxcblx0XHRsaW5lLWhlaWdodDogXHQ0MFxuXHQpLFxuXHQneHh4eGwnOiBcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDQ4LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDQ4XG5cdCksXG4pO1xuXG5cbi8qKlxuICpcdEhlcmUgd2UgYXNzaWduIHNob3J0IG5hbWVzIGZvciB0aGUgZm9udCBmYW1pbGllc1xuICovXG5cbiRmb250LXN5c3RlbTpcdFx0LWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4kZm9udC1yb2JvdG86IFx0J1JvYm90bycsIHNhbnMtc2VyaWY7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERlZmluZSBicmVha3BvaW50cyBmb3IgZ2l2ZW4gZm9ybWF0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vLyBEZWZhdWx0IGJyZWFrcG9pbnRzXG4kYnJlYWtwb2ludHM6IChcblx0czogMzg0LFxuXHRtOiA4NDAsXG5cdGw6IDExNTIsXG4pO1xuXG4vLyBEZXRlcm1pbmUgYXQgd2hpY2ggdmlld3BvcnQgc2l6ZSB3ZSBjYW4gZml0IGluIGEgaG9yaXpvbnRhbCBtZW51IGluc3RlYWQgb2YgdGhlIGhhbWJ1cmdlciBtZW51IHRvZ2dsZVxuJGJwLWhlYWRlci1sYXJnZTogMTE1MjtcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHZpZXdwb3J0IHNpemUgd2hlbiBjb250YWluZXIgY2FuJ3QgZ3JvdyBhbnltb3JlXG4kYnAtbWF4OiAkc2l0ZS1tYXgtd2lkdGggKyAoKCRzaXRlLW1heC13aWR0aCAvICRzaXRlLWNvbHVtbnMtbCkgKiAyKTsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBGdW5jdGlvbnMgdXNlZCBpbiBncmlkIGNhbGN1bGF0aW9uXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAqIFJldHVybiBwZXJjZW50YWdlIGJhc2VkIG9uIGFtb3VudCBvZiBjb2x1bW5zXG4gICogVXNlIHBhcmVudCBjb2x1bW4gc2l6ZSB0byBhZGp1c3QgdGhlIG9yaWdpblxuICAqL1xuQGZ1bmN0aW9uIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRzaXRlLWNvbHVtbnMtbCkge1xuXHQvLyBDYWxjdWxhdGUgdGhlIHdpZHRoIGZvciBhIHNpbmdsZSBjb2x1bW4gb24gYSBmdWxsIGdyaWRcblx0JHNpbmdsZUNvbHVtblNpemU6IDEwMCAvICRzaXRlLWNvbHVtbnMtbDtcblxuXHQvLyBHZXQgdGhlIG9yaWdpbiBzaXplIGluIHBlcmNlbnRhZ2UgZnJvbSB0aGUgZnVsbCBncmlkXG5cdCRvcmlnaW5QZXJjZW50YWdlOiAkb3JpZ2luIC8gJHNpdGUtY29sdW1ucy1sICogMTAwO1xuXG5cdC8vIENhbGN1bGF0ZSBzaW5nbGUgY29sdW1uIGZyb20gbmV3IG9yaWdpblxuXHQkbmV3U2luZ2xlQ29sdW1uU2l6ZTogJHNpbmdsZUNvbHVtblNpemUgLyAkb3JpZ2luUGVyY2VudGFnZSAqIDEwMDtcblxuXHQvLyBSZXR1cm4gYW1vdW50IG9mIGNvbHVtbnMgYXMgcGVyY2VudGFnZVxuXHRAcmV0dXJuICgkbmV3U2luZ2xlQ29sdW1uU2l6ZSAqICRjb2x1bW5Db3VudCk7XG59XG5cbi8qKlxuICAqIERlZmF1bHQgZnVuY3Rpb24gZm9yIGNvbHVtbnNcbiAgKiBSZXR1cm4gYXMgcGVyY2VudGFnZVxuICAqL1xuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJHNpdGUtY29sdW1ucy1sKSB7XG5cdEByZXR1cm4gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQsICRvcmlnaW4pICogMSU7XG59XG5cbi8qKlxuICAqIFJldHVybiBhcyB2aWV3cG9ydCB3aWR0aFxuICAqL1xuQGZ1bmN0aW9uIGNvbHVtblZ3KCRjb2x1bW5Db3VudCA6IDEsICRvcmlnaW4gOiAkc2l0ZS1jb2x1bW5zLWwpIHtcblx0QHJldHVybiBjYWxjdWxhdGVDb2x1bW5TaXplKCRjb2x1bW5Db3VudCwgJG9yaWdpbikgKiAxdnc7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEZvbnQgcmVsYXRlZCBmdW5jdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplIGluIFJFTSB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHNpemVzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbiAgICB9XG5cbiAqL1xuXG5cbkBtaXhpbiBmb250LXNpemUoJGZzLCAkbGg6IG51bGwpIHtcbiAgLy8gR2V0IGNvcnJlY3Qga2V5IHdpdGggZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodCBweCB2YWx1ZVxuICAkZm9udC1zaXplLXByb3BlcnRpZXM6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsICRmcyk7XG4gIEBpZiAkZm9udC1zaXplLXByb3BlcnRpZXMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgZm9udC1zaXplKSk7XG5cbiAgICBAaWYoJGxoID09IG51bGwpe1xuICAgICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBsaW5lLWhlaWdodCkgLyBtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGggLyBtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgZm9udC1zaXplKTtcbiAgICB9XG4gIH1cbiAgLy8gV2hlbiBtYXBwaW5nIGlzbid0IGZvdW5kIGNhbGN1bGF0ZSBhcyBpZiBQWC12YWx1ZSB3YXMgZ2l2ZW4gYW5kIHJldHVybiBSRU0gdmFsdWVcbiAgQGVsc2Uge1xuICAgIEBpZiBpcy1udW1iZXIoJGZzKSB7XG4gICAgICBmb250LXNpemU6IHZhbHVlVG9SZW0oJGZzKTtcblxuICAgICAgQGlmKCRsaCAhPSBudWxsKXtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaCAvICRmcztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gXCIgYCN7JGZzfWAgaXMgbm90IGEgdmFsaWQgdmFsdWUuIEl0IG11c3QgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6IGAjeyRmb250LXNpemVzfWBcIjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1RPRE86IHJlbW92ZSBmdW5jdGlvbiBhbmQgdXNlc1xuQG1peGluIGZvbnQoJHNpemUsICRsaDogbnVsbCwgJHdlaWdodDogbnVsbCkge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNpemUsICRsaCk7XG59IiwiLyogTWVkaWEgcXVlcnkgbWl4aW4gZm9yIHdyaXRpbmcgTW9iaWxlIEZpcnN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGZ1bmN0aW9uIGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkYnJlYWtwb2ludCkge1xuXG5cdEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpO1xuXHR9XG5cblx0QHdhcm4gXCJVbmtub3duIGJyZWFrcG9pbnQ6IGAjeyRicmVha3BvaW50fWAgaW4gJGJyZWFrcG9pbnRzLlwiO1xuXHRAcmV0dXJuIG51bGw7XG59XG5cbkBtaXhpbiBtcSgkbWluOiBudWxsLCAkbWF4OiBudWxsKSB7XG5cdCRxdWVyeTogXCJhbGxcIiAhZGVmYXVsdDtcblxuXHQvLyBUcnkgdG8gY29udmVydCAkbWluIHZhbHVlIGlmIG5vdCBudW1iZXIgb3IgbnVsbFxuXHRAaWYodHlwZS1vZigkbWluKSAhPSBudW1iZXIgYW5kICRtaW4gIT0gbnVsbCl7XG5cdFx0JG1pbjogY29udmVydEJyZWFrcG9pbnRLZXlUb1ZhbHVlKCRtaW4pO1xuXHR9XG5cblx0Ly8gVHJ5IHRvIGNvbnZlcnQgJG1heCB2YWx1ZSBpZiBub3QgbnVtYmVyIG9yIG51bGxcblx0QGlmKHR5cGUtb2YoJG1heCkgIT0gbnVtYmVyIGFuZCAkbWF4ICE9IG51bGwpe1xuXHRcdCRtYXg6IGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkbWF4KTtcblx0fVxuXG5cdC8vIHNldCBib3RoIG1pbiBhbmQgbWF4XG5cdEBpZiAoJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwpIHtcblx0XHQkcXVlcnk6IFwiKG1pbi13aWR0aDogI3skbWlufXB4KSBhbmQgKG1heC13aWR0aDogI3skbWF4IC0gMX1weClcIjtcblx0fVxuXHQvLyBzZXQganVzdCBtaW5cblx0QGVsc2UgaWYgKCRtaW4gIT0gbnVsbCBhbmQgJG1heCA9PSBudWxsKSB7XG5cdFx0JHF1ZXJ5OiBcIihtaW4td2lkdGg6ICN7JG1pbn1weClcIjtcblx0fVxuXHQvLyBzZXQganVzdCBtYXhcblx0QGVsc2UgaWYgKCRtaW4gPT0gbnVsbCBhbmQgJG1heCAhPSBudWxsKSB7XG5cdFx0JHF1ZXJ5OiBcIihtYXgtd2lkdGg6ICN7JG1heCAtIDF9cHgpXCI7XG5cdH1cblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAjeyRxdWVyeX0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUb29sYm94IGZ1bmN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiAgTWF0aHMgaGVscGVycy5cbiAqICBIYWx2ZSBhbmQgZG91YmxlIG51bWJlcnMsIHJldHVybmluZyByb3VuZGVkIGludGVnZXJzLlxuXG4gICAgVVNBR0U6XG5cbiAgICAuZm9vIHtcbiAgICAgICAgcGFkZGluZzogaGFsdmUoMzBweCk7XG4gICAgfVxuXG4gKi9cblxuQGZ1bmN0aW9uIHF1YXJ0ZXIoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgLyA0KTtcbn1cblxuQGZ1bmN0aW9uIGhhbHZlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyIC8gMik7XG59XG5cbkBmdW5jdGlvbiBkb3VibGUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiAyKTtcbn1cblxuQGZ1bmN0aW9uIHRyaXBsZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAqIDMpO1xufVxuXG5AZnVuY3Rpb24gcXVhZHJ1cGxlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyICogNCk7XG59XG5cblxuLyoqXG4gKiAgUmVtb3ZlIHRoZSB1bml0IG9mIGEgbGVuZ3RoXG4gKiAgQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuICogIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbiAqL1xuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG5cdEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xuXHRcdEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuXHR9XG5cblx0QHJldHVybiAkbnVtYmVyO1xufVxuXG5cbi8qIENoZWNrIGlmIHZhbHVlIGlzIG51bWJlciAqL1xuXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xuXHRAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJztcbn1cblxuXG4vKiBWYWx1ZSB0byBFbSAqL1xuXG5AZnVuY3Rpb24gdmFsdWVUb1JlbSgkdmFsdWUpIHtcblx0JG5vVW5pdHM6IHN0cmlwLXVuaXQoJHZhbHVlKTtcblx0QHJldHVybiAjeyRub1VuaXRzIC8gMTYgKiAxcmVtfTtcbn1cblxuLyogVmFsdWUgdG8gUmVtICovXG5cbkBmdW5jdGlvbiB2YWx1ZVRvRW0oJHZhbHVlKSB7XG5cdCRub1VuaXRzOiBzdHJpcC11bml0KCR2YWx1ZSk7XG5cdEByZXR1cm4gI3skbm9Vbml0cyAvIDE2ICogMWVtfTtcbn1cblxuXG5cblxuLy8gU2V0IGEgZml4ZWQgc3BhY2UgYmFzZWQgb24gdGhlIDhwdCBncmlkXG4vLyBKdXN0IHBhc3MgdGhlIGZ1bmN0aW9uIGEgbnVtYmVyIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgKDgpcG9pbnRzIHlvdSBuZWVkXG5AZnVuY3Rpb24gc3BhY2UoJHNpemU6ICcxJykge1xuICBAcmV0dXJuIDhweCAqICRzaXplO1xufVxuXG5cblxuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIG9ubHkgZm9yIG1vYmlsZSB2aWV3cG9ydFxuXG4gVVNBR0U6XG5cbiAuZXhhbXBsZSB7XG5cdCBAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG4gIH1cblxuICovXG5cblxuXG5AbWl4aW4gdnNwYWNpbmctcygkdmFsdWVzLi4uKSB7XG4gIEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcbiAgICBAZWFjaCAkaSBpbiAkdmFsdWVzIHtcbiAgICAgIC8vIEJ5IHNldHRpbmcgZ3V0dGVyIHNpemUgYXMgYSBoYWx2ZSBjb2x1bW4gd2lkdGggd2UgY2FuIG1ha2UgJ3NxdWFyZXMnIG9uIG1vYmlsZVxuICAgICAgI3tudGgoJGksIDEpfTogI3soJHNpdGUtZ3V0dGVyLXdpZHRoICogMikgKiBudGgoJGksIDIpfTtcbiAgICB9XG4gIH1cbn1cblxuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIGZvciB2aWV3cG9ydCBsYXJnZXIgdGhhbiBtb2JpbGVcbiAqIEluIGZsZXhpYmxlIHVuaXRzICh2dykgYW5kIG9uIG1heCB2aWV3cG9ydCBpbiBhIGZpeGVkIGFtb3VudCAocHgpXG5cbiBVU0FHRTpcblxuIC5leGFtcGxlIHtcblx0IEBpbmNsdWRlIHZzcGFjaW5nLW0tdXAoXG5cdFx0XHRcdCdwYWRkaW5nLXRvcCcgMC4zMyxcblx0XHRcdFx0J21hcmdpbi1ib3R0b20nIDAuNVxuXHRcdCk7XG4gIH1cblxuICovXG5cbkBtaXhpbiB2c3BhY2luZy1tLXVwKCR2YWx1ZXMuLi4pIHtcbiAgQGluY2x1ZGUgbXEobSwgbCkge1xuICAgIEBlYWNoICRpIGluICR2YWx1ZXMge1xuICAgICAgI3tudGgoJGksIDEpfTogI3soMSAvICgkc2l0ZS1jb2x1bW5zLW0gKyAyKSAqIDEwMCkgKiBudGgoJGksIDIpfXZ3O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtcShsLCAkYnAtbWF4KSB7XG4gICAgQGVhY2ggJGkgaW4gJHZhbHVlcyB7XG4gICAgICAje250aCgkaSwgMSl9OiAjeygxIC8gKCRzaXRlLWNvbHVtbnMtbCArIDIpICogMTAwKSAqIG50aCgkaSwgMil9dnc7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1xKCRicC1tYXgpIHtcbiAgICBAZWFjaCAkaSBpbiAkdmFsdWVzIHtcbiAgICAgICN7bnRoKCRpLCAxKX06ICN7KCRzaXRlLW1heC13aWR0aCAvICRzaXRlLWNvbHVtbnMtbCkgKiBudGgoJGksIDIpfXB4O1xuICAgIH1cbiAgfVxufVxuXG4vKlxuICogRnJvbSB2YWx1ZXMgZ2l2ZW4gcmV0dXJuIHRoZSBjb3JyZWN0IHYtc3BhY2luZyBmb3IgZWFjaCBicmVha3BvaW50XG4gKi9cbkBtaXhpbiB2c3BhY2luZygkdmFsdWVzLi4uKSB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nLXMoJHZhbHVlcy4uLik7XG5cdEBpbmNsdWRlIHZzcGFjaW5nLW0tdXAoJHZhbHVlcy4uLik7XG59XG5cblxuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJvcmRlci1yYWRpdXNcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobCk7XG5cdH1cblxuICovXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkdHlwZTogcykge1xuXHRAaWYgKCR0eXBlID09ICdzJykge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpO1xuXHR9XG5cdEBpZiAoJHR5cGUgPT0gJ20nKSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgbSk7XG5cdH1cblx0QGlmICgkdHlwZSA9PSAnbCcpIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBsKTtcblx0fVxufVxuXG4vKipcbiAqIExvYm90b21pemVkIE93bCBTZWxlY3RvciBtaXhpbjpcbiAqIC0gU2V0IHNwYWNpbmcgZm9yIGNvbnNlY3V0aXZlIGl0ZW1zIHdpdGggbWFyZ2luLXRvcCBvbiBhbGwgYnV0IHRoZSBmaXJzdCBpdGVtXG5cblx0VVNBR0U6XG5cblx0LmJveCB7XG5cdFx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xuXHR9XG5cblx0LmNhcmRfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIG93bDtcblx0fVxuXG4gKi9cblxuLypcbiAqIExvYm90b21pemVkIG93bCBzZWxlY3Rvci5cbiAqIC0gR2l2ZXMgdGhlIGNoaWxkcmVuIG9mIHRoZSBlbGVtZW50IHNwYWNpbmdcbiAqIC0gaHR0cHM6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL2F4aW9tYXRpYy1jc3MtYW5kLWxvYm90b21pemVkLW93bHNcbiAqL1xuQG1peGluIG93bC1jaGlsZHJlbigkbWFyZ2luOiAjeyRsaW5lLWhlaWdodC1yYXRpb31yZW0pIHtcblx0JiA+ICogKyAqIHtcblx0XHRtYXJnaW4tdG9wOiAkbWFyZ2luO1xuXHR9XG59XG5cbi8vIEdpdmVzIHRoZSBlbGVtZW50IGl0c2VsZiBzcGFjaW5nXG5AbWl4aW4gb3dsKCRtYXJnaW46ICN7JGxpbmUtaGVpZ2h0LXJhdGlvfXJlbSkge1xuXHQmICsgJiB7XG5cdFx0bWFyZ2luLXRvcDogJG1hcmdpbjtcblx0fVxufVxuXG4vKipcbiAqICBTaG93IGh5cGhlbnMgZm9yIGV2ZXJ5IGJyb3dzZXIgc3VwcG9ydGluZyBpdFxuICogIGFuZCB3aWxsIGJyZWFrIGxpbmVzIGluIGV2ZXJ5IG90aGVyIGJyb3dzZXJcbiAqL1xuXG5AbWl4aW4gaHlwaGVuYXRlIHtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XG5cdC1tcy1oeXBoZW5zOiBhdXRvO1xuXHRoeXBoZW5zOiBhdXRvO1xufVxuXG5cbi8vIHdoZW4gaG92ZXIgb3IgYWN0aXZlIGRpc2FibGUgb3V0bGluZSBzdHlsaW5nXG5AbWl4aW4gZGlzYWJsZU91dGxpbmVGb3JNb3VzZSB7XG5cdCY6aG92ZXIsXG5cdCY6YWN0aXZlIHtcblx0XHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG5cbi8qXG4gKiAgUmVzdHJpY3QgYW4gZWxlbWVudCB0byBhIG1heC13aWR0aCBmb3IgY3JlYXRpbmcgZ3V0dGVycyBvbiB0aGUgc2lkZVxuICovXG5cbkBtaXhpbiBjb250YWluKCRvbk1lZGl1bTogdHJ1ZSkge1xuXHR3aWR0aDogY2FsYygxMDAlIC0gI3tkb3VibGUoJHNpdGUtZ3V0dGVyLXdpZHRoKX0pOyAvLyBNYWtpbmcgc3VyZSBpdCBkb2VzbuKAmXQgZ2V0IHRvIHNtYWxsIHdpdGggbGl0dGxlIGNvbnRlbnRcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0QGlmKCRvbk1lZGl1bSA9PSB0cnVlKSB7XG5cdFx0XHR3aWR0aDogY2FsYygoMTAwJSAvICN7JHNpdGUtY29sdW1ucy1tICsgMn0pICogI3skc2l0ZS1jb2x1bW5zLW19KTtcblx0ICAgIH0gQGVsc2Uge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuICB9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjYWxjKCgxMDAlIC8gI3skc2l0ZS1jb2x1bW5zLWwgKyAyfSkgKiAjeyRzaXRlLWNvbHVtbnMtbH0pO1xuXHRcdG1heC13aWR0aDogI3skc2l0ZS1tYXgtd2lkdGh9cHg7XG5cdH1cbn1cblxuXG5AbWl4aW4gZ3V0dGVyUGFkZGluZygkbXEpe1xuXHQkY29sdW1uQ291bnQ6ICRzaXRlLWNvbHVtbnMtcztcblxuXHRAaWYoJG1xID09IG0pIHsgJGNvbHVtbkNvdW50OiAkc2l0ZS1jb2x1bW5zLW07IH1cblx0QGlmKCRtcSA9PSBsKSB7ICRjb2x1bW5Db3VudDogJHNpdGUtY29sdW1ucy1sOyB9XG5cblx0QGluY2x1ZGUgbXEoJG1xKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBwZXJjZW50YWdlKDEgLyAoJGNvbHVtbkNvdW50ICsgMikpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHBlcmNlbnRhZ2UoMSAvICgkY29sdW1uQ291bnQgKyAyKSk7XG5cdH1cbn1cblxuXG4vKlxuICpcdEEgbWl4aW4gdG8gc2V0IGVsZW1lbnRzIHRvIGl0cyBvd24gbmFtZWQgZ3JpZC1hcmVhXG4gKi9cblxuQG1peGluIHRlbXBsYXRlKCRlbGVtZW50cy4uLikge1xuXHRAZWFjaCAkZWxlbWVudCBpbiAkZWxlbWVudHMge1xuXHRcdCZfXyN7JGVsZW1lbnR9IHtcblx0XHRcdGdyaWQtYXJlYTogJGVsZW1lbnQ7XG5cdFx0XHRkaXNwbGF5OiBibG9jazsgLy8gSW4gSUUgZ3JpZCBpdGVtcyBjYW4ndCBiZSBpbmxpbmVcblx0XHR9XG5cdH1cbn1cbiIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgVGhlICd6LWluZGV4LW1hcCcgaXMgdXNlZCBmb3IgbWFuYWdpbmcgdGhlIGVsZW1lbnRzIHN0YWNraW5nIG9yZGVyIGluIHRoZSAncm9vdCcgc3RhY2tpbmcgY29udGV4dFxuICogIFRoaXMgd2F5IHdlIGhhdmUgYSBvdmVydmlldyBvZiBhbGwgdGhlIHotaW5kZXggdmFsdWVzIHRoYXQgYXJlIHVzZWQgYWNyb3NzIHRoZSBwcm9qZWN0LlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4kei1pbmRleDogKFxuXHR6LXZpc2libGUtZ3JpZDpcdFx0XHQxMDAwMCxcblx0ei1jb29raWU6XHRcdCBcdFx0XHRcdDk5OTksXG5cdHotb3ZlcmxheS1tZW51Olx0XHRcdDEwMCxcblx0ei1oZWFkZXI6IFx0XHRcdFx0XHQ1MCxcblx0ei1ib2R5Olx0XHRcdFx0XHRcdFx0NDAsXG5cdHotZm9vdGVyOlx0XHRcdFx0IFx0XHQyMCxcblx0ei1zdWJmb290ZXI6XHRcdFx0XHQxMCxcbik7XG5cblxuLyoqXG4gICAgVVNBR0U6XG5cbiAgICBAaW5jbHVkZSB6KHotbW9kYWwpO1xuXG4gKi9cblxuQG1peGluIHooJGxhYmVsKSB7XG5cdHotaW5kZXg6IG1hcC1nZXQoJHotaW5kZXgsJGxhYmVsKTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQmFzaWMgZWxlbWVudHMgKG5vIGNsYXNzIHNlbGVjdG9ycyBhbGxvd2VkKVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBTZXQgdXAgdGhlIGh0bWxcbiAqXG4gKiAxLiBNYWtlcyBzdXJlIHRoYXQgc29tZSBmb250cyBhcmUgYmV0dGVyIHJlbmRlcmVkXG4gKiAyLiBTZXQgZm9udCB0byBsaW5pbmcgZmlndXJlc1xuICpcbiAqIDMuIEF2b2lkIHRoZSBJRSAxMC0xMSBgbWluLWhlaWdodGAgYnVnLlxuICogNC4gVXNlIGAlYCBpbnN0ZWFkIG9mIGB2aGAgc2luY2UgYHZoYCBpcyBidWdneSBpbiBvbGRlciBtb2JpbGUgU2FmYXJpLlxuICovXG5cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxudW1cIjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtcmF0aW87XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1yb2JvdG87XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcbiAgYmFja2dyb3VuZDogcGFsZXR0ZShuZXV0cmFsLCAwKTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7IC8qIDMsIDQgKi9cbn1cblxuZm9vdGVyIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cblxuLyoqXG4gKiBbMV0gTWFrZSBzdXJlIGVsZW1lbnRzIGxpa2UgaW5wdXQgYW5kIHRleHRhcmVhIGluaGVyaXQgc29tZSBiYXNlIHByb3BlcnRpZXNcbiAqICAgICBodHRwczovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE2LzExL2Nzcy1pbmhlcml0YW5jZS1jYXNjYWRlLWdsb2JhbC1zY29wZS1uZXctb2xkLXdvcnN0LWJlc3QtZnJpZW5kcy9cbiAqXG4gKiBbMl0gU2V0dGluZyBib3gtc2l6aW5nIHRoZSBiZXN0IHdheSBwZXI6XG4gKiAgICAgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG4gKi9cbioge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICYsXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG59XG5cbi8qKlxuICogWzFdIFR1cm4gb2ZmIHRleHQtc2hhZG93IHdoZW4gc2VsZWN0aW5nIHRleHQgZm9yIGJldHRlciByZWFkYWJpbGl0eVxuICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApO1xuICBjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IC8qIFsxXSAqL1xufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gYXJvdW5kIGZpZ3VyZVxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogWzFdIFNldHRpbmcgJ3ZlcnRpY2FsLWFsaWduJyByZW1vdmVzIHRoZSB3aGl0ZXNwYWNlIHRoYXQgYXBwZWFycyB1bmRlciAnaW1nJ1xuICpcdCAgIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZCBpbnRvIGEgcGFnZSBhcy1pcy4gU2FmZXIgYWx0ZXJuYXRpdmUgdG9cbiAqXHQgICB1c2luZyAnZGlzcGxheTogYmxvY2s7Jy5cbiAqIFsyXSBSZW1vdmUgYm9yZGVyIC8gZXNwZWNpYWxseSBvbiBvbGRlciBicm93c2Vyc1xuICovXG5pbWcsIHN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qWzFdKi9cbiAgYm9yZGVyOiBub25lOyAvKlsyXSovXG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiAgTmVlZGVkIGZvciBpT1MgdG8gcHJldmVudCBpbnB1dCB6b29taW5nXG4gKiAgaHR0cHM6Ly91eGNlbGxlbmNlLmNvbS8yMDE0LzAxLzE1L3F1aWNrLWZpeC1pbmNyZWFzZS1mb250LXNpemUtdG8tMTZweC10by1maXgtaW5wdXQtem9vbVxuICovXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG5cbi8vIExpbmtzIHdpdGggbm8gY2xhc3MgZ2V0IGEgZGVmYXVsdCBob3ZlclxuYTpub3QoW2NsYXNzXSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bzsgLy8gcHJldHR5IHVuZGVybGluaW5nIGxpbmtzXG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MsIG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVE9ETzogSXMgdGhpcyB0aGUgcmlnaHQgd2F5IHRvIHJlc2V0IGFsbCBtYXJnaW4/P1xuLy8gUmVzZXQgYWxsIHRvcCBtYXJnaW5zXG5oMSxoMixoMyxoNCxoNSxoNixoZ3JvdXAsXG51bCxvbCxkZCxcbnAsZmlndXJlLFxucHJlLHRhYmxlLGZpZWxkc2V0LGhyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn0iLCJoMSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eHhsKTtcbn1cblxuaDIge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHhsKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDMge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5oNCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDUsIGg2IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICpcdERlZmF1bHQgaW5kZW50YXRpb24gdmFsdWUgZm9yIGxpc3RzXG4gKi9cblxudWwsXG5vbHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tbGVmdDogMS4xMjVlbTtcbn1cblxuZGR7XG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cblxuLyoqXG4gKlx0UmVtb3ZlIGV4dHJhIHZlcnRpY2FsIHNwYWNpbmcgd2hlbiBuZXN0aW5nIGxpc3RzLlxuICovXG5cbmxpIHtcblx0PiB1bCxcblx0PiBvbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbnRhaW5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmwtY29udGFpbiB7XG4gIEBpbmNsdWRlIGNvbnRhaW47XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBTcGxpdCBsYXlvdXQgaW4gMiBlcXVhbCBjb2x1bW5zXG4gKlxuICogVW50aWwgdmlld3BvcnQgaXMgd2lkZSBlbm91Z2ggdGhlIGNvbHVtbnMgYXJlIHN0YWNrZWQgdmVydGljYWxseVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmwtc3BsaXQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdGhlaWdodDogMTAwJTsgLy8gc3RyZXRjaCBpdCBvdXQgaW4gaXRzIGNvbnRhaW5lclxuXG5cdC8vIFNldCBzaWRlIGJ5IHNpZGUgZnJvbSBtZWRpdW0gdmlld3BvcnRzIGFuZCB1cFxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi8qKlxuICogU3BlY2lhbCBjb250YWluIHZlcnNpb24gZm9yIHNwbGl0LlxuICogRG9lc24ndCByZXN0cmFpbiBjb250ZW50IG9uIG1lZGl1bSB2aWV3cG9ydFxuICovXG5cbi5sLXNwbGl0LS1jb250YWluIHtcblx0QGluY2x1ZGUgY29udGFpbigkb25NZWRpdW06IGZhbHNlKTtcbn1cblxuXG4ubC1zcGxpdF9fY29sdW1uIHtcblxuXHQvLyBPbiBkZXNrdG9wIGNvbHVtbnMgYXJlIDUwLzUwXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsIDEyKTtcblx0fVxuXG5cdC8vIE1haW4gY29udGVudCBnb2VzIGZpcnN0LCB1c3VhbGx5IHRleHRcblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdFx0d2lkdGg6IGNvbHVtbig1LCA4KTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCA4KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEyKTtcblx0XHR9XG5cdH1cblxuXHQvLyBzZWNvbmRhcnkgY29udGVudCBnb2VzIGxhc3QsIHVzdWFsbHkgYW4gaW1hZ2Ugb3IgYXNpZGUgdGV4dFxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdC8vIENyZWF0ZSB2ZXJ0aWNhbCBzcGFjaW5nIG9uIG1vYmlsZVxuXHRcdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHRcdCdtYXJnaW4tdG9wJyAwLjVcblx0XHQpO1xuXHRcdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRcdHdpZHRoOiBjb2x1bW4oMywgOCk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gVmlzdWFsbHkgc3dpdGNoIGNvbHVtbnMgb24gbWVkaXVtICYgbGFyZ2Ugdmlld3BvcnRzXG5cdC5sLXNwbGl0LS1pcy1yZXZlcnNlZCAmIHtcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG9yZGVyOiAyO1xuXG5cdFx0XHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDgpO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBpbmNsdWRlIG1xKG0sIGwpIHtcblx0Lmwtc3BsaXQtLWJyZWFrb3V0LW9uLW0ge1xuXHRcdC5sLXNwbGl0X19jb2x1bW4ge1xuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHdpZHRoOiBjb2x1bW4oNiwgMTApO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMCk7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCAxMCk7XG5cdFx0XHR9XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHR3aWR0aDogY29sdW1uKDQsIDEwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKipcbiAqIFdoZW4gdGhlcmUgaXMgb25seSAxIGNvbHVtbiwgYWxpZ24gaXQgdG8gdGhlIG1pZGRsZSBhbmQgY29udGFpbiB0aGUgd2lkdGhcbiAqIE9ubHkgb25lIGNvbHVtbiBpcyB1c2VkIGUuZy4gaW4gdGhlIHRhYnNsaWRlciB3aGVuIHRoZXJlIGlzIG5vIGltYWdlIHNldFxuICovXG4ubC1zcGxpdF9fY29sdW1uOm9ubHktY2hpbGQge1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0d2lkdGg6IGNvbHVtbig2LCA4KTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LCAxMik7XG5cdFx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG4vLyBDb2x1bW5zIHRoYXQgaGF2ZSB0ZXh0IGluc3RlYWQgb2YgYW4gaW1hZ2UgbmVlZCBzb21lIHBhZGRpbmcgb24gdG9wXG4vLyB0byBhbGlnbiB0aGVtIHdpdGggdGhlIG90aGVyIGNvbHVtbiB0aGF0IGhhcyBwYWRkaW5nLXRvcCB0b29cbi5sLXNwbGl0X19jb2x1bW4tLXZwYWQge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNSk7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoMTApO1xuXHRcdG1hcmdpbi1ib3R0b206IHNwYWNlKDEwKTtcblx0fVxufVxuXG5cbi8vIENyZWF0ZSBhIGNvbHVtbiBleHRyYSB3aGl0ZSBzcGFjZSB0byB0aGUgbGVmdCAob24gbGFyZ2Ugdmlld3BvcnRzKVxuQGluY2x1ZGUgbXEobCkge1xuXHQubC1zcGxpdF9fY29sdW1uLS1sZWZ0cGFkIHtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0fVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJlc3RyaWN0XG4gKlxuICogV2hlbiBhIGJsb2NrIHNob3VsZG4ndCB0YWtlIHVwIHRoZSB3aG9sZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyXG4gKiB3ZSBjYW4gcmVzdHJpY3QgdGhlIG1heGltdW0gd2lkdGhcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmwtcmVzdHJpY3QtbmFycm93IHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogY29sdW1uKDYsOCk7XG4gICAgbWF4LXdpZHRoOiAzOGVtO1xuICB9XG4gIEBpbmNsdWRlIG1xKGwpe1xuICAgIHdpZHRoOiBjb2x1bW4oNiwxMik7XG4gIH1cbn1cblxuLmwtcmVzdHJpY3Qtd2lkZSB7XG4gIEBpbmNsdWRlIG1xKG0pe1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogY29sdW1uKDcsOCk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsKXtcbiAgICB3aWR0aDogY29sdW1uKDgsMTIpO1xuICB9XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb21wb25lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQGltcG9ydCBcImNvbXBvbmVudHMuYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5naG9zdGJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY2FyZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY2xvc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNvbm5lY3RcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmRhdGFcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmRhdGVMYWJlbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZG93bmxvYWRMaXN0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5ldmVudENhcmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZpbGVVcGxvYWRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZvcm1Hcm91cFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZm9ybUZlZWRiYWNrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5oYW1idXJnZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhlYWRpbmdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhlcm9cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmluZm9cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmlucHV0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5sYW5ndWFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMubmF2XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wYWdlVGl0bGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnByb2plY3RvclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2VydmljZVBvaW50XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zaXRlbWFwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5za2lwTGlua1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2xpZGUtaW5kaWNhdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zdWJuYXZcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnRleHQtYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy50b2dnbGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnRyYWRlbWFya1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudmFjYW5jeVByb3BlcnRpZXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnZpZGVvXCI7IiwiLmMtYnJlYWRjcnVtYiB7XG5cdHBhZGRpbmctYm90dG9tOiA0cHg7IC8vIG1ha2Ugc3VyZSB0b3RhbCBoZWlnaHQgd2lsbCBiZSBkaXZpc2libGUgYnkgOFxuIH1cblxuLmMtYnJlYWRjcnVtYl9fbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG5cbi5jLWJyZWFkY3J1bWJfX2l0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdCY6bnRoLWNoaWxkKG4rMikge1xuXHRcdCYgLmMtYnJlYWRjcnVtYl9faWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0d2lkdGg6IHNwYWNlKDMpO1xuXHRcdFx0aGVpZ2h0OiBzcGFjZSgzKTtcblx0XHRcdG1hcmdpbi1sZWZ0OiBzcGFjZSgxKTtcblx0XHRcdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG5cdFx0XHQvL2NvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdFx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHRcdH1cblx0fVxufVxuXG4uYy1icmVhZGNydW1iX19saW5rIHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdC5jLWJyZWFkY3J1bWJfX2l0ZW0tLWxhc3QgJiB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWJ1dHRvbjogKFxuXHQnY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2JnY29sb3InOlx0XHRcdHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLFxuXHQnYmdjb2xvci1ob3Zlcic6XHRzY2FsZS1jb2xvcihwYWxldHRlKHNlY29uZGFyeSwgNTAwKSwgJGxpZ2h0bmVzczogLTIwJSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1idXR0b24ge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKHMpO1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWJ1dHRvbiwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtYnV0dG9uLCAnYmdjb2xvcicpO1xuXHR0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogc3BhY2UoMikgMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCBwYWxldHRlKG5ldXRyYWwsIDApLCAwIDAgNXB4IDJweCBtYXAtZ2V0KCRjLWJ1dHRvbiwgJ2JnY29sb3InKTtcblx0fVxuXHQmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHR9XG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR9XG5cblx0Ly8gUHNldWRvIGVsZW1lbnQgZm9yIGFuaW1hdGluZyBob3ZlclxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMTtcblx0XHR0b3A6IGNhbGMoNTAlIC0gMnB4KTtcblx0XHRsZWZ0OiBjYWxjKDUwJSAtIDJweCk7XG5cdFx0d2lkdGg6IDRweDtcblx0XHRoZWlnaHQ6IDRweDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjLWJ1dHRvbiwgJ2JnY29sb3ItaG92ZXInKTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcblx0fVxuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCk6OmFmdGVyIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMTAwKTtcblx0fVxufVxuXG4uYy1idXR0b25fX3RleHQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdHBhZGRpbmc6IDAgc3BhY2UoMyk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQuYy1idXR0b24tLWljb24gJiB7XG5cdFx0cGFkZGluZy1yaWdodDogc3BhY2UoMik7XG5cdH1cbn1cblxuLmMtYnV0dG9uX19pY29uIHtcblx0ZGlzcGxheTogbm9uZTsgLy8gQnkgZGVmYXVsdCBpY29uIGlzIGhpZGRlblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdHRvcDogLTFweDtcblx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdH1cblxuXHQvLyBXaGVuIGljb24gY29tZXMgYmVmb3JlIHRoZSB0ZXh0IChpbiB0aGUgRE9NKSBzd2l0Y2ggdGhlIG1hcmdpblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XG5cdH1cblxuXHQuYy1idXR0b24tLWljb24gJiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7IC8vIFNob3cgd2hlbiBoYXMgaWNvbiBtb2RpZmllclxuXHRcdHdpZHRoOiAxNnB4O1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIERlZmF1bHQgYnV0dG9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kYy1naG9zdC1idXR0b246IChcblx0J2NvbG9yJzpcdHBhbGV0dGUobmV1dHJhbCwgMCksXG4pO1xuXG5cbi5jLWdob3N0YnV0dG9uIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogbWFwLWdldCgkYy1naG9zdC1idXR0b24sICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0dGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLDAsMCwwLjIpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG5cdHBhZGRpbmc6IHNwYWNlKDIpIDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiAwIDAgNHB4IDJweCByZ2JhKG1hcC1nZXQoJGMtZ2hvc3QtYnV0dG9uLCAnY29sb3InKSwgMC41KTtcblxuXHR9XG5cdCY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0fVxuXG5cdC8vIEJvcmRlciB3aXRoIHBzZXVkbyBlbGVtZW50IGZvciBhbmltYXRpb25cblx0Jjo6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0YmFja2dyb3VuZDogcmdiYShwYWxldHRlKG5ldXRyYWwsIDEwMDApLCAwLjA3KTtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTFweDtcblx0XHRib3R0b206IC0xcHg7XG5cdFx0cmlnaHQ6IC0xcHg7XG5cdFx0bGVmdDogLTFweDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IC41cztcblx0fVxuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IC4zNXM7XG5cdFx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWdob3N0YnV0dG9uX190ZXh0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHRwYWRkaW5nOiAwIHNwYWNlKDMpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LmMtYnV0dG9uLS1pY29uICYge1xuXHRcdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDIpO1xuXHR9XG59XG5cbi5jLWdob3N0YnV0dG9uX19pY29uIHtcblx0ZGlzcGxheTogbm9uZTsgLy8gQnkgZGVmYXVsdCBpY29uIGlzIGhpZGRlblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdHRvcDogLTFweDtcblx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy1naG9zdGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcblx0fVxuXG5cdC5jLWdob3N0YnV0dG9uLS1pY29uICYge1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0XHR3aWR0aDogMTZweDtcblx0fVxuXG5cdC8vIFdoZW4gaWNvbiBjb21lcyBiZWZvcmUgdGhlIHRleHQgKGluIHRoZSBET00pIHN3aXRjaCB0aGUgbWFyZ2luXG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ2FyZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWNhcmQ6IChcblx0J2xhYmVsLWJnY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG5cdCdsYWJlbC1jb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2xhYmVsLWJnY29sb3ItaG92ZXInOlx0cGFsZXR0ZShzZWNvbmRhcnksIDUwMCksXG5cdCdsYWJlbC1jb2xvci1ob3Zlcic6XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG5cdCdhcnJvdy1jb2xvci1ob3Zlcic6XHRwYWxldHRlKHNlY29uZGFyeSwgNTAwKSxcblx0J2JnY29sb3ItaG92ZXInOlx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMDApLFxuXHQnaW5mby1iZ2NvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1jYXJkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIENhcmQgdGhhdCBkb2VzIHNvbWUgYW5pbWF0aW9ucyBvbiBob3ZlclxuICovXG4uYy1jYXJkLS1oYXMtYWN0aW9uIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLy8gYmVjYXVzZSBvZiBwc2V1ZG8gZWxlbWVudFxuXHR6LWluZGV4OiAwO1xuXG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cblx0Ly8gU2hhZGVkIGJhY2tncm91bmQgKEhJRERFTiBieSBkZWZhdWx0KVxuXHQmOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkYy1jYXJkLCdiZ2NvbG9yLWhvdmVyJyksIDAuOTIpO1xuXHRcdGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2JhKG1hcC1nZXQoJGMtY2FyZCwnYmdjb2xvci1ob3ZlcicpLDAuOCkgMCUsIHJnYmEobWFwLWdldCgkYy1jYXJkLCdiZ2NvbG9yLWhvdmVyJyksMC45MikgMTAwJSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMzUlKSByb3RhdGUoLTExZGVnKSBzY2FsZSgxLjMpO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMTAwbXM7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1LCAwLjEsIDAuMywgMSk7XG5cdH1cblxuXHQvLyBBcnJvdyAoSElEREVOIGJ5IGRlZmF1bHQpXG5cdC8vIENvbnRhaW5zIGFuIFNWRyBhcnJvdyBpY29uIGluIHRoZSBiYWNrZ3JvdW5kLWltYWdlXG5cdCY6OmFmdGVyIHtcblx0XHR6LWluZGV4OiAyO1xuXHRcdHdpZHRoOiAyNXB4O1xuXHRcdG1hcmdpbjogYXV0bztcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBzdmctdXJsKCc8c3ZnIHZpZXdCb3g9XCIwIDAgMTYgMTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZmlsbD1cIiN7bWFwLWdldCgkYy1jYXJkLCdhcnJvdy1jb2xvci1ob3ZlcicpfVwiIGQ9XCJNMTMuNCA2Ljc4M0guNzYyQS43NzIuNzcyIDAgMCAxIDAgNmMwLS40MzIuMzQxLS43ODMuNzYyLS43ODNIMTMuNEw5LjYyMyAxLjMzNmEuNzk4Ljc5OCAwIDAgMSAwLTEuMTA3Ljc0Ny43NDcgMCAwIDEgMS4wNzcgMGw1LjA3NyA1LjIxOGEuNzk4Ljc5OCAwIDAgMSAwIDEuMTA2TDEwLjcgMTEuNzcxYS43NDcuNzQ3IDAgMCAxLTEuMDc3IDAgLjc5OC43OTggMCAwIDEgMC0xLjEwN0wxMy40IDYuNzgzelwiLz48L3N2Zz4nKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuNzUpO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdC8vIFNoYWRlZCBiYWNrZ3JvdW5kIChWSVNJQkxFIHdoZW4gaG92ZXJlZClcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRvcGFjaXR5OiAwLjkyO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTExZGVnKSBzY2FsZSgxLjMpO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiA1MG1zO1xuXHRcdH1cblx0XHQvLyBBcnJvdyAoVklTSUJMRSB3aGVuIGhvdmVyZWQpXG5cdFx0JjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblx0XHR9XG5cdH1cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogbWFwLWdldCgkYy1jYXJkLCdiZ2NvbG9yLWhvdmVyJyk7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuLmMtY2FyZF9fcGljdHVyZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRmbGV4OiBhdXRvO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtY2FyZF9faW1nIHtcblx0b2JqZWN0LWZpdDogY292ZXI7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLWNhcmRfX2xhYmVsIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAxNHB4IDEwcHggMTVweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogbWVkaXVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogbWFwLWdldCgkYy1jYXJkLCdsYWJlbC1jb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2xhYmVsLWJnY29sb3InKTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG5cblx0LmMtY2FyZC0taGFzLWFjdGlvbjpob3ZlciAmIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1jYXJkLCdsYWJlbC1jb2xvci1ob3ZlcicpO1xuXHR9XG5cblx0Ly8gQ29sb3JlZCBiYWNrZ3JvdW5kIGJlaGluZCBsYWJlbCAoSElEREVOIGJ5IGRlZmF1bHQpXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IC0xO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2xhYmVsLWJnY29sb3ItaG92ZXInKTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHQvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKSByb3RhdGUoNWRlZykgc2NhbGUoMik7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwMCUpIHJvdGF0ZSgxMWRlZykgc2NhbGUoMS41LCAzKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NSwgMC4xLCAwLjMsIDEpO1xuXG5cdFx0LmMtY2FyZC0taGFzLWFjdGlvbjpob3ZlciAmIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKSBzY2FsZSgyKTtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMG1zO1xuXHRcdH1cblx0fVxufVxuXG4uYy1jYXJkX19pbmZvIHtcblx0cGFkZGluZzogc3BhY2UoMikgc3BhY2UoNCk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnaW5mby1iZ2NvbG9yJyk7XG59XG4uYy1jYXJkX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udChtKTtcblx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNTAwKTtcbn1cbi5jLWNhcmRfX3N1YmhlYWRpbmcge1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA0MDApO1xufVxuLmMtY2FyZF9fdGV4dGxpbmUge1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA0MDApO1xuXG5cdC8vIFdoZW4gaXQgZm9sbG93cyBhbiBlbGVtZW50IHRoYXQncyBub3QgbGlrZSBpdHNlbGZcblx0Kjpub3QoI3smfSkgKyAmIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcblx0fVxufVxuLmMtY2FyZF9fZW1haWwge1xuXHRAaW5jbHVkZSBmb250KHMpO1xuXHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA3MDApO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ2xvc2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1jbG9zZTogKFxuXHQnY29sb3InOiAgcGFsZXR0ZShuZXV0cmFsLCAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWNsb3NlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogc3BhY2UoNSk7XG5cdGhlaWdodDogc3BhY2UoNSk7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXMgZWFzZS1vdXQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDNweCAycHggbWFwLWdldCgkYy1jbG9zZSwgJ2NvbG9yJyk7XG5cdH1cblxuXHQmOmFmdGVyLFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMjBweDtcblx0XHRyaWdodDogMjAlO1xuXHRcdGxlZnQ6IDIwJTtcblx0XHRoZWlnaHQ6IDNweDtcblx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IG1hcC1nZXQoJGMtY2xvc2UsICdjb2xvcicpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0fVxuXHQmOmJlZm9yZSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENvbm5lY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1jb25uZWN0OiAoXG5cdCdjb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2NvbG9yLWFsdCc6XHRwYWxldHRlKG5ldXRyYWwsIDUwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG5cbi5jLWNvbm5lY3Qge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHR9XG59XG5cblxuLmMtY29ubmVjdF9fcGhvbmUge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRAaW5jbHVkZSBmb250KG0pO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogbWFwLWdldCgkYy1jb25uZWN0LCAnY29sb3InKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuXG4uYy1jb25uZWN0X19vciB7XG5cdG1hcmdpbjogMCBzcGFjZSgyKTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtY29ubmVjdCwgJ2NvbG9yLWFsdCcpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXJnaW46IHNwYWNlKDEpIDAgc3BhY2UoMik7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IERhdGFcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1kYXRhOiAoXG4gICdjb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA4MDApLFxuICAnY29sb3ItYWx0JzpcdFx0cGFsZXR0ZShuZXV0cmFsLCA1MDApLFxuICAnYmdjb2xvci1ob3Zlcic6XHRzY2FsZS1jb2xvcihwYWxldHRlKHNlY29uZGFyeSwgNTAwKSwgJGxpZ2h0bmVzczogLTIwJSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmMtZGF0YSB7XG5cdG1hcmdpbjogc3BhY2UoMikgMDtcbn1cblxuLmMtZGF0YV9fbGluZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5jLWRhdGFfX2xhYmVsIHtcblx0bWluLXdpZHRoOiBzcGFjZSg4KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWRhdGEsICdjb2xvcicpO1xufVxuXG4uYy1kYXRhX192YWx1ZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGMtZGF0YSwgJ2NvbG9yLWFsdCcpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0JltocmVmXSB7XG5cdFx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHRcdH1cblx0fVxufSIsIi5jLWRhdGUtbGFiZWwge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IHNwYWNlKDAuNSkgc3BhY2UoMyk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi5jLWRhdGUtbGFiZWwtLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcbn1cblxuXG4uYy1kYXRlLWxhYmVsX19kYXkge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIHRpbWUgZWxlbWVudCBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIGRlZmF1bHRcbn1cblxuXG4uYy1kYXRlLWxhYmVsX19tb250aCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShtKTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyB0aW1lIGVsZW1lbnQgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSBkZWZhdWx0XG59IiwiLmMtZG93bmxvYWQtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBwYWxldHRlKG5ldXRyYWwsIDMwMCk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMzAwKSwgMC4yKTtcbiAgfVxufVxuXG4uYy1kb3dubG9hZC1saXN0X19saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogc3BhY2UoMSkgMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy1kb3dubG9hZC1saXN0X19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTZweDtcblxuICBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5jLWRvd25sb2FkLWxpc3RfX3RleHQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gIHBhZGRpbmctbGVmdDogc3BhY2UoMSk7XG5cbiAgLmMtZG93bmxvYWQtbGlzdF9faXRlbTpob3ZlciAmIHtcbiAgICBjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuICB9XG59XG4iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENhcmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1ldmVudC1jYXJkOiAoXG5cdCdiZ2NvbG9yLWhvdmVyJzpcdFx0cGFsZXR0ZShzZWNvbmRhcnksIDUwMCksXG5cdCdjb2xvci1ob3Zlcic6XHRcdCAgICBwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtZXZlbnQtY2FyZCB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47IC8vIGJlY2F1c2Ugb2YgcHNldWRvIGVsZW1lbnRcblx0ei1pbmRleDogMDtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBtYXAtZ2V0KCRjLWV2ZW50LWNhcmQsJ2JnY29sb3ItaG92ZXInKTtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG5cbi5jLWV2ZW50LWNhcmRfX3BpY3R1cmUge1xuXHR3aWR0aDogMTAwJTtcblx0ZmxleDogbm9uZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAwO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjYwKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XG5cdH1cblxuXHQuYy1ldmVudC1jYXJkOmhvdmVyICYge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxufVxuXG5cbi5jLWV2ZW50LWNhcmRfX2ltZyB7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG5cbi5jLWV2ZW50LWNhcmRfX2RhdGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDE7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShzZWNvbmRhcnksIDUwMCk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjtcblxuXHQuYy1ldmVudC1jYXJkOmhvdmVyICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtZXZlbnQtY2FyZCwgJ2JnY29sb3ItaG92ZXInKTtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1ldmVudC1jYXJkLCAnY29sb3ItaG92ZXInKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuXG5cdH1cbn1cblxuXG4uYy1ldmVudC1jYXJkX19pbmZvIHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogc3BhY2UoMikgc3BhY2UoMyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xuXG5cdC5jLWV2ZW50LWNhcmQ6aG92ZXIgJiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1ldmVudC1jYXJkLCdiZ2NvbG9yLWhvdmVyJyk7XG5cdH1cbn1cblxuXG4uYy1ldmVudC1jYXJkX190aXRsZSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjtcblxuXHQuYy1ldmVudC1jYXJkOmhvdmVyICYge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLWV2ZW50LWNhcmQsICdjb2xvci1ob3ZlcicpICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG4uYy1ldmVudC1jYXJkX19zdWJ0aXRsZSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA0MDApO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xuXG5cdC5jLWV2ZW50LWNhcmQ6aG92ZXIgJiB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtZXZlbnQtY2FyZCwgJ2NvbG9yLWhvdmVyJykgIWltcG9ydGFudDtcblx0fVxufVxuXG5cbi5jLWV2ZW50LWNhcmRfX3R5cGUge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDMwMCk7XG5cdHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XG5cblx0LmMtZXZlbnQtY2FyZDpob3ZlciAmIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1ldmVudC1jYXJkLCAnY29sb3ItaG92ZXInKSAhaW1wb3J0YW50O1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBmaWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtZmlsZS11cGxvYWQ6IChcblx0J2NvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDkwMCksXG5cdCdiZ2NvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYmdjb2xvci1ob3Zlcic6XHRzY2FsZS1jb2xvcihwYWxldHRlKHNlY29uZGFyeSksICRsaWdodG5lc3M6IC0yMCUpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtZmlsZS11cGxvYWRfX21haW4ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLmMtZmlsZS11cGxvYWRfX2lucHV0IHtcblx0b3BhY2l0eTogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG59XG5cblxuLmMtZmlsZS11cGxvYWRfX2J1dHRvbiB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IG1hcC1nZXQoJGMtZmlsZS11cGxvYWQsICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWZpbGUtdXBsb2FkLCAnYmdjb2xvcicpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG5cdHBhZGRpbmc6IHNwYWNlKDIpIHNwYWNlKDMpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBhbGwgMTUwbXM7XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2FkZC5zdmcpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0d2lkdGg6IDE2cHg7XG5cdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxufVxuXG5cbi5jLWZpbGUtdXBsb2FkX19saXN0IHtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDMpO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdCYgPiBsaSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuXHRcdHBhZGRpbmc6IHNwYWNlKDAuNSkgMDtcblx0XHRhbmltYXRpb246IGV4cGFuZCAuNXMgZWFzZS1pbi1vdXQ7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKFwiL2ltZy9maWxlLnN2Z1wiKSBuby1yZXBlYXQ7XG5cdFx0fVxuXG5cdFx0Ly8gZGVsZXRlIGJ1dHRvblxuXHRcdCYgPiBidXR0b24ge1xuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdFx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMTUwbXMgbGluZWFyO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IHJlZDtcblx0XHRcdH1cblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ1xcMDBENyc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLmMtZmlsZS11cGxvYWRfX25vdGUge1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA0MDApO1xufVxuXG5cbkBrZXlmcmFtZXMgZXhwYW5kIHtcblx0ZnJvbSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRiYWNrZ3JvdW5kOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG59XG4iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEZvcm0gZ3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1mb3JtLWdyb3VwOiAoXG4gICdjb2xvcic6XHRcdFx0XHRcdCAgICBwYWxldHRlKG5ldXRyYWwsIDQwMCksXG4gICdlcnJvci1jb2xvcic6XHRcdFx0XHRwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtZm9ybS1ncm91cF9fbGFiZWwge1xuICBAaW5jbHVkZSBmb250LXNpemUocyk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiBzcGFjZSgwLjUpIDA7XG4gIGNvbG9yOiBtYXAtZ2V0KCRjLWZvcm0tZ3JvdXAsICdjb2xvcicpO1xufVxuXG4uYy1mb3JtLWdyb3VwX19lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgLmhhcy1lcnJvciAmOm5vdCg6ZW1wdHkpIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IHNwYWNlKDEpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjLWZvcm0tZ3JvdXAsICdlcnJvci1jb2xvcicpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkYy1mb3JtLWdyb3VwLCAnZXJyb3ItY29sb3InKSwgMC4xKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjLWZvcm0tZ3JvdXAsICdlcnJvci1jb2xvcicpO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpIG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpO1xuICB9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBGb3JtIGZlZWRiYWNrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtZm9ybS1mZWVkYmFjazogKFxuICAnY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG4gICdiZ2NvbG9yJzpcdHJnYmEocGFsZXR0ZShmZWVkYmFjaywgd2FybmluZyksIDAuMiksXG4gICdib3JkZXInOiBcdHBhbGV0dGUoZmVlZGJhY2ssIHdhcm5pbmcpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtZm9ybS1mZWVkYmFjayB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhzKTtcbiAgbWFyZ2luOiAwIDAgc3BhY2UoMSk7XG4gIHBhZGRpbmc6IHNwYWNlKDMpIHNwYWNlKDQpO1xuICBjb2xvcjogbWFwLWdldCgkYy1mb3JtLWZlZWRiYWNrLCAnY29sb3InKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1mb3JtLWZlZWRiYWNrLCAnYmdjb2xvcicpO1xuICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjLWZvcm0tZmVlZGJhY2ssICdib3JkZXInKTtcblxuICAmOm5vdCg6ZW1wdHkpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1mZWVkYmFjayk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBzcGFjZSgtMik7XG4gICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIGxpOjpmaXJzdC1sZXR0ZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEhhbWJ1cmdlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYy1oYW1idXJnZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiBzcGFjZSg1KTtcblx0aGVpZ2h0OiBzcGFjZSg1KTtcblx0cGFkZGluZzogMDtcblx0Y29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAndGV4dENvbG9yJyk7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxuXG5cdCYgPiBzcGFuLFxuXHQmOmFmdGVyLFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMjBweDtcblx0XHRyaWdodDogMjAlO1xuXHRcdGxlZnQ6IDIwJTtcblx0XHRoZWlnaHQ6IDNweDtcblx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHR0b3A6IDEycHg7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdHRvcDogMjhweDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwLjUpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0JiA+IHNwYW4ge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcblx0XHR9XG5cdFx0JjphZnRlcixcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHR9XG5cdH1cblxuXHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHQmID4gc3BhbiB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdH1cblx0fVxufSIsIi5jLWhlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KHh4bCk7XG5cdG1hcmdpbjogc3BhY2UoNSkgMDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcbn1cblxuLmMtaGVhZGluZy0taW5kZW50IHtcblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEyKTtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSGVyb1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWhlcm86IChcblx0J2NhcHRpb24tYmdjb2xvcic6XHRcdHBhbGV0dGUocHJpbWFyeSwgNzAwKSxcblx0J2NhcHRpb24tY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtaGVybyB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRAaW5jbHVkZSBjb250YWluO1xuXHR9XG59XG5cbi5jLWhlcm9fX21haW4ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG59XG5cbi5jLWhlcm9fX3NsaWRlciB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1ib3R0b206IDU1LjU1NiU7IC8vIFJhdGlvIHVzZWQgZm9yIG1vYmlsZSBpbWFnZVxuXG5cdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNTAlOyAvLyBSYXRpbyB1c2VkIGZvciBpbWFnZVxuXHR9XG59XG5cbi5jLWhlcm9fX3BpY3R1cmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcblx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblx0ZmlsdGVyOiBibHVyKDVweCk7XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuXHRcdGZpbHRlcjogbm9uZTtcblx0fVxufVxuXG4uYy1oZXJvX19pbWFnZSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uYy1oZXJvX19jYXB0aW9uIHtcblx0Ly9AaW5jbHVkZSBoeXBoZW5hdGU7XG5cdGZvbnQtc2l6ZTogY2FsYygxNnB4ICsgMXZ3KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogc3BhY2UoMyk7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IG1hcC1nZXQoJGMtaGVybywgJ2NhcHRpb24tY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1oZXJvLCAnY2FwdGlvbi1iZ2NvbG9yJyk7XG5cdHRleHQtc2hhZG93OiAwIDAgMTJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdGJyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0bWluLXdpZHRoOiBjb2x1bW4oNCwxMik7XG5cdFx0bWF4LXdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0cGFkZGluZzogc3BhY2UoNCk7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXG5cdC8vIEZvbnQtbG9jayB0byBzY2FsZSBmb250LXNpemUgcHJvcG9ydGlvbmFsbHlcblx0QGluY2x1ZGUgbXEobSwgJGJwLW1heCkge1xuXHRcdHBhZGRpbmc6IDIuNnZ3OyAvLyBNYWdpYyB2YWx1ZSBzbyB0ZXh0IHNjYWxlcyBuaWNlbHlcblx0XHRmb250LXNpemU6IDMuNXZ3OyAvLyBNYWdpYyB2YWx1ZSBzbyB0ZXh0IHNjYWxlcyBuaWNlbHlcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEoJGJwLW1heCkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eHh4bCk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMC41KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMC41KTtcblx0fVxufVxuXG4uYy1oZXJvX19jb250cm9scyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHNwYWNlKDEpO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGhlaWdodDogc3BhY2UoNik7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHRyYW5zcGFyZW50KTtcblx0XHRvcGFjaXR5OiAwLjM7XG5cdH1cbn1cblxuXG4vLyBCdXR0b24gd2l0aCBhcnJvdyB0aGF0IHNjcm9sbHMgZG93blxuLmMtaGVyb19fc2Nyb2xsIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDUwJTtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0cGFkZGluZzogMTBweDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpIHJvdGF0ZSgwLjI1dHVybik7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG5cblx0JiA+IHN2ZyB7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGJhY2tncm91bmQ6IHNjYWxlX2NvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLCAkbGlnaHRuZXNzOiAtMTUlKTtcblxuXHRcdCYgPiBzdmcge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBzY2FsZV9jb2xvcihwYWxldHRlKHNlY29uZGFyeSwgNTAwKSwgJGxpZ2h0bmVzczogLTEwJSk7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHNjYWxlX2NvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLCAkbGlnaHRuZXNzOiA3MCUpO1xuXHR9XG59IiwiLmMtaW5mbyB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMocyk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRwYWRkaW5nOiBzcGFjZSgxLjUpIHNwYWNlKDIpO1xuXHRjb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgcG9zaXRpdmUpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHBhbGV0dGUoZmVlZGJhY2ssIHBvc2l0aXZlKSwgMC4xKTtcblx0Ym9yZGVyOiAxcHggc29saWQgcGFsZXR0ZShmZWVkYmFjaywgcG9zaXRpdmUpO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSW5wdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1pbnB1dDogKFxuXHQnY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG5cdCdiZ2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JvcmRlcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgMzAwKSxcblx0J2ZvY3VzJzpcdFx0cGFsZXR0ZShwcmltYXJ5LCA3MDApLFxuXHQnZXJyb3InOlx0XHRwYWxldHRlKGZlZWRiYWNrLCB3YXJuaW5nKSxcblx0J2JvcmRlci1zaXplJzpcdDJweCxcblx0J2JvcmRlci1yYWRpdXMnOjZweCxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWlucHV0IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHMpO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogKHNwYWNlKDEpIC0gbWFwLWdldCgkYy1pbnB1dCwgJ2JvcmRlci1zaXplJykpIHNwYWNlKDIpO1xuXHRjb2xvcjogbWFwLWdldCgkYy1pbnB1dCwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtaW5wdXQsICdiZ2NvbG9yJyk7XG5cdGJvcmRlcjogbWFwLWdldCgkYy1pbnB1dCwgJ2JvcmRlci1zaXplJykgc29saWQgbWFwLWdldCgkYy1pbnB1dCwgJ2JvcmRlcicpO1xuXHRib3JkZXItcmFkaXVzOiAgbWFwLWdldCgkYy1pbnB1dCwgJ2JvcmRlci1yYWRpdXMnKTtcblx0b3V0bGluZTogbm9uZTtcblxuXHQuaGFzLWVycm9yICYge1xuXHRcdGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCBtYXAtZ2V0KCRjLWlucHV0LCAnZXJyb3InKTtcblx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGMtaW5wdXQsICdlcnJvcicpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkYy1pbnB1dCwgJ2Vycm9yJyksIDAuMDUpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDdweCAtM3B4IG1hcC1nZXQoJGMtaW5wdXQsICdmb2N1cycpO1xuXHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkYy1pbnB1dCwgJ2ZvY3VzJyk7XG5cdH1cblxuXHRAYXQtcm9vdCB0ZXh0YXJlYSN7Jn0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBhZGRpbmc6IHNwYWNlKDIpO1xuXHRcdG1pbi1oZWlnaHQ6IHNwYWNlKDIwKSAtIGRvdWJsZShtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyLXNpemUnKSk7XG5cdFx0bGluZS1oZWlnaHQ6IHNwYWNlKDMpO1xuXHRcdHJlc2l6ZTogdmVydGljYWw7XG5cdH1cbn1cblxuXG4iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IExhbmd1YWdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtbGFuZ3VhZ2U6IChcblx0J2JnY29sb3InOlx0XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYmdjb2xvci1hbHQnOlx0XHRcdCAgXHRkYXJrZW4ocGFsZXR0ZShuZXV0cmFsLCAwKSwgNSUpLFxuXHQnY29sb3InOlx0XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDUwMCksXG5cdCdjb2xvci1ob3Zlcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYmdjb2xvci1ob3Zlcic6XHRcdFx0cGFsZXR0ZShzZWNvbmRhcnksIDUwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1sYW5ndWFnZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2J1dHRvbiB7XG5cdEBpbmNsdWRlIGZvbnQocyk7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHNwYWNlKDEpO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHJnYmEobWFwLWdldCgkc2l0ZS1oZWFkZXIsICd0ZXh0Q29sb3InKSwgMC41KTtcblx0Ym9yZGVyOiBub25lO1xuXHRhcHBlYXJhbmNlOiBub25lO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzLCBib3gtc2hhZG93IDAuMTVzO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuXHQvLy5jLWxhbmd1YWdlOmhvdmVyICYge1xuXHQvL1x0Y29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAndGV4dENvbG9yJyk7XG5cdC8vfVxufVxuXG4uYy1sYW5ndWFnZV9faWNvbiB7XG5cdGZsZXg6IG5vbmU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYy1sYW5ndWFnZV9fbGFiZWwge1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoMC41KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jLWxhbmd1YWdlX19kcm9wZG93biB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdHRvcDogMTAwJTtcblx0bWluLXdpZHRoOiAxMDAlO1xuXHRtYXJnaW46IDA7XG5cdG9wYWNpdHk6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpO1xuXHRib3gtc2hhZG93OiAwIDAgMTJweCAxcHggcmdiYShwYWxldHRlKG5ldXRyYWwsIDEwMDApLCAwLjE1KTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG5cblx0LmMtbGFuZ3VhZ2U6aG92ZXIgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHR9XG59XG5cbi5jLWxhbmd1YWdlX19pdGVtIHtcblx0YmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCRjLWxhbmd1YWdlLCAnYmdjb2xvcicpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdCY6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWxhbmd1YWdlLCAnYmdjb2xvci1hbHQnKTtcblx0fVxuXG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpIG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpIDAgMDtcblx0fVxuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMCAwIG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpIG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpO1xuXHR9XG5cblx0JjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcblx0fVxufVxuXG4uYy1sYW5ndWFnZV9fbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiBzcGFjZSgwLjUpIHNwYWNlKDEpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWxhbmd1YWdlLCAnY29sb3InKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLWxhbmd1YWdlLCAnY29sb3ItaG92ZXInKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWxhbmd1YWdlLCAnYmdjb2xvci1ob3ZlcicpO1xuXHR9XG59XG5cbiIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogTmF2XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vKlxuXHRDb2xvcnMgZ2V0IGRlZmluZWQgaW4gX3NldHRpbmdzLmNvbmZpZy5zY3NzXG4qL1xuXG4kYy1uYXY6IChcblx0J2xpbmstcGFkZGluZyc6IDRweCxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLW5hdiB7XG5cdGhlaWdodDogMTAwJTtcblx0cGFkZGluZzogMDtcbn1cblxuLmMtbmF2X19saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLmMtbmF2X19pdGVtIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRtYXJnaW4tcmlnaHQ6IDIlO1xuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHR9XG59XG5cblxuLmMtbmF2X19saW5rIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiBtYXAtZ2V0KCRjLW5hdiwgJ2xpbmstcGFkZGluZycpO1xuXHRjb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICd0ZXh0Q29sb3InKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAxNTBtcyBsaW5lYXI7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0bGVmdDogbWFwLWdldCgkYy1uYXYsICdsaW5rLXBhZGRpbmcnKTtcblx0XHRib3R0b206IDFweDtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gI3tkb3VibGUobWFwLWdldCgkYy1uYXYsICdsaW5rLXBhZGRpbmcnKSl9KTtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRib3JkZXItcmFkaXVzOiAxcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICdkZWNvcmF0aW9uQ29sb3InKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ3RleHRDb2xvckhvdmVyJyk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAnZGVjb3JhdGlvbkNvbG9ySG92ZXInKTtcblx0XHR9XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRjb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICd0ZXh0Q29sb3JBY3RpdmUnKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICdkZWNvcmF0aW9uQ29sb3JBY3RpdmUnKTtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1wYWdpbmF0aW9uOiAoXG5cdCdjb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA4MDApLFxuXHQnYWN0aXZlLWNvbG9yJzpcdFx0cGFsZXR0ZShwcmltYXJ5LCA1MDApLFxuXHQnYm9yZGVyLWNvbG9yJzpcdFx0cGFsZXR0ZShib3JkZXIsIDMwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1wYWdpbmF0aW9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdib3JkZXItY29sb3InKTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQvLyBPbiBzbWFsbCBzY3JlZW5zIGhpZGUgYWxsIGl0ZW1zIGJ1dCB0aGUgYXJyb3dzLCBmaXJzdCBwYWdlLCBsYXN0IHBhZ2UgYW5kIGFjdGl2ZVxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKXtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0JjpmaXJzdC1jaGlsZCxcblx0XHQmOmxhc3QtY2hpbGQsXG5cdFx0Ji5pcy1sYXN0LXBhZ2UsXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHR9XG5cblx0XHQmLmlzLWxhc3QtcGFnZSB7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmICsgJiB7XG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcblx0XHRib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cdH1cbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCxcbi5jLXBhZ2luYXRpb25fX2xpbmssXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1pbi13aWR0aDogc3BhY2UoNik7XG5cdG1pbi1oZWlnaHQ6IHNwYWNlKDYpO1xuXHRwYWRkaW5nOiBzcGFjZSgxKTtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdjb2xvcicpO1xuXHRvcGFjaXR5OiAwLjM1O1xufVxuXG4uYy1wYWdpbmF0aW9uX19saW5rIHtcblx0Y29sb3I6IG1hcC1nZXQoJGMtcGFnaW5hdGlvbiwgJ2NvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBzY2FsZS1jb2xvcihtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdjb2xvcicpLCAkbGlnaHRuZXNzOiAtMzAlKTtcblx0XHRiYWNrZ3JvdW5kOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdH1cblxuXHQuaXMtYWN0aXZlID4gJiB7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggLTVweCBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdhY3RpdmUtY29sb3InKTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYsXG4uYy1wYWdpbmF0aW9uX19uZXh0IHtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG5cblx0Ji5pcy1pbmFjdGl2ZSB7XG5cdFx0Y29sb3I6IHJnYmEobWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnY29sb3InKSwgMC40KTtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0fVxufVxuXG4uYy1wYWdpbmF0aW9uX19wcmV2IHtcblx0dHJhbnNmb3JtOiByb3RhdGUoMC4yNXR1cm4pO1xufSIsIi8qXG4gKiBQYWdlIHRpdGxlXG4gKi9cblxuLmMtcGFnZS10aXRsZSB7XG4gIEBpbmNsdWRlIGNvbnRhaW47XG4gIEBpbmNsdWRlIGh5cGhlbmF0ZTtcbiAgcGFkZGluZy10b3A6IHNwYWNlKDIpO1xuICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoMik7XG4gIGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG5cbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIHBhZGRpbmctdG9wOiBzcGFjZSg2KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoNik7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZS0tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICB3aWR0aDogY29sdW1uKDYsIDgpO1xuICB9XG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICB3aWR0aDogY29sdW1uKDgsIDEyKTtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlX19wcmVoZWFkaW5nIHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIG1hcmdpbi10b3A6IHNwYWNlKC0xKTtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHh4eGwpO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nLXNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGwpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4uYy1wYWdlLXRpdGxlX19zdWJoZWFkaW5nIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuICBjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA0MDApO1xufSIsIi5jLXByb2plY3RvciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi5jLXByb2plY3Rvcl9fZmlndXJlIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuLmMtcHJvamVjdG9yX19jYXB0aW9uIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHMpO1xuXHRncmlkLWNvbHVtbjogMTtcblx0Z3JpZC1yb3c6IDI7XG5cdHVzZXItc2VsZWN0OiB0ZXh0O1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbn1cblxuXG4uYy1wcm9qZWN0b3JfX3BpY3R1cmUge1xuXHRncmlkLWNvbHVtbjogMTtcblx0Z3JpZC1yb3c6IDE7XG5cdGFsaWduLXNlbGY6IGVuZDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRtaW4taGVpZ2h0OiAzNjBweDsgLy8gbmVlZGVkIGZvciBJRVxuXHRkaXNwbGF5OiBibG9jazsgLy8gTmVlZGVkIGZvciBJRVxuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcblxuXHQuaWUgLmMtcHJvamVjdG9yLS1zaW5nbGUtaW1hZ2UgJiB7XG5cdFx0bWluLWhlaWdodDogNDAwcHg7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5cbi5jLXByb2plY3Rvcl9fY29udHJvbCB7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRncmlkLXJvdzogMTtcblx0YWxpZ24tc2VsZjogZW5kO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcblx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgxKTtcbn1cblxuXG4uYy1wcm9qZWN0b3JfX2ltZyB7XG5cdC8vIG1ha2Ugc3VyZSBpdCBzdHJldGNoZXMgdGhlIGNvbnRhaW5lclxuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3ZlcjsgLy8gRmFsbGJhY2sgZm9yIElFIHZpYSBKUyBwb2x5ZmlsbCwgbWluLWhlaWdodCBpcyBzZXQgb24gdGhlIHdyYXBwZXJcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWF4LWhlaWdodDogNzh2aDsgLy8gTWFrZSBzdXJlIGltYWdlcyBhcmUgdmlzaWJsZSBlbnRpcmVseSBvbiBzbWFsbCBkZXZpY2VzIGluIGxhbmRzY2FwZSlcblx0fVxufSIsIiRjLXNlcnZpY2Vwb2ludC1icC13aWR0aDogNDIwcHg7IC8vIHNpemUgb2YgY29tcG9uZW50IHdoZW4gd2Ugc3dpdGNoIGZyb20gc3RhY2tlZCB0byByb3cgdmlld1xuJGMtc2VydmljZXBvaW50LWdhcDogc3BhY2UoMik7XG5cblxuLmMtc2VydmljZXBvaW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdHRleHQtYWxpZ246IGxlZnQ7IC8vIG5lZWRlZCBmb3Igd2hlbiBhIHBhcmVudCBlbGVtZW50IGhhcyB0ZXh0LWFsaWduIGNlbnRlclxufVxuXG5cbi5jLXNlcnZpY2Vwb2ludF9faW1hZ2Uge1xuXHRmbGV4OiAwO1xuXHRtaW4td2lkdGg6IGF1dG87XG5cdG1heC13aWR0aDogMTc4cHggKyAkYy1zZXJ2aWNlcG9pbnQtZ2FwO1xuXHRtYXJnaW4tcmlnaHQ6ICRjLXNlcnZpY2Vwb2ludC1nYXA7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cblxuLmMtc2VydmljZXBvaW50X19jb250ZW50IHtcblx0QGluY2x1ZGUgaHlwaGVuYXRlO1xuXHRtaW4td2lkdGg6IDUwJTsgLy8gSGFzIHRvIGJlIG1pbmltYWwgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVyXG5cdG1heC13aWR0aDogMTAwJTtcblx0ZmxleC1ncm93OiAxO1xuXHRmbGV4LWJhc2lzOiBjYWxjKGNhbGMoI3skYy1zZXJ2aWNlcG9pbnQtYnAtd2lkdGh9IC0gMTAwJSkgKiA5OTkpOyAvLyBCYXNlZCBvbiB0aGlzIG1ldGhvZDogaHR0cHM6Ly9oZXlkb253b3Jrcy5jb20vYXJ0aWNsZS90aGUtZmxleGJveC1ob2x5LWFsYmF0cm9zcy9cblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDIpO1xuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRmbGV4LWJhc2lzOiBhdXRvO1xuXHR9XG59XG5cblxuLmMtc2VydmljZXBvaW50X19ib2R5IHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG59XG5cblxuLmMtc2VydmljZXBvaW50X19mb290ZXIge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KGJhc2UpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG5cbi5jLXNlcnZpY2Vwb2ludF9fc3ViaGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQocyk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG59IiwiLmMtc2l0ZW1hcF9faXRlbSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG59XG5cbi5jLXNpdGVtYXBfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogc3BhY2UoMC41KSAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNTAwKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxufSIsIi8qXG4gKiBTa2lwIExpbmtcbiAqL1xuXG4uYy1za2lwLWxpbmsge1xuICBAaW5jbHVkZSBmb250LXNpemUocyk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAtMTAwdmg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBjb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIG91dGxpbmUtd2lkdGg6IDJweDtcbiAgICB0b3A6IDVweDsgLyogTm93IHRoZSBsaW5rIHdpbGwgYXBwZWFyICovXG4gIH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFNsaWRlIGluZGljYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXNsaWRlLWluZGljYXRvcjogKFxuXHQnZG90LWNvbG9yJzpcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdkb3QtY29sb3ItYWN0aXZlJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMDApLFxuXHQnZG90LXJpbmctY29sb3ItYWN0aXZlJzpcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdkb3Qtc2l6ZSc6XHRcdFx0XHRcdDhweCxcblx0J2RvdC1zaXplLWFjdGl2ZSc6XHRcdFx0NnB4LFxuXHQnZG90LXJpbmctc2l6ZS1hY3RpdmUnOlx0XHQxMnB4LFxuXHQnZG90LXNpemUtdGFyZ2V0Ym94JzpcdFx0MzBweCxcblx0J2RvdC1pcy1yb3VuZGVkJzpcdFx0XHR0cnVlLFxuXHQnYnV0dG9uLWljb24tY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYnV0dG9uLWJnLWNvbG9yJzpcdFx0XHRwYWxldHRlKHNlY29uZGFyeSwgNTAwKSxcblx0J2J1dHRvbi1iZy1jb2xvci1ob3Zlcic6XHRzY2FsZV9jb2xvcihwYWxldHRlKHNlY29uZGFyeSwgNTAwKSwgJGxpZ2h0bmVzczogLTEwJSksXG5cdCdidXR0b24tc2l6ZSc6XHRcdFx0XHQ0MHB4LFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtc2xpZGUtaW5kaWNhdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tYmctY29sb3InKTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnYnV0dG9uLWljb24tY29sb3InKTtcblx0aGVpZ2h0OiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1zaXplJyk7XG5cdHdpZHRoOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1zaXplJyk7XG5cblx0JiArICYge1xuXHRcdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdH1cblxuXHQmW2FyaWEtbGFiZWw9J3ByZXZpb3VzJ10gPiBzdmcge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0fVxuXG5cdCZbYXJpYS1sYWJlbD0nbmV4dCddID4gc3ZnIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnYnV0dG9uLWJnLWNvbG9yLWhvdmVyJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnYnV0dG9uLWJnLWNvbG9yLWhvdmVyJyk7XG5cdH1cbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Qge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUtdGFyZ2V0Ym94Jyk7XG5cdGhlaWdodDogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZS10YXJnZXRib3gnKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG5cblx0Jjpob3Zlcjpub3QoLmlzLWFjdGl2ZSksXG5cdCY6Zm9jdXM6bm90KC5pcy1hY3RpdmUpIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cblxuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXHRcdEBpZiAobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtaXMtcm91bmRlZCcpID09IHRydWUpIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdCRvZmZzZXQ6IGNhbGMoKCN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZS10YXJnZXRib3gnKX0gLSAje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUnKX0pIC8gMik7XG5cdFx0dG9wOiAkb2Zmc2V0O1xuXHRcdHJpZ2h0OiAkb2Zmc2V0O1xuXHRcdGJvdHRvbTogJG9mZnNldDtcblx0XHRsZWZ0OiAkb2Zmc2V0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LWNvbG9yJyk7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHQkb2Zmc2V0OiBjYWxjKCgje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUtdGFyZ2V0Ym94Jyl9IC0gI3ttYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1yaW5nLXNpemUtYWN0aXZlJyl9KSAvIDIpO1xuXHRcdHRvcDogJG9mZnNldDtcblx0XHRyaWdodDogJG9mZnNldDtcblx0XHRib3R0b206ICRvZmZzZXQ7XG5cdFx0bGVmdDogJG9mZnNldDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1yaW5nLWNvbG9yLWFjdGl2ZScpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS40KTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LWNvbG9yLWFjdGl2ZScpO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXJpbmctY29sb3ItYWN0aXZlJyksIDAuOSk7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKHN0cmlwLXVuaXQobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZS1hY3RpdmUnKSkgLyBzdHJpcC11bml0KG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUnKSkpO1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0b3BhY2l0eTogMC45O1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHQvL2JhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHQvL2JhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG5cdFx0fVxuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBTdWJuYXZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1zdWJuYXY6IChcblx0J2JvcmRlci1jb2xvcic6IFx0XHRwYWxldHRlKGJvcmRlciwgMzAwKSxcblx0J2NvbG9yJzpcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgNTAwKSxcblx0J2hvdmVyLWNvbG9yJzpcdFx0XHRwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pLFxuXHQnYWN0aXZlLWNvbG9yJzpcdFx0XHRwYWxldHRlKHByaW1hcnksIDUwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1zdWJuYXYge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuLmMtc3VibmF2LS1ib3hlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdzdWJuYXZCZ0NvbG9yJyk7XG5cdHBhZGRpbmc6IHNwYWNlKDEwKSAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cblx0QGluY2x1ZGUgbXEobSwgbCl7XG5cdFx0cGFkZGluZy1sZWZ0OiAyNSU7XG5cdH1cbn1cblxuXG4uYy1zdWJuYXZfX2hlYWRlciB7XG5cdG1hcmdpbjogMDtcbn1cblxuXG4uYy1zdWJuYXZfX2xpc3Qge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuXG4uYy1zdWJuYXZfX2l0ZW0tLWJhY2sge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgzKTtcbn1cblxuXG4uYy1zdWJuYXZfX2xpbmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBhZGRpbmc6IHNwYWNlKDEpIDA7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2NvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAyNTBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdob3Zlci1jb2xvcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2JvcmRlci1jb2xvcicpO1xuXG5cdFx0LmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdhY3RpdmUtY29sb3InKTtcblx0XHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHRcdH1cblx0fVxufVxuXG5cbi5jLXN1Ym5hdl9faWNvbiB7XG5cdG9wYWNpdHk6IDA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnYm9yZGVyLWNvbG9yJyk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgje3NwYWNlKC0yKX0pO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1vdXQ7XG5cblx0LmMtc3VibmF2X19saW5rOmhvdmVyICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2hvdmVyLWNvbG9yJyk7XG5cdH1cbn1cblxuXG4vLyBBY3RpdmUgc3RhdGUgb2YgdGhlIHN1Ym5hdiBpdGVtXG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIHtcblx0LmMtc3VibmF2X19saW5rIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdhY3RpdmUtY29sb3InKTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0XHR9XG5cdH1cblxuXHQuYy1zdWJuYXZfX2ljb24ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFRleHQgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtdGV4dGJ1dHRvbjogKFxuXHQnY29sb3InOlx0XHRcdHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbiksXG5cdCdjb2xvckFsdCc6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIDEuIENvbG9yIGdldHMgaW5oZXJpdGVkIGFuZCB1c2VkIGZvciBuZXN0ZWQgZWxlbWVudHMgd2l0aCAnY3VycmVudENvbG9yJyBwcm9wZXJ0eVxuICogMi4gUmVzZXQgZGVmYXVsdCBidXR0b24gc3R5bGluZ1xuICovXG5cbi5jLXRleHRidXR0b24ge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXRleHRidXR0b24sICdjb2xvcicpOyAvKiAxICovXG5cdHBhZGRpbmc6IDA7IC8qIDIgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cblx0Ym9yZGVyOiBub25lOyAvKiAyICovXG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdGNvbG9yOiBzY2FsZS1jb2xvcihtYXAtZ2V0KCRjLXRleHRidXR0b24sICdjb2xvcicpLCAkbGlnaHRuZXNzOiAtNDAlKTtcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuLmMtdGV4dGJ1dHRvbl9fdGV4dCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcbn1cblxuLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoMSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG5cdC5jLXRleHRidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdH1cblxuXHQuYy10ZXh0YnV0dG9uLS1pY29uICZ7XG5cdFx0ZGlzcGxheTogYmxvY2s7IC8vIFNob3cgd2hlbiBoYXMgaWNvbiBtb2RpZmllclxuXHR9XG59XG5cbi8vIENoYW5nZSBkaXJlY3Rpb24gb2YgaWNvbiAoYXJyb3cpXG4uYy10ZXh0YnV0dG9uLS1pcy1yZXZlcnNlZCB7XG5cdC5jLXRleHRidXR0b25fX3RleHQgeyBvcmRlcjogMjtcdH1cblx0LmMtdGV4dGJ1dHRvbl9faWNvbiB7XG5cdFx0b3JkZXI6IDE7XG5cdFx0dG9wOiAxcHg7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgxKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcblx0fVxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5jLXRleHRidXR0b25fX2ljb24ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pIHRyYW5zbGF0ZVgoM3B4KTtcblx0fVxufSIsIiRjLXRvZ2dsZS10cmFuc2l0aW9uLXNwZWVkOiAyNTBtcztcbiRjLXRvZ2dsZS10cmFuc2l0aW9uLWVhc2U6IGVhc2UtaW4tb3V0O1xuJGMtdG9nZ2xlLWxlZnQtcGFkOiBzcGFjZSgxMik7XG4kYy10b2dnbGUtcmlnaHQtcGFkOiBzcGFjZSg2KTtcbiRjLXRvZ2dsZS1ob3Zlci1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXG5cbi5jLXRvZ2dsZSB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cbi5jLXRvZ2dsZV9faXRlbSB7XG5cdEBpbmNsdWRlIG93bChzcGFjZSgyKSk7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcbn1cblxuXG4uYy10b2dnbGVfX3RpdGxlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWxlZnQ6ICRjLXRvZ2dsZS1sZWZ0LXBhZDtcblxuXHQmW2RhdGEtdG9nZ2xlLWlkXSB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG59XG5cblxuLmMtdG9nZ2xlX19pY29uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDE4cHg7XG5cdGxlZnQ6IGNhbGMoI3toYWx2ZSgkYy10b2dnbGUtbGVmdC1wYWQpfSk7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDcwMCk7XG5cdGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xuXG5cdCYgPiBzdmcge1xuXHRcdHdpZHRoOiAxMHB4O1xuXHR9XG5cblx0Ji5wbHVzIHsgZGlzcGxheTogZmxleDsgfVxuXG5cdC5jLXRvZ2dsZV9fdGl0bGUuaXMtYWN0aXZlICYge1xuXHRcdCYucGx1cyB7IGRpc3BsYXk6IG5vbmU7IH1cblx0XHQmLm1pbnVzIHsgZGlzcGxheTogZmxleDsgfVxuXHR9XG5cblx0Ji5jaGVjayB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRib3JkZXI6IG5vbmU7XG5cblx0XHQmID4gc3ZnIHtcblx0XHRcdHdpZHRoOiAyNHB4O1xuXHRcdH1cblx0fVxuXG5cdC5jLXRvZ2dsZV9fdGl0bGVbZGF0YS10b2dnbGUtaWRdOm5vdCguaXMtYWN0aXZlKTpob3ZlciAmIHtcblx0XHRjb2xvcjogJGMtdG9nZ2xlLWhvdmVyLWNvbG9yO1xuXHR9XG59XG5cblxuLmMtdG9nZ2xlX19sYWJlbCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0ZGlzcGxheTogZmxleDtcblx0cGFkZGluZzogc3BhY2UoMikgMDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDcwMCk7XG5cdHRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG5cblx0LmMtdG9nZ2xlX190aXRsZVtkYXRhLXRvZ2dsZS1pZF06bm90KC5pcy1hY3RpdmUpOmhvdmVyICYge1xuXHRcdGNvbG9yOiAkYy10b2dnbGUtaG92ZXItY29sb3I7XG5cdH1cbn1cblxuXG4uYy10b2dnbGVfX2NvbnRlbnQge1xuXHRtYXgtaGVpZ2h0OiAwO1xuXHRvcGFjaXR5OiAwO1xuXHRwYWRkaW5nLWxlZnQ6ICRjLXRvZ2dsZS1sZWZ0LXBhZDtcblx0cGFkZGluZy1yaWdodDogJGMtdG9nZ2xlLXJpZ2h0LXBhZDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIE5lZWRlZCBzbyB3ZSBkb24ndCBjbGljayBvbiBpdCB3aGVuIGl0IGlzIGhpZGRlblxuXHR0cmFuc2l0aW9uOiBhbGwgJGMtdG9nZ2xlLXRyYW5zaXRpb24tc3BlZWQgJGMtdG9nZ2xlLXRyYW5zaXRpb24tZWFzZTtcblxuXHQuaXMtYWN0aXZlIH4gJiB7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDIpO1xuXHRcdG1heC1oZWlnaHQ6IDEwMDBweDtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFRyYWRlbWFya1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXRyYWRlbWFyazogKFxuXHQnbG9nby13aWR0aCc6XHRcdDEwMHB4XG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmMtdHJhZGVtYXJrIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIDtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG4uYy10cmFkZW1hcmtfX3RleHQge1xuXHRtYXJnaW4tcmlnaHQ6IDdweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmMtdHJhZGVtYXJrX19pY29uIHtcblx0d2lkdGg6IG1hcC1nZXQoJG8tdHJhZGVtYXJrLCAnbG9nby13aWR0aCcpO1xuXHRtYXgtaGVpZ2h0OiAzMnB4O1xuXHRvcGFjaXR5OiAuNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXG5cdC5jLXRyYWRlbWFyazpob3ZlciAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59IiwiLmMtdmFjYW5jeS1wcm9wZXJ0aWVzIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuXG4uYy12YWNhbmN5LXByb3BlcnRpZXNfX2l0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cblx0JjpudGgtbGFzdC1jaGlsZChuKzIpIHtcblx0XHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDQpO1xuXHR9XG59XG5cblxuLmMtdmFjYW5jeS1wcm9wZXJ0aWVzX19pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgxKTtcbn0iLCIuYy12aWRlb3tcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvLyBBc3BlY3QgUmF0aW86IDE2OjlcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAyMDApO1xufVxuXG4uYy12aWRlb19faWZyYW1le1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIE9yZ2FuaXNtc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbkBpbXBvcnQgXCJvcmdhbmlzbXMuYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmFwcGx5XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmJsb2NrXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmJvZHlcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY2FsbG91dEJhclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jYXJkLWdyaWRcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY29udGFjdFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jb29raWVCYXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZG91YmxlSW1hZ2VcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZG91YmxlVGV4dFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5kb3VibGVVc3BcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZG93bmxvYWRzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmV2ZW50XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmV2ZW50c1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5mb290ZXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZm9ybVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5oZWFkZXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuaW50cm9cIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMubG9nb3NcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMubWFwXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLm5ld3NcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMub3ZlcmxheU1lbnVcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMucXVvdGVcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMucmVmZXJlbmNlc1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5zdWJmb290ZXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudGFic2xpZGVyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnRlYW1cIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudGhhbmtzXCI7XG4vL0BpbXBvcnQgXCJvcmdhbmlzbXMudG9wLWJhclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy51c3BcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudmFjYW5jaWVzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnZhY2FuY3lcIjtcbiIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tYWNjb3JkaW9uOiAoXG5cdCdib3JkZXItd2lkdGgnOlx0XHRcdDFweCxcblx0J2JvcmRlci1jb2xvcic6XHRcdFx0cGFsZXR0ZShib3JkZXIsIDMwMCksXG5cdCdoZWFkZXItY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwMCksXG5cdCdob3Zlci1jb2xvcic6IFx0XHRcdHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcblx0J2ljb24tY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwMCksXG5cdCdpY29uLWJvcmRlci1zaXplJzogXHQycHgsXG5cdCdpY29uLXNpemUnOlx0XHRcdDIwcHgsXG5cdCdpY29uLXN0cmlwZS1oZWlnaHQnOlx0MnB4LFxuXHQnaWNvbi1zdHJpcGUtd2lkdGgnOiAgXHQxMHB4LFxuXHQndHJhbnNpdGlvbi1kdXJhdGlvbic6XHQ0MDBtcyxcblx0J3RyYW5zaXRpb24tZWFzaW5nJzpcdGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLWFjY29yZGlvbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG59XG5cbi5vLWFjY29yZGlvbl9faXRlbSB7XG5cdEBpbmNsdWRlIG93bChzcGFjZSgyKSk7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXdpZHRoOiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2JvcmRlci13aWR0aCcpO1xuXHRib3JkZXItY29sb3I6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnYm9yZGVyLWNvbG9yJyk7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlcjtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cblx0Jjpub3QoLmlzLWFjdGl2ZSk6aG92ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA1MDApO1xuXHR9XG59XG5cbi5vLWFjY29yZGlvbl9fdGl0bGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiBzcGFjZSgyKTtcblx0cGFkZGluZy1yaWdodDogc3BhY2UoMyk7XG5cdHBhZGRpbmctYm90dG9tOiBzcGFjZSgyKTtcblx0cGFkZGluZy1sZWZ0OiBzcGFjZSg2KTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaGVhZGVyLWNvbG9yJyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDgpO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsMTIpO1xuXHR9XG5cblx0Ly8gT25seSBzZXQgaG92ZXIgY29sb3Igd2hlbiBub3QgYWN0aXZlXG5cdC5vLWFjY29yZGlvbl9faXRlbTpub3QoLmlzLWFjdGl2ZSkgJjpob3ZlciB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaG92ZXItY29sb3InKTtcblx0fVxufVxuXG4uby1hY2NvcmRpb25fX2ljb24ge1xuXHRmbGV4OiAwIDAgYXV0bztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IGF1dG87XG5cdGxlZnQ6IChzcGFjZSgzKSAtIGhhbHZlKG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zaXplJykpKTtcblx0d2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zaXplJyk7XG5cdGhlaWdodDogbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKTtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuXHRib3JkZXItd2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1ib3JkZXItc2l6ZScpO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdGxlZnQ6IGNhbGMoI3tjb2x1bW4oMC41LCA4KX0gLSAje2hhbHZlKG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zaXplJykpfSk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0bGVmdDogY2FsYygje2NvbHVtbigwLjUsIDEyKX0gLSAje2hhbHZlKG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zaXplJykpfSk7XG5cdH1cblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc3RyaXBlLWhlaWdodCcpO1xuXHRcdHdpZHRoOiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc3RyaXBlLXdpZHRoJyk7XG5cdFx0bGVmdDogaGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSAtIG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zdHJpcGUtd2lkdGgnKSAtIChkb3VibGUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLWJvcmRlci1zaXplJykpKSk7XG5cdFx0dG9wOiBjYWxjKDUwJSAtICN7aGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLWJvcmRlci1zaXplJykpfSk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcywgbWFwLWdldCgkby1hY2NvcmRpb24sICd0cmFuc2l0aW9uLWR1cmF0aW9uJyk7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UsIG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAndHJhbnNpdGlvbi1lYXNpbmcnKTtcblx0fVxuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Lm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDApIHJvdGF0ZSgwLjI1dHVybik7XG5cdFx0fVxuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcblxuXHRcdC5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgJiB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcblx0XHR9XG5cdH1cbn1cblxuLm8tYWNjb3JkaW9uX19oZWFkZXIge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG5cdH1cbn1cblxuLyogSGlkZGVuIGJ5IGRlZmF1bHQqL1xuLm8tYWNjb3JkaW9uX19jb250ZW50IHtcblx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xuXHRvcGFjaXR5OiAwO1xuXHRtYXgtaGVpZ2h0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDYpO1xuXHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgzKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG5cdC8vIENsb3NlIGFuaW1hdGlvblxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDgpO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsMTIpO1xuXHR9XG5cblx0Lm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdG1heC1oZWlnaHQ6IDQwMHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiBzcGFjZSg0KTtcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0Ly8gT3BlbiBhbmltYXRpb24gKHdpdGggdGhlIHNhbWUgZGVsYXkgYXMgY2xvc2UgZHVyYXRpb24pXG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAndHJhbnNpdGlvbi1kdXJhdGlvbicpO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuXHR9XG59IiwiJG8tYXBwbHktYnAxOiA3MDA7XG4kby1hcHBseS1nYXA6IHNwYWNlKDYpO1xuXG5cbi5vLWFwcGx5IHtcblx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0J3BhZGRpbmctdG9wJyAwLjUsXG5cdFx0J3BhZGRpbmctYm90dG9tJyAxXG5cdCk7XG59XG5cbi5vLWFwcGx5X19oZWFkaW5nIHtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDYpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xufVxuXG5cbi5vLWFwcGx5X19ib2R5IHtcblx0QGluY2x1ZGUgbXEoJG8tYXBwbHktYnAxKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi5vLWFwcGx5X19sZWZ0IHtcblx0QGluY2x1ZGUgbXEoJG8tYXBwbHktYnAxKSB7XG5cdFx0d2lkdGg6IGNhbGMoI3tjb2x1bW4oNiwxMil9ICsgI3skby1hcHBseS1nYXB9KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAkby1hcHBseS1nYXA7XG5cdH1cbn1cblxuXG4uby1hcHBseV9fcmlnaHQge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcblxuXHRAaW5jbHVkZSBtcSgkby1hcHBseS1icDEpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsMTIpO1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbn1cblxuXG4uby1hcHBseV9fcm93IHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcbn1cblxuXG4uby1hcHBseV9fZmlsZXVwbG9hZCB7XG5cdEBpbmNsdWRlIG1xKCRvLWFwcGx5LWJwMSkge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDUpO1xuXHR9XG59XG5cblxuLm8tYXBwbHlfX2Zvb3RlciB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCBwYWxldHRlKG5ldXRyYWwsIDMwMCk7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDYpO1xuXHRwYWRkaW5nLXRvcDogc3BhY2UoNik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm8tYXBwbHlfX2ZlZWRiYWNrIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG59IiwiLm8tYmxvY2sge1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHRcdCdtYXJnaW4tYm90dG9tJyAxXG5cdCk7XG5cblx0Ly8gVG9wIG1hcmdpbiBvbmx5IG9uIGNvbnNlY3V0aXZlIGJsb2Nrc1xuXHQmICsgJiB7XG5cdFx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0XHRcdCdtYXJnaW4tdG9wJyAxXG5cdFx0KTtcblx0fVxufSIsIiAvKlxuICogV3JhcHBlciBvZiB0aGUgbWFpbiBib2R5XG4gKiAoYmV0d2VlbiB0aGUgaGVhZGVyIGFuZCB0aGUgZm9vdGVyKVxuICovXG5cblxuLm8tYm9keSB7XG5cdEBpbmNsdWRlIHooei1ib2R5KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRmbGV4OiAwIDAgYXV0bztcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENhbGxvdXQgYmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tY2FsbG91dC1iYXI6IChcblx0J2NvbG9yJzogIFx0XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG5cdCdiZ2NvbG9yJzogIFx0cGFsZXR0ZShuZXV0cmFsLCAxMDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tY2FsbG91dC1iYXIge1xuXHRAaW5jbHVkZSBoeXBoZW5hdGU7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLWNhbGxvdXQtYmFyLCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1jYWxsb3V0LWJhciwgJ2JnY29sb3InKTtcbiAgXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vLWNhbGxvdXQtYmFyX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbiAgICBAaW5jbHVkZSB2c3BhY2luZyhcbiAgICAgICAgJ3BhZGRpbmctdG9wJyAxLFxuICAgICAgICAncGFkZGluZy1ib3R0b20nIDFcbiAgICApO1xuXG5cdC8vIFZlcnRpY2FsIHNwYWNpbmcgZm9yIGVsZW1lbnRzIHRoYXQgcHJvY2VlZCBhbm90aGVyIGVsZW1lbnRcblx0JiA+ICogKyAqIHtcblx0XHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHRcdCdtYXJnaW4tdG9wJyAwLjVcblx0XHQpO1xuXHR9XG59XG5cblxuLm8tY2FsbG91dC1iYXJfX2JvZHkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuLm8tY2FsbG91dC1iYXJfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHhsKTtcbn0iLCIvKlxuICogQ2FyZCBncmlkXG4gKlxuICovXG5cbiRvLWNhcmQtZ3JpZC1pdGVtcy1tOiAgIDI7IC8vIE51bWJlciBvZiBjYXJkcyB3aGVuIGluIG1lZGl1bSB2aWV3cG9ydFxuJG8tY2FyZC1ncmlkLWl0ZW1zLWw6ICAgMzsgLy8gTnVtYmVyIG9mIGNhcmRzIHdoZW4gaW4gbGFyZ2Ugdmlld3BvcnRcbiRvLWNhcmQtZ3JpZC1tLWJwOiAgICAgIDYwMDsgLy8gQ3VzdG9tIGJyZWFrcG9pbnQgd2hlbiBzd2l0Y2hpbmcgZnJvbSBzdGFja2VkIGNhcmRzIHRvIHJvd3NcbiRvLWNhcmQtZ3JpZC1zcGFjaW5nOiAgIHNwYWNlKDQpO1xuXG4kby1jYXJkLWdyaWQtc2l6ZS1tOiAgICBwZXJjZW50YWdlKDEvJG8tY2FyZC1ncmlkLWl0ZW1zLW0pO1xuJG8tY2FyZC1ncmlkLXNpemUtbDogICAgcGVyY2VudGFnZSgxLyRvLWNhcmQtZ3JpZC1pdGVtcy1sKTtcblxuXG5cbi5vLWNhcmQtZ3JpZF9fbWFpbiB7XG4gIEBpbmNsdWRlIG1xKCRvLWNhcmQtZ3JpZC1tLWJwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuLm8tY2FyZC1ncmlkX19pdGVtIHtcblxuICAvLyBDcmVhdGUgbmljZSB2ZXJ0aWNhbCBzcGFjaW5nIG9uIG1vYmlsZVxuICBAaW5jbHVkZSBtcSgkbWF4OiAkby1jYXJkLWdyaWQtbS1icCl7XG4gICAgJiArICYge1xuICAgICAgbWFyZ2luLXRvcDogc3BhY2UoNCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2luZ2xlIGNvbHVtbiAoc3RhY2tlZClcbiAgQGluY2x1ZGUgbXEoJG1heDogJG8tY2FyZC1ncmlkLW0tYnApIHtcbiAgICBtYXgtd2lkdGg6IDM0NHB4OyAvLyBjb25zdHJhaW4gdGhlIHdpZHRoIG9mIHRoZSBjYXJkIGluc2lkZVxuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgLy8gVHdvIGNvbHVtbnNcbiAgQGluY2x1ZGUgbXEoJG8tY2FyZC1ncmlkLW0tYnAsICRtYXg6IGwpIHtcbiAgICBmbGV4OiAwO1xuICAgIC8vIFdlIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgaXRlbSBiYXNlZCBvbiB0aGUgc2V0dGluZ3MgYW5kIHB1dCBpdCBpbiBhIGxvbmdoYW5kIGZsZXggdmFsdWUgYmVjYXVzZSBvZiBJRSBzdXBwb3J0XG4gICAgZmxleC1iYXNpczogY2FsYygjeyRvLWNhcmQtZ3JpZC1zaXplLW19IC0gKCgjeyRvLWNhcmQtZ3JpZC1pdGVtcy1tfSAtIDEpIC8gI3skby1jYXJkLWdyaWQtaXRlbXMtbX0gKiAjeyRvLWNhcmQtZ3JpZC1zcGFjaW5nfSkpO1xuICAgIG1hcmdpbi1sZWZ0OiAjeyRvLWNhcmQtZ3JpZC1zcGFjaW5nfTtcblxuICAgICY6bnRoLWNoaWxkKCN7JG8tY2FyZC1ncmlkLWl0ZW1zLW19biArIDEpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG4gKyAjeyRvLWNhcmQtZ3JpZC1pdGVtcy1tICsgMX0pIHtcbiAgICAgIG1hcmdpbi10b3A6ICN7JG8tY2FyZC1ncmlkLXNwYWNpbmd9O1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvdXIgY29sdW1uc1xuICBAaW5jbHVkZSBtcShsKSB7XG4gICAgZmxleDogMDtcbiAgICAvLyBXZSBjYWxjdWxhdGUgdGhlIHNpemUgb2YgdGhlIGl0ZW0gYmFzZWQgb24gdGhlIHNldHRpbmdzIGFuZCBwdXQgaXQgaW4gYSBsb25naGFuZCBmbGV4IHZhbHVlIGJlY2F1c2Ugb2YgSUUgc3VwcG9ydFxuICAgIGZsZXgtYmFzaXM6IGNhbGMoI3skby1jYXJkLWdyaWQtc2l6ZS1sfSAtICgoI3skby1jYXJkLWdyaWQtaXRlbXMtbH0gLSAxKSAvICN7JG8tY2FyZC1ncmlkLWl0ZW1zLWx9ICogI3skby1jYXJkLWdyaWQtc3BhY2luZ30pKTtcbiAgICBtYXJnaW4tbGVmdDogI3skby1jYXJkLWdyaWQtc3BhY2luZ307XG5cbiAgICAmOm50aC1jaGlsZCgjeyRvLWNhcmQtZ3JpZC1pdGVtcy1sfW4gKyAxKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChuICsgI3skby1jYXJkLWdyaWQtaXRlbXMtbCArIDF9KSB7XG4gICAgICBtYXJnaW4tdG9wOiAkby1jYXJkLWdyaWQtc3BhY2luZztcbiAgICB9XG4gIH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENvbnRhY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1jb250YWN0OiAoXG5cdCdiZ2NvbG9yLWZvcm0nOlx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMCksXG5cdCdicC1sYXJnZSc6XHRcdFx0MTA0MFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vLWNvbnRhY3Qge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAjeyRzaXRlLWNvbHVtbnMtbCArIDJ9KSAqICN7JHNpdGUtY29sdW1ucy1sfSk7XG5cdFx0bWF4LXdpZHRoOiAjeyRzaXRlLW1heC13aWR0aH1weDtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cbn1cblxuXG4uby1jb250YWN0X19pbmZvIHtcblx0QGluY2x1ZGUgZ3V0dGVyUGFkZGluZyhtKTtcblx0QGluY2x1ZGUgZ3V0dGVyUGFkZGluZyhsKTtcblx0cGFkZGluZy10b3A6IHNwYWNlKDQpO1xuXHRwYWRkaW5nLWxlZnQ6ICRzaXRlLWd1dHRlci13aWR0aDtcblx0cGFkZGluZy1yaWdodDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0cGFkZGluZy10b3A6IHNwYWNlKDYpO1xuXHRcdHBhZGRpbmctYm90dG9tOiBzcGFjZSg2KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgxKTtcblx0fVxufVxuXG4uby1jb250YWN0X19mb3JtIHtcblx0QGluY2x1ZGUgZ3V0dGVyUGFkZGluZyhtKTtcblx0QGluY2x1ZGUgZ3V0dGVyUGFkZGluZyhsKTtcblx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cdHBhZGRpbmc6IHNwYWNlKDQpICRzaXRlLWd1dHRlci13aWR0aDtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1jb250YWN0LCAnYmdjb2xvci1mb3JtJyk7XG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNik7XG5cdH1cbn1cblxuLm8tY29udGFjdF9faGVhZGVyIHtcblx0QGluY2x1ZGUgaHlwaGVuYXRlO1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHhsKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNCk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG59XG5cbi5vLWNvbnRhY3RfX2NhcmQge1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSg1KTtcbn1cblxuLm8tY29udGFjdF9fYWRkcmVzcyB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xufVxuXG4uby1jb250YWN0X19udW1iZXJzIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDb29raWViYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1jb29raWUtYmFyOiAoXG5cdCdiZ2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCA5MDApLFxuXHQnY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuLm8tY29va2llLWJhciB7XG5cdHotaW5kZXg6IC0xOyAvLyBub3Qgc2VsZWN0YWJsZVxuXHRkaXNwbGF5OiBub25lOyAvLyBoaWRlIGJ5IGRlZmF1bHRcblx0cG9zaXRpb246IGZpeGVkO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogJHNpdGUtY29va2llQmFyLWhlaWdodDtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tY29va2llLWJhciwgJ2JnY29sb3InKTtcblx0b3BhY2l0eTogMTtcblx0Ym94LXNoYWRvdzogMCAtNHB4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB0cmFuc2Zvcm0gMC42cztcblx0dHJhbnNmb3JtOiBub25lO1xuXG5cdC8vIFdoZW4gY29va2llcyBhcmUgbm90IHlldCBhY2NlcHRlZCwgc2hvdyBjb29raWViYXJcblx0Jjpub3QoLmlzLWFjY2VwdGVkKSB7XG5cdFx0QGluY2x1ZGUgeih6LWNvb2tpZSk7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdCYuaXMtdHJhbnNpdGlvbmluZy1vdXQge1xuXHRcdHotaW5kZXg6IC0xOyAvLyBub3Qgc2VsZWN0YWJsZVxuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG5cdH1cbn1cblxuLm8tY29va2llLWJhcl9fbWFpbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IDM3NCkge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0fVxufVxuXG4uby1jb29raWUtYmFyX190ZXh0IHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogbWFwLWdldCgkby1jb29raWUtYmFyLCAnY29sb3InKTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiAzNzUpIHtcblx0XHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHR9XG59XG5cbi5vLWNvb2tpZS1iYXJfX2xpbmsge1xuXHRjb2xvcjogaW5oZXJpdDtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcmdiYShtYXAtZ2V0KCRvLWNvb2tpZS1iYXIsICdjb2xvcicpLCAwLjc1KTtcblx0fVxufVxuXG4uby1jb29raWUtYmFyX19idXR0b24ge1xuXHRmbGV4OiBub25lO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoNSk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcblx0fVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRG91YmxlIGltYWdlIGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBwaWN0dXJlcyBhcmUgc3RhY2tlZCB2ZXJ0aWNhbGx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJG8tZG91YmxlLWltYWdlLWJwMTogMTEwMDtcblxuLm8tZG91YmxlLWltYWdlIHtcblx0bWFyZ2luOiAtMXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblxuXHQvLyBTZXQgc2lkZSBieSBzaWRlIGZyb20gbWVkaXVtIHZpZXdwb3J0cyBhbmQgdXBcblx0QGluY2x1ZGUgbXEoJG8tZG91YmxlLWltYWdlLWJwMSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuXG4uby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAxcHg7XG5cdG9yZGVyOiAxO1xuXHRtaW4taGVpZ2h0OiAzNjBweDsgLy8gbmVlZGVkIGZvciBJRVxuXG5cdEBpbmNsdWRlIG1xKCRvLWRvdWJsZS1pbWFnZS1icDEpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsIDEyKTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdH1cblx0fVxufVxuXG5cbi5vLWRvdWJsZS1pbWFnZV9faW1nIHtcblx0b2JqZWN0LWZpdDogY292ZXI7IC8vIEZhbGxiYWNrIGZvciBJRSB2aWEgSlMgcG9seWZpbGwsIG1pbi1oZWlnaHQgY2FuIGJlIG5lZWRlZC4uXG5cdG1heC1oZWlnaHQ6IDg1dmg7XG59XG5cblxuLm8tZG91YmxlLWltYWdlLS1pcy1yZXZlcnNlZCB7XG5cdCYgLm8tZG91YmxlLWltYWdlX19waWN0dXJlIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0b3JkZXI6IDA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdH1cblx0fVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRG91YmxlIGxheW91dCBpbiAyIGVxdWFsIGNvbHVtbnNcbiAqXG4gKiBVbnRpbCB2aWV3cG9ydCBpcyB3aWRlIGVub3VnaCB0aGUgY29sdW1ucyBhcmUgc3RhY2tlZCB2ZXJ0aWNhbGx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4uby1kb3VibGUtdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0aGVpZ2h0OiAxMDAlOyAvLyBzdHJldGNoIGl0IG91dCBpbiBpdHMgY29udGFpbmVyXG5cblx0Ly8gU2V0IHNpZGUgYnkgc2lkZSBmcm9tIG1lZGl1bSB2aWV3cG9ydHMgYW5kIHVwXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cblxuLm8tZG91YmxlLXRleHRfX2NvbHVtbiB7XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuXHR9XG5cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdFx0d2lkdGg6IGNvbHVtbig1LCA4KTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCA4KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHRcdH1cblx0fVxuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0Ly8gQ3JlYXRlIHZlcnRpY2FsIHNwYWNpbmcgb24gbW9iaWxlXG5cdFx0QGluY2x1ZGUgdnNwYWNpbmctcyhcblx0XHRcdCdtYXJnaW4tdG9wJyAwLjVcblx0XHQpO1xuXHRcdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRcdHdpZHRoOiBjb2x1bW4oMywgOCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEyKTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCAxMik7XG5cdFx0fVxuXHR9XG59IiwiJG8tZG91YmxlLXVzcDogKFxuXHQnYmFja2dyb3VuZC1jb2xvcic6ICBcdHBhbGV0dGUocHJpbWFyeSksXG5cdCd0ZXh0LWNvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tZG91YmxlLXVzcCB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IGwpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWRvdWJsZS11c3AsICdiYWNrZ3JvdW5kLWNvbG9yJyk7XG5cdH1cbn1cblxuXG4uby1kb3VibGUtdXNwX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0cGFkZGluZy10b3A6IHNwYWNlKDYpO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNik7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi5vLWRvdWJsZS11c3BfX2xlZnQge1xuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKXtcblx0XHRtYXJnaW4tYm90dG9tOiBzcGFjZSg2KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdHdpZHRoOiBjb2x1bW4oNywgMTIpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCAxMik7XG5cdH1cbn1cblxuLm8tZG91YmxlLXVzcF9fcmlnaHR7XG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuXHR9XG59XG5cbi5vLWRvdWJsZS11c3BfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHhsKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMyk7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLWRvdWJsZS11c3AsICd0ZXh0LWNvbG9yJyk7XG59XG5cblxuLm8tZG91YmxlLXVzcF9fbGlzdCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5cblxuLm8tZG91YmxlLXVzcF9faXRlbSB7XG5cdEBpbmNsdWRlIG93bChzcGFjZSgyKSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiBzcGFjZSgyKTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tZG91YmxlLXVzcCwgJ3RleHQtY29sb3InKTtcblxuXHQmOjpiZWZvcmUge1xuXHRcdCR3aWR0aDogMTZweDtcblx0XHQkaGVpZ2h0OiAxMnB4O1xuXG5cdFx0Y29udGVudDonJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1cHg7XG5cdFx0bGVmdDogLSN7JHdpZHRofTtcblx0XHR3aWR0aDogJHdpZHRoO1xuXHRcdGhlaWdodDogJGhlaWdodDtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9jaGVjay9jaGVja2VkLnN2Zyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAkd2lkdGggJGhlaWdodDtcblx0fVxufSIsIi5vLWRvd25sb2FkcyB7XG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG4uby1kb3dubG9hZHMtLWlzLXJldmVyc2VkIHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuXG4uby1kb3dubG9hZHNfX21haW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEpO1xuICBwYWRkaW5nLXRvcDogc3BhY2UoNSk7XG4gIHBhZGRpbmctYm90dG9tOiBzcGFjZSg5KTtcblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRtYXg6IGwpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNvbHVtbigwLjUsIDgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNvbHVtbigwLjUsIDgpO1xuICB9XG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMik7XG4gICAgcGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEyKTtcbiAgfVxuXG4gIC5jLWhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLm8tZG93bmxvYWRzX19zZXJ2aWNlLXBvaW50IHtcblxuICBAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG4gICAgbWFyZ2luLXRvcDogc3BhY2UoMTApO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIG1hcmdpbi10b3A6IHNwYWNlKDUpO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEobSwgbCkge1xuICAgIHdpZHRoOiBjb2x1bW4oMywgOClcbiAgfVxuICBAaW5jbHVkZSBtcShsKSB7XG4gICAgd2lkdGg6IGNvbHVtbig1LCAxMik7XG4gIH1cbn0iLCIkby1ldmVudC1icDE6IDEwMDA7XG4kby1ldmVudC1icDI6IGw7XG4kby1ldmVudC1wYWRkaW5nLXRvcC1zbWFsbDogc3BhY2UoNCk7XG4kby1ldmVudC1wYWRkaW5nLXRvcC1sYXJnZTogc3BhY2UoNik7XG5cblxuXG5cbi5vLWV2ZW50IHtcblx0QGluY2x1ZGUgdGVtcGxhdGUoZGF0YSwgZm9ybSk7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtcm93LWdhcDogc3BhY2UoOCk7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBhdXRvKTtcblx0Z3JpZC10ZW1wbGF0ZS1hcmVhczpcblx0XHRcImRhdGFcIlxuXHRcdFwiZm9ybVwiO1xuXG5cdEBpbmNsdWRlIG1xKCRvLWV2ZW50LWJwMSkge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogNmZyIDVmcjtcblx0XHRncmlkLWNvbHVtbi1nYXA6IGNvbHVtbigxLDEyKTtcblx0XHRncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZvcm0gZGF0YVwiO1xuXHR9XG59XG5cblxuLm8tZXZlbnRfX2RhdGEge1xuXHRAaW5jbHVkZSBtcSgkby1ldmVudC1icDEpIHtcblx0XHRwYWRkaW5nLXRvcDogJG8tZXZlbnQtcGFkZGluZy10b3Atc21hbGw7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkby1ldmVudC1icDIpIHtcblx0XHRwYWRkaW5nLXRvcDogJG8tZXZlbnQtcGFkZGluZy10b3AtbGFyZ2U7XG5cdH1cbn1cblxuXG4uby1ldmVudF9fZm9ybSB7XG5cdHBhZGRpbmctdG9wOiAkby1ldmVudC1wYWRkaW5nLXRvcC1zbWFsbDtcblx0cGFkZGluZy1ib3R0b206ICRvLWV2ZW50LXBhZGRpbmctdG9wLXNtYWxsO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oLTEsMTIpO1xuXHRcdG1hcmdpbi1yaWdodDogY29sdW1uKC0xLDEyKTtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMSwxMik7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBzcGFjZSg2KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSg2KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKCRvLWV2ZW50LWJwMikge1xuXHRcdHBhZGRpbmctdG9wOiAkby1ldmVudC1wYWRkaW5nLXRvcC1sYXJnZTtcblx0XHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDEyKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgxMik7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDEwKTtcblx0fVxufVxuXG5cbi5vLWV2ZW50X19pbmZvLWxpc3Qge1xuXHQkZHQtd2lkdGg6IDExMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdG1hcmdpbjogMCAwIHNwYWNlKDgpO1xuXG5cdGR0IHtcblx0XHR3aWR0aDogJGR0LXdpZHRoO1xuXHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cblx0ZGQge1xuXHRcdEBpbmNsdWRlIGh5cGhlbmF0ZTtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gI3skZHQtd2lkdGh9KTtcblx0fVxufVxuXG5cbi5vLWV2ZW50X19oZWFkaW5nIHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNClcbn1cblxuXG4uby1ldmVudF9fc2VydmljZXBvaW50LWhlYWRpbmcge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg4KTtcbn0iLG51bGwsIi8qXG4gKiBFdmVudHNcbiAqXG4gKi9cblxuJG8tZXZlbnRzLXNwYWNpbmc6ICAgIHNwYWNlKDQpO1xuXG4kby1ldmVudHMtaXRlbXMtczogICAgMjtcbiRvLWV2ZW50cy1pdGVtcy1tOiAgICAzO1xuJG8tZXZlbnRzLWl0ZW1zLWw6ICAgIDQ7XG5cbiRvLWV2ZW50cy1yb3ctYnAtczogICA2MDA7XG4kby1ldmVudHMtcm93LWJwLW06ICAgOTAwO1xuJG8tZXZlbnRzLXJvdy1icC1sOiAgIDEyMDA7XG5cblxuLm8tZXZlbnRzX19tYWluIHtcbiAgQGluY2x1ZGUgbXEoJG8tZXZlbnRzLXJvdy1icC1zKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuLm8tZXZlbnRzX19pdGVtIHtcblxuICAvLyBDcmVhdGUgbmljZSB2ZXJ0aWNhbCBzcGFjaW5nIG9uIG1vYmlsZVxuICBAaW5jbHVkZSBtcSgkbWF4OiAkby1ldmVudHMtcm93LWJwLXMpe1xuICAgICYgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpbmdsZSBjb2x1bW4gKHN0YWNrZWQpXG4gIEBpbmNsdWRlIG1xKCRtYXg6ICRvLWV2ZW50cy1yb3ctYnAtcykge1xuICAgIG1heC13aWR0aDogMzQ0cHg7IC8vIGNvbnN0cmFpbiB0aGUgd2lkdGggb2YgdGhlIGNhcmQgaW5zaWRlXG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAvLyBUd28gY29sdW1uc1xuICBAaW5jbHVkZSBtcSgkby1ldmVudHMtcm93LWJwLXMsICRtYXg6ICRvLWV2ZW50cy1yb3ctYnAtbSkge1xuICAgIGZsZXg6IDA7XG4gICAgLy8gV2UgY2FsY3VsYXRlIHRoZSBzaXplIG9mIHRoZSBpdGVtIGJhc2VkIG9uIHRoZSBzZXR0aW5ncyBhbmQgcHV0IGl0IGluIGEgbG9uZ2hhbmQgZmxleCB2YWx1ZSBiZWNhdXNlIG9mIElFIHN1cHBvcnRcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLyRvLWV2ZW50cy1pdGVtcy1zKX0gLSAoKCN7JG8tZXZlbnRzLWl0ZW1zLXN9IC0gMSkgLyAjeyRvLWV2ZW50cy1pdGVtcy1zfSAqICN7JG8tZXZlbnRzLXNwYWNpbmd9KSk7XG4gICAgbWFyZ2luLWxlZnQ6ICN7JG8tZXZlbnRzLXNwYWNpbmd9O1xuXG4gICAgJjpudGgtY2hpbGQoI3skby1ldmVudHMtaXRlbXMtc31uICsgMSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQobiArICN7JG8tZXZlbnRzLWl0ZW1zLXMgKyAxfSkge1xuICAgICAgbWFyZ2luLXRvcDogI3skby1ldmVudHMtc3BhY2luZ307XG4gICAgfVxuICB9XG5cblxuICAvLyBUaHJlZSBjb2x1bW5zXG4gIEBpbmNsdWRlIG1xKCRvLWV2ZW50cy1yb3ctYnAtbSwgJG1heDogJG8tZXZlbnRzLXJvdy1icC1sKSB7XG4gICAgZmxleDogMDtcbiAgICAvLyBXZSBjYWxjdWxhdGUgdGhlIHNpemUgb2YgdGhlIGl0ZW0gYmFzZWQgb24gdGhlIHNldHRpbmdzIGFuZCBwdXQgaXQgaW4gYSBsb25naGFuZCBmbGV4IHZhbHVlIGJlY2F1c2Ugb2YgSUUgc3VwcG9ydFxuICAgIGZsZXgtYmFzaXM6IGNhbGMoI3twZXJjZW50YWdlKDEvJG8tZXZlbnRzLWl0ZW1zLW0pfSAtICgoI3skby1ldmVudHMtaXRlbXMtbX0gLSAxKSAvICN7JG8tZXZlbnRzLWl0ZW1zLW19ICogI3skby1ldmVudHMtc3BhY2luZ30pKTtcbiAgICBtYXJnaW4tbGVmdDogI3skby1ldmVudHMtc3BhY2luZ307XG5cbiAgICAmOm50aC1jaGlsZCgjeyRvLWV2ZW50cy1pdGVtcy1tfW4gKyAxKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChuICsgI3skby1ldmVudHMtaXRlbXMtbSArIDF9KSB7XG4gICAgICBtYXJnaW4tdG9wOiAjeyRvLWV2ZW50cy1zcGFjaW5nfTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIEZvdXIgY29sdW1uc1xuICBAaW5jbHVkZSBtcSgkby1ldmVudHMtcm93LWJwLWwpIHtcbiAgICBmbGV4OiAwO1xuICAgIC8vIFdlIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgaXRlbSBiYXNlZCBvbiB0aGUgc2V0dGluZ3MgYW5kIHB1dCBpdCBpbiBhIGxvbmdoYW5kIGZsZXggdmFsdWUgYmVjYXVzZSBvZiBJRSBzdXBwb3J0XG4gICAgZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS8kby1ldmVudHMtaXRlbXMtbCl9IC0gKCgjeyRvLWV2ZW50cy1pdGVtcy1sfSAtIDEpIC8gI3skby1ldmVudHMtaXRlbXMtbH0gKiAjeyRvLWV2ZW50cy1zcGFjaW5nfSkpO1xuICAgIG1hcmdpbi1sZWZ0OiAjeyRvLWV2ZW50cy1zcGFjaW5nfTtcblxuICAgICY6bnRoLWNoaWxkKCN7JG8tZXZlbnRzLWl0ZW1zLWx9biArIDEpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG4gKyAjeyRvLWV2ZW50cy1pdGVtcy1sICsgMX0pIHtcbiAgICAgIG1hcmdpbi10b3A6ICRvLWV2ZW50cy1zcGFjaW5nO1xuICAgIH1cbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tZm9vdGVyOiAoXG5cdCdiZ0NvbG9yJzogIFx0ICAgIHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcblx0J3RleHRDb2xvcic6ICBcdCAgICBwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQndGV4dENvbG9ySG92ZXInOiAgXHRwYWxldHRlKHNlY29uZGFyeSwgNTAwKSxcblx0J2xvZ29IZWlnaHQnOiAgXHQgICAgMjhweCxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLWZvb3RlciB7XG5cdEBpbmNsdWRlIHooei1mb290ZXIpO1xuXHRjb2xvcjogbWFwLWdldCgkby1mb290ZXIsICd0ZXh0Q29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1mb290ZXIsICdiZ0NvbG9yJyk7XG5cdGZsZXg6IDEgMCBhdXRvO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3BhdHJvb24tZm9vdGVyLnN2Z1wiKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG5cdGJhY2tncm91bmQtc2l6ZTogYXV0byA1MC4xJTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG5cdH1cbn1cblxuXG4uby1mb290ZXJfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQncGFkZGluZy10b3AnIDAuNSxcblx0XHQncGFkZGluZy1ib3R0b20nIDAuNVxuXHQpO1xufVxuXG5cbi5vLWZvb3Rlcl9fY29sdW1ucyB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cblxuLm8tZm9vdGVyX19icmFuZCB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdtYXJnaW4tYm90dG9tJyAwLjMzXG5cdCk7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG5cblx0Jjpob3ZlciB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG59XG5cblxuLm8tZm9vdGVyX19sb2dvIHtcblx0aGVpZ2h0OiBtYXAtZ2V0KCRvLWZvb3RlciwgJ2xvZ29IZWlnaHQnKTtcbn1cblxuXG4vLyBMZWZ0IGNvbHVtblxuLm8tZm9vdGVyX19pbmZvIHtcblx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuKHNwYWNlKDQpKTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig0LCAxMCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNSwgMTIpO1xuXHR9XG59XG5cblxuLy8gUmlnaHQgY29sdW1uXG4uby1mb290ZXJfX25hdiB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0J21hcmdpbi10b3AnIDAuNVxuXHQpO1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHR9XG59XG5cbi5vLWZvb3Rlcl9fbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcbn1cblxuXG4uby1mb290ZXJfX2xpbmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMDtcblx0Y29sb3I6IG1hcC1nZXQoJG8tZm9vdGVyLCAndGV4dENvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhzKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAtMTtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IHNwYWNlKC0xKTtcblx0XHRyaWdodDogc3BhY2UoLTEpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoaW52ZXJ0KG1hcC1nZXQoJG8tZm9vdGVyLCAndGV4dENvbG9yJykpLCAwLjE1KTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLWZvb3RlciwgJ3RleHRDb2xvckhvdmVyJyk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuXG4uby1mb290ZXJfX3NvY2lhbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogc3BhY2UoNCkgMCAwO1xufVxuXG5cbi5vLWZvb3Rlcl9fY2hhbm5lbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDIpO1xufVxuXG5cbi5vLWZvb3Rlcl9faWNvbiB7XG5cdGZsZXg6IGF1dG87XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcblxuXHQuZmFjZWJvb2sgJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvZmFjZWJvb2suc3ZnXCIpO1xuXHRcdGhlaWdodDogMjFweDtcblx0fVxuXHQuaW5zdGFncmFtICYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2luc3RhZ3JhbS5zdmdcIik7XG5cdH1cblx0LnR3aXR0ZXIgJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvdHdpdHRlci5zdmdcIik7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHR9XG5cdC5saW5rZWRpbiAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9saW5rZWRpbi5zdmdcIik7XG5cdFx0aGVpZ2h0OiAxOHB4O1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0fVxufSIsIi5vLWZvcm0ge31cblxuLm8tZm9ybV9faGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNSk7XG59XG5cbi5vLWZvcm1fX2JvZHkge31cblxuLm8tZm9ybV9fZm9vdGVyIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG59XG5cbi5vLWZvcm1fX3JvdyB7XG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHR9XG59XG5cbi8vIEEgaGlkZGVuIHdyYXBwZXIgZm9yIGhvbmV5IHBvdCBzdHVmZlxuLm8tZm9ybV9fcG90IHtcblx0b3BhY2l0eTogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogMDtcblx0d2lkdGg6IDA7XG5cdHotaW5kZXg6IC0xO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypcblx0Q29sb3JzIGdldCBkZWZpbmVkIGluIF9zZXR0aW5ncy5jb25maWcuc2Nzc1xuKi9cblxuLm8taGVhZGVyIHtcblx0QGluY2x1ZGUgeih6LWhlYWRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAnYmdDb2xvcicpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IHNwYWNlKDQpIDA7XG5cblx0Ji5pcy1zdGlja3kge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHotaW5kZXg6IDUwO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmctdG9wOiBzcGFjZSg0KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG5cdFx0Ym94LXNoYWRvdzogMCAtNXB4IDMwcHggYmxhY2s7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMHMsIDMwMG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xuXG5cdFx0QGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQuaXMtc3RpY2t5LWhlYWRlci12aXNpYmxlICYge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdH1cblx0fVxufVxuXG4uby1oZWFkZXJfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm8taGVhZGVyX19uYXYge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDYpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5vLWhlYWRlcl9fbGFuZ3VhZ2Uge1xuXHRmbGV4OiBub25lO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoMik7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR9XG59XG5cbi5vLWhlYWRlcl9fbG9nbyB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdGZsZXg6IG5vbmU7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG59XG5cbi5vLWhlYWRlcl9faW1nIHtcblx0aGVpZ2h0OiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ2xvZ28taGVpZ2h0Jyk7XG59XG5cbi5vLWhlYWRlcl9fdG9nZ2xlIHtcblx0QGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEludHJvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1pbnRybyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1pbnRybywgJ2JnQ29sb3InKTtcblxuXHQvLyBXaGVuIGludHJvIGlzIGRhcmtlciB0aGVuIGJvZHkgd2UgbmVlZCB0byBhZGQgZXh0cmEgbWFyZ2luXG5cdEBpZiBtYXAtZ2V0KCRzaXRlLWludHJvLCAnaXNEYXJrJyl7XG5cdFx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0XHQnbWFyZ2luLWJvdHRvbScgMVxuXHRcdCk7XG5cdH1cbn1cblxuXG4uby1pbnRyb19fYm9keSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQnbWFyZ2luLWJvdHRvbScgMVxuXHQpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHQuby1pbnRyby0tbW9iaWxlLWJyZWFrLW91dCAmIHtcblx0XHRcdHdpZHRoOiAxMDB2dztcblx0XHRcdG1hcmdpbi1sZWZ0OiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0fVxuXHR9XG5cblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHR6LWluZGV4OiAtMTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHdpZHRoOiA1MHZ3O1xuXHRcdGhlaWdodDogNXZ3O1xuXHRcdG1heC1oZWlnaHQ6IDk2cHg7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL3BhdHJvb24taGVhZGVyLWwuc3ZnKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcblx0XHRyaWdodDogMTAwJSAtIHBlcmNlbnRhZ2UoMSAvICgkc2l0ZS1jb2x1bW5zLW0gKyAyKSk7XG5cblx0XHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0XHRyaWdodDogMTAwJSAtIHBlcmNlbnRhZ2UoMSAvICgkc2l0ZS1jb2x1bW5zLWwgKyAyKSk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRicC1tYXgpIHtcblx0XHRcdHJpZ2h0OiBjYWxjKCgxMDAlIC0gI3skc2l0ZS1tYXgtd2lkdGh9cHgpIC8gMiArICN7JHNpdGUtbWF4LXdpZHRofXB4KTtcblx0XHR9XG5cdH1cblx0Jjo6YWZ0ZXIge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL3BhdHJvb24taGVhZGVyLXIuc3ZnKTtcblx0XHRsZWZ0OiAxMDAlIC0gcGVyY2VudGFnZSgxIC8gKCRzaXRlLWNvbHVtbnMtbSArIDIpKTtcblxuXHRcdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRcdGxlZnQ6IDEwMCUgLSBwZXJjZW50YWdlKDEgLyAoJHNpdGUtY29sdW1ucy1sICsgMikpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkYnAtbWF4KSB7XG5cdFx0XHRsZWZ0OiBjYWxjKCgxMDAlIC0gI3skc2l0ZS1tYXgtd2lkdGh9cHgpIC8gMiArICN7JHNpdGUtbWF4LXdpZHRofXB4KTtcblx0XHR9XG5cdH1cbn1cblxuXG4uby1pbnRyb19fY29udGVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY2FsYygoMTAwJSAvICN7JHNpdGUtY29sdW1ucy1sICsgMn0pICogI3skc2l0ZS1jb2x1bW5zLWx9KTtcblx0XHRtYXgtd2lkdGg6ICN7JHNpdGUtbWF4LXdpZHRofXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxufVxuXG5cbi5vLWludHJvX19uYXYsXG4uby1pbnRyb19faW1hZ2Uge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0b3JkZXI6IC0xO1xuXHRcdHdpZHRoOiBjb2x1bW4oNSwxMik7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsMTIpO1xuXHR9XG59XG5cblxuLm8taW50cm9fX25hdiB7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdzdWJuYXZCZ0NvbG9yJyk7XG5cdHBhZGRpbmc6IHNwYWNlKDQpICRzaXRlLWd1dHRlci13aWR0aDtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0cGFkZGluZzogc3BhY2UoMTApIGNvbHVtbigwLjUsMTIpO1xuXHRcdHBhZGRpbmctbGVmdDogcGVyY2VudGFnZSgxIC8gKDggKyAyKSk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBwZXJjZW50YWdlKDEgLyAoMTAgKyAyKSk7XG5cdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZSgxIC8gKDEwICsgMikpO1xuXHR9XG59XG5cblxuLm8taW50cm9fX3RleHQge1xuXHRwYWRkaW5nLXRvcDogc3BhY2UoNCk7XG5cdHBhZGRpbmctbGVmdDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRwYWRkaW5nLXJpZ2h0OiAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNywxMik7XG5cdFx0cGFkZGluZzogc3BhY2UoMTApIGNvbHVtbigxLDEyKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsMTIpO1xuXHR9XG59XG5cblxuLm8taW50cm9fX3RpdGxlLFxuLm8taW50cm9fX2hlYWRpbmcge1xuXHRjb2xvcjogbWFwLWdldCgkc2l0ZS1pbnRybywgJ2NvbG9yJykgIWltcG9ydGFudDtcbn1cblxuXG4uby1pbnRyb19fYnV0dG9uIHtcblx0Y29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdsaW5rQ29sb3InKSAhaW1wb3J0YW50O1xufSIsIiRvLWxvZ29zLXNwYWNpbmctZHluYW1pYzogMi4zODJ2dztcbiRvLWxvZ29zLXNwYWNpbmctZml4ZWQ6IFx0c3BhY2UoNCk7XG5cbi5vLWxvZ29zIHt9XG5cbi5vLWxvZ29zX19saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW4tbGVmdDogMDsgLy8gcmVzZXRcblx0bWFyZ2luOiAtI3skby1sb2dvcy1zcGFjaW5nLWR5bmFtaWN9O1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cblx0QGluY2x1ZGUgbXEoJGJwLW1heCl7XG5cdFx0bWFyZ2luOiAtI3skby1sb2dvcy1zcGFjaW5nLWZpeGVkfTtcblx0fVxufVxuXG4uby1sb2dvc19faXRlbSB7XG5cdGZsZXg6IDAgMSAxMDAlO1xuXHRtYXJnaW46ICRvLWxvZ29zLXNwYWNpbmctZHluYW1pYztcblxuXHRAaW5jbHVkZSBtcShzKXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLzIpfSAtICN7ZG91YmxlKCRvLWxvZ29zLXNwYWNpbmctZHluYW1pYyl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLzMpfSAtICN7ZG91YmxlKCRvLWxvZ29zLXNwYWNpbmctZHluYW1pYyl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLzQpfSAtICN7ZG91YmxlKCRvLWxvZ29zLXNwYWNpbmctZHluYW1pYyl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLzQpfSAtICN7ZG91YmxlKCRvLWxvZ29zLXNwYWNpbmctZml4ZWQpfSk7XG5cdFx0bWFyZ2luOiAkby1sb2dvcy1zcGFjaW5nLWZpeGVkO1xuXHR9XG59XG5cbi5vLWxvZ29zX19saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5vLWxvZ29zX19pbWcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMDtcblx0cGFkZGluZy1ib3R0b206IDEwMCU7IC8vIEFzcGVjdCByYXRpb1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn0iLCIuby1tYXAge1xuXG5cdC8vIFJlc2V0IHNvbWUgc3R5bGluZyBmb3IgZ29vZ2xlIG1hcHNcblx0YSB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogTmV3c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vJG8tbmV3czogKFxuLy9cdCdob3Zlci1iZ2NvbG9yJzogIFx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMCksXG4vL1x0J3RleHQtY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG4vLyk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLW5ld3Mge1xuXHRAaW5jbHVkZSBjb250YWluO1xufVxuXG4uby1uZXdzX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHh4bCk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG59XG5cbi5vLW5ld3NfX2FydGljbGUge1xuXHRAaW5jbHVkZSBvd2woc3BhY2UoNCkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5vLW5ld3NfX2xpbmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgbGluZWFyO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCBwYWxldHRlKGJvcmRlciwgMzAwKTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0fVxufVxuXG4uby1uZXdzX19ib2R5IHtcblx0ZmxleC1ncm93OiAxO1xuXHRwYWRkaW5nOiAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdG9yZGVyOiAxO1xuXHRcdHBhZGRpbmctdG9wOiBzcGFjZSg2KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNik7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSw4KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMSw4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0fVxufVxuXG4uby1uZXdzX19pbWFnZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmctYm90dG9tOiA1NSU7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGZsZXg6IG5vbmU7XG5cdFx0b3JkZXI6IDI7XG5cdFx0d2lkdGg6IGNvbHVtbigyLDgpO1xuXHRcdHBhZGRpbmctYm90dG9tOiBjb2x1bW4oMiw4KTtcblx0fVxufVxuXG4uby1uZXdzX19iZy1pbWFnZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0dG9wOiAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cdHJpZ2h0OiAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAje2RvdWJsZSgkc2l0ZS1ndXR0ZXItd2lkdGgpfSk7XG5cdGhlaWdodDogY2FsYygxMDAlIC0gI3skc2l0ZS1ndXR0ZXItd2lkdGh9KTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0dG9wOiBzcGFjZSgxKTtcblx0XHRyaWdodDogc3BhY2UoMSk7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtICN7c3BhY2UoMil9KTtcblx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtICN7c3BhY2UoMil9KTtcblx0fVxufVxuXG5cbi8vIEJvZHkgY29udGVudDpcbi5vLW5ld3NfX2ludHJvIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMyk7XG59XG5cbi5vLW5ld3NfX3RpbWVzdGFtcCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbn1cblxuLm8tbmV3c19fYWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcblx0Y29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG59XG5cbi5vLW5ld3NfX3JlYWRtb3JlIHtcblx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgxKTtcbn1cblxuLm8tbmV3c19fZm9vdGVyIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IE92ZXJsYXkgbWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLW92ZXJsYXktbWVudTogKFxuXHQnYmdjb2xvcic6ICAgICAgICAgIHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcblx0J2NvbG9yJzogICAgICAgICAgICBwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnaG92ZXItY29sb3InOiAgICAgIHJnYmEocGFsZXR0ZShuZXV0cmFsLCAwKSwgMC43KSxcblx0J3NoYWRlci1jb2xvcic6ICAgICByZ2JhKDAsIDAsIDAsIDAuNiksXG5cdCdtb3ZlLXNwZWVkJzogICAgICAgNDAwbXMsXG5cdCdvcGFjaXR5LXNwZWVkJzogICAgMjAwbXMsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1vdmVybGF5LW1lbnUge1xuXHRAaW5jbHVkZSB6KHotb3ZlcmxheS1tZW51KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3BhY2l0eTogMDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnYmdjb2xvcicpO1xuXG5cdC8vIFdoZW4gaXQgZGlzYXBwZWFycyBvdXQgb2Ygdmlld1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEyMHZ3KTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKSwgbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdvcGFjaXR5LXNwZWVkJyk7XG5cdHRyYW5zaXRpb24tZGVsYXk6IDBzLCBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcblx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAuMTUsIDAuMSwgMSksIGxpbmVhcjtcblxuXHQvLyBXaGVuIGl0IGNvbWVzIGludG8gdmlld1xuXHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKSwgMHM7XG5cdH1cblxuXHQvLyBTaGFkZXJcblx0Jjo6YmVmb3JlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAtMTIwdnc7XG5cdFx0d2lkdGg6IDEyMHZ3O1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ3NoYWRlci1jb2xvcicpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKTtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuXG5cdFx0LmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMHM7XG5cdFx0fVxuXHR9XG5cblx0Ly8gRGlhZ29uYWwgc2hhcGUgb24gdGhlIHJpZ2h0XG5cdCY6OmFmdGVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAtMjAlO1xuXHRcdHdpZHRoOiAyMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtODZkZWcsIHRyYW5zcGFyZW50IDUwJSwgbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdiZ2NvbG9yJykgNTAlKTtcblx0fVxuXG5cdC8vIEhpZGUgb3ZlcmxheSBtZW51IG9uIGxhcmdlciB2aWV3cG9ydHNcblx0QGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2JhciB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZy10b3A6IHNwYWNlKDQpO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19pbWcge1xuXHRoZWlnaHQ6IHNwYWNlKDYpO1xufVxuXG5cbi5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTAuNXR1cm4pO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgZWFzZS1vdXQ7XG5cdHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuXG5cdC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0fVxufVxuXG5cbi5vLW92ZXJsYXktbWVudV9fbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19pdGVtIHtcblx0cGFkZGluZzogc3BhY2UoMSkgY29sdW1uKDEsMTQpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgcmdiYShtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2NvbG9yJyksIDAuMyk7XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19saW5rIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2NvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnaG92ZXItY29sb3InKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAycHg7XG5cdFx0b3V0bGluZS1jb2xvcjogcmdiYShtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2NvbG9yJyksIDAuMyk7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdCAgICBjb250ZW50OiAnXFwyNzk0Jztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQgICAgdG9wOiA2cHg7XG5cdFx0ICAgIGxlZnQ6IC0xLjI1ZW07XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0fVxuXHR9XG59IiwiLm8tcXVvdGUge1xuXHRAaW5jbHVkZSBjb250YWluO1xufVxuXG4uby1xdW90ZSB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cbi5vLXF1b3RlX19ib2R5IHtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNCw4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsMTIpO1xuXHRcdHdpZHRoOiBjb2x1bW4oOCwxMik7XG5cdH1cbn1cblxuLm8tcXVvdGVfX3BpY3R1cmUge1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbigzLDgpO1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSw4KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig0LDEyKTtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsMTIpO1xuXHRcdG1hcmdpbi1yaWdodDogY29sdW1uKDEsMTIpO1xuXHR9XG59XG5cbi5vLXF1b3RlX19pbWcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbi5vLXF1b3RlX190ZXh0IHtcblx0QGluY2x1ZGUgZm9udChtKTtcblx0cXVvdGVzOiAnXFwyMDFjJyAnXFwyMDFkJztcblxuXHQmOjpiZWZvcmUgeyBjb250ZW50OiBvcGVuLXF1b3RlOyB9XG5cdCY6OmFmdGVyICB7IGNvbnRlbnQ6IGNsb3NlLXF1b3RlOyB9XG59XG5cbi5vLXF1b3RlX19hdXRob3Ige1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgzKTtcblx0bWFyZ2luLWxlZnQ6IGNvbHVtbigwLjUsIDYpO1xufVxuXG4uby1xdW90ZV9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQoYmFzZSk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG59XG5cbi5vLXF1b3RlX19zdWJoZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFJlZmVyZW5jZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1yZWZlcmVuY2VzOiAoXG5cdCdnYXAnOlx0XHRcdFx0c3BhY2UoNCksXG5cdCdwYWRkaW5nJzpcdFx0XHRzcGFjZSgzKSxcblx0J2JvcmRlci1zaXplJzpcdFx0MHB4LFxuXHQnYm9yZGVyLWNvbG9yJyA6XHRwYWxldHRlKGJvcmRlciwgMzAwKSxcblx0J2JnY29sb3InIDpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnY29sb3InIDpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDUwMCksXG5cdCdjb2xvclN1YicgOlx0XHRwYWxldHRlKG5ldXRyYWwsIDQwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm8tcmVmZXJlbmNlcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0bWFyZ2luOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdnYXAnKSAqIC0xO1xufVxuXG4uby1yZWZlcmVuY2VzX19pdGVtIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhzKTtcblx0ZmxleDogMCAxIDEwMCU7XG5cdG1hcmdpbjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnZ2FwJyk7XG5cdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdwYWRkaW5nJyk7XG5cdHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdwYWRkaW5nJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2JnY29sb3InKTtcblx0Ym9yZGVyOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdib3JkZXItc2l6ZScpIHNvbGlkIG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2JvcmRlci1jb2xvcicpO1xuXHRib3gtc2hhZG93OlxuXHRcdDAgMi40cHggMzkuNHB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC4wMjQpLFxuXHRcdDAgNi44cHggNDUuNXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC4wMzUpLFxuXHRcdDAgMTYuM3B4IDUxLjRweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDQ2KSxcblx0XHQwIDU0cHggODBweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuXG5cblx0QGluY2x1ZGUgbXEoODAwKXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7ZG91YmxlKG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2dhcCcpKX0gLSAje2RvdWJsZShtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdib3JkZXItc2l6ZScpKX0pO1xuXHR9XG59XG5cbi5vLXJlZmVyZW5jZXNfX2JvZHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdwYWRkaW5nJyk7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3BpY3R1cmUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmxleC1ncm93OiAxO1xuXHRmbGV4LWJhc2lzOiAyNSU7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDMpO1xuXHRtYXJnaW4tbGVmdDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xufVxuXG4uby1yZWZlcmVuY2VzX19jb250ZW50IHtcblx0ZmxleC1ncm93OiA5OTk5O1xuXHRmbGV4LWJhc2lzOiAxOGVtO1xuXHRtYXJnaW4tbGVmdDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xuXHRjb2xvcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnY29sb3InKTtcbn1cblxuLm8tcmVmZXJlbmNlc19fYXV0aG9yIHtcblx0bWFyZ2luLXRvcDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xufVxuXG4uby1yZWZlcmVuY2VzX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRjb2xvcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnY29sb3InKTtcbn1cblxuLm8tcmVmZXJlbmNlc19fc3ViaGVhZGluZyB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdjb2xvclN1YicpO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogU3ViIEZvb3RlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXN1YmZvb3RlcjogKFxuXHQnYmdjb2xvcic6ICBcdFx0XHRzY2FsZV9jb2xvcihwYWxldHRlKHByaW1hcnksIDUwMCksICRsaWdodG5lc3M6IC0xNyUpLFxuXHQnY29sb3InOiAgXHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnY29sb3ItaG92ZXInOiAgXHRcdHJnYmEocGFsZXR0ZShuZXV0cmFsLCAwKSwgMC43KSxcblx0J3NwYWNpbmctaG9yaXpvbnRhbCc6XHRzcGFjZSg0KSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLXN1YmZvb3RlciB7XG5cdEBpbmNsdWRlIHooei1zdWJmb290ZXIpO1xuXHRjb2xvcjogbWFwLWdldCgkby1zdWJmb290ZXIsICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ2JnY29sb3InKTtcblx0cGFkZGluZy1ib3R0b206ICRzaXRlLWNvb2tpZUJhci1oZWlnaHQ7XG5cdHRyYW5zaXRpb246IHBhZGRpbmcgMC42cztcblxuXHQuaXMtY29va2llcy1hY2NlcHRlZCAmIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxufVxuXG5cbi5vLXN1YmZvb3Rlcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdEBpbmNsdWRlIGZvbnQocyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nLXRvcDogc3BhY2UoMSk7XG5cdHBhZGRpbmctYm90dG9tOiBzcGFjZSgxKTtcbn1cblxuXG4uby1zdWJmb290ZXJfX2NvcHlyaWdodCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcbiAgXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcbiAgXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcblx0bWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ3NwYWNpbmctaG9yaXpvbnRhbCcpO1xufVxuXG5cbi5vLXN1YmZvb3Rlcl9fbmF2IHtcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMSk7XG59XG5cblxuLm8tc3ViZm9vdGVyX19saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcbn1cblxuXG4uby1zdWJmb290ZXJfX2l0ZW0ge1xuXHRtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJG8tc3ViZm9vdGVyLCAnc3BhY2luZy1ob3Jpem9udGFsJyk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cblxuLm8tc3ViZm9vdGVyX19saW5rIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tc3ViZm9vdGVyLCAnY29sb3InKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkby1zdWJmb290ZXIsICdjb2xvci1ob3ZlcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG59XG5cblxuLm8tc3ViZm9vdGVyX190cmFkZW1hcmsge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMSk7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBUYWJzbGlkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby10YWJzbGlkZXI6IChcblx0J2JnY29sb3InOlx0XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnY29sb3InOlx0XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG5cdCdhY3RpdmUtY29sb3InOlx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2FjdGl2ZS1iZ2NvbG9yJzpcdFx0XHRwYWxldHRlKHByaW1hcnksIDUwMCksXG5cdCdib3JkZXItY29sb3InOiBcdFx0XHRwYWxldHRlKGJvcmRlciwgMzAwKSxcblx0J2FjdGl2ZS1ib3JkZXItY29sb3InOiBcdFx0cGFsZXR0ZShwcmltYXJ5LCA1MDApLFxuXHQndGFiLWdhcCc6ICBcdFx0XHRcdHNwYWNlKDEpLFxuKTtcblxuLypcbiAqIE9uIHNtYWxsIHNjcmVlbnMgdGhlIGNvbnRlbnQgaXMgc3RhY2tlZCwgd2l0aG91dCBjb250cm9sc1xuICogV2hlbiB0aGUgc2NyZWVuIGlzIHdpZGUgZW5vdWdoIHdlIGFkZCB0aGUgY29udHJvbHNcbiAqIGFuZCBzaG93IG9ubHkgdGhlIGNob3NlbiAnc2xpZGUgY29udGVudCdcbiAqL1xuXG5cbi5vLXRhYnNsaWRlciB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG59XG5cblxuLy8gU2hhcmVkIHN0eWxpbmcgZm9yIHRhYi0gYW5kIHN0ZXAtYnV0dG9uc1xuLm8tdGFic2xpZGVyX19idXR0b24ge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRtaW4taGVpZ2h0OiBzcGFjZSg2KTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdiZ2NvbG9yJyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYm9yZGVyLWNvbG9yJyk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJvcmRlcjtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYWN0aXZlLWJnY29sb3InKTtcblx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYWN0aXZlLWJnY29sb3InKTtcblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRjb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtY29sb3InKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2FjdGl2ZS1iZ2NvbG9yJyk7XG5cdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2FjdGl2ZS1ib3JkZXItY29sb3InKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym9yZGVyLWNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cblx0XHQmOm5vdCguaXMtYWN0aXZlKTpub3QoOmFjdGl2ZSkge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYmdjb2xvcicpLCAwIDAgNXB4IDNweCByZ2JhKG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnY29sb3InKSwgMC4xKTtcblx0XHR9XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19jb250cm9scyB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0XHRtYXJnaW4tcmlnaHQ6IGNvbHVtbigxLDEyKTtcblx0fVxufVxuXG4uby10YWJzbGlkZXJfX3N0ZXAge1xuXHR3aWR0aDogc3BhY2UoNik7XG59XG5cbi5vLXRhYnNsaWRlcl9fc3RlcC0tcHJldiB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xufVxuXG4uby10YWJzbGlkZXJfX3RhYnMge1xuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG5cblx0QGluY2x1ZGUgbXEoJGJwLW1heCkge1xuXHRcdG1hcmdpbjogKG1hcC1nZXQoJG8tdGFic2xpZGVyLCAndGFiLWdhcCcpICogLTEpIG1hcC1nZXQoJG8tdGFic2xpZGVyLCAndGFiLWdhcCcpO1xuXHR9XG59XG5cblxuLm8tdGFic2xpZGVyX190YWIge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRtYXJnaW46IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAndGFiLWdhcCcpO1xuXHRwYWRkaW5nOiAoc3BhY2UoMSkgLSAxcHgpIHNwYWNlKDIpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uby10YWJzbGlkZXJfX2NvbnRhaW5lciB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDYpO1xuXHR9XG59XG5cbi5vLXRhYnNsaWRlcl9fY29udGVudCB7XG5cdCYgKyAmIHtcblx0XHRAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0J21hcmdpbi10b3AnIDFcblx0XHQpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGdyaWQtcm93OiAxO1xuXHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0ei1pbmRleDogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdFx0fVxuXHR9XG59XG5cbi5vLXRhYnNsaWRlcl9fbGFiZWwge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDEpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4iLCIuby10ZWFtIHtcbiAgQGluY2x1ZGUgY29udGFpbjtcbiAgQGluY2x1ZGUgdnNwYWNpbmcoXG4gICAgICAnbWFyZ2luLXRvcCcgMSxcbiAgICAgICdtYXJnaW4tYm90dG9tJyAxXG4gICk7XG59XG5cbi5vLXRlYW1fX21hdHJpeCB7XG4gIEBpbmNsdWRlIG1xKDU2MCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogc3BhY2UoMikgKiAtMTtcbiAgfVxufVxuXG4uby10ZWFtX19pdGVtIHtcbiAgbWFyZ2luOiAwIGF1dG8gc3BhY2UoNCk7XG4gIG1heC13aWR0aDogMzAwcHg7XG5cbiAgQGluY2x1ZGUgbXEoNTYwKSB7XG4gICAgbWFyZ2luOiBzcGFjZSgyKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7c3BhY2UoNCl9KTsgLy8gTG9uZ2hhbmQgbmVlZGVkIGZvciBJRVxuICB9XG5cbiAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMyUgLSAje3NwYWNlKDQpfSk7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgxMjAwKSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSAje3NwYWNlKDQpfSk7XG4gIH1cbn0iLCIkby10aGFua3MtYnAxOiAxMTEwO1xuJG8tdGhhbmtzLWdhcDogc3BhY2UoNik7XG5cblxuLm8tdGhhbmtzIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0J3BhZGRpbmctYm90dG9tJyAxXG5cdCk7XG5cblx0QGluY2x1ZGUgbXEoJG8tdGhhbmtzLWJwMSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuXG4uby10aGFua3NfX2xlZnQge1xuXHRAaW5jbHVkZSBtcSgkby10aGFua3MtYnAxKSB7XG5cdFx0d2lkdGg6IGNhbGMoI3tjb2x1bW4oNiwxMil9ICsgI3skby10aGFua3MtZ2FwfSk7XG5cdFx0cGFkZGluZy1yaWdodDogJG8tdGhhbmtzLWdhcDtcblx0fVxufVxuXG5cbi5vLXRoYW5rc19fcmlnaHQge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcblxuXHRAaW5jbHVkZSBtcSgkby10aGFua3MtYnAxKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LDEyKTtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBVU1Bcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby11c3A6IChcblx0J2JhY2tncm91bmQtY29sb3InOiAgXHRwYWxldHRlKHByaW1hcnksIDUwMCksXG5cdCd0ZXh0LWNvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tdXNwIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbCkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tdXNwLCAnYmFja2dyb3VuZC1jb2xvcicpO1xuXHR9XG59XG5cbi5vLXVzcF9fbWFpbiB7XG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuLm8tdXNwX190ZXh0IHtcblx0cGFkZGluZzogc3BhY2UoNCkgMDtcblx0Y29sb3I6IG1hcC1nZXQoJG8tdXNwLCAndGV4dC1jb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXVzcCwgJ2JhY2tncm91bmQtY29sb3InKTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig1LCA4KTtcblx0XHRwYWRkaW5nOiB7XG5cdFx0XHR0b3A6IGNvbHVtbigwLjUsIDgpO1xuXHRcdFx0Ym90dG9tOiBjb2x1bW4oMC41LCA4KTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogY29sdW1uKDEsIDgpO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYpO1xuXHRcdHBhZGRpbmc6IGNvbHVtbigwLjUpIGNvbHVtbigxKTtcblx0fVxufVxuXG4uby11c3BfX2ltYWdlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IC0kc2l0ZS1ndXR0ZXItd2lkdGg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRcdHBhZGRpbmctYm90dG9tOiA2NSU7XG5cdFx0bWluLWhlaWdodDogMzYwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig0LCA4KTtcblx0XHRtYXJnaW4tcmlnaHQ6IGNvbHVtbigtMSwgOCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2KTtcblx0fVxufVxuXG4uby11c3BfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHhsKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMyk7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXVzcCwgJ3RleHQtY29sb3InKTtcbn1cblxuLm8tdXNwX19saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMTZweDtcbn1cblxuLm8tdXNwX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDIpO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0JHdpZHRoOiAxNnB4O1xuXHRcdCRoZWlnaHQ6IDEycHg7XG5cblx0XHRjb250ZW50OicnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDVweDtcblx0XHRsZWZ0OiAtI3skd2lkdGh9O1xuXHRcdHdpZHRoOiAkd2lkdGg7XG5cdFx0aGVpZ2h0OiAkaGVpZ2h0O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aCAkaGVpZ2h0O1xuXHR9XG59XG5cbi5vLXVzcF9fYWN0aW9uIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNik7XG59XG5cbi5vLXVzcF9faW1hZ2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59IiwiLm8tdmFjYW5jaWVzIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdD4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xuXHR9XG59XG5cblxuLm8tdmFjYW5jaWVzX19saW5rIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogc3BhY2UoNCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHRcdGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggMXB4IGN1cnJlbnRDb2xvcjtcblx0fVxufVxuXG5cbi5vLXZhY2FuY2llc19fY29udGVudCB7XG5cdGZsZXg6IGF1dG87XG59XG5cblxuLm8tdmFjYW5jaWVzX19pY29uIHtcblx0ZmxleDogbm9uZTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDQwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHR0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xuXG5cdC5vLXZhY2FuY2llc19fbGluazpob3ZlciAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZV9jb2xvcihwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pLCAkbGlnaHRuZXNzOiAwJSk7XG5cdH1cbn1cblxuXG4uby12YWNhbmNpZXNfX3RpdGxlIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cblxuLm8tdmFjYW5jaWVzX19zdWJ0aXRsZSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbn1cblxuXG4uby12YWNhbmNpZXNfX3Byb3BlcnRpZXMge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcbn0iLCIkby12YWNhbmN5LXByb3BlcnRpZXMtcHVsbC11cC1zaXplOiBzcGFjZSgyKTtcblxuLm8tdmFjYW5jeV9faGVybyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMikgKyAkby12YWNhbmN5LXByb3BlcnRpZXMtcHVsbC11cC1zaXplO1xuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0ICAgIEBpbmNsdWRlIGNvbnRhaW47XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAtMTtcblx0ICAgIGNvbnRlbnQ6ICcnO1xuXHQgICAgdG9wOiAwO1xuXHQgICAgYm90dG9tOiAwO1xuXHQgICAgcmlnaHQ6IC01MHZ3O1xuXHQgICAgbGVmdDogLTUwdnc7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA3MDApO1xuXHR9XG59XG5cbi5vLXZhY2FuY3lfX2hlcm8taW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcbn1cblxuXG4uby12YWNhbmN5X19wcm9wZXJ0aWVzIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0bWFyZ2luLXRvcDogLSRvLXZhY2FuY3ktcHJvcGVydGllcy1wdWxsLXVwLXNpemU7XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUZW1wbGF0ZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4iLCIucy1jaGVja2xpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcblxuXHRsaSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHRsaW5lLWhlaWdodDogMS40NTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHR3aWR0aDogMTJweDtcblx0XHRcdGhlaWdodDogMTJweDtcblx0XHRcdG1hcmdpbi1yaWdodDogOHB4O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCk7XG5cdFx0fVxuXHR9XG5cblx0LmNoZWNrbGlzdC1oYXMteC1zbWFsbC1mb250ICZ7XG5cdFx0QGluY2x1ZGUgZm9udCh4cyk7XG5cblx0XHRsaSB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxufSIsIi8qKlxuICogQWxsIHRleHQgZWxlbWVudHMgdGhhdCBjYW4gYmUgYWRkZWQgYnkgdGhlIHVzZXIgdGhyb3VnaCBhIENNU1xuICovXG5cblxuLnMtdGV4dCB7XG5cblx0aDIsIGgzLCBoNCB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcblx0fVxuXG5cdC8vIEZpcnN0IHRoZSBvd2wgc2VsZWN0b3IgZm9yIHNldHRpbmcgYSBkZWZhdWx0IHZlcnRpY2FsIHJoeXRobVxuXHQmID4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXHR9XG5cblx0Ly8gTWFrZSBzdXJlIGZpcnN0IGl0ZW0gaW4gc2NvcGVkIHRleHQgaGFzIG5vIG1hcmdpbiBvbiB0b3Bcblx0JiA+IDpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0JiA+ICogKyAuYy1idXR0b24ge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDUpO1xuXHR9XG5cblx0JiA+IHVsOm5vdChbY2xhc3NdKSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblxuXHRcdCYgPiBsaSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEuMTI1ZW07XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFwyMDIyXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAtNHB4O1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYgPiBvbDpub3QoW2NsYXNzXSkge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0Y291bnRlci1yZXNldDogb2wtY291bnRlcjtcblxuXHRcdCYgPiBsaSB7XG5cdFx0XHRjb3VudGVyLWluY3JlbWVudDogb2wtY291bnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcblx0XHRcdHBhZGRpbmctbGVmdDogMS44ZW07XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IGNvdW50ZXIob2wtY291bnRlcikgXCIuIFwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDEuMjc1ZW07XG5cdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgQ29sb3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiBIZXJlIHdlIHByaW50IG91dCBhbGwgb3VyIGhlbHBlciBjbGFzc2VzIGZvciBvdXIgZGVmaW5lZCBjb2xvcnNcbiAqIEJhc2VkIG9uIHRoZXNlIGFydGljbGVzOlxuICogLSBodHRwOi8vZXJza2luZWRlc2lnbi5jb20vYmxvZy9mcmllbmRsaWVyLWNvbG91ci1uYW1lcy1zYXNzLW1hcHMvXG4gKiAtIGh0dHBzOi8vYmxvZy5hdGVjaG1lZGlhLmNvbS9jc3MtZm9yLW11bHRpcGxlLXRoZW1lcy9cbiAqIE91dHB1dCBpcyBpbiB0aGUgZm9ybSBvZjpcblxuICAgLnUtY29sb3ItcHJpbWFyeSB7XG4gICAgICBjb2xvcjogI2JhZGE1NTtcbiAgIH1cblxuICAudS1iZy1uZXV0cmFsLS05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWNhZmY7XG4gIH1cbiAqL1xuXG5AZWFjaCAkbGV2ZWwsICRwYWxldHRlIGluICRwYWxldHRlcyB7XG5cdEBlYWNoICR0eXBlLCAkY29sb3IgaW4gJHBhbGV0dGUge1xuXHRcdEBpZigkdHlwZSA9PSAnYmFzZScpe1xuXHRcdFx0LnUtY29sb3ItI3skbGV2ZWx9IHtcblx0XHRcdFx0Y29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHRcdC51LWJnLSN7JGxldmVsfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdC51LWNvbG9yLSN7JGxldmVsfS0tI3skdHlwZX0ge1xuXHRcdFx0XHRjb2xvcjogI3skY29sb3J9O1xuXHRcdFx0fVxuXHRcdFx0LnUtYmctI3skbGV2ZWx9LS0jeyR0eXBlfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIEZvbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogSGVyZSB3ZSBwcmludCBvdXQgYWxsIG91ciBoZWxwZXIgY2xhc3NlcyBmb3Igb3VyIGRlZmluZWQgJGZvbnQtc2l6ZXMgbWFwXG4gKiBPdXRwdXQgb2YgdGhlIGNsYXNzZXMgaW4gdGhlIHRoaXMgZm9ybTpcblxuICAgLnUtZnMtbSB7fVxuICAgLnUtZnMteGwge31cbiAgIC4uLiBldGNcblxuICovXG5cblxuQGlmIHZhcmlhYmxlLWV4aXN0cyhmb250LXNpemVzKSB7XG5cdEBlYWNoICR2YWwsICRzaXplIGluICRmb250LXNpemVzIHtcblx0XHRAZWFjaCAkdHlwZSwgJGNvbG9yIGluICRzaXplIHtcblx0XHRcdC51LWZzLSN7JHZhbH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUoJHZhbCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuXG4vKipcbiAqIEhlcmUgd2UgcHJpbnQgb3V0IGFsbCBvdXIgaGVscGVyIGNsYXNzZXMgZm9yIG91ciBkZWZpbmVkICRmb250LXdlaWdodHMgbWFwXG4gKiBPdXRwdXQgb2YgdGhlIGNsYXNzZXMgaW4gdGhlIHRoaXMgZm9ybTpcblxuICAgLnUtZnctcmVndWxhciB7fVxuICAgLnUtZnctc2VtaUJvbGQge31cbiAgIC4uLiBldGNcblxuICovXG5cbkBpZiB2YXJpYWJsZS1leGlzdHMoZm9udC13ZWlnaHRzKSB7XG5cdEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZm9udC13ZWlnaHRzIHtcblx0XHQudS1mdy0jeyRuYW1lfSB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXdlaWdodCgkbmFtZSk7XG5cdFx0fVxuXHR9XG59XG5cbiIsIi51LWhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxufVxuXG4udS1wbGFjZWhvbGRlci1pbWFnZSB7XG5cdGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xufVxuXG4udS10ZXh0LWFsaWduLWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlciFpbXBvcnRhbnQ7XG59XG5cbi5ub3dyYXAge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udS1tYXgtY29udGVudCB7XG5cdG1heC13aWR0aDogNDBlbTtcbn0iLCIvKlxuKiBJZiB5b3UgbmVlZCB0byBtYWtlIGEgcXVpY2sgZml4LCB5b3UgY2FuIGRvIGl0IGhlcmUuXG4qIExhdGVyIHdoZW4geW91IGhhdmUgdGhlIHRpbWUsIHlvdSBjYW4gbW92ZSB0aGUgZml4IGludG8gdGhlIGNvcnJlY3QgcGxhY2UgaW4gdGhlIHN0cnVjdHVyZVxuKi9cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE5vdGhpbmcgaGVyZSB5ZXQsIEdvb2Qgam9iISEiLCJAZm9yICRpIGZyb20gMCB0aHJvdWdoIDgge1xuXHQvLyBNYXJnaW5cblx0LnUtc3BhY2luZy1tdCN7JGl9ICAgICB7IG1hcmdpbi10b3A6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1tciN7JGl9ICAgICB7IG1hcmdpbi1yaWdodDogXHRzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLW1iI3skaX0gICAgIHsgbWFyZ2luLWJvdHRvbTogc3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1tbCN7JGl9ICAgICB7IG1hcmdpbi1sZWZ0OiBcdHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cblx0Ly8gUGFkZGluZ1xuXHQudS1zcGFjaW5nLXB0I3skaX0gICAgIHsgcGFkZGluZy10b3A6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1wciN7JGl9ICAgICB7IHBhZGRpbmctcmlnaHQ6IHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cdC51LXNwYWNpbmctcGIjeyRpfSAgICAgeyBwYWRkaW5nLWJvdHRvbTpzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLXBsI3skaX0gICAgIHsgcGFkZGluZy1sZWZ0OiBcdHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG59XG5cbi51LXNwYWNpbmctcHYge1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQncGFkZGluZy10b3AnIDEsXG5cdFx0J3BhZGRpbmctYm90dG9tJyAxXG5cdClcbn1cblxuQGluY2x1ZGUgbXEobCkge1xuXHQudS1zcGFjaW5nLXByMFxcQGwge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcblx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUaGlzIGdyaWQgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHdoZW4geW91IHdhbnQgdG8gY2hlY2tcbiAqIGlmIGV2ZXJ5dGhpbmcgaXMgbmljZSBpbiBwbGFjZS5cbiAqIFNldCBmbGFnICdzaG93R3JpZCcgdG8gdHJ1ZSBpbiBzaXRlLnBocFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cbi8vIENvbG9yOiBTZXQgYSBodWUgdmFsdWUgdGhhdCBoYXMgZW5vdWdoIGNvbnRyYXN0XG4kdmctaHVlOiBcdFx0XHRcdFx0MjMwOyAvLyAwLTM2MFxuXG4vLyBDb2x1bW5zOiBOdW1iZXIgb2YgY29sdW1ucyBwZXIgdmlld3BvcnRcbiR2Zy1jb2x1bW4tY291bnQtczogXHRcdCRzaXRlLWNvbHVtbnMtcztcbiR2Zy1jb2x1bW4tY291bnQtbTogXHRcdCRzaXRlLWNvbHVtbnMtbTtcbiR2Zy1jb2x1bW4tY291bnQtbDogXHRcdCRzaXRlLWNvbHVtbnMtbDtcblxuXG4vLyBEbyBzb21lIGNhbGN1bGF0aW9ucyBhbmQgcHV0IHRoZW0gaW4gdmFyaWFibGVzIGZvciByZXVzZVxuJHZnLWNvbHVtbi13aWR0aC1zOiBwZXJjZW50YWdlKDEgLyAkdmctY29sdW1uLWNvdW50LXMpO1xuJHZnLWNvbHVtbi13aWR0aC1tOiBwZXJjZW50YWdlKDEgLyAkdmctY29sdW1uLWNvdW50LW0pO1xuJHZnLWNvbHVtbi13aWR0aC1sOiBwZXJjZW50YWdlKDEgLyAkdmctY29sdW1uLWNvdW50LWwpO1xuJHZnLWNvbG9yLTE6IGhzbGEoJHZnLWh1ZSwgMTAwLCA1MCwgMC4wNyk7XG4kdmctY29sb3ItMjogaHNsYSgkdmctaHVlLCAxMDAsIDUwLCAwLjA0KTtcblxuXG4udS12aXNpYmxlLWdyaWQge1xuXHRAaW5jbHVkZSB6KHotdmlzaWJsZS1ncmlkKTtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdC8qIDggcG9pbnQgZ3JpZCBsaW5lcyAqL1xuXHQvL2JhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdC8vXHR0byBib3R0b20sXG5cdC8vXHRoc2xhKDAsIDEwMCwgNTAsIDAuODQpIDAsXG5cdC8vXHRoc2xhKDAsIDEwMCwgNTAsIDApIDFweCxcblx0Ly9cdGhzbGEoMCwgMTAwLCA1MCwgMCkgOHB4LFxuXHQvL1x0aHNsYSgyMDAsIDEwMCwgNTAsIDAuMDQpIDhweFxuXHQvLyk7XG5cblx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxufVxuXG4udS12aXNpYmxlLWdyaWRfX21haW4ge1xuXHRoZWlnaHQ6IDEwMHZoO1xuXG5cdGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdFx0XHR0byByaWdodCxcblx0XHRcdCR2Zy1jb2xvci0xLFxuXHRcdFx0JHZnLWNvbG9yLTEgJHZnLWNvbHVtbi13aWR0aC1zLFxuXHRcdFx0JHZnLWNvbG9yLTIgJHZnLWNvbHVtbi13aWR0aC1zLFxuXHRcdFx0JHZnLWNvbG9yLTIgKCR2Zy1jb2x1bW4td2lkdGgtcyAqIDIpXG5cdCk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdHRvIHJpZ2h0LFxuXHRcdFx0XHQkdmctY29sb3ItMSxcblx0XHRcdFx0JHZnLWNvbG9yLTEgJHZnLWNvbHVtbi13aWR0aC1tLFxuXHRcdFx0XHQkdmctY29sb3ItMiAkdmctY29sdW1uLXdpZHRoLW0sXG5cdFx0XHRcdCR2Zy1jb2xvci0yICgkdmctY29sdW1uLXdpZHRoLW0gKiAyKVxuXHRcdCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdHRvIHJpZ2h0LFxuXHRcdFx0XHQkdmctY29sb3ItMSxcblx0XHRcdFx0JHZnLWNvbG9yLTEgJHZnLWNvbHVtbi13aWR0aC1sLFxuXHRcdFx0XHQkdmctY29sb3ItMiAkdmctY29sdW1uLXdpZHRoLWwsXG5cdFx0XHRcdCR2Zy1jb2xvci0yICgkdmctY29sdW1uLXdpZHRoLWwgKiAyKVxuXHRcdCk7XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/