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/werkenbijanvil.komma.nl/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: #D2D2DC;
  color: #FFFFFF;
  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: 8px;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  background-color: #0052ED;
  text-shadow: 0 0 4px rgba(0, 0, 0, 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 #0052ED;
}
.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: #0042be;
  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.1);
  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, 16, 47, 0.92);
  background: radial-gradient(rgba(0, 16, 47, 0.8) 0%, rgba(0, 16, 47, 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='%23D2D2DC' 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: #00102f;
  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: #000000;
  transition-property: background;
  transition-duration: 400ms;
}
.c-card--has-action:hover .c-card__label {
  color: #FFFFFF;
}
.c-card__label::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #0052ED;
  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: 1rem;
  line-height: 1.5;
  color: #656565;
}

.c-card__subheading {
  color: #999999;
}

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

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

.c-data__value {
  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: #D2D2DC;
  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: #D2D2DC;
  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: #D2D2DC;
  color: #FFFFFF;
  transform-origin: left bottom;
  transition: all 200ms linear;
}
.c-event-card:hover .c-event-card__date {
  background-color: #D2D2DC;
  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: #D2D2DC;
}

.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 #0052ED;
  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: rgba(30, 25, 65, 0.9);
}
@media screen and (min-width: 840px) {
  .c-hero__caption {
    position: absolute;
    bottom: 0;
    max-width: 50%;
    padding: 32px;
    text-align: left;
  }
  .c-hero__caption::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    right: -100vw;
    left: -100vw;
    height: 100%;
    background-color: #FFFFFF;
  }
}
@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%;
  }
}

.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: #D2D2DC;
  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: #aeaec0;
}
.c-hero__scroll:hover > svg {
  transform: translateX(3px);
}
.c-hero__scroll:focus {
  outline: none;
  background: #babac9;
  box-shadow: 0 0 0 3px #f2f2f5;
}

.c-input {
  font-size: 0.9375rem;
  line-height: 1.6;
  width: 100%;
  padding: 7px 16px;
  color: #2C2C2C;
  background-color: #FFFFFF;
  border: 1px solid #C8C8C8;
  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 #1D1D1D;
  border-color: #1D1D1D;
}
textarea.c-input {
  display: block;
  padding: 16px;
  min-height: 158px;
  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: #D2D2DC;
}

/*
	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(255, 255, 255, 0.6);
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 300ms cubic-bezier(0.86, 0, 0.07, 1);
}
.c-nav__link:hover {
  color: rgba(255, 255, 255, 0.6);
}
.c-nav__link:hover::before {
  transform: scaleX(1);
  transform-origin: bottom left;
}
.c-nav__link.is-active {
  font-weight: 500;
  color: #FFFFFF;
}
.c-nav__link.is-active::before {
  transform: scaleX(1);
  transform-origin: bottom left;
  background-color: #FFFFFF;
}
.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 #0052ED;
  font-weight: bold;
  color: #0052ED;
  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: -16px;
    margin-bottom: 16px;
  }
}

.c-page-title__heading {
  font-size: 2rem;
  line-height: 1.25;
  line-height: 1.3;
}
@media screen and (min-width: 840px) {
  .c-page-title__heading {
    font-size: 2.5rem;
    line-height: 1;
  }
}

.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;
  margin-top: 16px;
}

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

/**
 * Select styled without extra containing elements
 * ------------------------------------
 * Based on this article:
 * https://www.filamentgroup.com/lab/select-css.html
 */
.c-select {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  border-radius: 8px;
  display: block;
  padding-top: 3px;
  padding-bottom: 3px;
  padding-left: 16px;
  padding-right: 32px;
  height: 40px;
  max-width: 540px;
  box-sizing: border-box;
  margin: 0;
  -webkit-appearance: none;
          appearance: none;
  border-radius: 500px;
  color: #656565;
  background-color: transparent;
  background-image: url("/img/tinyarrow.png");
  background-repeat: no-repeat;
  background-position: right 0.7em top 50%;
  background-size: 0.65em auto;
  border: 1px solid #44A1F4;
  transition: border 150ms linear;
  cursor: pointer;
}
.c-select:focus {
  border-color: #4079B8;
  box-shadow: 0 0 7px -3px rgba(210, 210, 220, 0.7);
  box-shadow: 0 0 0 1px -moz-mac-focusring;
  color: #0052ED;
  outline: none;
}
.c-select option {
  font-weight: normal;
}

.c-select::-ms-expand {
  display: none;
}

.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;
  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: #0052ED;
  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: #D2D2DC;
  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: #babac9;
}
.c-slide-indicator__button:focus {
  outline: none;
  background-color: #babac9;
}

.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: #0052ED;
  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: #0052ED;
  font-weight: bold;
}
.c-subnav__item.is-active .c-subnav__link::before {
  border-color: #0052ED;
  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: #0052ED;
  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: #1E1941;
}

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

.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: currentColor;
  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: #0052ED;
}

.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: #0052ED;
}

.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: #FFFFFF;
  background-color: #1E1941;
  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: #44A1F4;
  }
}

.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-row-gap: 0;
    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: #0052ED;
  flex: 1 0 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: 48px;
}

.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.1);
  transition: opacity 150ms linear;
}
.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: #0052ED;
  position: relative;
  padding: 16px 0;
}
.o-header.is-sticky {
  opacity: 0;
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 16px;
  padding-bottom: 16px;
  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: 1100px) {
  .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: 1099px) {
  .o-header__nav {
    display: none;
  }
}

.o-header__language {
  flex: none;
  margin-left: 16px;
}
@media screen and (max-width: 1099px) {
  .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: 48px;
}

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

.o-intro {
  position: relative;
  z-index: 0;
  background-color: #FFFFFF;
}
@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%);
  }
}
@media screen and (min-width: 840px) {
  .o-intro__body::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #FFFFFF;
  }
  .o-intro--bottom-bar-hidden .o-intro__body::before {
    display: none;
  }
}

.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: #2C2C2C !important;
}

.o-intro__button {
  color: #1E1941 !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: #0052ED;
  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%, #0052ED 50%);
}
@media screen and (min-width: 1100px) {
  .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: #1E1941;
  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: #abc6f9;
}
.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: #0052ED;
  border-color: #0052ED;
}
.o-tabslider__button.is-active {
  color: #FFFFFF;
  background-color: #0052ED;
  border-color: #0052ED;
}
.o-tabslider__button:focus {
  outline: none;
  border-color: #0052ED;
}
.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: #1E1941;
  }
}

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

.o-usp__text {
  padding: 32px 0;
  color: #FFFFFF;
  background-color: #1E1941;
}
@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: 24px;
}

.o-vacancies__link {
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  padding: 16px;
  border: 1px solid #C8C8C8;
  color: #1D1D1D;
  text-decoration: none;
  transition: all 150ms linear;
}
@media screen and (min-width: 840px) {
  .o-vacancies__link {
    padding: 32px;
  }
}
.o-vacancies__link:hover {
  color: #1E1941;
  border-color: currentColor;
  box-shadow: inset 0 0 1px 1px currentColor;
}

.o-vacancies__body {
  display: flex;
  align-items: center;
}

.o-vacancies__content {
  flex: auto;
}

.o-vacancies__icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #D2D2DC;
  border-radius: 50%;
  color: #FFFFFF;
  transition: all 150ms linear;
}
@media screen and (max-width: 839px) {
  .o-vacancies__icon {
    transform: scale(0.6);
    transform-origin: right;
  }
}
.o-vacancies__link:hover .o-vacancies__icon {
  background-color: #1e1941;
}

.o-vacancies__title {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: bold;
  color: #1E1941;
}
@media screen and (min-width: 840px) {
  .o-vacancies__title {
    font-size: 1.5rem;
    line-height: 1.3333333333;
  }
}

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

.o-vacancies__footer {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  display: flex;
  flex-direction: column;
  margin-top: 16px;
  color: #4079B8;
}
.o-vacancies__link:hover .o-vacancies__footer {
  color: #1E1941;
}
@media screen and (min-width: 1152px) {
  .o-vacancies__footer {
    font-size: 1rem;
    line-height: 1.5;
    flex-direction: row;
    margin-top: 32px;
  }
}

@media screen and (min-width: 1152px) {
  .o-vacancies__properties {
    flex: 1 1 100%;
    margin-right: 40px;
  }
}

.o-vacancies__company {
  flex: 1 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 16px;
  color: #999999;
}
@media screen and (min-width: 1152px) {
  .o-vacancies__company {
    margin-top: 0;
    justify-content: flex-end;
  }
}

@media screen and (max-width: 1151px) {
  .o-vacancies__logo {
    order: -1;
    width: 100%;
    margin-bottom: 16px;
  }
}
@media screen and (min-width: 1152px) {
  .o-vacancies__logo {
    display: flex;
    justify-content: flex-end;
    border-left: 1px solid #C8C8C8;
    padding-left: 20px;
    margin-left: 20px;
  }
}

.o-vacancies__street {
  display: flex;
  align-items: center;
}
.o-vacancies__street::after {
  content: "|";
  display: block;
  padding-left: 4px;
  padding-right: 4px;
}

.o-vacancies__city {
  padding-left: 4px;
}

.o-vacancy__hero {
  position: relative;
  margin-bottom: 32px;
  overflow: hidden;
}
@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: #0052ED;
}

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

.o-vacancy__properties {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  color: #4079B8;
  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
 * =========================================================================*/
.t-vacancies__title {
  display: flex;
  flex-direction: column;
}

.t-vacancies__filter {
  margin-top: 16px;
  display: flex;
  background-image: url(/img/filter.svg);
  background-repeat: no-repeat;
  background-size: 17px 12px;
  background-position: left 12px center;
}

.t-vacancies__select {
  padding-left: 40px;
}

/*  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--300 {
  color: #44A1F4;
}

.u-bg-primary--300 {
  background-color: #44A1F4;
}

.u-color-primary--500 {
  color: #0052ED;
}

.u-bg-primary--500 {
  background-color: #0052ED;
}

.u-color-primary--700 {
  color: #1E1941;
}

.u-bg-primary--700 {
  background-color: #1E1941;
}

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

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

.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--450 {
  color: #808080;
}

.u-bg-neutral--450 {
  background-color: #808080;
}

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

/*
* 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zdHlsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbmZpZy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLnR5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xLVNldHRpbmdzL19zZXR0aW5ncy5icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmNvbHVtbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMubWVkaWFRdWVyaWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMudG9vbGJveC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLnppbmRleC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmJhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8zLUVsZW1lbnRzL19lbGVtZW50cy5oZWFkaW5ncy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmxpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNC1MYXlvdXRzL19sYXlvdXRzLmNvbnRhaW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMuc3BsaXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMucmVzdHJpY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZ2hvc3RidXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY2FyZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jb25uZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmRhdGEuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZGF0ZUxhYmVsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmRvd25sb2FkTGlzdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5ldmVudENhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZmlsZVVwbG9hZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5mb3JtR3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZm9ybUZlZWRiYWNrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmhhbWJ1cmdlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5oZWFkaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmhlcm8uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaW5wdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMubGFuZ3VhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMubmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnBhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucGFnZVRpdGxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnByb2plY3Rvci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zZWxlY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2VydmljZVBvaW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNpdGVtYXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2tpcExpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2xpZGUtaW5kaWNhdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnN1Ym5hdi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy50ZXh0LWJ1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy50b2dnbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudHJhZGVtYXJrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnZhY2FuY3lQcm9wZXJ0aWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5hcHBseS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuYmxvY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmJvZHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNhbGxvdXRCYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNhcmQtZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY29udGFjdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY29va2llQmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5kb3VibGVJbWFnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZG91YmxlVGV4dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZG91YmxlVXNwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5kb3dubG9hZHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmV2ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vPG5vIHNvdXJjZT4iLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5ldmVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmZvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZm9ybS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5pbnRyby5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMubG9nb3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm1hcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMubmV3cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMub3ZlcmxheU1lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnF1b3RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5yZWZlcmVuY2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5zdWJmb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRhYnNsaWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudGVhbS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudGhhbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy51c3Auc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnZhY2FuY2llcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudmFjYW5jeS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzctVGVtcGxhdGVzL190ZW1wbGF0ZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy83LVRlbXBsYXRlcy9fdGVtcGxhdGVzLnZhY2FuY2llcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzgtU2NvcGVzL19zY29wZXMuY2hlY2tsaXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOC1TY29wZXMvX3Njb3Blcy50ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy5jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LVV0aWxpdGllcy9fdXRpbGl0aWVzLmZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy5oZWxwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy5zaGFtZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzktVXRpbGl0aWVzL191dGlsaXRpZXMuc3BhY2luZy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzktVXRpbGl0aWVzL191dGlsaXRpZXMudmlzaWJsZUdyaWQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBZ0I7QUFDaEI7Ozs7Ozs7Z0VBQUE7QUNEQTs7OzsrREFBQTtBQWdEQTs7Ozs7Ozs7Ozs7O0dBQUE7QUNoREE7OzhDQUFBO0FBSUE7OztFQUFBO0FDSkE7Ozs7Z0VBQUE7QUFNQTs7R0FBQTtBQStDQTs7R0FBQTtBQ3JEQTs7a0RBQUE7QUpjQTs7K0RBQUE7QUtkQTs7K0VBQUE7QUFJQTs7O0lBQUE7QUFrQkE7OztJQUFBO0FBUUE7O0lBQUE7QUM5QkE7O2dGQUFBO0FBS0E7Ozs7Ozs7OztHQUFBO0FDTEE7Z0RBQUE7QUNBQTs7c0RBQUE7QUFLQTs7Ozs7Ozs7OztHQUFBO0FBaUNBOzs7O0dBQUE7QUFlQTtBQU9BO0FBT0E7QUFrQkE7Ozs7Ozs7Ozs7O0dBQUE7QUF3QkE7Ozs7Ozs7Ozs7Ozs7R0FBQTtBQWlDQTs7R0FBQTtBQVNBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUEwQkE7Ozs7Ozs7Ozs7Ozs7O0dBQUE7QUFnQkE7Ozs7R0FBQTtBQWtCQTs7O0dBQUE7QUF3QkE7O0dBQUE7QUFxQ0E7O0dBQUE7QUNoUkE7Ozt3R0FBQTtBQWlCQTs7Ozs7R0FBQTtBVEtBOzsrREFBQTtBVXRCQTs7Z0ZBQUE7QUFJQTs7Ozs7Ozs7R0FBQTtBQVVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NWMkxGOztBVXhMQTtFSlNNO0VBUkE7RUlDSjtFQUNBLGlCUGZrQjtFT2dCbEIsa0NQK0JhO0VPOUJiO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQWM7Q1Y2TGhCOztBVTFMQTtFQUNFO0VBQ0E7RUFDQTtDVjZMRjs7QVV6TEE7Ozs7OztHQUFBO0FBT0E7RUFDRTtFQUNBO0VBQ0E7Q1Y0TEY7QVUxTEU7RUFHRTtDVjBMSjs7QVV0TEE7O0dBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUFtQjtDVjBMckI7O0FVdkxBO0dBQUE7QUFFQTtFQUNFO0NWMExGOztBVXZMQTs7Ozs7R0FBQTtBQU1BO0VBQ0U7RUFBd0I7RUFDeEI7RUFBYztFQUNkO0NWNExGOztBVXpMQTs7O0dBQUE7QUFJQTs7O0VBR0U7Q1Y0TEY7O0FVdkxBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7VUFBQTtDVjBMRjtBVXhMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NWMExKO0FVdExJO0VBQ0U7RUFDQTtFQUNBO0NWd0xOOztBVWhMQTs7OztFQUlFO0VBQ0E7Q1ZtTEY7O0FXN1RBO0VMZ0NNO0VBUkE7Q04wU047O0FXOVRBO0VMNEJNO0VBUkE7RUtsQkw7Q1hrVUQ7O0FXL1RBO0VMdUJNO0VBUkE7RUtiTDtDWG1VRDs7QVdoVUE7RUxrQk07RUFSQTtFS1JMO0NYb1VEOztBV2pVQTtFTGFNO0VBUkE7RUtITDtDWHFVRDs7QVkxVkE7O3lGQUFBO0FBS0E7O0dBQUE7QUFJQTs7RUFFQztFQUNBO0VBQ0E7Q1owVkQ7O0FZdlZBO0VBQ0M7Q1owVkQ7O0FZclZBOztHQUFBO0FBS0M7O0VBRUM7Q1pzVkY7O0FBclZBOzsrREFBQTtBYTlCQTs7Z0ZBQUE7QUFLQTtFTDJPQztFQUNBO0VBQ0E7Q1I2SUQ7QU94VkM7RU1sQ0Q7SUxpUEk7R1I2SUY7Q0FDRjtBTzdWQztFTWxDRDtJTHdQRTtJQUNBO0dSMklBO0NBQ0Y7O0FjMVlBOzs7O29GQUFBO0FBT0E7RUFDQztFQUNBO0VBQ0E7Q2QyWUQ7QU85V0M7RU9oQ0Q7SUFPRTtHZDJZQTtDQUNGOztBY3ZZQTs7O0dBQUE7QUFLQTtFTndOQztFQUNBO0VBQ0E7Q1JrTEQ7QU83WEM7RU9mRDtJTmdPRztHUmdMRDtDQUNGO0FPbFlDO0VPZkQ7SU5xT0U7SUFDQTtHUmdMQTtDQUNGOztBT3hZQztFT1ZEO0lBSUU7R2RtWkE7Q0FDRjtBTzlZQztFT0ZBO0lBRUU7SUFDQTtHZGtaRDtDQUNGO0FPcFpDO0VPRkE7SUFNRTtJQUNBO0dkb1pEO0NBQ0Y7QU8xWkM7RU9VQTtJTnVESztHUjZWSjtDQUNGO0FPL1pDO0VPVUE7SUFNRTtHZG1aRDtDQUNGO0FjOVlFO0VBQ0M7Q2RnWkg7QU92YUM7RU9zQkM7SUFJRTtJQUNBO0dkaVpGO0NBQ0Y7QU83YUM7RU9zQkM7SUFRRTtHZG1aRjtDQUNGOztBT2xiQztFT3VDRTtJQUNDO0lBQ0E7SUFDQTtHZCtZRjtFYzdZQztJQUNDO0dkK1lGO0NBQ0Y7QWN6WUE7OztHQUFBO0FQcERDO0VPd0REO0lBRUU7SUFDQTtJQUNBO0lBQ0E7R2QyWUE7Q0FDRjtBT3pjQztFT3dERDtJQVFFO0lBQ0E7R2Q2WUE7Q0FDRjs7QWN2WUE7RUFDQztFQUNBO0NkMFlEO0FPcGRDO0VPd0VEO0lBS0U7SUFDQTtHZDJZQTtDQUNGOztBTzFkQztFT3FGQTtJQUNDO0dkeVlBO0NBQ0Y7QWV2Z0JBOzs7OztnRkFBQTtBUnVDQztFUS9CRDtJQUVJO0lBQ0E7SUFDQTtJQUNBO0dmdWdCRjtDQUNGO0FPOWVDO0VRL0JEO0lBUUk7R2Z5Z0JGO0NBQ0Y7O0FPbmZDO0VRbkJEO0lBRUk7SUFDQTtJQUNBO0dmeWdCRjtDQUNGO0FPM2ZDO0VRbkJEO0lBUUk7R2YwZ0JGO0NBQ0Y7O0FBamdCQTs7OytEQUFBO0FnQnRDQTs7OEVBQUE7QUNBQTtFQUNDO0NqQmlqQkQ7O0FpQjlpQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDakJpakJEOztBaUI3aUJBO0VBQ0M7RUFDQTtDakJnakJEO0FpQjdpQkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7Q2pCOGlCSDs7QWlCemlCQTtFQUNDO0VBQ0E7Q2pCNGlCRDtBaUIxaUJDO0VBQ0M7Q2pCNGlCRjs7QWtCcmtCQTtFVjhKRTtFRjFJSTtFQVJBO0VZVEw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEJ5a0JEO0FrQnZrQkM7RUFDQztFQUNBO0NsQnlrQkY7QWtCdmtCQztFQUNDO0VBQ0E7Q2xCeWtCRjtBa0J2a0JDO0VBQ0M7RUFDQTtDbEJ5a0JGO0FrQnJrQkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEJ1a0JGO0FrQnBrQkM7RUFDQztFQUNBO0NsQnNrQkY7O0FrQmxrQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDbEJxa0JEO0FrQm5rQkM7RUFDQztDbEJxa0JGOztBa0Jqa0JBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQm9rQkQ7QWtCbGtCQztFQUNDO0NsQm9rQkY7QWtCaGtCQztFQUNDO0VBQ0E7Q2xCa2tCRjtBa0IvakJDO0VBQ0M7RUFDQTtDbEJpa0JGOztBbUJscUJBOztnRkFBQTtBQVNBO0VYaUtFO0VGMUlJO0VBUkE7RWFaTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkJncUJEO0FtQjlwQkM7RUFDQztFQUNBO0NuQmdxQkY7QW1CN3BCQztFQUNDO0VBQ0E7Q25CK3BCRjtBbUI3cEJDO0VBQ0M7RUFDQTtDbkIrcEJGO0FtQjNwQkM7RVhpSUM7RVcvSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25CNnBCRjtBbUJ6cEJFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkIycEJIOztBbUJ0cEJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q25CeXBCRDtBbUJ2cEJDO0VBQ0M7Q25CeXBCRjs7QW1CcnBCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkJ3cEJEO0FtQnRwQkM7RUFDQztDbkJ3cEJGO0FtQnJwQkM7RUFDQztFQUNBO0NuQnVwQkY7QW1CbnBCQztFQUNDO0VBQ0E7Q25CcXBCRjs7QW9CenVCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCNHVCRDs7QW9CenVCQTs7R0FBQTtBQUdBO0VBRUM7RUFDQTtDcEIydUJEO0FRdGlCQztFQUVDO0NSdWlCRjtBb0I1dUJDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQjZ1QkY7QW9CenVCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCMnVCRjtBb0J0dUJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQnd1QkY7QW9CbnVCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwQnF1Qkg7QW9CbHVCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwQm91Qkg7QW9CanVCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwQm11QkY7O0FvQi90QkE7RUFDQztFQUNBO0VBQ0E7Q3BCa3VCRDs7QW9CL3RCQTtFQUNDO0VBQ0E7RUFDQTtDcEJrdUJEOztBb0IvdEJBO0VkM0VNO0VBUkE7RWNxRkw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEJtdUJEO0FvQmp1QkM7RUFDQztDcEJtdUJGO0FvQi90QkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCZ3VCRjtBb0I5dEJFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3BCZ3VCSDs7QW9CM3RCQTtFQUNDO0VBQ0E7Q3BCOHRCRDs7QW9CNXRCQTtFZDdITTtFQVJBO0VjdUlMO0NwQmd1QkQ7O0FvQjl0QkE7RUFDQztDcEJpdUJEOztBb0IvdEJBO0VBQ0M7Q3BCa3VCRDtBb0IvdEJDO0VBQ0M7Q3BCaXVCRjs7QXFCaDRCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQm00QkQ7QXFCajRCQztFQUNDO0NyQm00QkY7QXFCaDRCQztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQmk0QkY7QXFCLzNCQztFQUNDO0NyQmk0QkY7QXFCLzNCQztFQUNDO0NyQmk0QkY7QXFCOTNCQztFQUNDO0NyQmc0QkY7O0FzQnY2QkE7RUFDQztFQUNBO0VBQ0E7Q3RCMDZCRDtBT2o1QkM7RWU1QkQ7SUFNRTtHdEIyNkJBO0NBQ0Y7O0FzQnY2QkE7RWhCVU07RUFSQTtFZ0JDTDtFQUNBO0VBQ0E7Q3RCMDZCRDtBUWx1QkM7RUFFQztDUm11QkY7QXNCMzZCQztFQUNDO0VBQ0E7Q3RCNjZCRjtBc0IxNkJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3RCNDZCRjs7QXNCdjZCQTtFQUNDO0VBQ0E7Q3RCMDZCRDtBT2g3QkM7RWVJRDtJQUtFO0d0QjI2QkE7Q0FDRjs7QXVCNTlCQTtFQUNDO0N2Qis5QkQ7O0F1QjM5QkE7RUFDQztDdkI4OUJEOztBdUIxOUJBO0VBQ0M7RUFDQTtDdkI2OUJEOztBdUJ6OUJBO0VBQ0M7Q3ZCNDlCRDtBUTF3QkM7RUFFQztDUjJ3QkY7QXVCMTlCRTtFQUNDO0N2QjQ5Qkg7QXVCMTlCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N2QjQ5Qkg7O0F3QnovQkE7RUFDQztFQUNBO0VBQ0E7Q3hCNC9CRDs7QXdCeC9CQTtFQUNDO0VBQ0E7Q3hCMi9CRDs7QXdCdi9CQTtFbEJtQk07RUFSQTtFa0JUTDtDeEIyL0JEOztBd0J2L0JBO0VsQmFNO0VBUkE7RWtCSEw7Q3hCMi9CRDs7QXlCaGhDQTtFQUNFO0VBQ0E7RUFDQTtDekJtaENGOztBeUJoaENBO0VBQ0U7RUFDQTtDekJtaENGO0F5QmpoQ0U7RUFDRTtDekJtaENKOztBeUIvZ0NBO0VBQ0U7RUFDQTtFQUNBO0N6QmtoQ0Y7O0F5Qi9nQ0E7RUFDRTtFQUNBO0N6QmtoQ0Y7QXlCaGhDRTtFQUNFO0N6QmtoQ0o7O0F5QjlnQ0E7RUFDRTtFQUNBO0N6QmloQ0Y7QXlCL2dDRTtFQUNFO0N6QmloQ0o7O0EwQnppQ0E7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUIyaUNEO0FRMzFCQztFQUVDO0NSNDFCRjtBMEI1aUNDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzFCOGlDRjs7QTBCemlDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0MxQjRpQ0Q7QTBCMWlDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFCNGlDRjtBMEJ4aUNFO0VBQ0M7QzFCMGlDSDs7QTBCcGlDQTtFQUNDO0VBQ0E7RUFDQTtDMUJ1aUNEOztBMEJuaUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUJzaUNEO0EwQnBpQ0M7RUFDQztFQUNBO0VBQ0E7QzFCc2lDRjs7QTBCaGlDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFCbWlDRDtBMEJqaUNDO0VBQ0M7QzFCbWlDRjs7QTBCOWhDQTtFcEJqRU07RUFSQTtFb0IyRUw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUJraUNEO0EwQmhpQ0M7RUFDQztDMUJraUNGOztBMEI3aENBO0VwQi9FTTtFQVJBO0VvQnlGTDtFQUNBO0VBQ0E7RUFDQTtDMUJpaUNEO0EwQi9oQ0M7RUFDQztDMUJpaUNGOztBMEI1aENBO0VwQjVGTTtFQVJBO0VvQnNHTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQmdpQ0Q7QTBCOWhDQztFQUNDO0MxQmdpQ0Y7O0EyQnpwQ0E7RUFDQztDM0I0cENEOztBMkJ4cENBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzNCMnBDRDs7QTJCdnBDQTtFbkJpSkU7RUYxSUk7RUFSQTtFcUJJTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNCMnBDRDtBMkJ6cENDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzQjJwQ0Y7QTJCeHBDQztFQUNDO0MzQjBwQ0Y7O0EyQnJwQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtDM0J3cENEO0EyQnRwQ0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNCd3BDRjtBMkJ0cENFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0J3cENIO0EyQnBwQ0U7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNCc3BDSDtBMkJwcENHO0VBQ0M7QzNCc3BDSjtBMkJucENHO0VBQ0M7QzNCcXBDSjs7QTJCOW9DQTtFQUNDO0MzQmlwQ0Q7O0EyQjdvQ0E7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0czQmdwQ0E7Q0FDRjtBNEI1dkNBO0V0QnFCTTtFQVJBO0VzQlhKO0VBQ0E7RUFDQTtDNUIrdkNGOztBNEI1dkNBO0VBQ0U7QzVCK3ZDRjtBNEI3dkNFO0V0QldJO0VBUkE7RXNCREY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVCZ3dDSjs7QTZCanhDQTtFdkJvQk07RUFSQTtFRStJSjtFcUJ4SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0JxeENGO0E2Qm54Q0U7RUFDRTtDN0JxeENKO0E2Qmx4Q0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3Qm94Q0o7QTZCanhDRTtFQUNFO0M3Qm14Q0o7O0E4Qmh6Q0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUJtekNEO0E4Qmp6Q0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtDOUJtekNGO0E4Qmh6Q0M7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlCZ3pDRjtBOEI3eUNDO0VBQ0M7RUFDQTtDOUIreUNGO0E4QjV5Q0M7RUFDQztFQUNBO0M5Qjh5Q0Y7QThCMXlDRTtFQUNDO0M5QjR5Q0g7QThCMXlDRTtFQUVDO0M5QjJ5Q0g7QThCdHlDRTtFQUNDO0M5Qnd5Q0g7QThCdHlDRTtFQUNDO0VBQ0E7QzlCd3lDSDtBOEJ0eUNFO0VBQ0M7RUFDQTtDOUJ3eUNIOztBK0JyM0NBO0V6QmdDTTtFQVJBO0V5QnRCTDtFQUNBO0MvQnkzQ0Q7O0FPcjFDQztFd0JqQ0Q7SUFFRTtHL0J5M0NBO0NBQ0Y7O0FPMzFDQztFeUI1QkQ7SXhCcU9DO0lBQ0E7SUFDQTtHUnVwQ0M7Q0FDRjtBT24yQ0M7RXlCNUJEO0l4QjJPSTtHUndwQ0Y7Q0FDRjtBT3gyQ0M7RXlCNUJEO0l4QmtQRTtJQUNBO0dSc3BDQTtDQUNGOztBZ0NwNENBO0VBQ0M7RUFDQTtDaEN1NENEOztBZ0NwNENBO0VBQ0M7RUFDQTtFQUNBO0NoQ3U0Q0Q7QU96M0NDO0V5QmpCRDtJQU1FO0doQ3c0Q0E7Q0FDRjs7QWdDcjRDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDdzRDRDtBZ0N0NENDO0VBQ0M7RUFDQTtFQUNBO0NoQ3c0Q0Y7O0FnQ3A0Q0E7RUFDQztDaEN1NENEOztBZ0NwNENBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaENzNENEO0FPNzVDQztFeUJjRDtJQVlFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R2hDdTRDQTtFZ0NyNENBO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0doQ3U0Q0Q7Q0FDRjtBT2o3Q0M7RXlCY0Q7SUFpQ0U7SUFDQTtJQUNBO0doQ3M0Q0E7Q0FDRjtBT3g3Q0M7RXlCY0Q7STFCckJNO0lBUkE7STBCcUVKO0lBQ0E7R2hDdzRDQTtDQUNGOztBZ0NyNENBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaEN3NENEO0FnQ3Q0Q0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoQ3c0Q0Y7O0FnQ2w0Q0E7RUFLQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoQ2k0Q0Q7QU9uK0NDO0V5QmdGRDtJQUVFO0doQ3E1Q0E7Q0FDRjtBZ0NwNENDO0VBQ0M7Q2hDczRDRjtBZ0NuNENDO0VBQ0M7RUFDQTtDaENxNENGO0FnQ240Q0U7RUFDQztDaENxNENIO0FnQ2o0Q0M7RUFDQztFQUNBO0VBQ0E7Q2hDbTRDRjs7QWlDL2dEQTtFM0JpQk07RUFSQTtFMkJQTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pDbWhERDtBaUNqaERDO0VBQ0M7RUFDQTtFQUNBO0NqQ21oREY7QWlDaGhEQztFQUNDO0VBQ0E7Q2pDa2hERjtBaUMvZ0RVO0VBQ1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakNpaERGOztBa0MzaURBO0VBQ0M7Q2xDOGlERDs7QWtDM2lEQTtFNUJjTTtFQVJBO0VFK0lKO0UwQmxKRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0NsQytpREQ7QWtDN2lEQztFQUNDO0NsQytpREY7O0FrQ3ZpREE7RUFDQztFQUNBO0NsQzBpREQ7O0FrQ3ZpREE7RUFDQztFQUNBO0NsQzBpREQ7O0FrQ3ZpREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xDMGlERDtBa0N4aURDO0VBQ0M7RUFDQTtFQUNBO0NsQzBpREY7O0FrQ3RpREE7RUFDQztFQUNBO0NsQ3lpREQ7QWtDdmlEQztFQUNDO0NsQ3lpREY7QWtDdGlEQztFQUNDO0NsQ3dpREY7QWtDcmlEQztFQUNDO0NsQ3VpREY7QWtDcGlEQztFQUNDO0NsQ3NpREY7O0FrQ2xpREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbENxaUREO0FrQ25pREM7RUFDQztFQUNBO0NsQ3FpREY7O0FtQ3pvREE7O0VBQUE7QUFXQTtFQUNDO0VBQ0E7Q25Db29ERDs7QW1Dam9EQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkNvb0REOztBbUNob0RBO0U3QkVNO0VBUkE7RTZCUUw7RUFDQTtDbkNvb0REO0FtQ2xvREM7RUFDQztDbkNvb0RGOztBbUMvbkRBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkNpb0REO0FRNzhDQztFQUVDO0NSODhDRjtBbUNsb0RDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25Db29ERjtBbUNqb0RDO0VBQ0M7Q25DbW9ERjtBbUNqb0RFO0VBQ0M7RUFDQTtDbkNtb0RIO0FtQzluREM7RUFDQztFQUNBO0NuQ2dvREY7QW1DOW5ERTtFQUNDO0VBQ0E7RUFDQTtDbkNnb0RIO0FtQzVuREM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDbkM4bkRGOztBb0M1c0RBO0VBQ0M7RUFDQTtFQUNBO0U1QjJKQztFNEJ6SkQ7RUFDQTtFQUNBO0VBQ0E7Q3BDK3NERDs7QW9DNXNEQTtFQUNDO0VBQ0E7RUFDQTtDcEMrc0REO0FPbHNEQztFNkJoQkQ7SUFPRTtHcEMrc0RBO0VvQzdzREE7SUFJQztHcEM0c0REO0VvQ3pzREE7SUFDQztHcEMyc0REO0NBQ0Y7QW9DeHNEQztFQUNDO0VBQ0E7Q3BDMHNERjs7QW9DdHNEQTs7OztFQUlDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEN5c0REOztBb0N0c0RBO0VBQ0M7RUFDQTtDcEN5c0REOztBb0N0c0RBO0VBQ0M7RUFDQTtFQUNBO0NwQ3lzREQ7QW9DdnNEQztFQUNDO0VBQ0E7Q3BDeXNERjtBb0N0c0RDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3BDd3NERjs7QW9DcHNEQTs7RUFFQztFQUNBO0NwQ3VzREQ7QW9DcnNEQzs7RUFDQztFQUNBO0NwQ3dzREY7O0FvQ3BzREE7RUFDQztDcEN1c0REOztBcUN4eURBOztHQUFBO0FBSUE7RTdCNE9DO0VBQ0E7RUFDQTtFQXpCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U2QnROQztFQUNBO0VBQ0E7Q3JDZ3pERjtBT2x4REM7RThCbkNEO0k3QmtQSTtHUnVrREY7Q0FDRjtBT3Z4REM7RThCbkNEO0k3QnlQRTtJQUNBO0dScWtEQTtDQUNGO0FPN3hEQztFOEJuQ0Q7SUFRSTtJQUNBO0dyQzR6REY7Q0FDRjs7QXFDenpEQTtFQUNFO0VBQ0E7RUFDQTtDckM0ekRGO0FPenlEQztFOEJ0QkQ7SUFNSTtHckM2ekRGO0NBQ0Y7QU85eURDO0U4QnRCRDtJQVNJO0dyQyt6REY7Q0FDRjs7QU9uekRDO0U4QlREO0lBRUk7SUFDQTtHckMrekRGO0NBQ0Y7O0FxQzV6REE7RS9CTE07RUFSQTtFK0JlSjtDckNnMERGO0FPaDBEQztFOEJGRDtJL0JMTTtJQVJBO0dObzFESjtDQUNGOztBcUMvekRBO0UvQmRNO0VBUkE7RStCd0JKO0NyQ20wREY7O0FxQy96REE7RS9CcEJNO0VBUkE7RStCOEJKO0VBQ0E7Q3JDbTBERjs7QXNDMTNEQTtFQUNDO0VBQ0E7Q3RDNjNERDs7QXNDejNEQTtFQUNDO0VBQUE7RUFDQTtFQUFBO0VBQ0E7RUFBQTtFQUNBO0N0QzQzREQ7O0FzQ3gzREE7RWhDa0JNO0VBUkE7RWdDUkw7RUFBQTtFQUNBO0VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0N0QzQzREQ7O0FzQ3gzREE7RUFDQztFQUFBO0VBQ0E7RUFBQTtFQUNBO01BQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RDMjNERDtBc0N6M0RDO0VBQ0M7Q3RDMjNERjtBc0N4M0RDO0VBQ0M7Q3RDMDNERjs7QXNDcjNEQTtFQUNDO0VBQUE7RUFDQTtFQUFBO0VBQ0E7TUFBQTtFQUNBO0VBQ0E7Q3RDdzNERDs7QXNDcDNEQTtFQUVDO0VBQ0E7RUFDQTtDdENzM0REO0FPejREQztFK0JlRDtJQU9FO0d0Q3UzREE7Q0FDRjs7QXVDcjdEQTs7Ozs7R0FBQTtBQVVBO0VqQ3NCTTtFQUdFO0VFdUlOO0UrQjdKRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZDbTdERDtBdUNqN0RDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkNtN0RGO0F1Q2g3REM7RUFDQztDdkNrN0RGOztBdUM5NkRBO0VBQ0M7Q3ZDaTdERDs7QXdDLzlEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hDaytERDs7QXdDOTlEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLG1CQWhCb0I7RUFpQnBCO0N4Q2krREQ7O0F3Qzc5REE7RWhDbU1DO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWdDck1BO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeENvK0REO0FPMTlEQztFaUNqQkQ7SUFVRTtHeENxK0RBO0NBQ0Y7O0F3Q2orREE7RUFDQztDeENvK0REOztBd0NoK0RBO0VBQ0M7Q3hDbStERDs7QXdDLzlEQTtFbENmTTtFQVJBO0VrQ3lCTDtDeENtK0REOztBd0MvOURBO0VsQ3JCTTtFQVJBO0VrQytCTDtDeENtK0REOztBeUMxaEVBO0VuQ2dDTTtFQVJBO0VtQ3RCTDtDekM4aEVEOztBeUMzaEVBO0VBQ0M7RUFDQTtFQUNBO0N6QzhoRUQ7QXlDNWhFQztFQUNDO0VBQ0E7Q3pDOGhFRjs7QTBDMWlFQTs7R0FBQTtBQUlBO0VwQzRCTTtFQVJBO0VvQ2xCSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFDNmlFRjtBMEMzaUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFVO0MxQzhpRWQ7O0EyQzNpRUE7RUFDQztFQUNBO0VBQ0E7QzNDOGlFRDs7QTJDM2lFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0M4aUVEO0EyQzVpRUM7RUFDQztDM0M4aUVGO0EyQzNpRUM7RUFDQztDM0M2aUVGO0EyQzFpRUM7RUFDQztDM0M0aUVGO0EyQ3ppRUM7RUFDQztFQUNBO0MzQzJpRUY7QTJDeGlFQztFQUNDO0VBQ0E7QzNDMGlFRjs7QTJDdGlFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0N5aUVEO0EyQ3ZpRUM7RUFDQztDM0N5aUVGO0EyQ3RpRUM7RUFFQztDM0N1aUVGO0EyQ3BpRUM7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQztDM0NvaUVIO0EyQ2hpRUM7RUFFQyw0QkFEUztFQUVULDhCQUZTO0VBR1QsK0JBSFM7RUFJVCw2QkFKUztFQUtUO0MzQ2lpRUY7QTJDOWhFQztFQUVDLDZCQURTO0VBRVQsK0JBRlM7RUFHVCxnQ0FIUztFQUlULDhCQUpTO0VBS1Q7RUFDQTtFQUNBO0MzQytoRUY7QTJDM2hFRTtFQUNDO0VBQ0E7RUFDQTtDM0M2aEVIO0EyQzFoRUU7RUFDQztFQUNBO0MzQzRoRUg7QTJDeGhFQztFQUNDO0MzQzBoRUY7QTJDeGhFRTtFQUVDO0MzQ3loRUg7QTJDdGhFRTtFQUVDO0MzQ3VoRUg7O0E0Q2hwRUE7RUFDQztDNUNtcEVEOztBNEMvb0VBO0VBQ0M7RUFDQTtDNUNrcEVEO0FPL25FQztFcUNyQkQ7SUFLRTtHNUNtcEVBO0NBQ0Y7O0E0Qy9vRUE7RUFDQztDNUNrcEVEOztBNEM5b0VBO0VBQ0M7RUFDQTtFQUNBO0M1Q2lwRUQ7O0E0QzdvRUE7RUFDQztDNUNncEVEOztBNEM1b0VBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVDOG9FRDtBUWgrREM7RUFFQztDUmkrREY7QTRDL29FQztFQUNDO0M1Q2lwRUY7QTRDOW9FQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0M1Q2dwRUY7QTRDN29FQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVDK29FRjtBNEM3b0VFO0VBQ0M7RUFDQTtDNUMrb0VIOztBNEN6b0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1QzRvRUQ7QTRDMW9FQztFQUNDO0VBQ0E7RUFDQTtDNUM0b0VGOztBNENyb0VDO0VBQ0M7RUFDQTtDNUN3b0VGO0E0Q3RvRUU7RUFDQztFQUNBO0M1Q3dvRUg7QTRDcG9FQztFQUNDO0M1Q3NvRUY7O0E2Qzd1RUE7OztHQUFBO0FBS0E7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUF3QztFQUN4QztFQUFZO0VBQ1o7RUFBK0I7RUFDL0I7RUFBYztFQUNkO0VBQ0E7RUFDQTtDN0NrdkVEO0FRemlFQztFQUVDO0NSMGlFRjtBNkNudkVDO0VBQ0M7QzdDcXZFRjtBNkNudkVDO0VBQ0M7RUFDQTtDN0NxdkVGO0E2Q252RUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDN0NxdkVGOztBNkNqdkVBO0V2Q1hNO0VBUkE7Q055d0VOOztBNkNsdkVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzdDcXZFRDtBNkNudkVDO0VBQ0M7QzdDcXZFRjtBNkNsdkVDO0VBQ0M7QzdDb3ZFRjs7QTZDOXVFQztFQUFzQjtDN0NrdkV2QjtBNkNqdkVDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0NtdkVGO0E2Q2p2RUM7RUFDQztDN0NtdkVGOztBOENyekVBO0VBQ0M7RUFDQTtDOUN3ekVEOztBOENwekVBO0V0QzZKRTtFc0MxSkQ7QzlDc3pFRDtBUXhuRUM7RUFDQyxpQnNDak1ZO0M5QzJ6RWQ7O0E4Q3J6RUE7RUFDQztFQUNBLG1CQXBCbUI7QzlDNDBFcEI7QThDdHpFQztFQUNDO0M5Q3d6RUY7O0E4Q256RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlDc3pFRDtBOENwekVDO0VBQ0M7QzlDc3pFRjtBOENuekVDO0VBQVM7QzlDc3pFVjtBOENuekVFO0VBQVM7QzlDc3pFWDtBOENyekVFO0VBQVU7QzlDd3pFWjtBOENyekVDO0VBQ0M7RUFDQTtDOUN1ekVGO0E4Q3J6RUU7RUFDQztDOUN1ekVIO0E4Q256RUM7RUFDQyxlQTdEcUI7QzlDazNFdkI7O0E4Q2h6RUE7RXhDdENNO0VBUkE7RXdDZ0RMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlDb3pFRDtBOENsekVDO0VBQ0MsZUEzRXFCO0M5QyszRXZCOztBOEMveUVBO0VBQ0M7RUFDQTtFQUNBLG1CQXJGbUI7RUFzRm5CLG9CQXJGb0I7RUFzRnBCO0VBQ0E7QzlDa3pFRDtBOENoekVDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzlDa3pFRjs7QStDejRFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9DMjRFRDtBUXZyRUM7RUFFQztDUndyRUY7QStDNTRFQztFQUNDO0MvQzg0RUY7QStDMzRFQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0MvQzY0RUY7O0ErQ3o0RUE7RUFDQztFQUNBO0MvQzQ0RUQ7O0ErQ3o0RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvQzQ0RUQ7QStDMTRFQztFQUNDO0MvQzQ0RUY7O0FnRHQ3RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDaER5N0VEOztBZ0RyN0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaER3N0VEO0FnRHQ3RUM7RUFDQztDaER3N0VGOztBZ0RuN0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaERzN0VEOztBaURoOUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakRtOUVGOztBaURoOUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakRtOUVGOztBQWo3RUE7OytEQUFBO0FrRC9DQTs7OEVBQUE7QUNvQkE7RTNDNE5DO0VBQ0E7RUFDQTtDUjB2RUQ7QU9yOEVDO0U0Q25CRDtJM0NrT0k7R1IwdkVGO0NBQ0Y7QU8xOEVDO0U0Q25CRDtJM0N5T0U7SUFDQTtHUnd2RUE7Q0FDRjs7QW1ELzlFQTtFM0NrSkU7RTJDL0lEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRGkrRUQ7QVFwekVDO0VBQ0MsaUIyQ3RMWTtDbkQ0K0VkO0FtRGwrRUM7RUFDQztDbkRvK0VGOztBbURoK0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRG0rRUQ7QU83K0VDO0U0Q0NEO0lBWUU7R25EbytFQTtDQUNGO0FPbC9FQztFNENDRDtJQWVFO0duRHMrRUE7Q0FDRjtBbURuK0VDO0VBQ0M7Q25EcStFRjs7QW1EaitFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25EbytFRDtBTzNnRkM7RTRDeUJEO0lBaUJFO0duRHErRUE7Q0FDRjtBT2hoRkM7RTRDeUJEO0lBb0JFO0duRHUrRUE7Q0FDRjtBbURyK0VDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkRzK0VGO0FtRGwrRUU7RUFDQztDbkRvK0VIO0FtRGgrRUM7RUFDQztDbkRrK0VGO0FtRGgrRUU7RUFDQztDbkRrK0VIOztBbUQ3OUVBO0U3Q3JGTTtFQVJBO0U2QytGTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25EaStFRDtBT3RqRkM7RTRDOEVEO0k3Q3JGTTtJQVJBO0dOMGtGSjtDQUNGOztBbURoK0VBO0FBQ0E7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtDbkRpK0VEO0FRdjZFQztFQUNDLG1CQUYyQjtDUjI2RTdCO0FPMWtGQztFNEM2RkQ7SUFZRTtHbkRxK0VBO0NBQ0Y7QU8va0ZDO0U0QzZGRDtJQWVFO0duRHUrRUE7Q0FDRjtBbURyK0VDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtDbkRzK0VGOztBTzlsRkM7RTZDbkNEO0k1Q29HTTtJQUFBO0dSbWlGSjtDQUNGO0FPcm1GQztFNkNuQ0Q7STVDMkhNO0lBQUE7R1JraEZKO0NBQ0Y7QU8zbUZDO0U2Q25DRDtJNUNnSU07SUFBQTtHUm1oRko7Q0FDRjtBT2puRkM7RTZDbkNEO0k1Q3FJTTtJQUFBO0dSb2hGSjtDQUNGOztBb0RucEZBO0VBQ0M7RUFDQTtDcERzcEZEOztBTzVuRkM7RTZDdEJEO0lBRUU7R3BEcXBGQTtDQUNGOztBT2xvRkM7RTZDZkQ7SUFFRTtJQUNBLG9CQTFCWTtHcEQ4cUZaO0NBQ0Y7O0FvRGhwRkE7RUFDQztDcERtcEZEO0FPN29GQztFNkNQRDtJQUlFO0lBQ0E7R3BEb3BGQTtDQUNGOztBUTUrRUM7RUFDQyxpQjRDcEtZO0NwRG1wRmQ7O0FPdnBGQztFNkNRRDtJQUVFO0dwRGtwRkE7Q0FDRjs7QW9EOW9GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwRGlwRkQ7O0FvRDlvRkE7RUFDQztDcERpcEZEOztBT3hxRkM7RThDdkNEO0k3Q3dHTTtHUjRtRko7Q0FDRjtBTzlxRkM7RThDdkNEO0k3QytITTtHUjBsRko7Q0FDRjtBT25yRkM7RThDdkNEO0k3Q29JTTtHUjBsRko7Q0FDRjtBT3hyRkM7RThDdkNEO0k3Q3lJTTtHUjBsRko7Q0FDRjtBTzdyRkM7RThDakNBO0k3Q2tHSztHUmdvRko7Q0FDRjtBT2xzRkM7RThDakNBO0k3Q3lISztHUjhtRko7Q0FDRjtBT3ZzRkM7RThDakNBO0k3QzhISztHUjhtRko7Q0FDRjtBTzVzRkM7RThDakNBO0k3Q21JSztHUjhtRko7Q0FDRjs7QXNEeHZGQzs7O0VBQUE7QUFNRDtFN0NtQkM7RTZDakJBO0VBQ0E7Q3REeXZGRDs7QXVEdnZGQTtFL0M4TUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFK0NoTkE7RUFDQTtFQUNFO0N2RDh2Rkg7O0F1RDF2RkE7RS9DNk5DO0VBQ0E7RUFDQTtDUmlpRkQ7QU81dUZDO0VnRHBCRDtJL0NtT0k7R1JpaUZGO0NBQ0Y7QU9qdkZDO0VnRHBCRDtJL0MwT0U7SUFDQTtHUitoRkE7Q0FDRjtBT3Z2RkM7RWdEcEJEO0kvQ3FGTTtJQUFBO0dSMnJGSjtDQUNGO0FPN3ZGQztFZ0RwQkQ7SS9DNEdNO0lBQUE7R1IwcUZKO0NBQ0Y7QU9ud0ZDO0VnRHBCRDtJL0NpSE07SUFBQTtHUjJxRko7Q0FDRjtBT3p3RkM7RWdEcEJEO0kvQ3NITTtJQUFBO0dSNHFGSjtDQUNGO0FPL3dGQztFZ0RaQTtJL0M2RUs7R1JrdEZKO0NBQ0Y7QU9weEZDO0VnRFpBO0kvQ29HSztHUmdzRko7Q0FDRjtBT3p4RkM7RWdEWkE7SS9DeUdLO0dSZ3NGSjtDQUNGO0FPOXhGQztFZ0RaQTtJL0M4R0s7R1Jnc0ZKO0NBQ0Y7O0F1RHZ5RkE7RUFDQztDdkQweUZEOztBdUR0eUZBO0VqRFJNO0VBUkE7Q04yekZOOztBd0RuMUZBOzs7R0FBQTtBakR1Q0M7RWlEeEJEO0lBRUk7SUFDQTtHeEQyMEZGO0NBQ0Y7O0FPdnpGQztFaURiRztJQUNFO0d4RHcwRko7Q0FDRjtBTzd6RkM7RWlEakJEO0lBV0k7SUFDQTtHeER1MEZGO0NBQ0Y7QU9uMEZDO0VpRGpCRDtJQWlCSTtJQUVBO0lBQ0E7R3hEczBGRjtFd0RwMEZFO0lBQ0U7R3hEczBGSjtFd0RuMEZFO0lBQ0U7R3hEcTBGSjtDQUNGO0FPaDFGQztFaURqQkQ7SUFpQ0k7SUFFQTtJQUNBO0d4RG0wRkY7RXdEajBGRTtJQUNFO0d4RG0wRko7RXdEaDBGRTtJQUNFLGlCQXpEa0I7R3hEMjNGdEI7Q0FDRjs7QXlEMTNGQTtFQUNDO0VBQ0E7Q3pENjNGRDtBT2wyRkM7RWtEN0JEO0lBS0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHekQ4M0ZBO0NBQ0Y7O0F5RDEzRkE7RUFHQztFQUNBLGtCdkRTd0I7RXVEUnhCLG1CdkRRd0I7Q0ZtM0Z6QjtBT2ozRkM7RWtEZkQ7SWpEa1BFO0lBQ0E7R1JrcEZBO0NBQ0Y7QU92M0ZDO0VrRGZEO0lqRGtQRTtJQUNBO0dSd3BGQTtDQUNGO0FPNzNGQztFa0RmRDtJQVNFO0lBQ0E7SUFDQTtJQUNBO0d6RHU0RkE7Q0FDRjs7QXlEcDRGQTtFQUdDO0VBQ0E7RUFDQTtDekRxNEZEO0FPMzRGQztFa0RDRDtJakRrT0U7SUFDQTtHUjRxRkE7Q0FDRjtBT2o1RkM7RWtEQ0Q7SWpEa09FO0lBQ0E7R1JrckZBO0NBQ0Y7QU92NUZDO0VrRENEO0lBUUU7SUFDQTtJQUNBO0d6RGs1RkE7Q0FDRjs7QXlELzRGQTtFakRtS0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRjdMSztFQVJBO0VtRGlDTDtFQUNBO0N6RHU1RkQ7O0F5RHA1RkE7RUFDQztDekR1NUZEOztBeURwNUZBO0VBQ0M7Q3pEdTVGRDs7QXlEcDVGQTtFQUNDO0N6RHU1RkQ7O0EwRHI5RkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYXhEd0IyQjtFd0R2QjNCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUR3OUZEO0EwRHI5RkM7RWpERUE7RWlEQUM7RUFDQTtFQUNBO0MxRHU5RkY7QTBEcDlGQztFQUNDO0VBQ0E7RUFDQTtDMURzOUZGOztBMERsOUZBO0VBQ0M7RUFDQTtFQUNBO0MxRHE5RkQ7QU90OUZDO0VtREZEO0lBTUU7RzFEczlGQTtDQUNGOztBMERuOUZBO0VBQ0M7RUFDQTtDMURzOUZEO0FPaCtGQztFbURRRDtJcERmTTtJQVJBO0dOby9GSjtDQUNGOztBMERyOUZBO0VBQ0M7RUFDQTtDMUR3OUZEO0EwRHQ5RkM7RUFDQztDMUR3OUZGOztBMERwOUZBO0VBQ0M7RUFDQTtDMUR1OUZEO0FPbi9GQztFbUQwQkQ7SUFLRTtHMUR3OUZBO0NBQ0Y7O0EyRC9oR0E7Ozs7b0ZBQUE7QUFRQTtFQUNDO0VBQ0E7QzNEK2hHRDtBT2xnR0M7RW9EL0JEO0lBT0U7RzNEOGhHQTtDQUNGOztBMkQxaEdBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzNENmhHRDtBTzlnR0M7RW9EbkJEO0lBT0U7SUFDQTtJQUNBO0czRDhoR0E7RTJENWhHQTtJQUNDO0czRDhoR0Q7Q0FDRjs7QTJEemhHQTtFQUNDO0VBQ0E7QzNENGhHRDs7QTJEdmhHQztFQUNDO0MzRDBoR0Y7QTJEeGhHRTtFQUNDO0VBQ0E7QzNEMGhHSDs7QTRENWtHQTs7OztvRkFBQTtBQU9BO0VBQ0M7RUFDQTtFQUNBO0M1RDZrR0Q7QU9oakdDO0VxRGhDRDtJQU9FO0c1RDZrR0E7Q0FDRjs7QU9yakdDO0VxRHBCRDtJQUdFO0c1RDJrR0E7Q0FDRjtBTzNqR0M7RXFEZEE7SUFFRTtJQUNBO0c1RDJrR0Q7Q0FDRjtBT2prR0M7RXFEZEE7SUFNRTtHNUQ2a0dEO0NBQ0Y7QU90a0dDO0VxREpBO0lwRHFFSztHUnlnR0o7Q0FDRjtBTzNrR0M7RXFESkE7SUFNRTtHNUQ2a0dEO0NBQ0Y7QU9obEdDO0VxREpBO0lBU0U7SUFDQTtHNUQra0dEO0NBQ0Y7O0FPdGxHQztFc0QvQkQ7SUFFRTtHN0R3bkdBO0NBQ0Y7O0E2RHBuR0E7RXJEaU9DO0VBQ0E7RUFDQTtFcURqT0E7RUFDQTtDN0R5bkdEO0FPcG1HQztFc0R4QkQ7SXJEdU9JO0dSeTVGRjtDQUNGO0FPem1HQztFc0R4QkQ7SXJEOE9FO0lBQ0E7R1J1NUZBO0NBQ0Y7QU8vbUdDO0VzRHhCRDtJQU1FO0c3RHFvR0E7Q0FDRjs7QU9wbkdDO0VzRGJEO0lBRUU7RzdEb29HQTtDQUNGO0FPMW5HQztFc0RiRDtJQU1FO0lBQ0E7RzdEcW9HQTtDQUNGOztBT2hvR0M7RXNERkQ7SUFFRTtHN0Rxb0dBO0NBQ0Y7O0E2RGxvR0E7RXZEWE07RUFSQTtFdURxQkw7RUFDQTtDN0Rzb0dEOztBNkRsb0dBO0VBQ0M7RUFDQTtDN0Rxb0dEOztBNkRqb0dBO0VBRUM7RUFDQTtFQUNBO0M3RG1vR0Q7QVFqL0ZDO0VBQ0MsaUJxRHRKWTtDN0R5b0dkO0E2RHBvR0M7RUFJQztFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBUFE7RUFRUixhQVBTO0VBUVQ7RUFDQTtDN0Rtb0dGOztBT3JxR0M7RXVEdkNEO0lBRUk7SUFDQTtHOUQrc0dGO0NBQ0Y7O0FPNXFHQztFdURoQ0Q7SUFFSTtHOUQrc0dGO0NBQ0Y7O0E4RDVzR0E7RUFDRTtFQUNBO0VBQ0E7QzlEK3NHRjtBT3hyR0M7RXVEMUJEO0lBTUk7RzlEZ3RHRjtDQUNGO0FPN3JHQztFdUQxQkQ7SUFVSTtJQUNBO0c5RGl0R0Y7Q0FDRjtBT25zR0M7RXVEMUJEO0lBY0k7SUFDQTtHOURtdEdGO0NBQ0Y7QThEanRHRTtFQUNFO0M5RG10R0o7O0FPNXNHQztFdURIRDtJQUdJO0c5RGl0R0Y7Q0FDRjtBT2x0R0M7RXVESEQ7SUFPSTtHOURrdEdGO0NBQ0Y7QU92dEdDO0V1REhEO0lBV0k7RzlEbXRHRjtDQUNGO0FPNXRHQztFdURIRDtJQWNJO0c5RHF0R0Y7Q0FDRjs7QStEaHdHQTtFQUVDO0VBQUE7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUFBO2NBQ0EsbUNBQ0M7Qy9EaXdHRjtBUTEvRkU7RXdEdFJGO0VBQUE7RXhEdVJHLGdCdUQ5UUY7RXZEK1FFO0NSNC9GSDtBUTkvRkU7RXdEdFJGO0VBQUE7RXhEdVJHLGdCdUQ5UUY7RXZEK1FFO0NSZ2dHSDtBT2p2R0M7RXdEL0JEO0lBV0U7SUFBQTtJQUNBO0lBQ0E7Z0JBQ0E7Ry9EeXdHQTtFUXpnR0E7SXdEdFJGO0lBQUE7R2hFb3hHQTtFUTkvRkU7SXdEdFJGO0lBQUE7R2hFd3hHQTtDQVFBOztBT3p2R0M7RXdEWkQ7SUFFRSxrQkEzQjBCO0cvRG15RzFCO0NBQ0Y7QU8vdkdDO0V3RFpEO0lBTUUsa0JBOUIwQjtHL0R1eUcxQjtDQUNGOztBK0Ryd0dBO0VBQ0Msa0JBckMyQjtFQXNDM0IscUJBdEMyQjtFQXVDM0I7Qy9Ed3dHRDtBTzF3R0M7RXdEREQ7SUFNRTtJQUNBO0lBQ0E7SUFDQTtHL0R5d0dBO0NBQ0Y7QU9seEdDO0V3REREO0lBYUU7SUFDQTtHL0Qwd0dBO0NBQ0Y7QU94eEdDO0V3REREO0lBa0JFLGtCQXJEMEI7SUFzRDFCO0lBQ0E7SUFDQTtHL0Qyd0dBO0NBQ0Y7O0ErRHZ3R0E7RUFFQztFQUNBO0VBQ0E7Qy9EeXdHRDtBK0R2d0dDO0VBQ0MsYUFOVTtFQU9WO0VBQ0E7RUFDQTtDL0R5d0dGO0ErRHZ3R0M7RXZENklBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXVEL0lDO0MvRDZ3R0Y7O0ErRHh3R0E7RUFDQztFQUNBO0MvRDJ3R0Q7O0ErRHZ3R0E7RUFDQztDL0Qwd0dEOztBaUVwMkdBOzs7R0FBQTtBMUR1Q0M7RTBEdkJEO0lBRUk7SUFDQTtHakUyMUdGO0NBQ0Y7O0FPeDBHQztFMERaRztJQUNFO0dqRXcxR0o7Q0FDRjtBTzkwR0M7RTBEaEJEO0lBV0k7SUFDQTtHakV1MUdGO0NBQ0Y7QU9wMUdDO0UwRGhCRDtJQWlCSTtJQUVBO0lBQ0E7R2pFczFHRjtFaUVwMUdFO0lBQ0U7R2pFczFHSjtFaUVuMUdFO0lBQ0U7R2pFcTFHSjtDQUNGO0FPajJHQztFMERoQkQ7SUFrQ0k7SUFFQTtJQUNBO0dqRWsxR0Y7RWlFaDFHRTtJQUNFO0dqRWsxR0o7RWlFLzBHRTtJQUNFO0dqRWkxR0o7Q0FDRjtBTzkyR0M7RTBEaEJEO0lBbURJO0lBRUE7SUFDQTtHakU4MEdGO0VpRTUwR0U7SUFDRTtHakU4MEdKO0VpRTMwR0U7SUFDRSxpQkEvRWdCO0dqRTQ1R3BCO0NBQ0Y7O0FrRXQ1R0E7RXpEYUM7RXlEWEE7RUFDQTtFQUNBO0NsRXk1R0Q7O0FrRXI1R0E7RTFENE5DO0VBQ0E7RUFDQTtDUjZyR0Q7QU94NEdDO0UyRG5CRDtJMURrT0k7R1I2ckdGO0NBQ0Y7QU83NEdDO0UyRG5CRDtJMUR5T0U7SUFDQTtHUjJyR0E7Q0FDRjtBT241R0M7RTJEbkJEO0kxRG9GTTtJQUFBO0dSdTFHSjtDQUNGO0FPejVHQztFMkRuQkQ7STFEMkdNO0lBQUE7R1JzMEdKO0NBQ0Y7QU8vNUdDO0UyRG5CRDtJMURnSE07SUFBQTtHUnUwR0o7Q0FDRjtBT3I2R0M7RTJEbkJEO0kxRHFITTtJQUFBO0dSdzBHSjtDQUNGOztBTzM2R0M7RTJEVkQ7SUFFRTtHbEV3N0dBO0NBQ0Y7O0FrRXA3R0E7RUFJQztFQUNBO0NsRW83R0Q7QU90N0dDO0UyREhEO0kxRG9FTTtHUnkzR0o7Q0FDRjtBTzM3R0M7RTJESEQ7STFEMkZNO0dSdTJHSjtDQUNGO0FPaDhHQztFMkRIRDtJMURnR007R1J1MkdKO0NBQ0Y7QU9yOEdDO0UyREhEO0kxRHFHTTtHUnUyR0o7Q0FDRjtBa0V0OEdDO0VBQ0M7Q2xFdzhHRjs7QWtFbjhHQTtFQUNDO0NsRXM4R0Q7O0FRanpHQztFQUNDLGlCMERoSnFCO0NsRW84R3ZCO0FPcjlHQztFMkRnQkQ7SUFJRTtHbEVxOEdBO0NBQ0Y7QU8xOUdDO0UyRGdCRDtJQU9FO0dsRXU4R0E7Q0FDRjs7QU8vOUdDO0UyRDZCRDtJMURvQ007R1JtNkdKO0NBQ0Y7QU9yK0dDO0UyRDZCRDtJQUtFO0dsRXU4R0E7Q0FDRjtBTzErR0M7RTJENkJEO0lBUUU7R2xFeThHQTtDQUNGOztBa0V0OEdBO0VBQ0M7RUFDQTtDbEV5OEdEOztBa0VyOEdBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRXU4R0Q7QVFqMEdDO0VBRUM7Q1JrMEdGO0FrRXg4R0M7RTFEd0VDO0UwRHRFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRTA4R0Y7QWtFdDhHRTtFQUNDO0NsRXc4R0g7QWtFcDhHQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0NsRXM4R0Y7O0FrRWo4R0E7RUFDQztFQUNBO0VBQ0E7Q2xFbzhHRDs7QWtFaDhHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEVtOEdEOztBa0UvN0dBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xFazhHRDtBa0VoOEdDO0VBQ0M7RUFDQTtDbEVrOEdGO0FrRWg4R0M7RUFDQztDbEVrOEdGO0FrRWg4R0M7RUFDQztFQUNBO0NsRWs4R0Y7QWtFaDhHQztFQUNDO0VBQ0E7Q2xFazhHRjtBa0UvN0dDO0VBQ0M7Q2xFaThHRjtBa0U5N0dDO0VBQ0M7Q2xFZzhHRjs7QW1FMW1IQTtFQUNDO0NuRTZtSEQ7O0FtRXhtSEE7RUFDQztDbkUybUhEOztBbUV2bUhDO0VBQ0M7Q25FMG1IRjs7QW1Fcm1IQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRXdtSEQ7O0FvRS9uSEE7O0VBQUE7QUFJQTtFM0RrQkM7RTJEaEJBO0VBQ0E7RUFDQTtDcEVpb0hEO0FvRS9uSEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwRWlvSEY7QU9ybkhDO0U2RDFCQTtJQWlCRTtHcEVrb0hEO0NBQ0Y7QW9FaG9IRTtFQUNDO0VBQ0E7RUFDQTtDcEVrb0hIOztBb0U3bkhBO0U1RHVNQztFQUNBO0VBQ0E7RTREdk1BO0VBQ0E7RUFDQTtFQUNBO0NwRWtvSEQ7QU96b0hDO0U2REVEO0k1RDZNSTtHUjg3R0Y7Q0FDRjtBTzlvSEM7RTZERUQ7STVEb05FO0lBQ0E7R1I0N0dBO0NBQ0Y7O0FvRTFvSEE7RUFDQztFQUNBO0NwRTZvSEQ7QU96cEhDO0U2RFVEO0lBS0U7R3BFOG9IQTtDQUNGOztBb0Uzb0hBO0VBQ0M7RUFDQTtDcEU4b0hEO0FPbnFIQztFNkRtQkQ7SUFLRTtHcEUrb0hBO0NBQ0Y7O0FvRTVvSEE7RUFFQztDcEU4b0hEO0FRaC9HQztFQUVDO0NSaS9HRjtBb0Uvb0hDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3BFaXBIRjs7QW9FN29IQTtFQUNDO0NwRWdwSEQ7O0FPenJIQztFNkQ0Q0Q7SUFFRTtHcEVncEhBO0NBQ0Y7O0FxRWx1SEE7RUFDQztFQUNBO0VBQ0E7Q3JFcXVIRDtBT3JzSEM7RThEbkNEO0k3RG9HTTtHUndvSEo7Q0FDRjtBTzFzSEM7RThEbkNEO0k3RDJITTtHUnNuSEo7Q0FDRjtBTy9zSEM7RThEbkNEO0k3RGdJTTtHUnNuSEo7Q0FDRjtBT3B0SEM7RThEbkNEO0k3RHFJTTtHUnNuSEo7Q0FDRjs7QXFFOXVIQTtFQUNDO0NyRWl2SEQ7QU83dEhDO0U4RHJCRDtJN0RzRk07R1JncUhKO0NBQ0Y7QU9sdUhDO0U4RHJCRDtJN0Q2R007R1I4b0hKO0NBQ0Y7QU92dUhDO0U4RHJCRDtJN0RrSE07R1I4b0hKO0NBQ0Y7QU81dUhDO0U4RHJCRDtJN0R1SE07R1I4b0hKO0NBQ0Y7QU9qdkhDO0U4RGJDO0lBQ0M7SUFDQTtJQUNBO0dyRWl3SEQ7Q0FDRjtBT3h2SEM7RThETEM7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0dyRWd3SEQ7RXFFOXZIQztJQUNDO0dyRWd3SEY7Q0FDRjs7QXFFMXZIQTtFQUNDO0VBQ0E7Q3JFNnZIRDtBTzV3SEM7RThEYUQ7SUFLRTtHckU4dkhBO0NBQ0Y7QU9qeEhDO0U4RGFEO0lBU0U7SUFDQTtJQUNBO0lBQ0E7R3JFK3ZIQTtDQUNGOztBcUUzdkhBOztFQUVDO0NyRTh2SEQ7QU85eEhDO0U4RDhCRDs7SUFLRTtJQUNBO0lBQ0E7R3JFZ3dIQTtDQUNGO0FPdHlIQztFOEQ4QkQ7O0lBV0U7R3JFa3dIQTtDQUNGOztBcUU5dkhBO0VBQ0M7RUFDQTtDckVpd0hEO0FPanpIQztFOEQ4Q0Q7SUFLRTtJQUNBO0dyRWt3SEE7Q0FDRjtBT3Z6SEM7RThEOENEO0lBVUU7SUFDQTtHckVtd0hBO0NBQ0Y7O0FxRS92SEE7RUFDQztFQUNBLGtCbkVsRXdCO0VtRW1FeEIsbUJuRW5Fd0I7Q0ZxMEh6QjtBT24wSEM7RThEOEREO0lBTUU7SUFDQTtHckVtd0hBO0NBQ0Y7QU96MEhDO0U4RDhERDtJQVdFO0dyRW93SEE7Q0FDRjs7QXFFaHdIQTs7RUFFQztDckVtd0hEOztBcUUvdkhBO0VBQ0M7Q3JFa3dIRDs7QXNFejNIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RFNDNIRDtBTy8xSEM7RStEbENEO0lBUUU7R3RFNjNIQTtDQUNGOztBc0UxM0hBO0VBQ0M7RUFDQSxnQkFuQnlCO0N0RWc1SDFCO0FPejJIQztFK0R0QkQ7SUFLRTtHdEU4M0hBO0NBQ0Y7QU85MkhDO0UrRHRCRDtJQVFFO0d0RWc0SEE7Q0FDRjtBT24zSEM7RStEdEJEO0lBV0U7R3RFazRIQTtDQUNGO0FPeDNIQztFK0R0QkQ7SUFjRTtJQUNBLGFBL0J1QjtHdEVtNkh2QjtDQUNGOztBc0VqNEhBO0VBQ0M7Q3RFbzRIRDs7QXNFajRIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N0RW80SEQ7O0F1RS82SEU7RUFDQztDdkVrN0hIOztBd0U1NkhBO0VoRXFPQztFQUNBO0VBQ0E7Q1Iyc0hEO0FPdDVIQztFaUU1QkQ7SWhFMk9JO0dSMnNIRjtDQUNGO0FPMzVIQztFaUU1QkQ7SWhFa1BFO0lBQ0E7R1J5c0hBO0NBQ0Y7O0F3RXo3SEE7RWxFaUJNO0VBUkE7RWtFUEw7Q3hFNjdIRDs7QXdFMTdIQTtFQUVDO0N4RTQ3SEQ7QVFwd0hDO0VBQ0MsaUJnRTFMWTtDeEVnOEhkOztBd0U1N0hBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7Q3hFODdIRDtBUXp2SEM7RUFFQztDUjB2SEY7QXdFLzdIQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEVpOEhGO0F3RTk3SEM7RUFFQztDeEUrN0hGO0F3RTc3SEU7RUFDQztDeEUrN0hIO0F3RTM3SEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDeEU2N0hGO0FPLzhIQztFaUVkRDtJQW9DRTtJQUNBO0lBQ0E7R3hFNjdIQTtDQUNGOztBd0UxN0hBO0VBQ0M7RUFDQSxhdEVoQ3dCO0NGNjlIekI7QU8zOUhDO0VpRTRCRDtJQUtFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R3hFODdIQTtDQUNGO0FPcCtIQztFaUU0QkQ7SUFhRTtHeEUrN0hBO0NBQ0Y7O0F3RTU3SEE7RUFDQztFQUNBO0VBQ0E7Q3hFKzdIRDtBTy8rSEM7RWlFNkNEO0lBTUU7SUFDQTtJQUNBO0lBQ0E7R3hFZzhIQTtDQUNGOztBd0U3N0hBO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsU3RFaEV3QjtFc0VpRXhCLFd0RWpFd0I7RXNFa0V4QjtFQUNBO0N4RWc4SEQ7QU9qZ0lDO0VpRTBERDtJQVVFO0lBQ0E7SUFDQTtJQUNBO0d4RWk4SEE7Q0FDRjs7QXdFNTdIQTtFQUNDO0N4RSs3SEQ7O0F3RTU3SEE7RUFDQztFQUNBO0VBQ0E7Q3hFKzdIRDs7QXdFNTdIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hFKzdIRDs7QXdFNTdIQTtFQUNDO0N4RSs3SEQ7O0F3RTU3SEE7RUFDQztFQUNBO0N4RSs3SEQ7O0F5RTVqSUE7RWhFVUM7RWdFUkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekU2aklEO0F5RTFqSUM7RUFDQztFQUNBO0VBQ0E7Q3pFNGpJRjtBeUV4aklDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekUwaklGO0F5RXhqSUU7RUFDQztFQUNBO0N6RTBqSUg7QXlFcmpJQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFdWpJRjtBT3psSUM7RWtFeEJEO0lBK0RFO0d6RXNqSUE7Q0FDRjs7QXlFbGpJQTtFakU2SkM7RUFDQTtFQUNBO0VpRTdKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RXVqSUQ7QU96bUlDO0VrRTRDRDtJakVtS0k7R1I4NUhGO0NBQ0Y7QU85bUlDO0VrRTRDRDtJakUwS0U7SUFDQTtHUjQ1SEE7Q0FDRjs7QXlFOWpJQTtFQUNDO0N6RWlrSUQ7O0F5RTdqSUE7RUFDQztFQUNBO0VBQ0E7Q3pFZ2tJRDtBeUU5aklDO0VBQ0M7Q3pFZ2tJRjs7QXlFM2pJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFOGpJRDs7QXlFMWpJQTtFQUNDO0VBQ0E7Q3pFNmpJRDs7QXlFempJQTtFbkU1Rk07RUFSQTtFbUVzR0w7RUFDQTtFQUNBO0VBQ0E7Q3pFNmpJRDtBeUUzaklDO0VBQ0M7Q3pFNmpJRjtBeUUxaklDO0VBQ0M7RUFDQTtDekU0aklGO0F5RXpqSUM7RUFDQztFQUNBO0VBQ0E7Q3pFMmpJRjtBeUV6aklFO0VBQ0k7RUFDSDtFQUNHO0VBQ0E7RUFDSDtDekUyaklIOztBMEVqdElBO0VsRWdQQztFQUNBO0VBQ0E7Q1JxK0hEO0FPaHJJQztFbUV2Q0Q7SWxFc1BJO0dScStIRjtDQUNGO0FPcnJJQztFbUV2Q0Q7SWxFNlBFO0lBQ0E7R1JtK0hBO0NBQ0Y7O0FPM3JJQztFbUVuQ0Q7SUFFRTtHMUVpdUlBO0NBQ0Y7O0FPanNJQztFbUU3QkQ7SUFFRTtHMUVpdUlBO0NBQ0Y7QU92c0lDO0VtRTdCRDtJQU1FO0lBQ0E7RzFFa3VJQTtDQUNGOztBMEUvdElBO0VBQ0M7QzFFa3VJRDtBT2p0SUM7RW1FbEJEO0lBSUU7RzFFbXVJQTtDQUNGO0FPdHRJQztFbUVsQkQ7SUFRRTtJQUNBO0cxRW91SUE7Q0FDRjtBTzV0SUM7RW1FbEJEO0lBWUU7SUFDQTtJQUNBO0cxRXN1SUE7Q0FDRjs7QTBFbnVJQTtFQUNDO0VBQ0E7QzFFc3VJRDs7QTBFbnVJQTtFcEVaTTtFQVJBO0VvRXNCTDtDMUV1dUlEO0EwRXJ1SUM7RUFBWTtDMUV3dUliO0EwRXZ1SUM7RUFBWTtDMUUwdUliOztBMEV2dUlBO0VBQ0M7RUFDQTtDMUUwdUlEOztBMEV2dUlBO0VwRXpCTTtFQVJBO0VvRW1DTDtDMUUydUlEOztBMEV4dUlBO0VwRTlCTTtFQVJBO0VvRXdDTDtDMUU0dUlEOztBMkU3eElBO0VBQ0M7RUFDQTtFQUNBO0MzRWd5SUQ7O0EyRTd4SUE7RW5Fa0pFO0VtRWhKRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxvTEFDQztDM0UreElGO0FPdHhJQztFb0VsQkQ7SUFnQkU7RzNFNHhJQTtDQUNGOztBMkV6eElBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0U0eElEOztBMkV6eElBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0U0eElEOztBMkV6eElBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzNFNHhJRDs7QTJFenhJQTtFQUNDO0MzRTR4SUQ7O0EyRXp4SUE7RXJFcENNO0VBUkE7RXFFOENMO0VBQ0E7QzNFNnhJRDs7QTJFMXhJQTtFQUNDO0MzRTZ4SUQ7O0E0RTMxSUE7RW5FWUM7RW1FVkE7RUFDQTtFQUNBLHFCMUVxQjJCO0UwRXBCM0I7QzVFODFJRDtBNEU1MUlDO0VBQ0M7QzVFODFJRjs7QTRFejFJQTtFcEVzTkM7RUFDQTtFQUNBO0VGbE5LO0VBUkE7RXNFS0w7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1RSsxSUQ7QU8xMUlDO0VxRWJEO0lwRTROSTtHUitvSUY7Q0FDRjtBTy8xSUM7RXFFYkQ7SXBFbU9FO0lBQ0E7R1I2b0lBO0NBQ0Y7O0E0RXQySUE7RUFDQztFQUNBO0VBQ0U7RUFDQTtFQUNGO0M1RXkySUQ7O0E0RXIySUE7RUFDQztFQUNBO0VBQ0E7QzVFdzJJRDs7QTRFcDJJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0M1RXUySUQ7O0E0RW4ySUE7RUFDQztFQUNBO0M1RXMySUQ7O0E0RWwySUE7RUFFQztFQUNBO0VBQ0E7QzVFbzJJRDtBUXpzSUM7RUFFQztDUjBzSUY7QTRFcjJJQztFQUNDO0M1RXUySUY7QTRFcDJJQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0M1RXMySUY7O0E0RWoySUE7RUFDQztFQUNBO0M1RW8ySUQ7O0E2RWg3SUE7Ozs7R0FBQTtBQU9BO0VyRTROQztFQUNBO0VBQ0E7Q1JzdElEO0FPajZJQztFc0VuQkQ7SXJFa09JO0dSc3RJRjtDQUNGO0FPdDZJQztFc0VuQkQ7SXJFeU9FO0lBQ0E7R1JvdElBO0NBQ0Y7O0E2RXo3SUE7RXJFZ0pFO0VxRTlJRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3RTQ3SUQ7QTZFMTdJQztFQUNDO0VBQ0E7QzdFNDdJRjtBNkV6N0lDO0VBQ0M7RUFDQTtFQUNBO0M3RTI3SUY7QTZFeDdJQztFQUNDO0VBQ0E7QzdFMDdJRjtBNkV4N0lFO0VBQ0M7QzdFMDdJSDs7QU94OElDO0VzRW1CRDtJQUVFO0c3RXc3SUE7Q0FDRjtBTzk4SUM7RXNFbUJEO0lBTUU7SUFDQTtJQUNBO0c3RXk3SUE7Q0FDRjtBT3I5SUM7RXNFbUJEO0lBWUU7SUFDQTtHN0UwN0lBO0NBQ0Y7O0E2RXY3SUE7RUFDQztDN0UwN0lEOztBNkV2N0lBO0VBQ0M7QzdFMDdJRDs7QU9uK0lDO0VzRTRDRDtJQUVFO0c3RTA3SUE7Q0FDRjtBT3orSUM7RXNFNENEO0lBTUU7RzdFMjdJQTtDQUNGOztBNkV2N0lBO0V2RTlETTtFQVJBO0V1RXdFTDtFQUNBO0VBQ0E7QzdFMjdJRDs7QU90L0lDO0VzRThERDtJQUVFO0lBQUE7SUFDQTtJQUFBO0lBQ0E7SUFBQTtJQUNBO0c3RTI3SUE7Q0FDRjs7QU8vL0lDO0VzRXdFQTtJckVQSztHUm04SUo7Q0FDRjtBT3JnSkM7RXNFdUVEO0lBUUU7SUFBQTtJQUNBO0lBQUE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0c3RTA3SUE7RTZFeDdJQTtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0c3RTA3SUQ7Q0FDRjs7QTZFdDdJQTtFdkU3R007RUFSQTtFdUV1SEw7RUFDQTtFQUNBO0VBQ0E7QzdFMDdJRDtBT3JpSkM7RXNFc0dEO0lBUUU7RzdFMjdJQTtDQUNGOztBOEVqbEpBO0V0RWdQQztFQUNBO0VBQ0E7Q1JxMklEO0FPaGpKQztFdUV2Q0Q7SXRFc1BJO0dScTJJRjtDQUNGO0FPcmpKQztFdUV2Q0Q7SXRFNlBFO0lBQ0E7R1JtMklBO0NBQ0Y7QU8zakpDO0V1RXZDRDtJdEV3R007SUFBQTtHUisvSUo7Q0FDRjtBT2prSkM7RXVFdkNEO0l0RStITTtJQUFBO0dSOCtJSjtDQUNGO0FPdmtKQztFdUV2Q0Q7SXRFb0lNO0lBQUE7R1IrK0lKO0NBQ0Y7QU83a0pDO0V1RXZDRDtJdEV5SU07SUFBQTtHUmcvSUo7Q0FDRjs7QU9ubEpDO0V1RS9CRDtJQUVJO0lBQ0E7SUFDQTtHOUVxbkpGO0NBQ0Y7O0E4RWxuSkE7RUFDRTtFQUNBO0M5RXFuSkY7QU9obUpDO0V1RXZCRDtJQUtJO0lBQ0E7SUFDQTtJQUNBO0c5RXNuSkY7Q0FDRjtBT3htSkM7RXVFdkJEO0lBWUk7RzlFdW5KRjtDQUNGO0FPN21KQztFdUV2QkQ7SUFnQkk7RzlFd25KRjtDQUNGOztBK0VycEpBO0V2RTRPQztFQUNBO0VBQ0E7Q1I2NklEO0FPeG5KQztFd0VuQ0Q7SXZFa1BJO0dSNjZJRjtDQUNGO0FPN25KQztFd0VuQ0Q7SXZFeVBFO0lBQ0E7R1IyNklBO0NBQ0Y7QU9ub0pDO0V3RW5DRDtJdkVvR007R1Jza0pKO0NBQ0Y7QU94b0pDO0V3RW5DRDtJdkUySE07R1JvakpKO0NBQ0Y7QU83b0pDO0V3RW5DRDtJdkVnSU07R1JvakpKO0NBQ0Y7QU9scEpDO0V3RW5DRDtJdkVxSU07R1JvakpKO0NBQ0Y7QU92cEpDO0V3RW5DRDtJQU9FO0cvRXVySkE7Q0FDRjs7QU81cEpDO0V3RXZCRDtJQUVFO0lBQ0Esb0JBbEJhO0cvRXdzSmI7Q0FDRjs7QStFbHJKQTtFQUNDO0MvRXFySkQ7QU92cUpDO0V3RWZEO0lBSUU7SUFDQTtHL0VzckpBO0NBQ0Y7O0FPN3FKQztFeUU1QkQ7SUFFRTtHaEY0c0pBO0NBQ0Y7O0FPbnJKQztFeUV0QkQ7SUFFRTtHaEY0c0pBO0NBQ0Y7O0FnRnpzSkE7RUFDQztFQUNBO0VBQ0E7Q2hGNHNKRDtBTy9ySkM7RXlFaEJEO0lBTUU7SUFFQztJQUNBO0lBQ0E7SUFDQTtHaEY0c0pEO0NBQ0Y7QU94c0pDO0V5RWhCRDtJQWdCRTtJQUNBO0doRjRzSkE7Q0FDRjs7QWdGenNKQTtFQUNDO0VBQ0E7Q2hGNHNKRDtBT250SkM7RXlFS0Q7SUFLRTtJQUNBO0lBQ0E7SUFDQTtHaEY2c0pBO0NBQ0Y7QU8zdEpDO0V5RUtEO0lBWUU7SUFDQTtHaEY4c0pBO0NBQ0Y7QU9qdUpDO0V5RUtEO0lBaUJFO0doRitzSkE7Q0FDRjs7QWdGNXNKQTtFMUVqQ007RUFSQTtFMEUyQ0w7RUFDQTtDaEZndEpEOztBZ0Y3c0pBO0VBQ0M7RUFDQTtDaEZndEpEOztBZ0Y3c0pBO0VBRUM7RUFDQTtDaEYrc0pEO0FRaGxKQztFQUNDLGlCd0VsSVk7Q2hGb3RKZDtBZ0ZodEpDO0VBSUM7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQVBRO0VBUVIsYUFQUztFQVFUO0VBQ0E7Q2hGK3NKRjs7QWdGM3NKQTtFQUNDO0NoRjhzSkQ7O0FnRjNzSkE7RUFDQztFQUNBO0NoRjhzSkQ7O0FpRnB6SkE7RUFFQztFQUNBO0VBQ0E7RUFDQTtDakZzekpEO0FRcG5KQztFQUNDLGlCeUV2TXFCO0NqRjZ6SnZCOztBaUZyekpBO0V6RWlLRTtFeUUvSkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pGd3pKRDtBT2x5SkM7RTBFOUJEO0lBV0U7R2pGeXpKQTtDQUNGO0FpRnZ6SkM7RUFFQztFQUNBO0VBQ0E7Q2pGd3pKRjs7QWlGbnpKQTtFQUNDO0VBQ0E7Q2pGc3pKRDs7QWlGbHpKQTtFQUNDO0NqRnF6SkQ7O0FpRmp6SkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakZvekpEO0FPbDBKQztFMEVJRDtJQWFRO0lBQ047R2pGcXpKQTtDQUNGO0FpRm56SkM7RUFDQztDakZxekpGOztBaUZoekpBO0UzRWxDTTtFQVJBO0UyRTRDTDtFQUNBO0NqRm96SkQ7QU9sMUpDO0UwRTJCRDtJM0VsQ007SUFSQTtHTnMySko7Q0FDRjs7QWlGbHpKQTtFM0U3Q007RUFSQTtFMkV1REw7RUFDQTtDakZzekpEOztBaUZsekpBO0UzRXBETTtFQVJBO0UyRThETDtFQUNBO0VBQ0E7RUFDQTtDakZzekpEO0FpRnB6SkM7RUFDQztDakZzekpGO0FPMzJKQztFMEU2Q0Q7STNFcERNO0lBUkE7STJFeUVKO0lBQ0E7R2pGdXpKQTtDQUNGOztBT24zSkM7RTBFZ0VEO0lBRUU7SUFDQTtHakZzekpBO0NBQ0Y7O0FpRmx6SkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pGcXpKRDtBT240SkM7RTBFd0VEO0lBU0U7SUFDQTtHakZzekpBO0NBQ0Y7O0FPejRKQztFMEV1RkQ7SUFFRTtJQUNBO0lBQ0E7R2pGcXpKQTtDQUNGO0FPajVKQztFMEV1RkQ7SUFRRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0dqRnN6SkE7Q0FDRjs7QWlGbHpKQTtFQUNDO0VBQ0E7Q2pGcXpKRDtBaUZuekpDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2pGcXpKRjs7QWlGaHpKQTtFQUNDO0NqRm16SkQ7O0FrRjk4SkE7RUFDQztFQUNBO0VBQ0E7Q2xGaTlKRDtBTy82SkM7RTJFckNEO0kxRThPQztJQUNBO0lBQ0E7R1IwdUpDO0NBQ0Y7QU90N0pDO0UyRXJDRDtJMUVvUEk7R1IydUpGO0NBQ0Y7QU8zN0pDO0UyRXJDRDtJMUUyUEU7SUFDQTtHUnl1SkE7Q0FDRjtBa0Y3OUpDO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDSDtDbEYrOUpGOztBa0YzOUpBO0VBQ0M7RUFDQTtDbEY4OUpEOztBa0YxOUpBO0UxRW1OQztFQUNBO0VBQ0E7RTBFbk5BO0VBQ0E7Q2xGKzlKRDtBT3g5SkM7RTJFVkQ7STFFeU5JO0dSNndKRjtDQUNGO0FPNzlKQztFMkVWRDtJMUVnT0U7SUFDQTtHUjJ3SkE7Q0FDRjs7QUFuOUpBOzsrREFBQTtBbUZ2REE7OzhFQUFBO0FDQUE7RUFDQztFQUNBO0NwRm1oS0Q7O0FvRjFnS0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BGNmdLRDs7QW9GemdLQTtFQUNDO0NwRjRnS0Q7O0FBbitKQTs7K0RBQUE7QXFGL0RBO0VBQ0M7RUFDQTtDckZ3aUtEO0FxRnRpS0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtDckZ3aUtGO0FxRnRpS0U7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckZ3aUtIO0FxRnBpS0M7RS9FV0s7RUFSQTtDTnFpS047QXFGcGlLRztFQUNDO0NyRnNpS0o7O0FzRmhrS0E7O0dBQUE7QUFPQztFQUNDO0N0RitqS0Y7QXNGM2pLQztFQUNDO0N0RjZqS0Y7QXNGempLQztFQUNDO0N0RjJqS0Y7QXNGeGpLQztFQUNDO0N0RjBqS0Y7QXNGdmpLQztFQUNDO0N0RnlqS0Y7QXNGdmpLRTtFQUNDO0VBQ0E7RUFDQTtDdEZ5aktIO0FzRnZqS0c7RWhGREc7RUFSQTtFZ0ZXRjtFQUNBO0VBQ0E7RUFDQTtDdEYwaktKO0FzRnJqS0M7RUFDQztFQUNBO0N0RnVqS0Y7QXNGcmpLRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N0RnVqS0g7QXNGcmpLRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdEZ1aktKOztBQTNpS0E7OzsrREFBQTtBdUZ2RUE7O3lGQUFBO0FBS0E7Ozs7Ozs7Ozs7Ozs7O0dBQUE7QUEwQkc7RUFDQztDdkY0bUtKOztBdUYxbUtHO0VBQ0M7Q3ZGNm1LSjs7QXVGam5LRztFQUNDO0N2Rm9uS0o7O0F1RmxuS0c7RUFDQztDdkZxbktKOztBdUZ6bktHO0VBQ0M7Q3ZGNG5LSjs7QXVGMW5LRztFQUNDO0N2RjZuS0o7O0F1RmpvS0c7RUFDQztDdkZvb0tKOztBdUZsb0tHO0VBQ0M7Q3ZGcW9LSjs7QXVGem9LRztFQUNDO0N2RjRvS0o7O0F1RjFvS0c7RUFDQztDdkY2b0tKOztBdUZqcEtHO0VBQ0M7Q3ZGb3BLSjs7QXVGbHBLRztFQUNDO0N2RnFwS0o7O0F1RnpwS0c7RUFDQztDdkY0cEtKOztBdUYxcEtHO0VBQ0M7Q3ZGNnBLSjs7QXVGanFLRztFQUNDO0N2Rm9xS0o7O0F1RmxxS0c7RUFDQztDdkZxcUtKOztBdUZ6cUtHO0VBQ0M7Q3ZGNHFLSjs7QXVGMXFLRztFQUNDO0N2RjZxS0o7O0F1RmpyS0c7RUFDQztDdkZvcktKOztBdUZscktHO0VBQ0M7Q3ZGcXJLSjs7QXVGenJLRztFQUNDO0N2RjRyS0o7O0F1RjFyS0c7RUFDQztDdkY2cktKOztBdUZqc0tHO0VBQ0M7Q3ZGb3NLSjs7QXVGbHNLRztFQUNDO0N2RnFzS0o7O0F1RnpzS0c7RUFDQztDdkY0c0tKOztBdUYxc0tHO0VBQ0M7Q3ZGNnNLSjs7QXVGanRLRztFQUNDO0N2Rm90S0o7O0F1Rmx0S0c7RUFDQztDdkZxdEtKOztBdUZ6dEtHO0VBQ0M7Q3ZGNHRLSjs7QXVGMXRLRztFQUNDO0N2RjZ0S0o7O0F1Rmp1S0c7RUFDQztDdkZvdUtKOztBdUZsdUtHO0VBQ0M7Q3ZGcXVLSjs7QXVGenVLRztFQUNDO0N2RjR1S0o7O0F1RjF1S0c7RUFDQztDdkY2dUtKOztBdUZqdktHO0VBQ0M7Q3ZGb3ZLSjs7QXVGbHZLRztFQUNDO0N2RnF2S0o7O0F1Rnp2S0c7RUFDQztDdkY0dktKOztBdUYxdktHO0VBQ0M7Q3ZGNnZLSjs7QXVGandLRztFQUNDO0N2Rm93S0o7O0F1Rmx3S0c7RUFDQztDdkZxd0tKOztBdUZ6d0tHO0VBQ0M7Q3ZGNHdLSjs7QXVGMXdLRztFQUNDO0N2RjZ3S0o7O0F1Rmp4S0c7RUFDQztDdkZveEtKOztBdUZseEtHO0VBQ0M7Q3ZGcXhLSjs7QXdGeHpLQTs7eUZBQUE7QUFLQTs7Ozs7Ozs7R0FBQTtBQWNHO0VsRmFHO0VBUkE7Q05pektOOztBd0Z0ektHO0VsRmFHO0VBUkE7Q05zektOOztBd0YzektHO0VsRmFHO0VBUkE7Q04yektOOztBd0ZoMEtHO0VsRmFHO0VBUkE7Q05nMEtOOztBd0ZyMEtHO0VsRmFHO0VBUkE7Q05xMEtOOztBd0YxMEtHO0VsRmFHO0VBUkE7Q04wMEtOOztBd0YvMEtHO0VsRmFHO0VBUkE7Q04rMEtOOztBd0ZwMUtHO0VsRmFHO0VBUkE7Q05vMUtOOztBd0Z6MUtHO0VsRmFHO0VBUkE7Q055MUtOOztBd0Y5MUtHO0VsRmFHO0VBUkE7Q044MUtOOztBd0ZuMktHO0VsRmFHO0VBUkE7Q05tMktOOztBd0Z4MktHO0VsRmFHO0VBUkE7Q053MktOOztBd0Y3MktHO0VsRmFHO0VBUkE7Q042MktOOztBd0ZsM0tHO0VsRmFHO0VBUkE7Q05rM0tOOztBd0Z2M0tHO0VsRmFHO0VBUkE7Q051M0tOOztBd0Y1M0tHO0VsRmFHO0VBUkE7Q040M0tOOztBd0ZqNEtHO0VsRmFHO0VBUkE7Q05pNEtOOztBd0Z0NEtHO0VsRmFHO0VBUkE7Q05zNEtOOztBd0ZsNEtBOzs7Ozs7OztHQUFBO0FDNUJBO0VBQ0M7Q3pGMDZLRDs7QXlGdjZLQTtFQUNDO0VBQ0E7RUFDQTtDekYwNktEOztBeUZ2NktBO0VBQ0M7Q3pGMDZLRDs7QXlGdjZLQTtFQUNDO0N6RjA2S0Q7O0EwRno3S0E7OztFQUFBO0FDRUM7RUFBeUI7QzNGKzdLMUI7O0EyRjk3S0M7RUFBeUI7QzNGazhLMUI7O0EyRmo4S0M7RUFBeUI7QzNGcThLMUI7O0EyRnA4S0M7RUFBeUI7QzNGdzhLMUI7O0EyRnI4S0M7RUFBeUI7QzNGeThLMUI7O0EyRng4S0M7RUFBeUI7QzNGNDhLMUI7O0EyRjM4S0M7RUFBeUI7QzNGKzhLMUI7O0EyRjk4S0M7RUFBeUI7QzNGazlLMUI7O0EyRjM5S0M7RUFBeUI7QzNGKzlLMUI7O0EyRjk5S0M7RUFBeUI7QzNGaytLMUI7O0EyRmorS0M7RUFBeUI7QzNGcStLMUI7O0EyRnArS0M7RUFBeUI7QzNGdytLMUI7O0EyRnIrS0M7RUFBeUI7QzNGeStLMUI7O0EyRngrS0M7RUFBeUI7QzNGNCtLMUI7O0EyRjMrS0M7RUFBeUI7QzNGKytLMUI7O0EyRjkrS0M7RUFBeUI7QzNGay9LMUI7O0EyRjMvS0M7RUFBeUI7QzNGKy9LMUI7O0EyRjkvS0M7RUFBeUI7QzNGa2dMMUI7O0EyRmpnTEM7RUFBeUI7QzNGcWdMMUI7O0EyRnBnTEM7RUFBeUI7QzNGd2dMMUI7O0EyRnJnTEM7RUFBeUI7QzNGeWdMMUI7O0EyRnhnTEM7RUFBeUI7QzNGNGdMMUI7O0EyRjNnTEM7RUFBeUI7QzNGK2dMMUI7O0EyRjlnTEM7RUFBeUI7QzNGa2hMMUI7O0EyRjNoTEM7RUFBeUI7QzNGK2hMMUI7O0EyRjloTEM7RUFBeUI7QzNGa2lMMUI7O0EyRmppTEM7RUFBeUI7QzNGcWlMMUI7O0EyRnBpTEM7RUFBeUI7QzNGd2lMMUI7O0EyRnJpTEM7RUFBeUI7QzNGeWlMMUI7O0EyRnhpTEM7RUFBeUI7QzNGNGlMMUI7O0EyRjNpTEM7RUFBeUI7QzNGK2lMMUI7O0EyRjlpTEM7RUFBeUI7QzNGa2pMMUI7O0EyRjNqTEM7RUFBeUI7QzNGK2pMMUI7O0EyRjlqTEM7RUFBeUI7QzNGa2tMMUI7O0EyRmprTEM7RUFBeUI7QzNGcWtMMUI7O0EyRnBrTEM7RUFBeUI7QzNGd2tMMUI7O0EyRnJrTEM7RUFBeUI7QzNGeWtMMUI7O0EyRnhrTEM7RUFBeUI7QzNGNGtMMUI7O0EyRjNrTEM7RUFBeUI7QzNGK2tMMUI7O0EyRjlrTEM7RUFBeUI7QzNGa2xMMUI7O0EyRjNsTEM7RUFBeUI7QzNGK2xMMUI7O0EyRjlsTEM7RUFBeUI7QzNGa21MMUI7O0EyRmptTEM7RUFBeUI7QzNGcW1MMUI7O0EyRnBtTEM7RUFBeUI7QzNGd21MMUI7O0EyRnJtTEM7RUFBeUI7QzNGeW1MMUI7O0EyRnhtTEM7RUFBeUI7QzNGNG1MMUI7O0EyRjNtTEM7RUFBeUI7QzNGK21MMUI7O0EyRjltTEM7RUFBeUI7QzNGa25MMUI7O0EyRjNuTEM7RUFBeUI7QzNGK25MMUI7O0EyRjluTEM7RUFBeUI7QzNGa29MMUI7O0EyRmpvTEM7RUFBeUI7QzNGcW9MMUI7O0EyRnBvTEM7RUFBeUI7QzNGd29MMUI7O0EyRnJvTEM7RUFBeUI7QzNGeW9MMUI7O0EyRnhvTEM7RUFBeUI7QzNGNG9MMUI7O0EyRjNvTEM7RUFBeUI7QzNGK29MMUI7O0EyRjlvTEM7RUFBeUI7QzNGa3BMMUI7O0EyRjNwTEM7RUFBeUI7QzNGK3BMMUI7O0EyRjlwTEM7RUFBeUI7QzNGa3FMMUI7O0EyRmpxTEM7RUFBeUI7QzNGcXFMMUI7O0EyRnBxTEM7RUFBeUI7QzNGd3FMMUI7O0EyRnJxTEM7RUFBeUI7QzNGeXFMMUI7O0EyRnhxTEM7RUFBeUI7QzNGNHFMMUI7O0EyRjNxTEM7RUFBeUI7QzNGK3FMMUI7O0EyRjlxTEM7RUFBeUI7QzNGa3JMMUI7O0EyRjNyTEM7RUFBeUI7QzNGK3JMMUI7O0EyRjlyTEM7RUFBeUI7QzNGa3NMMUI7O0EyRmpzTEM7RUFBeUI7QzNGcXNMMUI7O0EyRnBzTEM7RUFBeUI7QzNGd3NMMUI7O0EyRnJzTEM7RUFBeUI7QzNGeXNMMUI7O0EyRnhzTEM7RUFBeUI7QzNGNHNMMUI7O0EyRjNzTEM7RUFBeUI7QzNGK3NMMUI7O0EyRjlzTEM7RUFBeUI7QzNGa3RMMUI7O0FPdHJMQztFb0Z6QkQ7SW5GMEZNO0lBQUE7R1IybkxKO0NBQ0Y7QU83ckxDO0VvRnpCRDtJbkZpSE07SUFBQTtHUjBtTEo7Q0FDRjtBT25zTEM7RW9GekJEO0luRnNITTtJQUFBO0dSMm1MSjtDQUNGO0FPenNMQztFb0Z6QkQ7SW5GMkhNO0lBQUE7R1I0bUxKO0NBQ0Y7O0FPL3NMQztFb0ZqQkE7SUFDQztHM0ZvdUxBO0NBQ0Y7QTRGNXZMQTs7OztnRkFBQTtBQXlCQTtFbkZBQztFRHVOQTtFQUNBO0VBQ0E7RW9GdE5BO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtDNUYydUxEO0FPdHVMQztFcUZkRDtJcEY2Tkk7R1IyaExGO0NBQ0Y7QU8zdUxDO0VxRmREO0lwRm9PRTtJQUNBO0dSeWhMQTtDQUNGO0FPanZMQztFcUZkRDtJQW1CRTtHNUZndkxBO0NBQ0Y7O0E0RjV1TEE7RUFDQztFQUVBO0M1Rjh1TEQ7QU8zdkxDO0VxRlVEO0lBWUU7RzVGeXVMQTtDQUNGO0FPaHdMQztFcUZVRDtJQXFCRTtHNUZxdUxBIiwiZmlsZSI6ImNzcy9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiAgMSAtIFNFVFRJTkdTXG4gKiAgR2xvYmFsIHZhcmlhYmxlcywgc2l0ZS13aWRlIHNldHRpbmdzLFxuICogIGNvbmZpZyBzd2l0Y2hlcyBldGMuXG4gKlxuICogIFRoZSBvcmRlciBpbiB3aGljaCB0aGVzZSBTYXNzIGZpbGVzXG4gKiAgYXJlIGxvYWRlZCBpcyBjcml0aWNhbCFcbiAqICBTbyBwbGVhc2UgYmUgY2FyZWZ1bCB3aGVuIGVkaXRpbmdcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT3JnYW5pemUgY29sb3IgdmFyaWFibGVzIGluIGEgU2FzcyBNYXAuXG4gICBUaGlzIHdheSwgdGhlIGNvbG9ycyBjYW4gYmUgaXRlcmF0ZWQsIGFyZSBtb3JlIG9yZ2FuaXplZCxcbiAgIGFuZCBhcmUgbW9yZSBpbnR1aXRpdmUgdG8gcmVmZXJlbmNlLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3IgYWNjZXNzaW5nIHRoZSBjb2xvcnMgZnJvbSBvdXIgbWFwcGluZ1xuICpcdFRvIGFjY2VzcyBjb2xvcnMgaW4gb3VyIHBhbGV0dGUsIHdlIHVzZSBhIHZlcnkgc2ltcGxlIGN1c3RvbSBTYXNzIGZ1bmN0aW9uXG4gKiAgVGhpcyBmdW5jdGlvbiBpcyBwbGFjZWQgaGVyZSwgKGFuZCBub3QgaW4gdGhlIHRvb2xib3gpXG4gKiAgYmVjYXVzZSB3ZSB3YW50IHRvIHVzZSBpdCBpbiBvdXIgb3RoZXIgc2V0dGluZyBmaWxlc1xuXG5cdFVTQUdFOlxuXG5cdC5kZW1vIHtcblx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA1MDApO1xuXHR9XG5cbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuXHRbMV1cdFx0TG9nbyBkYXJrIG9yIGxpZ2h0IGNhbiBiZSBzZXQgaW4gaGVhZGVyLmJsYWRlLnBocCAvIGZvb3Rlci5ibGFkZS5waHAgJlxuXHRbMl0gXHRTZXQgdGhpcyB0byB0cnVlIHdoZW4gYmdDb2xvciBnZXRzIGEgZGFyayBjb2xvciB0aGF0IGNvbnRyYXN0IHRoZSBib2R5IGJnIGNvbG9yXG4qL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIFx0IERlZmluZXMgdGhlIHR5cG9ncmFwaGljIGJhc2VsaW5lLlxuICAgV2UgZGVmaW5lIGV2ZXJ5IHNpemUgaW4gcGl4ZWxzLCB0aGUgdW5kZXJseWluZyBzeXN0ZW1cbiAgIGNvbnZlcnRzIHRoZSByZXNwZWN0aXZlIHVuaXRzIHRvIHRoZSByZXNwb25zaXZlIFJFTSB2YWx1ZS5cbiBcdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIE91ciBiYXNlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHRcbiAqL1xuLyoqXG4gKlx0SGVyZSB3ZSBhc3NpZ24gc2hvcnQgbmFtZXMgZm9yIHRoZSBmb250IGZhbWlsaWVzXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIGdpdmVuIGZvcm1hdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgMiAtIFRPT0xTXG4gKiAgU2l0ZSB3aWRlIG1peGlucyBhbmQgZnVuY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1bmN0aW9ucyB1c2VkIGluIGdyaWQgY2FsY3VsYXRpb25cbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAqIFJldHVybiBwZXJjZW50YWdlIGJhc2VkIG9uIGFtb3VudCBvZiBjb2x1bW5zXG4gICogVXNlIHBhcmVudCBjb2x1bW4gc2l6ZSB0byBhZGp1c3QgdGhlIG9yaWdpblxuICAqL1xuLyoqXG4gICogRGVmYXVsdCBmdW5jdGlvbiBmb3IgY29sdW1uc1xuICAqIFJldHVybiBhcyBwZXJjZW50YWdlXG4gICovXG4vKipcbiAgKiBSZXR1cm4gYXMgdmlld3BvcnQgd2lkdGhcbiAgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplIGluIFJFTSB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHNpemVzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbiAgICB9XG5cbiAqL1xuLyogTWVkaWEgcXVlcnkgbWl4aW4gZm9yIHdyaXRpbmcgTW9iaWxlIEZpcnN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVG9vbGJveCBmdW5jdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWF0aHMgaGVscGVycy5cbiAqICBIYWx2ZSBhbmQgZG91YmxlIG51bWJlcnMsIHJldHVybmluZyByb3VuZGVkIGludGVnZXJzLlxuXG4gICAgVVNBR0U6XG5cbiAgICAuZm9vIHtcbiAgICAgICAgcGFkZGluZzogaGFsdmUoMzBweCk7XG4gICAgfVxuXG4gKi9cbi8qKlxuICogIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICogIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cbiAqICBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG4gKi9cbi8qIENoZWNrIGlmIHZhbHVlIGlzIG51bWJlciAqL1xuLyogVmFsdWUgdG8gRW0gKi9cbi8qIFZhbHVlIHRvIFJlbSAqL1xuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIG9ubHkgZm9yIG1vYmlsZSB2aWV3cG9ydFxuXG4gVVNBR0U6XG5cbiAuZXhhbXBsZSB7XG5cdCBAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG4gIH1cblxuICovXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgZm9yIHZpZXdwb3J0IGxhcmdlciB0aGFuIG1vYmlsZVxuICogSW4gZmxleGlibGUgdW5pdHMgKHZ3KSBhbmQgb24gbWF4IHZpZXdwb3J0IGluIGEgZml4ZWQgYW1vdW50IChweClcblxuIFVTQUdFOlxuXG4gLmV4YW1wbGUge1xuXHQgQGluY2x1ZGUgdnNwYWNpbmctbS11cChcblx0XHRcdFx0J3BhZGRpbmctdG9wJyAwLjMzLFxuXHRcdFx0XHQnbWFyZ2luLWJvdHRvbScgMC41XG5cdFx0KTtcbiAgfVxuXG4gKi9cbi8qXG4gKiBGcm9tIHZhbHVlcyBnaXZlbiByZXR1cm4gdGhlIGNvcnJlY3Qgdi1zcGFjaW5nIGZvciBlYWNoIGJyZWFrcG9pbnRcbiAqL1xuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJvcmRlci1yYWRpdXNcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobCk7XG5cdH1cblxuICovXG4vKipcbiAqIExvYm90b21pemVkIE93bCBTZWxlY3RvciBtaXhpbjpcbiAqIC0gU2V0IHNwYWNpbmcgZm9yIGNvbnNlY3V0aXZlIGl0ZW1zIHdpdGggbWFyZ2luLXRvcCBvbiBhbGwgYnV0IHRoZSBmaXJzdCBpdGVtXG5cblx0VVNBR0U6XG5cblx0LmJveCB7XG5cdFx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xuXHR9XG5cblx0LmNhcmRfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIG93bDtcblx0fVxuXG4gKi9cbi8qXG4gKiBMb2JvdG9taXplZCBvd2wgc2VsZWN0b3IuXG4gKiAtIEdpdmVzIHRoZSBjaGlsZHJlbiBvZiB0aGUgZWxlbWVudCBzcGFjaW5nXG4gKiAtIGh0dHBzOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9heGlvbWF0aWMtY3NzLWFuZC1sb2JvdG9taXplZC1vd2xzXG4gKi9cbi8qKlxuICogIFNob3cgaHlwaGVucyBmb3IgZXZlcnkgYnJvd3NlciBzdXBwb3J0aW5nIGl0XG4gKiAgYW5kIHdpbGwgYnJlYWsgbGluZXMgaW4gZXZlcnkgb3RoZXIgYnJvd3NlclxuICovXG4vKlxuICogIFJlc3RyaWN0IGFuIGVsZW1lbnQgdG8gYSBtYXgtd2lkdGggZm9yIGNyZWF0aW5nIGd1dHRlcnMgb24gdGhlIHNpZGVcbiAqL1xuLypcbiAqXHRBIG1peGluIHRvIHNldCBlbGVtZW50cyB0byBpdHMgb3duIG5hbWVkIGdyaWQtYXJlYVxuICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIFRoZSAnei1pbmRleC1tYXAnIGlzIHVzZWQgZm9yIG1hbmFnaW5nIHRoZSBlbGVtZW50cyBzdGFja2luZyBvcmRlciBpbiB0aGUgJ3Jvb3QnIHN0YWNraW5nIGNvbnRleHRcbiAqICBUaGlzIHdheSB3ZSBoYXZlIGEgb3ZlcnZpZXcgb2YgYWxsIHRoZSB6LWluZGV4IHZhbHVlcyB0aGF0IGFyZSB1c2VkIGFjcm9zcyB0aGUgcHJvamVjdC5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICBVU0FHRTpcblxuICAgIEBpbmNsdWRlIHooei1tb2RhbCk7XG5cbiAqL1xuLyogIDMgLSBFTEVNRU5UU1xuICogIFBsYWluIG9sZCBzaW1wbGUgSFRNTCBlbGVtZW50cyB3aXRob3V0IGEgY2xhc3MgKHR5cGUgc2VsZWN0b3JzKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQmFzaWMgZWxlbWVudHMgKG5vIGNsYXNzIHNlbGVjdG9ycyBhbGxvd2VkKVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogU2V0IHVwIHRoZSBodG1sXG4gKlxuICogMS4gTWFrZXMgc3VyZSB0aGF0IHNvbWUgZm9udHMgYXJlIGJldHRlciByZW5kZXJlZFxuICogMi4gU2V0IGZvbnQgdG8gbGluaW5nIGZpZ3VyZXNcbiAqXG4gKiAzLiBBdm9pZCB0aGUgSUUgMTAtMTEgYG1pbi1oZWlnaHRgIGJ1Zy5cbiAqIDQuIFVzZSBgJWAgaW5zdGVhZCBvZiBgdmhgIHNpbmNlIGB2aGAgaXMgYnVnZ3kgaW4gb2xkZXIgbW9iaWxlIFNhZmFyaS5cbiAqL1xuaHRtbCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibG51bVwiO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbmJvZHkge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiAzLCA0ICovXG59XG5cbmZvb3RlciB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4vKipcbiAqIFsxXSBNYWtlIHN1cmUgZWxlbWVudHMgbGlrZSBpbnB1dCBhbmQgdGV4dGFyZWEgaW5oZXJpdCBzb21lIGJhc2UgcHJvcGVydGllc1xuICogICAgIGh0dHBzOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTYvMTEvY3NzLWluaGVyaXRhbmNlLWNhc2NhZGUtZ2xvYmFsLXNjb3BlLW5ldy1vbGQtd29yc3QtYmVzdC1mcmllbmRzL1xuICpcbiAqIFsyXSBTZXR0aW5nIGJveC1zaXppbmcgdGhlIGJlc3Qgd2F5IHBlcjpcbiAqICAgICBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cbiAqL1xuKiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogWzFdIFR1cm4gb2ZmIHRleHQtc2hhZG93IHdoZW4gc2VsZWN0aW5nIHRleHQgZm9yIGJldHRlciByZWFkYWJpbGl0eVxuICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNEMkQyREM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgLyogWzFdICovXG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBhcm91bmQgZmlndXJlXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBbMV0gU2V0dGluZyAndmVydGljYWwtYWxpZ24nIHJlbW92ZXMgdGhlIHdoaXRlc3BhY2UgdGhhdCBhcHBlYXJzIHVuZGVyICdpbWcnXG4gKlx0ICAgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkIGludG8gYSBwYWdlIGFzLWlzLiBTYWZlciBhbHRlcm5hdGl2ZSB0b1xuICpcdCAgIHVzaW5nICdkaXNwbGF5OiBibG9jazsnLlxuICogWzJdIFJlbW92ZSBib3JkZXIgLyBlc3BlY2lhbGx5IG9uIG9sZGVyIGJyb3dzZXJzXG4gKi9cbmltZywgc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLypbMV0qL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qWzJdKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqICBOZWVkZWQgZm9yIGlPUyB0byBwcmV2ZW50IGlucHV0IHpvb21pbmdcbiAqICBodHRwczovL3V4Y2VsbGVuY2UuY29tLzIwMTQvMDEvMTUvcXVpY2stZml4LWluY3JlYXNlLWZvbnQtc2l6ZS10by0xNnB4LXRvLWZpeC1pbnB1dC16b29tXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbmE6bm90KFtjbGFzc10pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzQwNzlCODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IGF1dG87XG59XG5hOm5vdChbY2xhc3NdKTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjNDA3OUI4O1xuICBjb250ZW50OiBcIlwiO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcywgb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xufVxuYTpub3QoW2NsYXNzXSk6aG92ZXI6OmFmdGVyIHtcbiAgaGVpZ2h0OiAycHg7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBoZ3JvdXAsXG51bCwgb2wsIGRkLFxucCwgZmlndXJlLFxucHJlLCB0YWJsZSwgZmllbGRzZXQsIGhyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmg1LCBoNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqXHREZWZhdWx0IGluZGVudGF0aW9uIHZhbHVlIGZvciBsaXN0c1xuICovXG51bCxcbm9sIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogMS4xMjVlbTtcbn1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyoqXG4gKlx0UmVtb3ZlIGV4dHJhIHZlcnRpY2FsIHNwYWNpbmcgd2hlbiBuZXN0aW5nIGxpc3RzLlxuICovXG5saSA+IHVsLFxubGkgPiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qICA0IC0gTGF5b3V0IGVsZW1lbnRzXG4gKiAgRGVzaWduIHBhdHRlcm5zIChlLmcuIGdyaWRzIG9yIG1lZGlhIG9iamVjdClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29udGFpblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLWNvbnRhaW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1jb250YWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtY29udGFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBTcGxpdCBsYXlvdXQgaW4gMiBlcXVhbCBjb2x1bW5zXG4gKlxuICogVW50aWwgdmlld3BvcnQgaXMgd2lkZSBlbm91Z2ggdGhlIGNvbHVtbnMgYXJlIHN0YWNrZWQgdmVydGljYWxseVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubC1zcGxpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtc3BsaXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLyoqXG4gKiBTcGVjaWFsIGNvbnRhaW4gdmVyc2lvbiBmb3Igc3BsaXQuXG4gKiBEb2Vzbid0IHJlc3RyYWluIGNvbnRlbnQgb24gbWVkaXVtIHZpZXdwb3J0XG4gKi9cbi5sLXNwbGl0LS1jb250YWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtc3BsaXQtLWNvbnRhaW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXQtLWNvbnRhaW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdF9fY29sdW1uIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDogNjIuNSU7XG4gICAgcGFkZGluZy1yaWdodDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG59XG4ubC1zcGxpdC0taXMtcmV2ZXJzZWQgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIG9yZGVyOiAyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmwtc3BsaXQtLWlzLXJldmVyc2VkIC5sLXNwbGl0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMTIuNSU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXNwbGl0LS1pcy1yZXZlcnNlZCAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmwtc3BsaXQtLWJyZWFrb3V0LW9uLW0gLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG4gIH1cbiAgLmwtc3BsaXQtLWJyZWFrb3V0LW9uLW0gLmwtc3BsaXRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG59XG4vKipcbiAqIFdoZW4gdGhlcmUgaXMgb25seSAxIGNvbHVtbiwgYWxpZ24gaXQgdG8gdGhlIG1pZGRsZSBhbmQgY29udGFpbiB0aGUgd2lkdGhcbiAqIE9ubHkgb25lIGNvbHVtbiBpcyB1c2VkIGUuZy4gaW4gdGhlIHRhYnNsaWRlciB3aGVuIHRoZXJlIGlzIG5vIGltYWdlIHNldFxuICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1zcGxpdF9fY29sdW1uOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdF9fY29sdW1uOm9ubHktY2hpbGQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmwtc3BsaXRfX2NvbHVtbi0tdnBhZCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1zcGxpdF9fY29sdW1uLS12cGFkIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW4tLWxlZnRwYWQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogUmVzdHJpY3RcbiAqXG4gKiBXaGVuIGEgYmxvY2sgc2hvdWxkbid0IHRha2UgdXAgdGhlIHdob2xlIHdpZHRoIG9mIHRoZSBjb250YWluZXJcbiAqIHdlIGNhbiByZXN0cmljdCB0aGUgbWF4aW11bSB3aWR0aFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXJlc3RyaWN0LW5hcnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWF4LXdpZHRoOiAzOGVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtcmVzdHJpY3QtbmFycm93IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXJlc3RyaWN0LXdpZGUge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogODcuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1yZXN0cmljdC13aWRlIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbn1cblxuLyogIDUgLSBDT01QT05FTlRTXG4gKiAgRGlzY3JldGUgY29tcGxldGUgY2h1bmtzIG9mIFVJLlxuICogIERlc2lnbmVkIGNvbXBvbmVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb21wb25lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5jLWJyZWFkY3J1bWIge1xuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xufVxuXG4uYy1icmVhZGNydW1iX19saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5jLWJyZWFkY3J1bWJfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmMtYnJlYWRjcnVtYl9faXRlbTpudGgtY2hpbGQobisyKSAuYy1icmVhZGNydW1iX19pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIGNvbG9yOiAjMUQxRDFEO1xufVxuXG4uYy1icmVhZGNydW1iX19saW5rIHtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLWJyZWFkY3J1bWJfX2l0ZW0tLWxhc3QgLmMtYnJlYWRjcnVtYl9fbGluayB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYy1idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUyRUQ7XG4gIHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI0ZGRkZGRiwgMCAwIDVweCAycHggIzAwNTJFRDtcbn1cbi5jLWJ1dHRvbjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmMtYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmMtYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiBjYWxjKDUwJSAtIDJweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMnB4KTtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIG9wYWNpdHk6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogIzAwNDJiZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbn1cbi5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEwMCk7XG59XG5cbi5jLWJ1dHRvbl9fdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZzogMCAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYy1idXR0b24tLWljb24gLmMtYnV0dG9uX190ZXh0IHtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLmMtYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4uYy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtYnV0dG9uX19pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG4uYy1idXR0b25fX2ljb246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuLmMtYnV0dG9uLS1pY29uIC5jLWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTZweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIERlZmF1bHQgYnV0dG9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZ2hvc3RidXR0b24ge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgcGFkZGluZzogMTZweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtZ2hvc3RidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4uYy1naG9zdGJ1dHRvbjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1naG9zdGJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5jLWdob3N0YnV0dG9uOjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xcHg7XG4gIGJvdHRvbTogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIGxlZnQ6IC0xcHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbn1cbi5jLWdob3N0YnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMzVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbi5jLWdob3N0YnV0dG9uX190ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jLWJ1dHRvbi0taWNvbiAuYy1naG9zdGJ1dHRvbl9fdGV4dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5jLWdob3N0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4uYy1naG9zdGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy1naG9zdGJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuLmMtZ2hvc3RidXR0b24tLWljb24gLmMtZ2hvc3RidXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE2cHg7XG59XG4uYy1naG9zdGJ1dHRvbl9faWNvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG5cbi5jLWNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogQ2FyZCB0aGF0IGRvZXMgc29tZSBhbmltYXRpb25zIG9uIGhvdmVyXG4gKi9cbi5jLWNhcmQtLWhhcy1hY3Rpb24ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAwO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjpob3ZlciwgLmMtY2FyZC0taGFzLWFjdGlvbjphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOjpiZWZvcmUsIC5jLWNhcmQtLWhhcy1hY3Rpb246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNiwgNDcsIDAuOTIpO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQocmdiYSgwLCAxNiwgNDcsIDAuOCkgMCUsIHJnYmEoMCwgMTYsIDQ3LCAwLjkyKSAxMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMzUlKSByb3RhdGUoLTExZGVnKSBzY2FsZSgxLjMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDUsIDAuMSwgMC4zLCAxKTtcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246OmFmdGVyIHtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDI1cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTYgMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGw9JyUyM0QyRDJEQycgZD0nTTEzLjQgNi43ODNILjc2MkEuNzcyLjc3MiAwIDAgMSAwIDZjMC0uNDMyLjM0MS0uNzgzLjc2Mi0uNzgzSDEzLjRMOS42MjMgMS4zMzZhLjc5OC43OTggMCAwIDEgMC0xLjEwNy43NDcuNzQ3IDAgMCAxIDEuMDc3IDBsNS4wNzcgNS4yMThhLjc5OC43OTggMCAwIDEgMCAxLjEwNkwxMC43IDExLjc3MWEuNzQ3Ljc0NyAwIDAgMS0xLjA3NyAwIC43OTguNzk4IDAgMCAxIDAtMS4xMDdMMTMuNCA2Ljc4M3onLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjc1KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXI6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC45MjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTExZGVnKSBzY2FsZSgxLjMpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogNTBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXI6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjMDAxMDJmO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uYy1jYXJkX19waWN0dXJlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1jYXJkX19pbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtY2FyZF9fbGFiZWwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDE0cHggMTBweCAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBtZWRpdW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXIgLmMtY2FyZF9fbGFiZWwge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5jLWNhcmRfX2xhYmVsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUyRUQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAwJSkgcm90YXRlKDExZGVnKSBzY2FsZSgxLjUsIDMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDUsIDAuMSwgMC4zLCAxKTtcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXIgLmMtY2FyZF9fbGFiZWw6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpIHNjYWxlKDIpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMG1zO1xufVxuXG4uYy1jYXJkX19pbmZvIHtcbiAgcGFkZGluZzogMTZweCAzMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuXG4uYy1jYXJkX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLmMtY2FyZF9fc3ViaGVhZGluZyB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uYy1jYXJkX190ZXh0bGluZSB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuKjpub3QoLmMtY2FyZF9fdGV4dGxpbmUpICsgLmMtY2FyZF9fdGV4dGxpbmUge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uYy1jbG9zZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyBlYXNlLW91dDtcbn1cbi5jLWNsb3NlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAycHggI0ZGRkZGRjtcbn1cbi5jLWNsb3NlOmFmdGVyLCAuYy1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwJTtcbiAgbGVmdDogMjAlO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5jLWNsb3NlOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5jLWNsb3NlOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cbi5jLWNsb3NlOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuXG4uYy1jb25uZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1jb25uZWN0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5jLWNvbm5lY3RfX3Bob25lIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzc3Nzc3Nzc3ODtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbn1cbi5jLWNvbm5lY3RfX3Bob25lOmhvdmVyLCAuYy1jb25uZWN0X19waG9uZTphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1jb25uZWN0X19waG9uZTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYy1jb25uZWN0X19waG9uZTpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLmMtY29ubmVjdF9fb3Ige1xuICBtYXJnaW46IDAgMTZweDtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1jb25uZWN0X19vciB7XG4gICAgbWFyZ2luOiA4cHggMCAxNnB4O1xuICB9XG59XG5cbi5jLWRhdGEge1xuICBtYXJnaW46IDE2cHggMDtcbn1cblxuLmMtZGF0YV9fbGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5jLWRhdGFfX2xhYmVsIHtcbiAgbWluLXdpZHRoOiA2NHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtZGF0YV9fdmFsdWUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1kYXRhX192YWx1ZVtocmVmXTpob3ZlciwgLmMtZGF0YV9fdmFsdWVbaHJlZl06YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtZGF0YV9fdmFsdWVbaHJlZl06aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5jLWRhdGFfX3ZhbHVlW2hyZWZdOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uYy1kYXRlLWxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA0cHggMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jLWRhdGUtbGFiZWwtLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEMkQyREM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYy1kYXRlLWxhYmVsX19kYXkge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1kYXRlLWxhYmVsX19tb250aCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc3Nzc3Nzg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtZG93bmxvYWQtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzhDOEM4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG4uYy1kb3dubG9hZC1saXN0X19pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjIpO1xufVxuXG4uYy1kb3dubG9hZC1saXN0X19saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE2cHg7XG59XG4uYy1kb3dubG9hZC1saXN0X19pY29uIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1kb3dubG9hZC1saXN0X190ZXh0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbn1cbi5jLWRvd25sb2FkLWxpc3RfX2l0ZW06aG92ZXIgLmMtZG93bmxvYWQtbGlzdF9fdGV4dCB7XG4gIGNvbG9yOiAjMUQxRDFEO1xufVxuXG4uYy1ldmVudC1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMDtcbn1cbi5jLWV2ZW50LWNhcmQ6aG92ZXIsIC5jLWV2ZW50LWNhcmQ6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtZXZlbnQtY2FyZDpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICNEMkQyREM7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5jLWV2ZW50LWNhcmRfX3BpY3R1cmUge1xuICB3aWR0aDogMTAwJTtcbiAgZmxleDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLWV2ZW50LWNhcmRfX3BpY3R1cmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xufVxuLmMtZXZlbnQtY2FyZDpob3ZlciAuYy1ldmVudC1jYXJkX19waWN0dXJlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uYy1ldmVudC1jYXJkX19pbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmMtZXZlbnQtY2FyZF9fZGF0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDJEMkRDO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XG59XG4uYy1ldmVudC1jYXJkOmhvdmVyIC5jLWV2ZW50LWNhcmRfX2RhdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDJEMkRDO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cblxuLmMtZXZlbnQtY2FyZF9faW5mbyB7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmc6IDE2cHggMjRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xufVxuLmMtZXZlbnQtY2FyZDpob3ZlciAuYy1ldmVudC1jYXJkX19pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QyRDJEQztcbn1cblxuLmMtZXZlbnQtY2FyZF9fdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xufVxuLmMtZXZlbnQtY2FyZDpob3ZlciAuYy1ldmVudC1jYXJkX190aXRsZSB7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5jLWV2ZW50LWNhcmRfX3N1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XG59XG4uYy1ldmVudC1jYXJkOmhvdmVyIC5jLWV2ZW50LWNhcmRfX3N1YnRpdGxlIHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLmMtZXZlbnQtY2FyZF9fdHlwZSB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgY29sb3I6ICNDOEM4Qzg7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XG59XG4uYy1ldmVudC1jYXJkOmhvdmVyIC5jLWV2ZW50LWNhcmRfX3R5cGUge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4uYy1maWxlLXVwbG9hZF9fbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtZmlsZS11cGxvYWRfX2lucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jLWZpbGUtdXBsb2FkX19idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDUyRUQ7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcztcbn1cbi5jLWZpbGUtdXBsb2FkX19idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvYWRkLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuLmMtZmlsZS11cGxvYWRfX2J1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmMtZmlsZS11cGxvYWRfX2xpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jLWZpbGUtdXBsb2FkX19saXN0ID4gbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzhDOEM4O1xuICBwYWRkaW5nOiA0cHggMDtcbiAgYW5pbWF0aW9uOiBleHBhbmQgMC41cyBlYXNlLWluLW91dDtcbn1cbi5jLWZpbGUtdXBsb2FkX19saXN0ID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9maWxlLnN2Z1wiKSBuby1yZXBlYXQ7XG59XG4uYy1maWxlLXVwbG9hZF9fbGlzdCA+IGxpID4gYnV0dG9uIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGxpbmVhcjtcbn1cbi5jLWZpbGUtdXBsb2FkX19saXN0ID4gbGkgPiBidXR0b246aG92ZXIge1xuICBjb2xvcjogcmVkO1xufVxuLmMtZmlsZS11cGxvYWRfX2xpc3QgPiBsaSA+IGJ1dHRvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCLDl1wiO1xufVxuXG4uYy1maWxlLXVwbG9hZF9fbm90ZSB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG5Aa2V5ZnJhbWVzIGV4cGFuZCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogIzQwNzlCODtcbiAgfVxufVxuLmMtZm9ybS1ncm91cF9fbGFiZWwge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweCAwO1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLmMtZm9ybS1ncm91cF9fZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuLmhhcy1lcnJvciAuYy1mb3JtLWdyb3VwX19lcnJvcjpub3QoOmVtcHR5KSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHg7XG4gIGNvbG9yOiAjNDA3OUI4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY0LCAxMjEsIDE4NCwgMC4xKTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQwNzlCODtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG59XG5cbi5jLWZvcm0tZmVlZGJhY2sge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW46IDAgMCA4cHg7XG4gIHBhZGRpbmc6IDI0cHggMzJweDtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMTEsIDU4LCAwLjIpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZkMzNhO1xufVxuLmMtZm9ybS1mZWVkYmFjazpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmMtZm9ybS1mZWVkYmFjazpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtZmVlZGJhY2spO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmMtZm9ybS1mZWVkYmFjayBsaTo6Zmlyc3QtbGV0dGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtaGFtYnVyZ2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYy1oYW1idXJnZXI6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG4uYy1oYW1idXJnZXIgPiBzcGFuLCAuYy1oYW1idXJnZXI6YWZ0ZXIsIC5jLWhhbWJ1cmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwJTtcbiAgbGVmdDogMjAlO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcbn1cbi5jLWhhbWJ1cmdlcjpiZWZvcmUge1xuICB0b3A6IDEycHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG59XG4uYy1oYW1idXJnZXI6YWZ0ZXIge1xuICB0b3A6IDI4cHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuNSk7XG59XG4uYy1oYW1idXJnZXI6aG92ZXIgPiBzcGFuIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcbn1cbi5jLWhhbWJ1cmdlcjpob3ZlcjphZnRlciwgLmMtaGFtYnVyZ2VyOmhvdmVyOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLmMtaGFtYnVyZ2VyID4gc3BhbiB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuYy1oYW1idXJnZXI6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLmMtaGFtYnVyZ2VyOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cblxuLmMtaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbjogNDBweCAwO1xuICBjb2xvcjogIzJDMkMyQztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLWhlYWRpbmctLWluZGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLWhlcm8ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtaGVybyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmMtaGVybyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLmMtaGVyb19fbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLmMtaGVyb19fc2xpZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTUuNTU2JTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5jLWhlcm9fX3NsaWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgfVxufVxuXG4uYy1oZXJvX19waWN0dXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIGZpbHRlcjogYmx1cig1cHgpO1xufVxuLmMtaGVyb19fcGljdHVyZS5pcy1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gIGZpbHRlcjogbm9uZTtcbn1cblxuLmMtaGVyb19faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtaGVyb19fY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogY2FsYygxNnB4ICsgMXZ3KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMCwgMjUsIDY1LCAwLjkpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtaGVyb19fY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmMtaGVyb19fY2FwdGlvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAtMTAwdnc7XG4gICAgbGVmdDogLTEwMHZ3O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuYy1oZXJvX19jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAyLjZ2dztcbiAgICBmb250LXNpemU6IDMuNXZ3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuYy1oZXJvX19jYXB0aW9uIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgcGFkZGluZy1sZWZ0OiA0LjE2NjY2NjY2NjclO1xuICB9XG59XG5cbi5jLWhlcm9fX2NvbnRyb2xzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xufVxuLmMtaGVyb19fY29udHJvbHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCBibGFjaywgdHJhbnNwYXJlbnQpO1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi5jLWhlcm9fX3Njcm9sbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QyRDJEQztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKSByb3RhdGUoMC4yNXR1cm4pO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtaGVyb19fc2Nyb2xsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYy1oZXJvX19zY3JvbGwgPiBzdmcge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXM7XG59XG4uYy1oZXJvX19zY3JvbGw6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICNhZWFlYzA7XG59XG4uYy1oZXJvX19zY3JvbGw6aG92ZXIgPiBzdmcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLWhlcm9fX3Njcm9sbDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNiYWJhYzk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjZjJmMmY1O1xufVxuXG4uYy1pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogN3B4IDE2cHg7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xuICBvdXRsaW5lOiBub25lO1xufVxuLmhhcy1lcnJvciAuYy1pbnB1dCB7XG4gIGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCAjZmZkMzNhO1xuICBib3JkZXItY29sb3I6ICNmZmQzM2E7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMTEsIDU4LCAwLjA1KTtcbn1cbi5jLWlucHV0OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDdweCAtM3B4ICMxRDFEMUQ7XG4gIGJvcmRlci1jb2xvcjogIzFEMUQxRDtcbn1cbnRleHRhcmVhLmMtaW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTZweDtcbiAgbWluLWhlaWdodDogMTU4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uYy1sYW5ndWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2J1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cywgYm94LXNoYWRvdyAwLjE1cztcbn1cbi5jLWxhbmd1YWdlX19idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uYy1sYW5ndWFnZV9faWNvbiB7XG4gIGZsZXg6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYy1sYW5ndWFnZV9fbGFiZWwge1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwIDAgMTJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG59XG4uYy1sYW5ndWFnZTpob3ZlciAuYy1sYW5ndWFnZV9fZHJvcGRvd24ge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uYy1sYW5ndWFnZV9faXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYy1sYW5ndWFnZV9faXRlbTpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xufVxuLmMtbGFuZ3VhZ2VfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbn1cbi5jLWxhbmd1YWdlX19pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbn1cbi5jLWxhbmd1YWdlX19pdGVtOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5jLWxhbmd1YWdlX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbn1cbi5jLWxhbmd1YWdlX19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEMkQyREM7XG59XG5cbi8qXG5cdENvbG9ycyBnZXQgZGVmaW5lZCBpbiBfc2V0dGluZ3MuY29uZmlnLnNjc3NcbiovXG4uYy1uYXYge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jLW5hdl9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1uYXZfX2l0ZW0ge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1hcmdpbi1yaWdodDogMiU7XG59XG4uYy1uYXZfX2l0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmMtbmF2X19saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA0cHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGxpbmVhcjtcbn1cbi5jLW5hdl9fbGluazpob3ZlciwgLmMtbmF2X19saW5rOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLW5hdl9fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIGxlZnQ6IDRweDtcbiAgYm90dG9tOiAxcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xuICBoZWlnaHQ6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG59XG4uYy1uYXZfX2xpbms6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xufVxuLmMtbmF2X19saW5rOmhvdmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG59XG4uYy1uYXZfX2xpbmsuaXMtYWN0aXZlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYy1uYXZfX2xpbmsuaXMtYWN0aXZlOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4uYy1uYXZfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5jLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtcGFnaW5hdGlvbl9faXRlbTpmaXJzdC1jaGlsZCwgLmMtcGFnaW5hdGlvbl9faXRlbTpsYXN0LWNoaWxkLCAuYy1wYWdpbmF0aW9uX19pdGVtLmlzLWxhc3QtcGFnZSwgLmMtcGFnaW5hdGlvbl9faXRlbS5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmMtcGFnaW5hdGlvbl9faXRlbS5pcy1sYXN0LXBhZ2Uge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG4uYy1wYWdpbmF0aW9uX19pdGVtICsgLmMtcGFnaW5hdGlvbl9faXRlbSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCxcbi5jLXBhZ2luYXRpb25fX2xpbmssXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4td2lkdGg6IDQ4cHg7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCB7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICBvcGFjaXR5OiAwLjM1O1xufVxuXG4uYy1wYWdpbmF0aW9uX19saW5rIHtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuLmMtcGFnaW5hdGlvbl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMWYxZjFmO1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xufVxuLmlzLWFjdGl2ZSA+IC5jLXBhZ2luYXRpb25fX2xpbmsge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMTBweCAtNXB4ICMwMDUyRUQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzAwNTJFRDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xufVxuLmMtcGFnaW5hdGlvbl9fcHJldi5pcy1pbmFjdGl2ZSxcbi5jLXBhZ2luYXRpb25fX25leHQuaXMtaW5hY3RpdmUge1xuICBjb2xvcjogcmdiYSg0NCwgNDQsIDQ0LCAwLjQpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn1cblxuLypcbiAqIFBhZ2UgdGl0bGVcbiAqL1xuLmMtcGFnZS10aXRsZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtcGFnZS10aXRsZSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLXBhZ2UtdGl0bGUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlX19wcmVoZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG59XG5cbi5jLXBhZ2UtdGl0bGVfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtcGFnZS10aXRsZV9faGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZV9faGVhZGluZy1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLXBhZ2UtdGl0bGVfX3N1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uYy1wcm9qZWN0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtcHJvamVjdG9yX19maWd1cmUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtcHJvamVjdG9yX19jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMjtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5jLXByb2plY3Rvcl9fcGljdHVyZSB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDM2MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xufVxuLmllIC5jLXByb2plY3Rvci0tc2luZ2xlLWltYWdlIC5jLXByb2plY3Rvcl9fcGljdHVyZSB7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuLmMtcHJvamVjdG9yX19waWN0dXJlLmlzLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jLXByb2plY3Rvcl9fY29udHJvbCB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uYy1wcm9qZWN0b3JfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtcHJvamVjdG9yX19pbWcge1xuICAgIG1heC1oZWlnaHQ6IDc4dmg7XG4gIH1cbn1cblxuLyoqXG4gKiBTZWxlY3Qgc3R5bGVkIHdpdGhvdXQgZXh0cmEgY29udGFpbmluZyBlbGVtZW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCYXNlZCBvbiB0aGlzIGFydGljbGU6XG4gKiBodHRwczovL3d3dy5maWxhbWVudGdyb3VwLmNvbS9sYWIvc2VsZWN0LWNzcy5odG1sXG4gKi9cbi5jLXNlbGVjdCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyODY7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAzcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgcGFkZGluZy1yaWdodDogMzJweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXgtd2lkdGg6IDU0MHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBjb2xvcjogIzY1NjU2NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdGlueWFycm93LnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC43ZW0gdG9wIDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjY1ZW0gYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ0QTFGNDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDE1MG1zIGxpbmVhcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmMtc2VsZWN0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNDA3OUI4O1xuICBib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggcmdiYSgyMTAsIDIxMCwgMjIwLCAwLjcpO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggLW1vei1tYWMtZm9jdXNyaW5nO1xuICBjb2xvcjogIzAwNTJFRDtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5jLXNlbGVjdCBvcHRpb24ge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uYy1zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmMtc2VydmljZXBvaW50X19pbWFnZSB7XG4gIGZsZXg6IDA7XG4gIG1pbi13aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxOTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2NvbnRlbnQge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIG1pbi13aWR0aDogNTAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogY2FsYyhjYWxjKDQyMHB4IC0gMTAwJSkgKiA5OTkpO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLXNlcnZpY2Vwb2ludF9fY29udGVudCB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2JvZHkge1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLmMtc2l0ZW1hcF9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLmMtc2l0ZW1hcF9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHggMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtc2l0ZW1hcF9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMDA1MkVEO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLypcbiAqIFNraXAgTGlua1xuICovXG4uYy1za2lwLWxpbmsge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDB2aDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGNvbG9yOiAjNDA3OUI4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1za2lwLWxpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG4gIHRvcDogNXB4O1xuICAvKiBOb3cgdGhlIGxpbmsgd2lsbCBhcHBlYXIgKi9cbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QyRDJEQztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbiArIC5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uW2FyaWEtbGFiZWw9cHJldmlvdXNdID4gc3ZnIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b25bYXJpYS1sYWJlbD1uZXh0XSA+IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhYmFjOTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhYmFjOTtcbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmhvdmVyOm5vdCguaXMtYWN0aXZlKSwgLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXM6bm90KC5pcy1hY3RpdmUpIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YmVmb3JlLCAuYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpiZWZvcmUge1xuICB0b3A6IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIHJpZ2h0OiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICBib3R0b206IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIGxlZnQ6IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDphZnRlciB7XG4gIHRvcDogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIHJpZ2h0OiBjYWxjKCgzMHB4IC0gMTJweCkgLyAyKTtcbiAgYm90dG9tOiBjYWxjKCgzMHB4IC0gMTJweCkgLyAyKTtcbiAgbGVmdDogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkY7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgb3BhY2l0eTogMDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90LmlzLWFjdGl2ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90LmlzLWFjdGl2ZTphZnRlciB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXM6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpmb2N1czphZnRlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xufVxuXG4uYy1zdWJuYXYge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXN1Ym5hdi0tYm94ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICBwYWRkaW5nOiA4MHB4IDZ2dztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5jLXN1Ym5hdi0tYm94ZWQge1xuICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICB9XG59XG5cbi5jLXN1Ym5hdl9faGVhZGVyIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYy1zdWJuYXZfX2xpc3Qge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uYy1zdWJuYXZfX2l0ZW0tLWJhY2sge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4uYy1zdWJuYXZfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBjb2xvcjogIzY1NjU2NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDI1MG1zO1xufVxuLmMtc3VibmF2X19saW5rOmhvdmVyLCAuYy1zdWJuYXZfX2xpbms6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtc3VibmF2X19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICM0MDc5Qjg7XG59XG4uYy1zdWJuYXZfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG4uYy1zdWJuYXZfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOEM4Qzg7XG59XG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIC5jLXN1Ym5hdl9fbGluazo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDA1MkVEO1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLmMtc3VibmF2X19pY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIGNvbG9yOiAjQzhDOEM4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE2cHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1vdXQ7XG59XG4uYy1zdWJuYXZfX2xpbms6aG92ZXIgLmMtc3VibmF2X19pY29uIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogIzQwNzlCODtcbn1cblxuLmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAuYy1zdWJuYXZfX2xpbmsge1xuICBjb2xvcjogIzAwNTJFRDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIC5jLXN1Ym5hdl9fbGluazo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDA1MkVEO1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cbi5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUgLmMtc3VibmF2X19pY29uIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyoqXG4gKiAxLiBDb2xvciBnZXRzIGluaGVyaXRlZCBhbmQgdXNlZCBmb3IgbmVzdGVkIGVsZW1lbnRzIHdpdGggJ2N1cnJlbnRDb2xvcicgcHJvcGVydHlcbiAqIDIuIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxpbmdcbiAqL1xuLmMtdGV4dGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICM0MDc5Qjg7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG4uYy10ZXh0YnV0dG9uOmhvdmVyLCAuYy10ZXh0YnV0dG9uOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLXRleHRidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBjb2xvcjogIzI2NDk2ZTtcbn1cbi5jLXRleHRidXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYy10ZXh0YnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uYy10ZXh0YnV0dG9uX190ZXh0IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cbi5jLXRleHRidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuLmMtdGV4dGJ1dHRvbi0taWNvbiAuYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLXRleHRidXR0b24tLWlzLXJldmVyc2VkIC5jLXRleHRidXR0b25fX3RleHQge1xuICBvcmRlcjogMjtcbn1cbi5jLXRleHRidXR0b24tLWlzLXJldmVyc2VkIC5jLXRleHRidXR0b25fX2ljb24ge1xuICBvcmRlcjogMTtcbiAgdG9wOiAxcHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG59XG4uYy10ZXh0YnV0dG9uLS1pcy1yZXZlcnNlZDpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC41dHVybikgdHJhbnNsYXRlWCgzcHgpO1xufVxuXG4uYy10b2dnbGUge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmMtdG9nZ2xlX19pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xufVxuLmMtdG9nZ2xlX19pdGVtICsgLmMtdG9nZ2xlX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLmMtdG9nZ2xlX190aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiA5NnB4O1xufVxuLmMtdG9nZ2xlX190aXRsZVtkYXRhLXRvZ2dsZS1pZF0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jLXRvZ2dsZV9faWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxOHB4O1xuICBsZWZ0OiBjYWxjKDQ4cHgpO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogIzAwNTJFRDtcbiAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG59XG4uYy10b2dnbGVfX2ljb24gPiBzdmcge1xuICB3aWR0aDogMTBweDtcbn1cbi5jLXRvZ2dsZV9faWNvbi5wbHVzIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5jLXRvZ2dsZV9fdGl0bGUuaXMtYWN0aXZlIC5jLXRvZ2dsZV9faWNvbi5wbHVzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jLXRvZ2dsZV9fdGl0bGUuaXMtYWN0aXZlIC5jLXRvZ2dsZV9faWNvbi5taW51cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uYy10b2dnbGVfX2ljb24uY2hlY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXI6IG5vbmU7XG59XG4uYy10b2dnbGVfX2ljb24uY2hlY2sgPiBzdmcge1xuICB3aWR0aDogMjRweDtcbn1cbi5jLXRvZ2dsZV9fdGl0bGVbZGF0YS10b2dnbGUtaWRdOm5vdCguaXMtYWN0aXZlKTpob3ZlciAuYy10b2dnbGVfX2ljb24ge1xuICBjb2xvcjogIzFFMTk0MTtcbn1cblxuLmMtdG9nZ2xlX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMTZweCAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM0MDc5Qjg7XG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG59XG4uYy10b2dnbGVfX3RpdGxlW2RhdGEtdG9nZ2xlLWlkXTpub3QoLmlzLWFjdGl2ZSk6aG92ZXIgLmMtdG9nZ2xlX19sYWJlbCB7XG4gIGNvbG9yOiAjMUUxOTQxO1xufVxuXG4uYy10b2dnbGVfX2NvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDk2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1pbi1vdXQ7XG59XG4uaXMtYWN0aXZlIH4gLmMtdG9nZ2xlX19jb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuLmMtdHJhZGVtYXJrIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xufVxuLmMtdHJhZGVtYXJrOmhvdmVyLCAuYy10cmFkZW1hcms6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtdHJhZGVtYXJrOmhvdmVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYy10cmFkZW1hcms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5jLXRyYWRlbWFya19fdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogN3B4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYy10cmFkZW1hcmtfX2ljb24ge1xuICB3aWR0aDogMTAwcHg7XG4gIG1heC1oZWlnaHQ6IDMycHg7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuLmMtdHJhZGVtYXJrOmhvdmVyIC5jLXRyYWRlbWFya19faWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jLXZhY2FuY3ktcHJvcGVydGllcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jLXZhY2FuY3ktcHJvcGVydGllc19faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuLmMtdmFjYW5jeS1wcm9wZXJ0aWVzX19pdGVtOm50aC1sYXN0LWNoaWxkKG4rMikge1xuICBtYXJnaW4tcmlnaHQ6IDMycHg7XG59XG5cbi5jLXZhY2FuY3ktcHJvcGVydGllc19faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uYy12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbn1cblxuLmMtdmlkZW9fX2lmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKiAgNiAtIE9SR0FOSVNNU1xuICogIExhcmdlIGJsb2NrcyBjb21wb3NlZCBvZiBtdWx0aXBsZSBjb21wb25lbnRzLlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIE9yZ2FuaXNtc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uby1hY2NvcmRpb24ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1hY2NvcmRpb24ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1hY2NvcmRpb24ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLWFjY29yZGlvbl9faXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjQzhDOEM4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xufVxuLm8tYWNjb3JkaW9uX19pdGVtICsgLm8tYWNjb3JkaW9uX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5vLWFjY29yZGlvbl9faXRlbTpub3QoLmlzLWFjdGl2ZSk6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMwMDUyRUQ7XG59XG5cbi5vLWFjY29yZGlvbl9fdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYWNjb3JkaW9uX190aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWFjY29yZGlvbl9fdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLm8tYWNjb3JkaW9uX19pdGVtOm5vdCguaXMtYWN0aXZlKSAuby1hY2NvcmRpb25fX3RpdGxlOmhvdmVyIHtcbiAgY29sb3I6ICMwMDUyRUQ7XG59XG5cbi5vLWFjY29yZGlvbl9faWNvbiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogMTRweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWFjY29yZGlvbl9faWNvbiB7XG4gICAgbGVmdDogY2FsYyg2LjI1JSAtIDEwcHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tYWNjb3JkaW9uX19pY29uIHtcbiAgICBsZWZ0OiBjYWxjKDQuMTY2NjY2NjY2NyUgLSAxMHB4KTtcbiAgfVxufVxuLm8tYWNjb3JkaW9uX19pY29uOjpiZWZvcmUsIC5vLWFjY29yZGlvbl9faWNvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGxlZnQ6IDNweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcywgNDAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLCBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG59XG4uby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlIC5vLWFjY29yZGlvbl9faWNvbjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCkgcm90YXRlKDAuMjV0dXJuKTtcbn1cbi5vLWFjY29yZGlvbl9faWNvbjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjI1dHVybik7XG59XG4uby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlIC5vLWFjY29yZGlvbl9faWNvbjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cblxuLm8tYWNjb3JkaW9uX19oZWFkZXIge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1hY2NvcmRpb25fX2hlYWRlciB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgfVxufVxuXG4vKiBIaWRkZW4gYnkgZGVmYXVsdCovXG4uby1hY2NvcmRpb25fX2NvbnRlbnQge1xuICBvcGFjaXR5OiAwO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cbi5vLWFjY29yZGlvbl9fY29udGVudCA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbi5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgLm8tYWNjb3JkaW9uX19jb250ZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgbWF4LWhlaWdodDogNDAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tYXBwbHkge1xuICAgIHBhZGRpbmctdG9wOiA2dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWFwcGx5IHtcbiAgICBwYWRkaW5nLXRvcDogNXZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tYXBwbHkge1xuICAgIHBhZGRpbmctdG9wOiAzLjU3MTQyODU3MTR2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1hcHBseSB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHg7XG4gIH1cbn1cblxuLm8tYXBwbHlfX2hlYWRpbmcge1xuICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgY29sb3I6ICMxRDFEMUQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gIC5vLWFwcGx5X19ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gIC5vLWFwcGx5X19sZWZ0IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgKyA0OHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuICB9XG59XG5cbi5vLWFwcGx5X19yaWdodCB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDBweCkge1xuICAuby1hcHBseV9fcmlnaHQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uby1hcHBseV9fcm93ICsgLm8tYXBwbHlfX3JvdyB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gIC5vLWFwcGx5X19maWxldXBsb2FkIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5cbi5vLWFwcGx5X19mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0M4QzhDODtcbiAgbWFyZ2luLXRvcDogNDhweDtcbiAgcGFkZGluZy10b3A6IDQ4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm8tYXBwbHlfX2ZlZWRiYWNrIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDk2cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWJsb2NrICsgLm8tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWJsb2NrICsgLm8tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1ibG9jayArIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWJsb2NrICsgLm8tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDk2cHg7XG4gIH1cbn1cblxuLypcbiogV3JhcHBlciBvZiB0aGUgbWFpbiBib2R5XG4qIChiZXR3ZWVuIHRoZSBoZWFkZXIgYW5kIHRoZSBmb290ZXIpXG4qL1xuLm8tYm9keSB7XG4gIHotaW5kZXg6IDQwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uby1jYWxsb3V0LWJhciB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRTE5NDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiAxMnZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDEwdnc7XG4gICAgcGFkZGluZy1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDcuMTQyODU3MTQyOXZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogOTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4gPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA1dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAzLjU3MTQyODU3MTR2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gIH1cbn1cblxuLm8tY2FsbG91dC1iYXJfX2JvZHkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5vLWNhbGxvdXQtYmFyX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuLypcbiAqIENhcmQgZ3JpZFxuICpcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLm8tY2FyZC1ncmlkX19tYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuby1jYXJkLWdyaWRfX2l0ZW0gKyAuby1jYXJkLWdyaWRfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5vLWNhcmQtZ3JpZF9faXRlbSB7XG4gICAgbWF4LXdpZHRoOiAzNDRweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tY2FyZC1ncmlkX19pdGVtIHtcbiAgICBmbGV4OiAwO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gKCgyIC0gMSkgLyAyICogMzJweCkpO1xuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICB9XG4gIC5vLWNhcmQtZ3JpZF9faXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5vLWNhcmQtZ3JpZF9faXRlbTpudGgtY2hpbGQobiszKSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWNhcmQtZ3JpZF9faXRlbSB7XG4gICAgZmxleDogMDtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gKCgzIC0gMSkgLyAzICogMzJweCkpO1xuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICB9XG4gIC5vLWNhcmQtZ3JpZF9faXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5vLWNhcmQtZ3JpZF9faXRlbTpudGgtY2hpbGQobis0KSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuXG4uby1jb250YWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0MHB4KSB7XG4gIC5vLWNvbnRhY3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5vLWNvbnRhY3RfX2luZm8ge1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcGFkZGluZy1sZWZ0OiA2dnc7XG4gIHBhZGRpbmctcmlnaHQ6IDZ2dztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWNvbnRhY3RfX2luZm8ge1xuICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWNvbnRhY3RfX2luZm8ge1xuICAgIHBhZGRpbmctbGVmdDogNy4xNDI4NTcxNDI5JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3LjE0Mjg1NzE0MjklO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQwcHgpIHtcbiAgLm8tY29udGFjdF9faW5mbyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIH1cbn1cblxuLm8tY29udGFjdF9fZm9ybSB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG4gIHBhZGRpbmc6IDMycHggNnZ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tY29udGFjdF9fZm9ybSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gICAgcGFkZGluZy1yaWdodDogMTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tY29udGFjdF9fZm9ybSB7XG4gICAgcGFkZGluZy1sZWZ0OiA3LjE0Mjg1NzE0MjklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDcuMTQyODU3MTQyOSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNDBweCkge1xuICAuby1jb250YWN0X19mb3JtIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gIH1cbn1cblxuLm8tY29udGFjdF9faGVhZGVyIHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICBjb2xvcjogIzJDMkMyQztcbn1cblxuLm8tY29udGFjdF9fY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5vLWNvbnRhY3RfX2FkZHJlc3Mge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4uby1jb250YWN0X19udW1iZXJzIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLm8tY29va2llLWJhciB7XG4gIHotaW5kZXg6IC0xO1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiA2NHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFEMUQxRDtcbiAgb3BhY2l0eTogMTtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB0cmFuc2Zvcm0gMC42cztcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLm8tY29va2llLWJhcjpub3QoLmlzLWFjY2VwdGVkKSB7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5vLWNvb2tpZS1iYXIuaXMtdHJhbnNpdGlvbmluZy1vdXQge1xuICB6LWluZGV4OiAtMTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG59XG5cbi5vLWNvb2tpZS1iYXJfX21haW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3M3B4KSB7XG4gIC5vLWNvb2tpZS1iYXJfX21haW4ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgfVxufVxuXG4uby1jb29raWUtYmFyX190ZXh0IHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NHB4KSB7XG4gIC5vLWNvb2tpZS1iYXJfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgfVxufVxuXG4uby1jb29raWUtYmFyX19saW5rIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG4uby1jb29raWUtYmFyX19saW5rOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG59XG5cbi5vLWNvb2tpZS1iYXJfX2J1dHRvbiB7XG4gIGZsZXg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tY29va2llLWJhcl9fYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIERvdWJsZSBpbWFnZSBpbiAyIGVxdWFsIGNvbHVtbnNcbiAqXG4gKiBVbnRpbCB2aWV3cG9ydCBpcyB3aWRlIGVub3VnaCB0aGUgcGljdHVyZXMgYXJlIHN0YWNrZWQgdmVydGljYWxseVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uby1kb3VibGUtaW1hZ2Uge1xuICBtYXJnaW46IC0xcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1kb3VibGUtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm8tZG91YmxlLWltYWdlX19waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMXB4O1xuICBvcmRlcjogMTtcbiAgbWluLWhlaWdodDogMzYwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLm8tZG91YmxlLWltYWdlX19waWN0dXJlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuICAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmU6bGFzdC1jaGlsZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi5vLWRvdWJsZS1pbWFnZV9faW1nIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG1heC1oZWlnaHQ6IDg1dmg7XG59XG5cbi5vLWRvdWJsZS1pbWFnZS0taXMtcmV2ZXJzZWQgLm8tZG91YmxlLWltYWdlX19waWN0dXJlIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLm8tZG91YmxlLWltYWdlLS1pcy1yZXZlcnNlZCAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmU6bGFzdC1jaGlsZCB7XG4gIG9yZGVyOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIERvdWJsZSBsYXlvdXQgaW4gMiBlcXVhbCBjb2x1bW5zXG4gKlxuICogVW50aWwgdmlld3BvcnQgaXMgd2lkZSBlbm91Z2ggdGhlIGNvbHVtbnMgYXJlIHN0YWNrZWQgdmVydGljYWxseVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uby1kb3VibGUtdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG91YmxlLXRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWRvdWJsZS10ZXh0X19jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWRvdWJsZS10ZXh0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWRvdWJsZS10ZXh0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWRvdWJsZS10ZXh0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tZG91YmxlLXVzcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0QTFGNDtcbiAgfVxufVxuXG4uby1kb3VibGUtdXNwX19tYWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLXRvcDogNDhweDtcbiAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3VibGUtdXNwX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZG91YmxlLXVzcF9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWRvdWJsZS11c3BfX21haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tZG91YmxlLXVzcF9fbGVmdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG91YmxlLXVzcF9fbGVmdCB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG91YmxlLXVzcF9fcmlnaHQge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLm8tZG91YmxlLXVzcF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uby1kb3VibGUtdXNwX19saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMTZweDtcbn1cblxuLm8tZG91YmxlLXVzcF9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5vLWRvdWJsZS11c3BfX2l0ZW0gKyAuby1kb3VibGUtdXNwX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5vLWRvdWJsZS11c3BfX2l0ZW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1cHg7XG4gIGxlZnQ6IC0xNnB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9jaGVjay9jaGVja2VkLnN2Zyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTZweCAxMnB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3dubG9hZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWRvd25sb2Fkcy0taXMtcmV2ZXJzZWQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuXG4uby1kb3dubG9hZHNfX21haW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDcycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3dubG9hZHNfX21haW4ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1kb3dubG9hZHNfX21haW4ge1xuICAgIHBhZGRpbmctbGVmdDogNi4yNSU7XG4gICAgcGFkZGluZy1yaWdodDogNi4yNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1kb3dubG9hZHNfX21haW4ge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG4uby1kb3dubG9hZHNfX21haW4gLmMtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWRvd25sb2Fkc19fc2VydmljZS1wb2ludCB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG93bmxvYWRzX19zZXJ2aWNlLXBvaW50IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1kb3dubG9hZHNfX3NlcnZpY2UtcG9pbnQge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWRvd25sb2Fkc19fc2VydmljZS1wb2ludCB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG59XG5cbi5vLWV2ZW50IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1yb3ctZ2FwOiA2NHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgYXV0byk7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiZGF0YVwiIFwiZm9ybVwiO1xufVxuLm8tZXZlbnRfX2RhdGEge1xuICBncmlkLWFyZWE6IGRhdGE7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm8tZXZlbnRfX2Zvcm0ge1xuICBncmlkLWFyZWE6IGZvcm07XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5vLWV2ZW50IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDZmciA1ZnI7XG4gICAgZ3JpZC1yb3ctZ2FwOiAwO1xuICAgIGdyaWQtY29sdW1uLWdhcDogOC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZvcm0gZGF0YVwiO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuby1ldmVudF9fZGF0YSB7XG4gICAgcGFkZGluZy10b3A6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1ldmVudF9fZGF0YSB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gIH1cbn1cblxuLm8tZXZlbnRfX2Zvcm0ge1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1ldmVudF9fZm9ybSB7XG4gICAgbWFyZ2luLWxlZnQ6IC04LjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1yaWdodDogLTguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWV2ZW50X19mb3JtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgcGFkZGluZy1yaWdodDogNDhweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWV2ZW50X19mb3JtIHtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7XG4gICAgcGFkZGluZy1yaWdodDogOTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxufVxuXG4uby1ldmVudF9faW5mby1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDAgMCA2NHB4O1xufVxuLm8tZXZlbnRfX2luZm8tbGlzdCBkdCB7XG4gIHdpZHRoOiAxMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLm8tZXZlbnRfX2luZm8tbGlzdCBkZCB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMHB4KTtcbn1cblxuLm8tZXZlbnRfX2hlYWRpbmcge1xuICBjb2xvcjogIzFEMUQxRDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cblxuLm8tZXZlbnRfX3NlcnZpY2Vwb2ludC1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogNjRweDtcbn1cblxuLypcbiAqIEV2ZW50c1xuICpcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLm8tZXZlbnRzX19tYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuby1ldmVudHNfX2l0ZW0gKyAuby1ldmVudHNfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5vLWV2ZW50c19faXRlbSB7XG4gICAgbWF4LXdpZHRoOiAzNDRweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuby1ldmVudHNfX2l0ZW0ge1xuICAgIGZsZXg6IDA7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAoKDIgLSAxKSAvIDIgKiAzMnB4KSk7XG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIH1cbiAgLm8tZXZlbnRzX19pdGVtOm50aC1jaGlsZCgybisxKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm8tZXZlbnRzX19pdGVtOm50aC1jaGlsZChuKzMpIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuby1ldmVudHNfX2l0ZW0ge1xuICAgIGZsZXg6IDA7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMzMzMzMzMzMzJSAtICgoMyAtIDEpIC8gMyAqIDMycHgpKTtcbiAgICBtYXJnaW4tbGVmdDogMzJweDtcbiAgfVxuICAuby1ldmVudHNfX2l0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuby1ldmVudHNfX2l0ZW06bnRoLWNoaWxkKG4rNCkge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuby1ldmVudHNfX2l0ZW0ge1xuICAgIGZsZXg6IDA7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSAoKDQgLSAxKSAvIDQgKiAzMnB4KSk7XG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIH1cbiAgLm8tZXZlbnRzX19pdGVtOm50aC1jaGlsZCg0bisxKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm8tZXZlbnRzX19pdGVtOm50aC1jaGlsZChuKzUpIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5cbi5vLWZvb3RlciB7XG4gIHotaW5kZXg6IDIwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTJFRDtcbiAgZmxleDogMSAwIGF1dG87XG59XG5cbi5vLWZvb3Rlcl9fbWFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDZ2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1mb290ZXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiA1dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDV2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDMuNTcxNDI4NTcxNHZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjU3MTQyODU3MTR2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5vLWZvb3Rlcl9fYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tZm9vdGVyX19icmFuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy45NnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1mb290ZXJfX2JyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjN2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWZvb3Rlcl9fYnJhbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMzU3MTQyODU3MXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tZm9vdGVyX19icmFuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzEuNjhweDtcbiAgfVxufVxuLm8tZm9vdGVyX19icmFuZDpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLm8tZm9vdGVyX19sb2dvIHtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuXG4uby1mb290ZXJfX2luZm8gPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1mb290ZXJfX2luZm8ge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1mb290ZXJfX2luZm8ge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1mb290ZXJfX25hdiB7XG4gICAgbWFyZ2luLXRvcDogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1mb290ZXJfX25hdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWZvb3Rlcl9fbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1mb290ZXJfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi5vLWZvb3Rlcl9fbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uby1mb290ZXJfX2xpbms6aG92ZXIsIC5vLWZvb3Rlcl9fbGluazphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uby1mb290ZXJfX2xpbms6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3BhY2l0eTogMDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAtOHB4O1xuICByaWdodDogLThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cbi5vLWZvb3Rlcl9fbGluazpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5vLWZvb3Rlcl9fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLm8tZm9vdGVyX19zb2NpYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDMycHggMCAwO1xufVxuXG4uby1mb290ZXJfX2NoYW5uZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xufVxuXG4uby1mb290ZXJfX2ljb24ge1xuICBmbGV4OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG59XG4uZmFjZWJvb2sgLm8tZm9vdGVyX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvZmFjZWJvb2suc3ZnXCIpO1xuICBoZWlnaHQ6IDIxcHg7XG59XG4uaW5zdGFncmFtIC5vLWZvb3Rlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2luc3RhZ3JhbS5zdmdcIik7XG59XG4udHdpdHRlciAuby1mb290ZXJfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC90d2l0dGVyLnN2Z1wiKTtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuLmxpbmtlZGluIC5vLWZvb3Rlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2xpbmtlZGluLnN2Z1wiKTtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLm8tZm9vdGVyX19pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLm8tZm9vdGVyX19pY29uOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzQwNzlCODtcbn1cblxuLm8tZm9ybV9faGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLm8tZm9ybV9fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLm8tZm9ybV9fcm93ICsgLm8tZm9ybV9fcm93IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLm8tZm9ybV9fcG90IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4vKlxuXHRDb2xvcnMgZ2V0IGRlZmluZWQgaW4gX3NldHRpbmdzLmNvbmZpZy5zY3NzXG4qL1xuLm8taGVhZGVyIHtcbiAgei1pbmRleDogNTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUyRUQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTZweCAwO1xufVxuLm8taGVhZGVyLmlzLXN0aWNreSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgYm94LXNoYWRvdzogMCAtNXB4IDMwcHggYmxhY2s7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAzMDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLm8taGVhZGVyLmlzLXN0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmlzLXN0aWNreS1oZWFkZXItdmlzaWJsZSAuby1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cblxuLm8taGVhZGVyX19tYWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWhlYWRlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWhlYWRlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8taGVhZGVyX19uYXYge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDQ4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDk5cHgpIHtcbiAgLm8taGVhZGVyX19uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm8taGVhZGVyX19sYW5ndWFnZSB7XG4gIGZsZXg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA5OXB4KSB7XG4gIC5vLWhlYWRlcl9fbGFuZ3VhZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5cbi5vLWhlYWRlcl9fbG9nbyB7XG4gIGZsZXg6IG5vbmU7XG59XG4uby1oZWFkZXJfX2xvZ286aG92ZXIsIC5vLWhlYWRlcl9fbG9nbzphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uby1oZWFkZXJfX2xvZ286Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5vLWhlYWRlcl9faW1nIHtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLm8taGVhZGVyX190b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm8taW50cm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1pbnRybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8taW50cm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1pbnRybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1pbnRybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweDtcbiAgfVxufVxuXG4uby1pbnRyb19fYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWludHJvX19ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1pbnRyb19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWludHJvX19ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWludHJvX19ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1pbnRyby0tbW9iaWxlLWJyZWFrLW91dCAuby1pbnRyb19fYm9keSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1pbnRyb19fYm9keTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICB9XG4gIC5vLWludHJvLS1ib3R0b20tYmFyLWhpZGRlbiAuby1pbnRyb19fYm9keTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLWludHJvX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5vLWludHJvX19uYXYsXG4uby1pbnRyb19faW1hZ2Uge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX25hdixcbi5vLWludHJvX19pbWFnZSB7XG4gICAgb3JkZXI6IC0xO1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8taW50cm9fX25hdixcbi5vLWludHJvX19pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uby1pbnRyb19fbmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgcGFkZGluZzogMzJweCA2dnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1pbnRyb19fbmF2IHtcbiAgICBwYWRkaW5nOiA4MHB4IDQuMTY2NjY2NjY2NyU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1pbnRyb19fdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDZ2dztcbiAgcGFkZGluZy1yaWdodDogNnZ3O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX3RleHQge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nOiA4MHB4IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fdGV4dCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uby1pbnRyb19fdGl0bGUsXG4uby1pbnRyb19faGVhZGluZyB7XG4gIGNvbG9yOiAjMkMyQzJDICFpbXBvcnRhbnQ7XG59XG5cbi5vLWludHJvX19idXR0b24ge1xuICBjb2xvcjogIzFFMTk0MSAhaW1wb3J0YW50O1xufVxuXG4uby1sb2dvc19fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbjogLTIuMzgydnc7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1sb2dvc19fbGlzdCB7XG4gICAgbWFyZ2luOiAtMzJweDtcbiAgfVxufVxuXG4uby1sb2dvc19faXRlbSB7XG4gIGZsZXg6IDAgMSAxMDAlO1xuICBtYXJnaW46IDIuMzgydnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzODRweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA1dncpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDV2dyk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSA1dncpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tbG9nb3NfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gNjRweCk7XG4gICAgbWFyZ2luOiAzMnB4O1xuICB9XG59XG5cbi5vLWxvZ29zX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vLWxvZ29zX19pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4uby1tYXAgYTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vLW5ld3Mge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1uZXdzIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tbmV3cyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tbmV3c19faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuXG4uby1uZXdzX19hcnRpY2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm8tbmV3c19fYXJ0aWNsZSArIC5vLW5ld3NfX2FydGljbGUge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuXG4uby1uZXdzX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zIGxpbmVhcjtcbn1cbi5vLW5ld3NfX2xpbms6aG92ZXIsIC5vLW5ld3NfX2xpbms6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLm8tbmV3c19fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cbi5vLW5ld3NfX2xpbms6aG92ZXIsIC5vLW5ld3NfX2xpbms6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuLm8tbmV3c19fbGluazpob3Zlcjo6YmVmb3JlLCAuby1uZXdzX19saW5rOmZvY3VzOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuLm8tbmV3c19fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW5ld3NfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi5vLW5ld3NfX2JvZHkge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmc6IDZ2dztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW5ld3NfX2JvZHkge1xuICAgIG9yZGVyOiAxO1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTIuNSU7XG4gICAgcGFkZGluZy1yaWdodDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1uZXdzX19ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tbmV3c19faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTUlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tbmV3c19faW1hZ2Uge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgb3JkZXI6IDI7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjUlO1xuICB9XG59XG5cbi5vLW5ld3NfX2JnLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB0b3A6IDZ2dztcbiAgcmlnaHQ6IDZ2dztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDZ2dyk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1uZXdzX19iZy1pbWFnZSB7XG4gICAgdG9wOiA4cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgfVxufVxuXG4uby1uZXdzX19pbnRybyB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5vLW5ld3NfX3RpbWVzdGFtcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLm8tbmV3c19fYWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGNvbG9yOiAjNDA3OUI4O1xufVxuXG4uby1uZXdzX19yZWFkbW9yZSB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uby1uZXdzX19mb290ZXIge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vLW92ZXJsYXktbWVudSB7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUyRUQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTIwdncpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zLCAyMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDQwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMC4xNSwgMC4xLCAxKSwgbGluZWFyO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcywgMHM7XG59XG4uby1vdmVybGF5LW1lbnU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC0xMjB2dztcbiAgd2lkdGg6IDEyMHZ3O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5vLW92ZXJsYXktbWVudTo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG4uby1vdmVybGF5LW1lbnU6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogLTIwJTtcbiAgd2lkdGg6IDIwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTg2ZGVnLCB0cmFuc3BhcmVudCA1MCUsICMwMDUyRUQgNTAlKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1vdmVybGF5LW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm8tb3ZlcmxheS1tZW51X19iYXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tb3ZlcmxheS1tZW51X19iYXIge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1vdmVybGF5LW1lbnVfX2JhciB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tb3ZlcmxheS1tZW51X19pbWcge1xuICBoZWlnaHQ6IDQ4cHg7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNXR1cm4pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X190b2dnbGUge1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5vLW92ZXJsYXktbWVudV9faXRlbSB7XG4gIHBhZGRpbmc6IDhweCA3LjE0Mjg1NzE0MjklO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xufVxuXG4uby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xufVxuLm8tb3ZlcmxheS1tZW51X19saW5rOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi5vLW92ZXJsYXktbWVudV9fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIG91dGxpbmUtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbn1cbi5vLW92ZXJsYXktbWVudV9fbGluay5pcy1hY3RpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG9wYWNpdHk6IDE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLm8tb3ZlcmxheS1tZW51X19saW5rLmlzLWFjdGl2ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLinpRcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDZweDtcbiAgbGVmdDogLTEuMjVlbTtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uby1xdW90ZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXF1b3RlIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tcXVvdGUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXF1b3RlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXF1b3RlX19ib2R5IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tcXVvdGVfX2JvZHkge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxufVxuXG4uby1xdW90ZV9fcGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tcXVvdGVfX3BpY3R1cmUge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXF1b3RlX19waWN0dXJlIHtcbiAgICB3aWR0aDogMzcuNSU7XG4gICAgbWFyZ2luLWxlZnQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tcXVvdGVfX3BpY3R1cmUge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tcXVvdGVfX2ltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm8tcXVvdGVfX3RleHQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS43Nzc3Nzc3Nzc4O1xuICBxdW90ZXM6IFwi4oCcXCIgXCLigJ1cIjtcbn1cbi5vLXF1b3RlX190ZXh0OjpiZWZvcmUge1xuICBjb250ZW50OiBvcGVuLXF1b3RlO1xufVxuLm8tcXVvdGVfX3RleHQ6OmFmdGVyIHtcbiAgY29udGVudDogY2xvc2UtcXVvdGU7XG59XG5cbi5vLXF1b3RlX19hdXRob3Ige1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbn1cblxuLm8tcXVvdGVfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uby1xdW90ZV9fc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLm8tcmVmZXJlbmNlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAtMzJweDtcbn1cblxuLm8tcmVmZXJlbmNlc19faXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZmxleDogMCAxIDEwMCU7XG4gIG1hcmdpbjogMzJweDtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDBweCBzb2xpZCAjQzhDOEM4O1xuICBib3gtc2hhZG93OiAwIDIuNHB4IDM5LjRweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDI0KSwgMCA2LjhweCA0NS41cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjAzNSksIDAgMTYuM3B4IDUxLjRweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDQ2KSwgMCA1NHB4IDgwcHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5vLXJlZmVyZW5jZXNfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gNjRweCAtIDBweCk7XG4gIH1cbn1cblxuLm8tcmVmZXJlbmNlc19fYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3BpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWJhc2lzOiAyNSU7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xufVxuXG4uby1yZWZlcmVuY2VzX19jb250ZW50IHtcbiAgZmxleC1ncm93OiA5OTk5O1xuICBmbGV4LWJhc2lzOiAxOGVtO1xuICBtYXJnaW4tbGVmdDogMjRweDtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2F1dGhvciB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uby1yZWZlcmVuY2VzX19zdWJoZWFkaW5nIHtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5vLXN1YmZvb3RlciB7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFFMTk0MTtcbiAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cztcbn1cbi5pcy1jb29raWVzLWFjY2VwdGVkIC5vLXN1YmZvb3RlciB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uby1zdWJmb290ZXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXN1YmZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXN1YmZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tc3ViZm9vdGVyX19jb3B5cmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDMycHg7XG59XG5cbi5vLXN1YmZvb3Rlcl9fbmF2IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLm8tc3ViZm9vdGVyX19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLm8tc3ViZm9vdGVyX19pdGVtIHtcbiAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uby1zdWJmb290ZXJfX2xpbmsge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbn1cbi5vLXN1YmZvb3Rlcl9fbGluazpob3ZlciwgLm8tc3ViZm9vdGVyX19saW5rOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5vLXN1YmZvb3Rlcl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjYWJjNmY5O1xufVxuLm8tc3ViZm9vdGVyX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uby1zdWJmb290ZXJfX3RyYWRlbWFyayB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKlxuICogT24gc21hbGwgc2NyZWVucyB0aGUgY29udGVudCBpcyBzdGFja2VkLCB3aXRob3V0IGNvbnRyb2xzXG4gKiBXaGVuIHRoZSBzY3JlZW4gaXMgd2lkZSBlbm91Z2ggd2UgYWRkIHRoZSBjb250cm9sc1xuICogYW5kIHNob3cgb25seSB0aGUgY2hvc2VuICdzbGlkZSBjb250ZW50J1xuICovXG4uby10YWJzbGlkZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXIge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby10YWJzbGlkZXIge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBjb2xvcjogIzJDMkMyQztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYm9yZGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbn1cbi5vLXRhYnNsaWRlcl9fYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICMwMDUyRUQ7XG4gIGJvcmRlci1jb2xvcjogIzAwNTJFRDtcbn1cbi5vLXRhYnNsaWRlcl9fYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1MkVEO1xuICBib3JkZXItY29sb3I6ICMwMDUyRUQ7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzAwNTJFRDtcbn1cbi5vLXRhYnNsaWRlcl9fYnV0dG9uOmZvY3VzOm5vdCguaXMtYWN0aXZlKTpub3QoOmFjdGl2ZSkge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI0ZGRkZGRiwgMCAwIDVweCAzcHggcmdiYSg0NCwgNDQsIDQ0LCAwLjEpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fc3RlcCB7XG4gIHdpZHRoOiA0OHB4O1xufVxuXG4uby10YWJzbGlkZXJfX3N0ZXAtLXByZXYge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX190YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tdGFic2xpZGVyX190YWJzIHtcbiAgICBtYXJnaW46IC04cHggOHB4O1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fdGFiIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgbWFyZ2luOiA4cHg7XG4gIHBhZGRpbmc6IDdweCAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fY29udGVudCArIC5vLXRhYnNsaWRlcl9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250ZW50IHtcbiAgICBncmlkLXJvdzogMTtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbiAgLm8tdGFic2xpZGVyX19jb250ZW50LmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxufVxuXG4uby10YWJzbGlkZXJfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX19sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby10ZWFtIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXRlYW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby10ZWFtIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZ3O1xuICAgIG1hcmdpbi1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLXRlYW0ge1xuICAgIG1hcmdpbi10b3A6IDEwdnc7XG4gICAgbWFyZ2luLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLXRlYW0ge1xuICAgIG1hcmdpbi10b3A6IDcuMTQyODU3MTQyOXZ3O1xuICAgIG1hcmdpbi1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgbWFyZ2luLXRvcDogOTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2MHB4KSB7XG4gIC5vLXRlYW1fX21hdHJpeCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAtMTZweDtcbiAgfVxufVxuXG4uby10ZWFtX19pdGVtIHtcbiAgbWFyZ2luOiAwIGF1dG8gMzJweDtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2MHB4KSB7XG4gIC5vLXRlYW1fX2l0ZW0ge1xuICAgIG1hcmdpbjogMTZweDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDMycHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuby10ZWFtX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDMycHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm8tdGVhbV9faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSAzMnB4KTtcbiAgfVxufVxuXG4uby10aGFua3Mge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10aGFua3Mge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby10aGFua3Mge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby10aGFua3Mge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby10aGFua3Mge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tdGhhbmtzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby10aGFua3Mge1xuICAgIHBhZGRpbmctYm90dG9tOiA5NnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTEwcHgpIHtcbiAgLm8tdGhhbmtzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMTBweCkge1xuICAuby10aGFua3NfX2xlZnQge1xuICAgIHdpZHRoOiBjYWxjKDUwJSArIDQ4cHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG4gIH1cbn1cblxuLm8tdGhhbmtzX19yaWdodCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTEwcHgpIHtcbiAgLm8tdGhhbmtzX19yaWdodCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby11c3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxRTE5NDE7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdXNwX19tYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5vLXVzcF9fdGV4dCB7XG4gIHBhZGRpbmc6IDMycHggMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRTE5NDE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby11c3BfX3RleHQge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgICBwYWRkaW5nLXRvcDogNi4yNSU7XG4gICAgcGFkZGluZy1ib3R0b206IDYuMjUlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXVzcF9fdGV4dCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiA0LjE2NjY2NjY2NjclIDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tdXNwX19pbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby11c3BfX2ltYWdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTZ2dztcbiAgICBtYXJnaW4tcmlnaHQ6IC02dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDY1JTtcbiAgICBtaW4taGVpZ2h0OiAzNjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tdXNwX19pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXVzcF9faW1hZ2Uge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLm8tdXNwX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5vLXVzcF9fbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5cbi5vLXVzcF9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xufVxuLm8tdXNwX19pdGVtICsgLm8tdXNwX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5vLXVzcF9faXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgbGVmdDogLTE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7XG59XG5cbi5vLXVzcF9fYWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogNDhweDtcbn1cblxuLm8tdXNwX19pbWFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5vLXZhY2FuY2llcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5vLXZhY2FuY2llcyA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLm8tdmFjYW5jaWVzX19saW5rIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xuICBjb2xvcjogIzFEMUQxRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdmFjYW5jaWVzX19saW5rIHtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICB9XG59XG4uby12YWNhbmNpZXNfX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzFFMTk0MTtcbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggMXB4IGN1cnJlbnRDb2xvcjtcbn1cblxuLm8tdmFjYW5jaWVzX19ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm8tdmFjYW5jaWVzX19jb250ZW50IHtcbiAgZmxleDogYXV0bztcbn1cblxuLm8tdmFjYW5jaWVzX19pY29uIHtcbiAgZmxleDogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEMkQyREM7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby12YWNhbmNpZXNfX2ljb24ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgfVxufVxuLm8tdmFjYW5jaWVzX19saW5rOmhvdmVyIC5vLXZhY2FuY2llc19faWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTE5NDE7XG59XG5cbi5vLXZhY2FuY2llc19fdGl0bGUge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzFFMTk0MTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXZhY2FuY2llc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIH1cbn1cblxuLm8tdmFjYW5jaWVzX19zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5vLXZhY2FuY2llc19fZm9vdGVyIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgY29sb3I6ICM0MDc5Qjg7XG59XG4uby12YWNhbmNpZXNfX2xpbms6aG92ZXIgLm8tdmFjYW5jaWVzX19mb290ZXIge1xuICBjb2xvcjogIzFFMTk0MTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby12YWNhbmNpZXNfX2Zvb3RlciB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby12YWNhbmNpZXNfX3Byb3BlcnRpZXMge1xuICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgfVxufVxuXG4uby12YWNhbmNpZXNfX2NvbXBhbnkge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBjb2xvcjogIzk5OTk5OTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby12YWNhbmNpZXNfX2NvbXBhbnkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tdmFjYW5jaWVzX19sb2dvIHtcbiAgICBvcmRlcjogLTE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXZhY2FuY2llc19fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0M4QzhDODtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLm8tdmFjYW5jaWVzX19zdHJlZXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm8tdmFjYW5jaWVzX19zdHJlZXQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJ8XCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgcGFkZGluZy1yaWdodDogNHB4O1xufVxuXG4uby12YWNhbmNpZXNfX2NpdHkge1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbn1cblxuLm8tdmFjYW5jeV9faGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby12YWNhbmN5X19oZXJvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby12YWNhbmN5X19oZXJvIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdmFjYW5jeV9faGVybyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbi5vLXZhY2FuY3lfX2hlcm86OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogLTUwdnc7XG4gIGxlZnQ6IC01MHZ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1MkVEO1xufVxuXG4uby12YWNhbmN5X19oZXJvLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5vLXZhY2FuY3lfX3Byb3BlcnRpZXMge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGNvbG9yOiAjNDA3OUI4O1xuICBtYXJnaW4tdG9wOiAtMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXZhY2FuY3lfX3Byb3BlcnRpZXMge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby12YWNhbmN5X19wcm9wZXJ0aWVzIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4vKiAgNyAtIFRlbXBsYXRlc1xuICogIE92ZXJyaWRlIHN0eWxpbmcgZm9yIGEgc3BlY2lmaWMgdGVtcGxhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUZW1wbGF0ZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLnQtdmFjYW5jaWVzX190aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi50LXZhY2FuY2llc19fZmlsdGVyIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvZmlsdGVyLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTdweCAxMnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDEycHggY2VudGVyO1xufVxuXG4udC12YWNhbmNpZXNfX3NlbGVjdCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbn1cblxuLyogIDggLSBTQ09QRVNcbiAqICBFbGVtZW50cyBhbmQgY2xhc3NlcyB0aGF0IGFyZSBzY29wZWQgYnkgYSBwYXJlbnQgY2xhc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnMtY2hlY2tsaXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ucy1jaGVja2xpc3QgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuLnMtY2hlY2tsaXN0IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9jaGVjay9jaGVja2VkLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KTtcbn1cbi5jaGVja2xpc3QtaGFzLXgtc21hbGwtZm9udCAucy1jaGVja2xpc3Qge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xufVxuLmNoZWNrbGlzdC1oYXMteC1zbWFsbC1mb250IC5zLWNoZWNrbGlzdCBsaTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCk7XG59XG5cbi8qKlxuICogQWxsIHRleHQgZWxlbWVudHMgdGhhdCBjYW4gYmUgYWRkZWQgYnkgdGhlIHVzZXIgdGhyb3VnaCBhIENNU1xuICovXG4ucy10ZXh0IGgyLCAucy10ZXh0IGgzLCAucy10ZXh0IGg0IHtcbiAgY29sb3I6ICMyQzJDMkM7XG59XG4ucy10ZXh0ID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuLnMtdGV4dCA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5zLXRleHQgPiAqICsgLmMtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbi5zLXRleHQgPiB1bDpub3QoW2NsYXNzXSkge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLnMtdGV4dCA+IHVsOm5vdChbY2xhc3NdKSA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG4gIHBhZGRpbmctbGVmdDogMS4xMjVlbTtcbn1cbi5zLXRleHQgPiB1bDpub3QoW2NsYXNzXSkgPiBsaTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGNvbnRlbnQ6IFwi4oCiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNHB4O1xuICBsZWZ0OiAwO1xufVxuLnMtdGV4dCA+IG9sOm5vdChbY2xhc3NdKSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IG9sLWNvdW50ZXI7XG59XG4ucy10ZXh0ID4gb2w6bm90KFtjbGFzc10pID4gbGkge1xuICBjb3VudGVyLWluY3JlbWVudDogb2wtY291bnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG4gIHBhZGRpbmctbGVmdDogMS44ZW07XG59XG4ucy10ZXh0ID4gb2w6bm90KFtjbGFzc10pID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIob2wtY291bnRlcikgXCIuIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEuMjc1ZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKiAgOSAtIFVUSUxJVElFU1xuICogIEhpZ2gtc3BlY2lmaWNpdHksIHZlcnkgZXhwbGljaXQgc2VsZWN0b3JzLlxuICogIE92ZXJyaWRlcyBhbmQgaGVscGVyIGNsYXNzZXMuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgQ29sb3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEhlcmUgd2UgcHJpbnQgb3V0IGFsbCBvdXIgaGVscGVyIGNsYXNzZXMgZm9yIG91ciBkZWZpbmVkIGNvbG9yc1xuICogQmFzZWQgb24gdGhlc2UgYXJ0aWNsZXM6XG4gKiAtIGh0dHA6Ly9lcnNraW5lZGVzaWduLmNvbS9ibG9nL2ZyaWVuZGxpZXItY29sb3VyLW5hbWVzLXNhc3MtbWFwcy9cbiAqIC0gaHR0cHM6Ly9ibG9nLmF0ZWNobWVkaWEuY29tL2Nzcy1mb3ItbXVsdGlwbGUtdGhlbWVzL1xuICogT3V0cHV0IGlzIGluIHRoZSBmb3JtIG9mOlxuXG4gICAudS1jb2xvci1wcmltYXJ5IHtcbiAgICAgIGNvbG9yOiAjYmFkYTU1O1xuICAgfVxuXG4gIC51LWJnLW5ldXRyYWwtLTkwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlY2FmZjtcbiAgfVxuICovXG4udS1jb2xvci1wcmltYXJ5LS0zMDAge1xuICBjb2xvcjogIzQ0QTFGNDtcbn1cblxuLnUtYmctcHJpbWFyeS0tMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0QTFGNDtcbn1cblxuLnUtY29sb3ItcHJpbWFyeS0tNTAwIHtcbiAgY29sb3I6ICMwMDUyRUQ7XG59XG5cbi51LWJnLXByaW1hcnktLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUyRUQ7XG59XG5cbi51LWNvbG9yLXByaW1hcnktLTcwMCB7XG4gIGNvbG9yOiAjMUUxOTQxO1xufVxuXG4udS1iZy1wcmltYXJ5LS03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUUxOTQxO1xufVxuXG4udS1jb2xvci1zZWNvbmRhcnktLTUwMCB7XG4gIGNvbG9yOiAjRDJEMkRDO1xufVxuXG4udS1iZy1zZWNvbmRhcnktLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEMkQyREM7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTAge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnUtYmctbmV1dHJhbC0tMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTEwMCB7XG4gIGNvbG9yOiAjRjhGOEY4O1xufVxuXG4udS1iZy1uZXV0cmFsLS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS0yMDAge1xuICBjb2xvcjogI0Y1RjVGNTtcbn1cblxuLnUtYmctbmV1dHJhbC0tMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tMzAwIHtcbiAgY29sb3I6ICNDOEM4Qzg7XG59XG5cbi51LWJnLW5ldXRyYWwtLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDOEM4Qzg7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTQwMCB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4udS1iZy1uZXV0cmFsLS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OTk5O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS00NTAge1xuICBjb2xvcjogIzgwODA4MDtcbn1cblxuLnUtYmctbmV1dHJhbC0tNDUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgwODA4MDtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tNTAwIHtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi51LWJnLW5ldXRyYWwtLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NTY1NjU7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTgwMCB7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuXG4udS1iZy1uZXV0cmFsLS04MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMyQzJDO1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS05MDAge1xuICBjb2xvcjogIzFEMUQxRDtcbn1cblxuLnUtYmctbmV1dHJhbC0tOTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFEMUQxRDtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tMTAwMCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4udS1iZy1uZXV0cmFsLS0xMDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2stLWFjdGlvbiB7XG4gIGNvbG9yOiAjNDA3OUI4O1xufVxuXG4udS1iZy1mZWVkYmFjay0tYWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNzlCODtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2stLXdhcm5pbmcge1xuICBjb2xvcjogI2ZmZDMzYTtcbn1cblxuLnUtYmctZmVlZGJhY2stLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkMzNhO1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0tYWxlcnQge1xuICBjb2xvcjogI2ZmODEwMDtcbn1cblxuLnUtYmctZmVlZGJhY2stLWFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODEwMDtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2stLW5lZ2F0aXZlIHtcbiAgY29sb3I6ICNjZjNlM2U7XG59XG5cbi51LWJnLWZlZWRiYWNrLS1uZWdhdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjNlM2U7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS1wb3NpdGl2ZSB7XG4gIGNvbG9yOiAjM2VjZjhlO1xufVxuXG4udS1iZy1mZWVkYmFjay0tcG9zaXRpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2VjZjhlO1xufVxuXG4udS1jb2xvci1ib3JkZXItLTAge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnUtYmctYm9yZGVyLS0wIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnUtY29sb3ItYm9yZGVyLS0zMDAge1xuICBjb2xvcjogI0M4QzhDODtcbn1cblxuLnUtYmctYm9yZGVyLS0zMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhDOEM4O1xufVxuXG4udS1jb2xvci1ib3JkZXItLTUwMCB7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4udS1iZy1ib3JkZXItLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NTY1NjU7XG59XG5cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgRm9udHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEhlcmUgd2UgcHJpbnQgb3V0IGFsbCBvdXIgaGVscGVyIGNsYXNzZXMgZm9yIG91ciBkZWZpbmVkICRmb250LXNpemVzIG1hcFxuICogT3V0cHV0IG9mIHRoZSBjbGFzc2VzIGluIHRoZSB0aGlzIGZvcm06XG5cbiAgIC51LWZzLW0ge31cbiAgIC51LWZzLXhsIHt9XG4gICAuLi4gZXRjXG5cbiAqL1xuLnUtZnMteHMge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xufVxuXG4udS1mcy14cyB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG59XG5cbi51LWZzLXMge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLnUtZnMtcyB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4udS1mcy1iYXNlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udS1mcy1iYXNlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udS1mcy1tIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzc3Nzc3Nzc3ODtcbn1cblxuLnUtZnMtbSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc3Nzc3Nzg7XG59XG5cbi51LWZzLWwge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi51LWZzLWwge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi51LWZzLXhsIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG59XG5cbi51LWZzLXhsIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG59XG5cbi51LWZzLXh4bCB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5cbi51LWZzLXh4bCB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5cbi51LWZzLXh4eGwge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi51LWZzLXh4eGwge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi51LWZzLXh4eHhsIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLnUtZnMteHh4eGwge1xuICBmb250LXNpemU6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vKipcbiAqIEhlcmUgd2UgcHJpbnQgb3V0IGFsbCBvdXIgaGVscGVyIGNsYXNzZXMgZm9yIG91ciBkZWZpbmVkICRmb250LXdlaWdodHMgbWFwXG4gKiBPdXRwdXQgb2YgdGhlIGNsYXNzZXMgaW4gdGhlIHRoaXMgZm9ybTpcblxuICAgLnUtZnctcmVndWxhciB7fVxuICAgLnUtZnctc2VtaUJvbGQge31cbiAgIC4uLiBldGNcblxuICovXG4udS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi51LXBsYWNlaG9sZGVyLWltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi51LXRleHQtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKlxuKiBJZiB5b3UgbmVlZCB0byBtYWtlIGEgcXVpY2sgZml4LCB5b3UgY2FuIGRvIGl0IGhlcmUuXG4qIExhdGVyIHdoZW4geW91IGhhdmUgdGhlIHRpbWUsIHlvdSBjYW4gbW92ZSB0aGUgZml4IGludG8gdGhlIGNvcnJlY3QgcGxhY2UgaW4gdGhlIHN0cnVjdHVyZVxuKi9cbi51LXNwYWNpbmctbXQwIHtcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXIwIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjAge1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDAge1xuICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQwIHtcbiAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDAge1xuICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10MSB7XG4gIG1hcmdpbi10b3A6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yMSB7XG4gIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWIxIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWwxIHtcbiAgbWFyZ2luLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0MSB7XG4gIHBhZGRpbmctdG9wOiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjEge1xuICBwYWRkaW5nLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjEge1xuICBwYWRkaW5nLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGwxIHtcbiAgcGFkZGluZy1sZWZ0OiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDIge1xuICBtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXIyIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWIyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQyIHtcbiAgcGFkZGluZy10b3A6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjIge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGIyIHtcbiAgcGFkZGluZy1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDIge1xuICBwYWRkaW5nLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDMge1xuICBtYXJnaW4tdG9wOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXIzIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWIzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQzIHtcbiAgcGFkZGluZy10b3A6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjMge1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGIzIHtcbiAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDMge1xuICBwYWRkaW5nLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDQge1xuICBtYXJnaW4tdG9wOiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXI0IHtcbiAgbWFyZ2luLXJpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWI0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQ0IHtcbiAgcGFkZGluZy10b3A6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjQge1xuICBwYWRkaW5nLXJpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGI0IHtcbiAgcGFkZGluZy1ib3R0b206IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDQge1xuICBwYWRkaW5nLWxlZnQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDUge1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXI1IHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWI1IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQ1IHtcbiAgcGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjUge1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGI1IHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDUge1xuICBwYWRkaW5nLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDYge1xuICBtYXJnaW4tdG9wOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXI2IHtcbiAgbWFyZ2luLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWI2IHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sNiB7XG4gIG1hcmdpbi1sZWZ0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQ2IHtcbiAgcGFkZGluZy10b3A6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjYge1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGI2IHtcbiAgcGFkZGluZy1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDYge1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDcge1xuICBtYXJnaW4tdG9wOiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXI3IHtcbiAgbWFyZ2luLXJpZ2h0OiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWI3IHtcbiAgbWFyZ2luLWJvdHRvbTogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sNyB7XG4gIG1hcmdpbi1sZWZ0OiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQ3IHtcbiAgcGFkZGluZy10b3A6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjcge1xuICBwYWRkaW5nLXJpZ2h0OiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGI3IHtcbiAgcGFkZGluZy1ib3R0b206IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDcge1xuICBwYWRkaW5nLWxlZnQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDgge1xuICBtYXJnaW4tdG9wOiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXI4IHtcbiAgbWFyZ2luLXJpZ2h0OiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWI4IHtcbiAgbWFyZ2luLWJvdHRvbTogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sOCB7XG4gIG1hcmdpbi1sZWZ0OiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQ4IHtcbiAgcGFkZGluZy10b3A6IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjgge1xuICBwYWRkaW5nLXJpZ2h0OiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGI4IHtcbiAgcGFkZGluZy1ib3R0b206IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDgge1xuICBwYWRkaW5nLWxlZnQ6IDY0cHggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLnUtc3BhY2luZy1wdiB7XG4gICAgcGFkZGluZy10b3A6IDEydnc7XG4gICAgcGFkZGluZy1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC51LXNwYWNpbmctcHYge1xuICAgIHBhZGRpbmctdG9wOiAxMHZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLnUtc3BhY2luZy1wdiB7XG4gICAgcGFkZGluZy10b3A6IDcuMTQyODU3MTQyOXZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC51LXNwYWNpbmctcHYge1xuICAgIHBhZGRpbmctdG9wOiA5NnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA5NnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAudS1zcGFjaW5nLXByMFxcQGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRoaXMgZ3JpZCBjYW4gYmUgdHVybmVkIG9uIGFuZCBvZmYgd2hlbiB5b3Ugd2FudCB0byBjaGVja1xuICogaWYgZXZlcnl0aGluZyBpcyBuaWNlIGluIHBsYWNlLlxuICogU2V0IGZsYWcgJ3Nob3dHcmlkJyB0byB0cnVlIGluIHNpdGUucGhwXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnUtdmlzaWJsZS1ncmlkIHtcbiAgei1pbmRleDogMTAwMDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAvKiA4IHBvaW50IGdyaWQgbGluZXMgKi9cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC51LXZpc2libGUtZ3JpZCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC51LXZpc2libGUtZ3JpZCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC51LXZpc2libGUtZ3JpZCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4udS12aXNpYmxlLWdyaWRfX21haW4ge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpIDI1JSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSAyNSUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgNTAlKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG4gICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSAxMi41JSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSAxMi41JSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSAyNSUpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcbiAgICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpIDguMzMzMzMzMzMzMyUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgOC4zMzMzMzMzMzMzJSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSAxNi42NjY2NjY2NjY3JSk7XG4gIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9yZ2FuaXplIGNvbG9yIHZhcmlhYmxlcyBpbiBhIFNhc3MgTWFwLlxuICAgVGhpcyB3YXksIHRoZSBjb2xvcnMgY2FuIGJlIGl0ZXJhdGVkLCBhcmUgbW9yZSBvcmdhbml6ZWQsXG4gICBhbmQgYXJlIG1vcmUgaW50dWl0aXZlIHRvIHJlZmVyZW5jZS5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbiRwYWxldHRlczogKFxuXG4gICdwcmltYXJ5JzogKFxuICAgIDMwMDogIzQ0QTFGNCxcbiAgICA1MDA6ICMwMDUyRUQsXG4gICAgNzAwOiAjMUUxOTQxLFxuICApLFxuXG4gICdzZWNvbmRhcnknOiAoXG4gICAgNTAwOiAjRDJEMkRDLFxuICApLFxuXG4gICduZXV0cmFsJzogKFxuICAgIDA6ICAgI0ZGRkZGRixcbiAgICAxMDA6ICNGOEY4RjgsXG4gICAgMjAwOiAjRjVGNUY1LFxuICAgIDMwMDogI0M4QzhDOCxcbiAgICA0MDA6ICM5OTk5OTksXG4gICAgNDUwOiAjODA4MDgwLFxuICAgIDUwMDogIzY1NjU2NSxcbiAgICA4MDA6ICMyQzJDMkMsXG4gICAgOTAwOiAjMUQxRDFELFxuICAgIDEwMDA6ICMwMDAwMDAsXG4gICksXG5cbiAgJ2ZlZWRiYWNrJzogKFxuICAgIGFjdGlvbjogIzQwNzlCOCxcbiAgICB3YXJuaW5nOiAjZmZkMzNhLFxuICAgIGFsZXJ0OiAjZmY4MTAwLFxuICAgIG5lZ2F0aXZlOiAjY2YzZTNlLFxuICAgIHBvc2l0aXZlOiAjM2VjZjhlLFxuICApLFxuXG4gICdib3JkZXInOiAoXG4gICAgMDogICAjZmZmLFxuICAgIDMwMDogI0M4QzhDOCxcbiAgICA1MDA6ICM2NTY1NjUsXG4gICksXG4pO1xuXG5cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBhY2Nlc3NpbmcgdGhlIGNvbG9ycyBmcm9tIG91ciBtYXBwaW5nXG4gKlx0VG8gYWNjZXNzIGNvbG9ycyBpbiBvdXIgcGFsZXR0ZSwgd2UgdXNlIGEgdmVyeSBzaW1wbGUgY3VzdG9tIFNhc3MgZnVuY3Rpb25cbiAqICBUaGlzIGZ1bmN0aW9uIGlzIHBsYWNlZCBoZXJlLCAoYW5kIG5vdCBpbiB0aGUgdG9vbGJveClcbiAqICBiZWNhdXNlIHdlIHdhbnQgdG8gdXNlIGl0IGluIG91ciBvdGhlciBzZXR0aW5nIGZpbGVzXG5cblx0VVNBR0U6XG5cblx0LmRlbW8ge1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdH1cblxuICovXG5cbkBmdW5jdGlvbiBwYWxldHRlKCRwYWxldHRlLCAkbGV2ZWw6IDEpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRwYWxldHRlcywgJHBhbGV0dGUpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgJGxldmVsKSB7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgJGxldmVsKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIElmIGxldmVsIGRvZXNuJ3QgZXhpc3QgaW4gbWFwLCBnaXZlIHRoZSBmaXJzdCB2YWx1ZSBvZiB0aGUgcGFsZXR0ZVxuICAgICAgQHJldHVybiBudGgobnRoKG1hcC1nZXQoJHBhbGV0dGVzLCAkcGFsZXR0ZSksIDEpLCAyKTtcbiAgICB9XG4gIH1cblxuICBAd2FybiBcIlVua25vd24gY29sb3I6IGAjeyRwYWxldHRlfWAgaW4gJHBhbGV0dGUuIFwiO1xuICBAcmV0dXJuIGhvdHBpbms7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG5cdFsxXVx0XHRMb2dvIGRhcmsgb3IgbGlnaHQgY2FuIGJlIHNldCBpbiBoZWFkZXIuYmxhZGUucGhwIC8gZm9vdGVyLmJsYWRlLnBocCAmXG5cdFsyXSBcdFNldCB0aGlzIHRvIHRydWUgd2hlbiBiZ0NvbG9yIGdldHMgYSBkYXJrIGNvbG9yIHRoYXQgY29udHJhc3QgdGhlIGJvZHkgYmcgY29sb3JcbiovXG5cbiRzaXRlLWhlYWRlcjogKFxuXHQnYmdDb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcblx0J3RleHRDb2xvcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQndGV4dENvbG9ySG92ZXInOlx0XHRcdHJnYmEocGFsZXR0ZShuZXV0cmFsLCAwKSwgMC42KSxcblx0J3RleHRDb2xvckFjdGl2ZSc6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2RlY29yYXRpb25Db2xvcic6XHRcdFx0cmdiYShwYWxldHRlKG5ldXRyYWwsIDApLCAwLjYpLFxuXHQnZGVjb3JhdGlvbkNvbG9yQWN0aXZlJzpcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdsb2dvLWhlaWdodCc6XHRcdFx0XHQ0OHB4LFxuKTtcblxuXG4kc2l0ZS1pbnRybzogKFxuXHQnaXNEYXJrJzpcdFx0XHRcdFx0dHJ1ZSwgLy8gWzJdXG5cdCdiZ0NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JhckNvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA4MDApLFxuXHQnbGlua0NvbG9yJzpcdFx0XHRcdHBhbGV0dGUocHJpbWFyeSwgNzAwKSxcblx0J3N1Ym5hdkJnQ29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwKSxcbik7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNvbWUgZ2xvYmFsIHNldHRpbmdzIHRoYXQgd2UgcHJvYmFibHkgZG9uJ3QgbmVlZCB0byBjaGFuZ2VcblxuJHNpdGUtY29sdW1ucy1zOlx0XHRcdDQ7XG4kc2l0ZS1jb2x1bW5zLW06XHRcdFx0ODtcbiRzaXRlLWNvbHVtbnMtbDpcdFx0XHQxMjtcbiRzaXRlLWNvbHVtbi1zaXplOlx0XHQgICAgOTY7IC8vIFNpemUgb2YgYSBzaW5nbGUgY29sdW1uIHdoZW4gdmlld3BvcnQgaXMgYXQgaXRzIG1heCB3aWR0aCAodXNlZCBmb3IgY2FsY3VsYXRpbmcgbWF4LXdpZHRoKS5cbiRzaXRlLWd1dHRlci13aWR0aDogXHQgICAgNnZ3OyAvLyBVc2VkIG9ubHkgZm9yIHNtYWxsIHNjcmVlbnMuIE11c3QgYmUgW3Z3XSBvciBbcHhdLCBOT1QgWyVdLlxuJHNpdGUtY29va2llQmFyLWhlaWdodDogICAgIDY0cHg7IC8vIEZpeGVkIHNpemUgc28gd2UgY2FuIG9mZnNldCBwYWRkaW5nLWJvdHRvbSBvbiB0aGUgYm9keVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYWxjdWxhdGlvbnMgdGhhdCBhcmUgZG9uZSB3aXRoIHNvbWUgb2YgdGhlIGdpdmVuIHZhbHVlcyBhYm92ZSB0aGlzIGxpbmVcblxuJHNpdGUtbWF4LXdpZHRoOiAkc2l0ZS1jb2x1bW4tc2l6ZSAqICRzaXRlLWNvbHVtbnMtbDsgLy8gTWFpbiBjb250YWluZXIgbWF4LXdpZHRoICh3aXRob3V0IGd1dHRlcilcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZSBkZWZhdWx0IGJvcmRlci1yYWRpdXMgdmFsdWVzIHVzZWQgaW4gdGhlIGJvcmRlciBtaXhpblxuXG4kYm9yZGVyLXJhZGl1czogKFxuXHRzOiA0cHgsXG5cdG06IDhweCxcblx0bDogMTZweFxuKTsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gXHQgRGVmaW5lcyB0aGUgdHlwb2dyYXBoaWMgYmFzZWxpbmUuXG4gICBXZSBkZWZpbmUgZXZlcnkgc2l6ZSBpbiBwaXhlbHMsIHRoZSB1bmRlcmx5aW5nIHN5c3RlbVxuICAgY29udmVydHMgdGhlIHJlc3BlY3RpdmUgdW5pdHMgdG8gdGhlIHJlc3BvbnNpdmUgUkVNIHZhbHVlLlxuIFx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBPdXIgYmFzZSBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0XG4gKi9cbiRiYXNlLWZvbnQtc2l6ZTogICBcdDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdCFkZWZhdWx0O1xuJGJhc2UtbGluZS1oZWlnaHQ6IFx0MjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0IWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtcmF0aW86XHQkYmFzZS1saW5lLWhlaWdodC8kYmFzZS1mb250LXNpemUgICAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZXM6IChcblx0J3hzJzogXHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDE0LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDE2XG5cdCksXG5cdCdzJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MTUsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MjRcblx0KSxcblx0J2Jhc2UnOiBcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdCRiYXNlLWZvbnQtc2l6ZSxcblx0XHRsaW5lLWhlaWdodDogXHQkYmFzZS1saW5lLWhlaWdodFxuXHQpLFxuXHQnbSc6IFx0XHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDE4LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDMyXG5cdCksXG5cdCdsJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MjAsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MzJcblx0KSxcblx0J3hsJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MjQsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MzJcblx0KSxcblx0J3h4bCc6IFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQzMixcblx0XHRsaW5lLWhlaWdodDogXHQ0MFxuXHQpLFxuXHQneHh4bCc6IFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQ0MCxcblx0XHRsaW5lLWhlaWdodDogXHQ0MFxuXHQpLFxuXHQneHh4eGwnOiBcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDQ4LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDQ4XG5cdCksXG4pO1xuXG5cbi8qKlxuICpcdEhlcmUgd2UgYXNzaWduIHNob3J0IG5hbWVzIGZvciB0aGUgZm9udCBmYW1pbGllc1xuICovXG5cbiRmb250LXN5c3RlbTpcdFx0LWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4kZm9udC1yb2JvdG86IFx0J1JvYm90bycsIHNhbnMtc2VyaWY7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERlZmluZSBicmVha3BvaW50cyBmb3IgZ2l2ZW4gZm9ybWF0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vLyBEZWZhdWx0IGJyZWFrcG9pbnRzXG4kYnJlYWtwb2ludHM6IChcblx0czogMzg0LFxuXHRtOiA4NDAsXG5cdGw6IDExNTIsXG4pO1xuXG4vLyBEZXRlcm1pbmUgYXQgd2hpY2ggdmlld3BvcnQgc2l6ZSB3ZSBjYW4gZml0IGluIGEgaG9yaXpvbnRhbCBtZW51IGluc3RlYWQgb2YgdGhlIGhhbWJ1cmdlciBtZW51IHRvZ2dsZVxuJGJwLWhlYWRlci1sYXJnZTogMTEwMDtcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHZpZXdwb3J0IHNpemUgd2hlbiBjb250YWluZXIgY2FuJ3QgZ3JvdyBhbnltb3JlXG4kYnAtbWF4OiAkc2l0ZS1tYXgtd2lkdGggKyAoKCRzaXRlLW1heC13aWR0aCAvICRzaXRlLWNvbHVtbnMtbCkgKiAyKTsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBGdW5jdGlvbnMgdXNlZCBpbiBncmlkIGNhbGN1bGF0aW9uXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAqIFJldHVybiBwZXJjZW50YWdlIGJhc2VkIG9uIGFtb3VudCBvZiBjb2x1bW5zXG4gICogVXNlIHBhcmVudCBjb2x1bW4gc2l6ZSB0byBhZGp1c3QgdGhlIG9yaWdpblxuICAqL1xuQGZ1bmN0aW9uIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRzaXRlLWNvbHVtbnMtbCkge1xuXHQvLyBDYWxjdWxhdGUgdGhlIHdpZHRoIGZvciBhIHNpbmdsZSBjb2x1bW4gb24gYSBmdWxsIGdyaWRcblx0JHNpbmdsZUNvbHVtblNpemU6IDEwMCAvICRzaXRlLWNvbHVtbnMtbDtcblxuXHQvLyBHZXQgdGhlIG9yaWdpbiBzaXplIGluIHBlcmNlbnRhZ2UgZnJvbSB0aGUgZnVsbCBncmlkXG5cdCRvcmlnaW5QZXJjZW50YWdlOiAkb3JpZ2luIC8gJHNpdGUtY29sdW1ucy1sICogMTAwO1xuXG5cdC8vIENhbGN1bGF0ZSBzaW5nbGUgY29sdW1uIGZyb20gbmV3IG9yaWdpblxuXHQkbmV3U2luZ2xlQ29sdW1uU2l6ZTogJHNpbmdsZUNvbHVtblNpemUgLyAkb3JpZ2luUGVyY2VudGFnZSAqIDEwMDtcblxuXHQvLyBSZXR1cm4gYW1vdW50IG9mIGNvbHVtbnMgYXMgcGVyY2VudGFnZVxuXHRAcmV0dXJuICgkbmV3U2luZ2xlQ29sdW1uU2l6ZSAqICRjb2x1bW5Db3VudCk7XG59XG5cbi8qKlxuICAqIERlZmF1bHQgZnVuY3Rpb24gZm9yIGNvbHVtbnNcbiAgKiBSZXR1cm4gYXMgcGVyY2VudGFnZVxuICAqL1xuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJHNpdGUtY29sdW1ucy1sKSB7XG5cdEByZXR1cm4gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQsICRvcmlnaW4pICogMSU7XG59XG5cbi8qKlxuICAqIFJldHVybiBhcyB2aWV3cG9ydCB3aWR0aFxuICAqL1xuQGZ1bmN0aW9uIGNvbHVtblZ3KCRjb2x1bW5Db3VudCA6IDEsICRvcmlnaW4gOiAkc2l0ZS1jb2x1bW5zLWwpIHtcblx0QHJldHVybiBjYWxjdWxhdGVDb2x1bW5TaXplKCRjb2x1bW5Db3VudCwgJG9yaWdpbikgKiAxdnc7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEZvbnQgcmVsYXRlZCBmdW5jdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplIGluIFJFTSB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHNpemVzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbiAgICB9XG5cbiAqL1xuXG5cbkBtaXhpbiBmb250LXNpemUoJGZzLCAkbGg6IG51bGwpIHtcbiAgLy8gR2V0IGNvcnJlY3Qga2V5IHdpdGggZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodCBweCB2YWx1ZVxuICAkZm9udC1zaXplLXByb3BlcnRpZXM6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsICRmcyk7XG4gIEBpZiAkZm9udC1zaXplLXByb3BlcnRpZXMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgZm9udC1zaXplKSk7XG5cbiAgICBAaWYoJGxoID09IG51bGwpe1xuICAgICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBsaW5lLWhlaWdodCkgLyBtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGggLyBtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgZm9udC1zaXplKTtcbiAgICB9XG4gIH1cbiAgLy8gV2hlbiBtYXBwaW5nIGlzbid0IGZvdW5kIGNhbGN1bGF0ZSBhcyBpZiBQWC12YWx1ZSB3YXMgZ2l2ZW4gYW5kIHJldHVybiBSRU0gdmFsdWVcbiAgQGVsc2Uge1xuICAgIEBpZiBpcy1udW1iZXIoJGZzKSB7XG4gICAgICBmb250LXNpemU6IHZhbHVlVG9SZW0oJGZzKTtcblxuICAgICAgQGlmKCRsaCAhPSBudWxsKXtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaCAvICRmcztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gXCIgYCN7JGZzfWAgaXMgbm90IGEgdmFsaWQgdmFsdWUuIEl0IG11c3QgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6IGAjeyRmb250LXNpemVzfWBcIjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1RPRE86IHJlbW92ZSBmdW5jdGlvbiBhbmQgdXNlc1xuQG1peGluIGZvbnQoJHNpemUsICRsaDogbnVsbCwgJHdlaWdodDogbnVsbCkge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNpemUsICRsaCk7XG59IiwiLyogTWVkaWEgcXVlcnkgbWl4aW4gZm9yIHdyaXRpbmcgTW9iaWxlIEZpcnN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGZ1bmN0aW9uIGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkYnJlYWtwb2ludCkge1xuXG5cdEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpO1xuXHR9XG5cblx0QHdhcm4gXCJVbmtub3duIGJyZWFrcG9pbnQ6IGAjeyRicmVha3BvaW50fWAgaW4gJGJyZWFrcG9pbnRzLlwiO1xuXHRAcmV0dXJuIG51bGw7XG59XG5cbkBtaXhpbiBtcSgkbWluOiBudWxsLCAkbWF4OiBudWxsKSB7XG5cdCRxdWVyeTogXCJhbGxcIiAhZGVmYXVsdDtcblxuXHQvLyBUcnkgdG8gY29udmVydCAkbWluIHZhbHVlIGlmIG5vdCBudW1iZXIgb3IgbnVsbFxuXHRAaWYodHlwZS1vZigkbWluKSAhPSBudW1iZXIgYW5kICRtaW4gIT0gbnVsbCl7XG5cdFx0JG1pbjogY29udmVydEJyZWFrcG9pbnRLZXlUb1ZhbHVlKCRtaW4pO1xuXHR9XG5cblx0Ly8gVHJ5IHRvIGNvbnZlcnQgJG1heCB2YWx1ZSBpZiBub3QgbnVtYmVyIG9yIG51bGxcblx0QGlmKHR5cGUtb2YoJG1heCkgIT0gbnVtYmVyIGFuZCAkbWF4ICE9IG51bGwpe1xuXHRcdCRtYXg6IGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkbWF4KTtcblx0fVxuXG5cdC8vIHNldCBib3RoIG1pbiBhbmQgbWF4XG5cdEBpZiAoJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwpIHtcblx0XHQkcXVlcnk6IFwiKG1pbi13aWR0aDogI3skbWlufXB4KSBhbmQgKG1heC13aWR0aDogI3skbWF4IC0gMX1weClcIjtcblx0fVxuXHQvLyBzZXQganVzdCBtaW5cblx0QGVsc2UgaWYgKCRtaW4gIT0gbnVsbCBhbmQgJG1heCA9PSBudWxsKSB7XG5cdFx0JHF1ZXJ5OiBcIihtaW4td2lkdGg6ICN7JG1pbn1weClcIjtcblx0fVxuXHQvLyBzZXQganVzdCBtYXhcblx0QGVsc2UgaWYgKCRtaW4gPT0gbnVsbCBhbmQgJG1heCAhPSBudWxsKSB7XG5cdFx0JHF1ZXJ5OiBcIihtYXgtd2lkdGg6ICN7JG1heCAtIDF9cHgpXCI7XG5cdH1cblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAjeyRxdWVyeX0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUb29sYm94IGZ1bmN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiAgTWF0aHMgaGVscGVycy5cbiAqICBIYWx2ZSBhbmQgZG91YmxlIG51bWJlcnMsIHJldHVybmluZyByb3VuZGVkIGludGVnZXJzLlxuXG4gICAgVVNBR0U6XG5cbiAgICAuZm9vIHtcbiAgICAgICAgcGFkZGluZzogaGFsdmUoMzBweCk7XG4gICAgfVxuXG4gKi9cblxuQGZ1bmN0aW9uIHF1YXJ0ZXIoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgLyA0KTtcbn1cblxuQGZ1bmN0aW9uIGhhbHZlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyIC8gMik7XG59XG5cbkBmdW5jdGlvbiBkb3VibGUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiAyKTtcbn1cblxuQGZ1bmN0aW9uIHRyaXBsZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAqIDMpO1xufVxuXG5AZnVuY3Rpb24gcXVhZHJ1cGxlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyICogNCk7XG59XG5cblxuLyoqXG4gKiAgUmVtb3ZlIHRoZSB1bml0IG9mIGEgbGVuZ3RoXG4gKiAgQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuICogIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbiAqL1xuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG5cdEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xuXHRcdEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuXHR9XG5cblx0QHJldHVybiAkbnVtYmVyO1xufVxuXG5cbi8qIENoZWNrIGlmIHZhbHVlIGlzIG51bWJlciAqL1xuXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xuXHRAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJztcbn1cblxuXG4vKiBWYWx1ZSB0byBFbSAqL1xuXG5AZnVuY3Rpb24gdmFsdWVUb1JlbSgkdmFsdWUpIHtcblx0JG5vVW5pdHM6IHN0cmlwLXVuaXQoJHZhbHVlKTtcblx0QHJldHVybiAjeyRub1VuaXRzIC8gMTYgKiAxcmVtfTtcbn1cblxuLyogVmFsdWUgdG8gUmVtICovXG5cbkBmdW5jdGlvbiB2YWx1ZVRvRW0oJHZhbHVlKSB7XG5cdCRub1VuaXRzOiBzdHJpcC11bml0KCR2YWx1ZSk7XG5cdEByZXR1cm4gI3skbm9Vbml0cyAvIDE2ICogMWVtfTtcbn1cblxuXG5cblxuLy8gU2V0IGEgZml4ZWQgc3BhY2UgYmFzZWQgb24gdGhlIDhwdCBncmlkXG4vLyBKdXN0IHBhc3MgdGhlIGZ1bmN0aW9uIGEgbnVtYmVyIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgKDgpcG9pbnRzIHlvdSBuZWVkXG5AZnVuY3Rpb24gc3BhY2UoJHNpemU6ICcxJykge1xuICBAcmV0dXJuIDhweCAqICRzaXplO1xufVxuXG5cblxuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIG9ubHkgZm9yIG1vYmlsZSB2aWV3cG9ydFxuXG4gVVNBR0U6XG5cbiAuZXhhbXBsZSB7XG5cdCBAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG4gIH1cblxuICovXG5cblxuXG5AbWl4aW4gdnNwYWNpbmctcygkdmFsdWVzLi4uKSB7XG4gIEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcbiAgICBAZWFjaCAkaSBpbiAkdmFsdWVzIHtcbiAgICAgIC8vIEJ5IHNldHRpbmcgZ3V0dGVyIHNpemUgYXMgYSBoYWx2ZSBjb2x1bW4gd2lkdGggd2UgY2FuIG1ha2UgJ3NxdWFyZXMnIG9uIG1vYmlsZVxuICAgICAgI3tudGgoJGksIDEpfTogI3soJHNpdGUtZ3V0dGVyLXdpZHRoICogMikgKiBudGgoJGksIDIpfTtcbiAgICB9XG4gIH1cbn1cblxuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIGZvciB2aWV3cG9ydCBsYXJnZXIgdGhhbiBtb2JpbGVcbiAqIEluIGZsZXhpYmxlIHVuaXRzICh2dykgYW5kIG9uIG1heCB2aWV3cG9ydCBpbiBhIGZpeGVkIGFtb3VudCAocHgpXG5cbiBVU0FHRTpcblxuIC5leGFtcGxlIHtcblx0IEBpbmNsdWRlIHZzcGFjaW5nLW0tdXAoXG5cdFx0XHRcdCdwYWRkaW5nLXRvcCcgMC4zMyxcblx0XHRcdFx0J21hcmdpbi1ib3R0b20nIDAuNVxuXHRcdCk7XG4gIH1cblxuICovXG5cbkBtaXhpbiB2c3BhY2luZy1tLXVwKCR2YWx1ZXMuLi4pIHtcbiAgQGluY2x1ZGUgbXEobSwgbCkge1xuICAgIEBlYWNoICRpIGluICR2YWx1ZXMge1xuICAgICAgI3tudGgoJGksIDEpfTogI3soMSAvICgkc2l0ZS1jb2x1bW5zLW0gKyAyKSAqIDEwMCkgKiBudGgoJGksIDIpfXZ3O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtcShsLCAkYnAtbWF4KSB7XG4gICAgQGVhY2ggJGkgaW4gJHZhbHVlcyB7XG4gICAgICAje250aCgkaSwgMSl9OiAjeygxIC8gKCRzaXRlLWNvbHVtbnMtbCArIDIpICogMTAwKSAqIG50aCgkaSwgMil9dnc7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1xKCRicC1tYXgpIHtcbiAgICBAZWFjaCAkaSBpbiAkdmFsdWVzIHtcbiAgICAgICN7bnRoKCRpLCAxKX06ICN7KCRzaXRlLW1heC13aWR0aCAvICRzaXRlLWNvbHVtbnMtbCkgKiBudGgoJGksIDIpfXB4O1xuICAgIH1cbiAgfVxufVxuXG4vKlxuICogRnJvbSB2YWx1ZXMgZ2l2ZW4gcmV0dXJuIHRoZSBjb3JyZWN0IHYtc3BhY2luZyBmb3IgZWFjaCBicmVha3BvaW50XG4gKi9cbkBtaXhpbiB2c3BhY2luZygkdmFsdWVzLi4uKSB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nLXMoJHZhbHVlcy4uLik7XG5cdEBpbmNsdWRlIHZzcGFjaW5nLW0tdXAoJHZhbHVlcy4uLik7XG59XG5cblxuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJvcmRlci1yYWRpdXNcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobCk7XG5cdH1cblxuICovXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkdHlwZTogcykge1xuXHRAaWYgKCR0eXBlID09ICdzJykge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpO1xuXHR9XG5cdEBpZiAoJHR5cGUgPT0gJ20nKSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgbSk7XG5cdH1cblx0QGlmICgkdHlwZSA9PSAnbCcpIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBsKTtcblx0fVxufVxuXG4vKipcbiAqIExvYm90b21pemVkIE93bCBTZWxlY3RvciBtaXhpbjpcbiAqIC0gU2V0IHNwYWNpbmcgZm9yIGNvbnNlY3V0aXZlIGl0ZW1zIHdpdGggbWFyZ2luLXRvcCBvbiBhbGwgYnV0IHRoZSBmaXJzdCBpdGVtXG5cblx0VVNBR0U6XG5cblx0LmJveCB7XG5cdFx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xuXHR9XG5cblx0LmNhcmRfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIG93bDtcblx0fVxuXG4gKi9cblxuLypcbiAqIExvYm90b21pemVkIG93bCBzZWxlY3Rvci5cbiAqIC0gR2l2ZXMgdGhlIGNoaWxkcmVuIG9mIHRoZSBlbGVtZW50IHNwYWNpbmdcbiAqIC0gaHR0cHM6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL2F4aW9tYXRpYy1jc3MtYW5kLWxvYm90b21pemVkLW93bHNcbiAqL1xuQG1peGluIG93bC1jaGlsZHJlbigkbWFyZ2luOiAjeyRsaW5lLWhlaWdodC1yYXRpb31yZW0pIHtcblx0JiA+ICogKyAqIHtcblx0XHRtYXJnaW4tdG9wOiAkbWFyZ2luO1xuXHR9XG59XG5cbi8vIEdpdmVzIHRoZSBlbGVtZW50IGl0c2VsZiBzcGFjaW5nXG5AbWl4aW4gb3dsKCRtYXJnaW46ICN7JGxpbmUtaGVpZ2h0LXJhdGlvfXJlbSkge1xuXHQmICsgJiB7XG5cdFx0bWFyZ2luLXRvcDogJG1hcmdpbjtcblx0fVxufVxuXG4vKipcbiAqICBTaG93IGh5cGhlbnMgZm9yIGV2ZXJ5IGJyb3dzZXIgc3VwcG9ydGluZyBpdFxuICogIGFuZCB3aWxsIGJyZWFrIGxpbmVzIGluIGV2ZXJ5IG90aGVyIGJyb3dzZXJcbiAqL1xuXG5AbWl4aW4gaHlwaGVuYXRlIHtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XG5cdC1tcy1oeXBoZW5zOiBhdXRvO1xuXHRoeXBoZW5zOiBhdXRvO1xufVxuXG5cbi8vIHdoZW4gaG92ZXIgb3IgYWN0aXZlIGRpc2FibGUgb3V0bGluZSBzdHlsaW5nXG5AbWl4aW4gZGlzYWJsZU91dGxpbmVGb3JNb3VzZSB7XG5cdCY6aG92ZXIsXG5cdCY6YWN0aXZlIHtcblx0XHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG5cbi8qXG4gKiAgUmVzdHJpY3QgYW4gZWxlbWVudCB0byBhIG1heC13aWR0aCBmb3IgY3JlYXRpbmcgZ3V0dGVycyBvbiB0aGUgc2lkZVxuICovXG5cbkBtaXhpbiBjb250YWluKCRvbk1lZGl1bTogdHJ1ZSkge1xuXHR3aWR0aDogY2FsYygxMDAlIC0gI3tkb3VibGUoJHNpdGUtZ3V0dGVyLXdpZHRoKX0pOyAvLyBNYWtpbmcgc3VyZSBpdCBkb2VzbuKAmXQgZ2V0IHRvIHNtYWxsIHdpdGggbGl0dGxlIGNvbnRlbnRcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0QGlmKCRvbk1lZGl1bSA9PSB0cnVlKSB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKCgxMDAlIC8gI3skc2l0ZS1jb2x1bW5zLW0gKyAyfSkgKiAjeyRzaXRlLWNvbHVtbnMtbX0pO1xuICAgIH0gQGVsc2Uge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuICB9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjYWxjKCgxMDAlIC8gI3skc2l0ZS1jb2x1bW5zLWwgKyAyfSkgKiAjeyRzaXRlLWNvbHVtbnMtbH0pO1xuXHRcdG1heC13aWR0aDogI3skc2l0ZS1tYXgtd2lkdGh9cHg7XG5cdH1cbn1cblxuXG5AbWl4aW4gZ3V0dGVyUGFkZGluZygkbXEpe1xuXHQkY29sdW1uQ291bnQ6ICRzaXRlLWNvbHVtbnMtcztcblxuXHRAaWYoJG1xID09IG0pIHsgJGNvbHVtbkNvdW50OiAkc2l0ZS1jb2x1bW5zLW07IH1cblx0QGlmKCRtcSA9PSBsKSB7ICRjb2x1bW5Db3VudDogJHNpdGUtY29sdW1ucy1sOyB9XG5cblx0QGluY2x1ZGUgbXEoJG1xKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBwZXJjZW50YWdlKDEgLyAoJGNvbHVtbkNvdW50ICsgMikpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHBlcmNlbnRhZ2UoMSAvICgkY29sdW1uQ291bnQgKyAyKSk7XG5cdH1cbn1cblxuXG4vKlxuICpcdEEgbWl4aW4gdG8gc2V0IGVsZW1lbnRzIHRvIGl0cyBvd24gbmFtZWQgZ3JpZC1hcmVhXG4gKi9cblxuQG1peGluIHRlbXBsYXRlKCRlbGVtZW50cy4uLikge1xuXHRAZWFjaCAkZWxlbWVudCBpbiAkZWxlbWVudHMge1xuXHRcdCZfXyN7JGVsZW1lbnR9IHtcblx0XHRcdGdyaWQtYXJlYTogJGVsZW1lbnQ7XG5cdFx0XHRkaXNwbGF5OiBibG9jazsgLy8gSW4gSUUgZ3JpZCBpdGVtcyBjYW4ndCBiZSBpbmxpbmVcblx0XHR9XG5cdH1cbn1cbiIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgVGhlICd6LWluZGV4LW1hcCcgaXMgdXNlZCBmb3IgbWFuYWdpbmcgdGhlIGVsZW1lbnRzIHN0YWNraW5nIG9yZGVyIGluIHRoZSAncm9vdCcgc3RhY2tpbmcgY29udGV4dFxuICogIFRoaXMgd2F5IHdlIGhhdmUgYSBvdmVydmlldyBvZiBhbGwgdGhlIHotaW5kZXggdmFsdWVzIHRoYXQgYXJlIHVzZWQgYWNyb3NzIHRoZSBwcm9qZWN0LlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4kei1pbmRleDogKFxuXHR6LXZpc2libGUtZ3JpZDpcdFx0XHQxMDAwMCxcblx0ei1jb29raWU6XHRcdCBcdFx0XHRcdDk5OTksXG5cdHotb3ZlcmxheS1tZW51Olx0XHRcdDEwMCxcblx0ei1oZWFkZXI6IFx0XHRcdFx0XHQ1MCxcblx0ei1ib2R5Olx0XHRcdFx0XHRcdFx0NDAsXG5cdHotZm9vdGVyOlx0XHRcdFx0IFx0XHQyMCxcblx0ei1zdWJmb290ZXI6XHRcdFx0XHQxMCxcbik7XG5cblxuLyoqXG4gICAgVVNBR0U6XG5cbiAgICBAaW5jbHVkZSB6KHotbW9kYWwpO1xuXG4gKi9cblxuQG1peGluIHooJGxhYmVsKSB7XG5cdHotaW5kZXg6IG1hcC1nZXQoJHotaW5kZXgsJGxhYmVsKTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQmFzaWMgZWxlbWVudHMgKG5vIGNsYXNzIHNlbGVjdG9ycyBhbGxvd2VkKVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBTZXQgdXAgdGhlIGh0bWxcbiAqXG4gKiAxLiBNYWtlcyBzdXJlIHRoYXQgc29tZSBmb250cyBhcmUgYmV0dGVyIHJlbmRlcmVkXG4gKiAyLiBTZXQgZm9udCB0byBsaW5pbmcgZmlndXJlc1xuICpcbiAqIDMuIEF2b2lkIHRoZSBJRSAxMC0xMSBgbWluLWhlaWdodGAgYnVnLlxuICogNC4gVXNlIGAlYCBpbnN0ZWFkIG9mIGB2aGAgc2luY2UgYHZoYCBpcyBidWdneSBpbiBvbGRlciBtb2JpbGUgU2FmYXJpLlxuICovXG5cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxudW1cIjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtcmF0aW87XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1yb2JvdG87XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcbiAgYmFja2dyb3VuZDogcGFsZXR0ZShuZXV0cmFsLCAwKTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7IC8qIDMsIDQgKi9cbn1cblxuZm9vdGVyIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cblxuLyoqXG4gKiBbMV0gTWFrZSBzdXJlIGVsZW1lbnRzIGxpa2UgaW5wdXQgYW5kIHRleHRhcmVhIGluaGVyaXQgc29tZSBiYXNlIHByb3BlcnRpZXNcbiAqICAgICBodHRwczovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE2LzExL2Nzcy1pbmhlcml0YW5jZS1jYXNjYWRlLWdsb2JhbC1zY29wZS1uZXctb2xkLXdvcnN0LWJlc3QtZnJpZW5kcy9cbiAqXG4gKiBbMl0gU2V0dGluZyBib3gtc2l6aW5nIHRoZSBiZXN0IHdheSBwZXI6XG4gKiAgICAgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG4gKi9cbioge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICYsXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG59XG5cbi8qKlxuICogWzFdIFR1cm4gb2ZmIHRleHQtc2hhZG93IHdoZW4gc2VsZWN0aW5nIHRleHQgZm9yIGJldHRlciByZWFkYWJpbGl0eVxuICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApO1xuICBjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IC8qIFsxXSAqL1xufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gYXJvdW5kIGZpZ3VyZVxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogWzFdIFNldHRpbmcgJ3ZlcnRpY2FsLWFsaWduJyByZW1vdmVzIHRoZSB3aGl0ZXNwYWNlIHRoYXQgYXBwZWFycyB1bmRlciAnaW1nJ1xuICpcdCAgIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZCBpbnRvIGEgcGFnZSBhcy1pcy4gU2FmZXIgYWx0ZXJuYXRpdmUgdG9cbiAqXHQgICB1c2luZyAnZGlzcGxheTogYmxvY2s7Jy5cbiAqIFsyXSBSZW1vdmUgYm9yZGVyIC8gZXNwZWNpYWxseSBvbiBvbGRlciBicm93c2Vyc1xuICovXG5pbWcsIHN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qWzFdKi9cbiAgYm9yZGVyOiBub25lOyAvKlsyXSovXG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiAgTmVlZGVkIGZvciBpT1MgdG8gcHJldmVudCBpbnB1dCB6b29taW5nXG4gKiAgaHR0cHM6Ly91eGNlbGxlbmNlLmNvbS8yMDE0LzAxLzE1L3F1aWNrLWZpeC1pbmNyZWFzZS1mb250LXNpemUtdG8tMTZweC10by1maXgtaW5wdXQtem9vbVxuICovXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG5cbi8vIExpbmtzIHdpdGggbm8gY2xhc3MgZ2V0IGEgZGVmYXVsdCBob3ZlclxuYTpub3QoW2NsYXNzXSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bzsgLy8gcHJldHR5IHVuZGVybGluaW5nIGxpbmtzXG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MsIG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVE9ETzogSXMgdGhpcyB0aGUgcmlnaHQgd2F5IHRvIHJlc2V0IGFsbCBtYXJnaW4/P1xuLy8gUmVzZXQgYWxsIHRvcCBtYXJnaW5zXG5oMSxoMixoMyxoNCxoNSxoNixoZ3JvdXAsXG51bCxvbCxkZCxcbnAsZmlndXJlLFxucHJlLHRhYmxlLGZpZWxkc2V0LGhyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn0iLCJoMSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eHhsKTtcbn1cblxuaDIge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHhsKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDMge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5oNCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDUsIGg2IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICpcdERlZmF1bHQgaW5kZW50YXRpb24gdmFsdWUgZm9yIGxpc3RzXG4gKi9cblxudWwsXG5vbHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tbGVmdDogMS4xMjVlbTtcbn1cblxuZGR7XG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cblxuLyoqXG4gKlx0UmVtb3ZlIGV4dHJhIHZlcnRpY2FsIHNwYWNpbmcgd2hlbiBuZXN0aW5nIGxpc3RzLlxuICovXG5cbmxpIHtcblx0PiB1bCxcblx0PiBvbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbnRhaW5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmwtY29udGFpbiB7XG4gIEBpbmNsdWRlIGNvbnRhaW47XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBTcGxpdCBsYXlvdXQgaW4gMiBlcXVhbCBjb2x1bW5zXG4gKlxuICogVW50aWwgdmlld3BvcnQgaXMgd2lkZSBlbm91Z2ggdGhlIGNvbHVtbnMgYXJlIHN0YWNrZWQgdmVydGljYWxseVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmwtc3BsaXQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdGhlaWdodDogMTAwJTsgLy8gc3RyZXRjaCBpdCBvdXQgaW4gaXRzIGNvbnRhaW5lclxuXG5cdC8vIFNldCBzaWRlIGJ5IHNpZGUgZnJvbSBtZWRpdW0gdmlld3BvcnRzIGFuZCB1cFxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi8qKlxuICogU3BlY2lhbCBjb250YWluIHZlcnNpb24gZm9yIHNwbGl0LlxuICogRG9lc24ndCByZXN0cmFpbiBjb250ZW50IG9uIG1lZGl1bSB2aWV3cG9ydFxuICovXG5cbi5sLXNwbGl0LS1jb250YWluIHtcblx0QGluY2x1ZGUgY29udGFpbigkb25NZWRpdW06IGZhbHNlKTtcbn1cblxuXG4ubC1zcGxpdF9fY29sdW1uIHtcblxuXHQvLyBPbiBkZXNrdG9wIGNvbHVtbnMgYXJlIDUwLzUwXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsIDEyKTtcblx0fVxuXG5cdC8vIE1haW4gY29udGVudCBnb2VzIGZpcnN0LCB1c3VhbGx5IHRleHRcblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdFx0d2lkdGg6IGNvbHVtbig1LCA4KTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCA4KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEyKTtcblx0XHR9XG5cdH1cblxuXHQvLyBzZWNvbmRhcnkgY29udGVudCBnb2VzIGxhc3QsIHVzdWFsbHkgYW4gaW1hZ2Ugb3IgYXNpZGUgdGV4dFxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdC8vIENyZWF0ZSB2ZXJ0aWNhbCBzcGFjaW5nIG9uIG1vYmlsZVxuXHRcdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHRcdCdtYXJnaW4tdG9wJyAwLjVcblx0XHQpO1xuXHRcdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRcdHdpZHRoOiBjb2x1bW4oMywgOCk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gVmlzdWFsbHkgc3dpdGNoIGNvbHVtbnMgb24gbWVkaXVtICYgbGFyZ2Ugdmlld3BvcnRzXG5cdC5sLXNwbGl0LS1pcy1yZXZlcnNlZCAmIHtcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG9yZGVyOiAyO1xuXG5cdFx0XHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDgpO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBpbmNsdWRlIG1xKG0sIGwpIHtcblx0Lmwtc3BsaXQtLWJyZWFrb3V0LW9uLW0ge1xuXHRcdC5sLXNwbGl0X19jb2x1bW4ge1xuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHdpZHRoOiBjb2x1bW4oNiwgMTApO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMCk7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCAxMCk7XG5cdFx0XHR9XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHR3aWR0aDogY29sdW1uKDQsIDEwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKipcbiAqIFdoZW4gdGhlcmUgaXMgb25seSAxIGNvbHVtbiwgYWxpZ24gaXQgdG8gdGhlIG1pZGRsZSBhbmQgY29udGFpbiB0aGUgd2lkdGhcbiAqIE9ubHkgb25lIGNvbHVtbiBpcyB1c2VkIGUuZy4gaW4gdGhlIHRhYnNsaWRlciB3aGVuIHRoZXJlIGlzIG5vIGltYWdlIHNldFxuICovXG4ubC1zcGxpdF9fY29sdW1uOm9ubHktY2hpbGQge1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0d2lkdGg6IGNvbHVtbig2LCA4KTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LCAxMik7XG5cdFx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG4vLyBDb2x1bW5zIHRoYXQgaGF2ZSB0ZXh0IGluc3RlYWQgb2YgYW4gaW1hZ2UgbmVlZCBzb21lIHBhZGRpbmcgb24gdG9wXG4vLyB0byBhbGlnbiB0aGVtIHdpdGggdGhlIG90aGVyIGNvbHVtbiB0aGF0IGhhcyBwYWRkaW5nLXRvcCB0b29cbi5sLXNwbGl0X19jb2x1bW4tLXZwYWQge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNSk7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoMTApO1xuXHRcdG1hcmdpbi1ib3R0b206IHNwYWNlKDEwKTtcblx0fVxufVxuXG5cbi8vIENyZWF0ZSBhIGNvbHVtbiBleHRyYSB3aGl0ZSBzcGFjZSB0byB0aGUgbGVmdCAob24gbGFyZ2Ugdmlld3BvcnRzKVxuQGluY2x1ZGUgbXEobCkge1xuXHQubC1zcGxpdF9fY29sdW1uLS1sZWZ0cGFkIHtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0fVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJlc3RyaWN0XG4gKlxuICogV2hlbiBhIGJsb2NrIHNob3VsZG4ndCB0YWtlIHVwIHRoZSB3aG9sZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyXG4gKiB3ZSBjYW4gcmVzdHJpY3QgdGhlIG1heGltdW0gd2lkdGhcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmwtcmVzdHJpY3QtbmFycm93IHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogY29sdW1uKDYsOCk7XG4gICAgbWF4LXdpZHRoOiAzOGVtO1xuICB9XG4gIEBpbmNsdWRlIG1xKGwpe1xuICAgIHdpZHRoOiBjb2x1bW4oNiwxMik7XG4gIH1cbn1cblxuLmwtcmVzdHJpY3Qtd2lkZSB7XG4gIEBpbmNsdWRlIG1xKG0pe1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogY29sdW1uKDcsOCk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsKXtcbiAgICB3aWR0aDogY29sdW1uKDgsMTIpO1xuICB9XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb21wb25lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQGltcG9ydCBcImNvbXBvbmVudHMuYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5naG9zdGJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY2FyZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY2xvc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNvbm5lY3RcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmRhdGFcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmRhdGVMYWJlbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZG93bmxvYWRMaXN0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5ldmVudENhcmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZpbGVVcGxvYWRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZvcm1Hcm91cFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZm9ybUZlZWRiYWNrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5oYW1idXJnZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhlYWRpbmdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhlcm9cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmlucHV0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5sYW5ndWFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMubmF2XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wYWdlVGl0bGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnByb2plY3RvclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2VsZWN0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zZXJ2aWNlUG9pbnRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnNpdGVtYXBcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnNraXBMaW5rXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zbGlkZS1pbmRpY2F0b3JcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnN1Ym5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudGV4dC1idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnRvZ2dsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudHJhZGVtYXJrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy52YWNhbmN5UHJvcGVydGllc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudmlkZW9cIjsiLCIuYy1icmVhZGNydW1iIHtcblx0cGFkZGluZy1ib3R0b206IDRweDsgLy8gbWFrZSBzdXJlIHRvdGFsIGhlaWdodCB3aWxsIGJlIGRpdmlzaWJsZSBieSA4XG4gfVxuXG4uYy1icmVhZGNydW1iX19saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG59XG5cblxuLmMtYnJlYWRjcnVtYl9faXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0JjpudGgtY2hpbGQobisyKSB7XG5cdFx0JiAuYy1icmVhZGNydW1iX19pY29uIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogc3BhY2UoMyk7XG5cdFx0XHRoZWlnaHQ6IHNwYWNlKDMpO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHNwYWNlKDEpO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgxKTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcblx0XHRcdC8vY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNTAwKTtcblx0XHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWJyZWFkY3J1bWJfX2xpbmsge1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0LmMtYnJlYWRjcnVtYl9faXRlbS0tbGFzdCAmIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtYnV0dG9uOiAoXG5cdCdjb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JnY29sb3InOlx0XHRcdHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcblx0J2JnY29sb3ItaG92ZXInOlx0c2NhbGUtY29sb3IocGFsZXR0ZShwcmltYXJ5LCA1MDApLCAkbGlnaHRuZXNzOiAtMjAlKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWJ1dHRvbiB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IG1hcC1nZXQoJGMtYnV0dG9uLCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1idXR0b24sICdiZ2NvbG9yJyk7XG5cdHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwwLDAsMC4yKTtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiBzcGFjZSgyKSAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHBhbGV0dGUobmV1dHJhbCwgMCksIDAgMCA1cHggMnB4IG1hcC1nZXQoJGMtYnV0dG9uLCAnYmdjb2xvcicpO1xuXHR9XG5cdCY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdH1cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdH1cblxuXHQvLyBQc2V1ZG8gZWxlbWVudCBmb3IgYW5pbWF0aW5nIGhvdmVyXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHRvcDogY2FsYyg1MCUgLSAycHgpO1xuXHRcdGxlZnQ6IGNhbGMoNTAlIC0gMnB4KTtcblx0XHR3aWR0aDogNHB4O1xuXHRcdGhlaWdodDogNHB4O1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGJhY2tncm91bmQ6IG1hcC1nZXQoJGMtYnV0dG9uLCAnYmdjb2xvci1ob3ZlcicpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuXHR9XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxMDApO1xuXHR9XG59XG5cbi5jLWJ1dHRvbl9fdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0cGFkZGluZzogMCBzcGFjZSgzKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyKTtcblx0fVxufVxuXG4uYy1idXR0b25fX2ljb24ge1xuXHRkaXNwbGF5OiBub25lOyAvLyBCeSBkZWZhdWx0IGljb24gaXMgaGlkZGVuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0dG9wOiAtMXB4O1xuXHRtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG5cdC5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcblx0fVxuXG5cdC8vIFdoZW4gaWNvbiBjb21lcyBiZWZvcmUgdGhlIHRleHQgKGluIHRoZSBET00pIHN3aXRjaCB0aGUgbWFyZ2luXG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0fVxuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRkaXNwbGF5OiBibG9jazsgLy8gU2hvdyB3aGVuIGhhcyBpY29uIG1vZGlmaWVyXG5cdFx0d2lkdGg6IDE2cHg7XG5cdH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRGVmYXVsdCBidXR0b25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRjLWdob3N0LWJ1dHRvbjogKFxuXHQnY29sb3InOlx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcbik7XG5cblxuLmMtZ2hvc3RidXR0b24ge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWdob3N0LWJ1dHRvbiwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsMCwwLDAuMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0cGFkZGluZzogc3BhY2UoMikgMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IDAgMCA0cHggMnB4IHJnYmEobWFwLWdldCgkYy1naG9zdC1idXR0b24sICdjb2xvcicpLCAwLjUpO1xuXG5cdH1cblx0JjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR9XG5cblx0Ly8gQm9yZGVyIHdpdGggcHNldWRvIGVsZW1lbnQgZm9yIGFuaW1hdGlvblxuXHQmOjphZnRlciB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMTAwMCksIDAuMSk7XG5cdFx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IC0xcHg7XG5cdFx0Ym90dG9tOiAtMXB4O1xuXHRcdHJpZ2h0OiAtMXB4O1xuXHRcdGxlZnQ6IC0xcHg7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNXM7XG5cdH1cblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHQmOjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMzVzO1xuXHRcdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO1xuXHRcdH1cblx0fVxufVxuXG4uYy1naG9zdGJ1dHRvbl9fdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0cGFkZGluZzogMCBzcGFjZSgzKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyKTtcblx0fVxufVxuXG4uYy1naG9zdGJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHR0b3A6IC0xcHg7XG5cdG1hcmdpbi1yaWdodDogMTVweDtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cblx0LmMtZ2hvc3RidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdH1cblxuXHQuYy1naG9zdGJ1dHRvbi0taWNvbiAmIHtcblx0XHRkaXNwbGF5OiBibG9jazsgLy8gU2hvdyB3aGVuIGhhcyBpY29uIG1vZGlmaWVyXG5cdFx0d2lkdGg6IDE2cHg7XG5cdH1cblxuXHQvLyBXaGVuIGljb24gY29tZXMgYmVmb3JlIHRoZSB0ZXh0IChpbiB0aGUgRE9NKSBzd2l0Y2ggdGhlIG1hcmdpblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENhcmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1jYXJkOiAoXG5cdCdsYWJlbC1iZ2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDAwKSxcblx0J2xhYmVsLWNvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnbGFiZWwtYmdjb2xvci1ob3Zlcic6XHRwYWxldHRlKHByaW1hcnksIDUwMCksXG5cdCdsYWJlbC1jb2xvci1ob3Zlcic6XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYXJyb3ctY29sb3ItaG92ZXInOlx0cGFsZXR0ZShzZWNvbmRhcnksIDUwMCksXG5cdCdiZ2NvbG9yLWhvdmVyJzpcdFx0c2NhbGUtY29sb3IocGFsZXR0ZShwcmltYXJ5LCA1MDApLCAkbGlnaHRuZXNzOiAtODAlKSxcblx0J2luZm8tYmdjb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtY2FyZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiBDYXJkIHRoYXQgZG9lcyBzb21lIGFuaW1hdGlvbnMgb24gaG92ZXJcbiAqL1xuLmMtY2FyZC0taGFzLWFjdGlvbiB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdG92ZXJmbG93OiBoaWRkZW47IC8vIGJlY2F1c2Ugb2YgcHNldWRvIGVsZW1lbnRcblx0ei1pbmRleDogMDtcblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0fVxuXG5cdC8vIFNoYWRlZCBiYWNrZ3JvdW5kIChISURERU4gYnkgZGVmYXVsdClcblx0Jjo6YmVmb3JlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJGMtY2FyZCwnYmdjb2xvci1ob3ZlcicpLCAwLjkyKTtcblx0XHRiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQocmdiYShtYXAtZ2V0KCRjLWNhcmQsJ2JnY29sb3ItaG92ZXInKSwwLjgpIDAlLCByZ2JhKG1hcC1nZXQoJGMtY2FyZCwnYmdjb2xvci1ob3ZlcicpLDAuOTIpIDEwMCUpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTM1JSkgcm90YXRlKC0xMWRlZykgc2NhbGUoMS4zKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NSwgMC4xLCAwLjMsIDEpO1xuXHR9XG5cblx0Ly8gQXJyb3cgKEhJRERFTiBieSBkZWZhdWx0KVxuXHQvLyBDb250YWlucyBhbiBTVkcgYXJyb3cgaWNvbiBpbiB0aGUgYmFja2dyb3VuZC1pbWFnZVxuXHQmOjphZnRlciB7XG5cdFx0ei1pbmRleDogMjtcblx0XHR3aWR0aDogMjVweDtcblx0XHRtYXJnaW46IGF1dG87XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogc3ZnLXVybCgnPHN2ZyB2aWV3Qm94PVwiMCAwIDE2IDEyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGZpbGw9XCIje21hcC1nZXQoJGMtY2FyZCwnYXJyb3ctY29sb3ItaG92ZXInKX1cIiBkPVwiTTEzLjQgNi43ODNILjc2MkEuNzcyLjc3MiAwIDAgMSAwIDZjMC0uNDMyLjM0MS0uNzgzLjc2Mi0uNzgzSDEzLjRMOS42MjMgMS4zMzZhLjc5OC43OTggMCAwIDEgMC0xLjEwNy43NDcuNzQ3IDAgMCAxIDEuMDc3IDBsNS4wNzcgNS4yMThhLjc5OC43OTggMCAwIDEgMCAxLjEwNkwxMC43IDExLjc3MWEuNzQ3Ljc0NyAwIDAgMS0xLjA3NyAwIC43OTguNzk4IDAgMCAxIDAtMS4xMDdMMTMuNCA2Ljc4M3pcIi8+PC9zdmc+Jyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjc1KTtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHQvLyBTaGFkZWQgYmFja2dyb3VuZCAoVklTSUJMRSB3aGVuIGhvdmVyZWQpXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0b3BhY2l0eTogMC45Mjtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC0xMWRlZykgc2NhbGUoMS4zKTtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogNTBtcztcblx0XHR9XG5cdFx0Ly8gQXJyb3cgKFZJU0lCTEUgd2hlbiBob3ZlcmVkKVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG5cdFx0fVxuXHR9XG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnYmdjb2xvci1ob3ZlcicpO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG59XG5cbi5jLWNhcmRfX3BpY3R1cmUge1xuXHR3aWR0aDogMTAwJTtcblx0ZmxleDogYXV0bztcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLWNhcmRfX2ltZyB7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1jYXJkX19sYWJlbCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMTRweCAxMHB4IDE1cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IG1lZGl1bTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnbGFiZWwtY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1jYXJkLCdsYWJlbC1iZ2NvbG9yJyk7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuXG5cdC5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXIgJiB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnbGFiZWwtY29sb3ItaG92ZXInKTtcblx0fVxuXG5cdC8vIENvbG9yZWQgYmFja2dyb3VuZCBiZWhpbmQgbGFiZWwgKEhJRERFTiBieSBkZWZhdWx0KVxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAtMTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1jYXJkLCdsYWJlbC1iZ2NvbG9yLWhvdmVyJyk7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0Ly90cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwJSkgcm90YXRlKDVkZWcpIHNjYWxlKDIpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMDAlKSByb3RhdGUoMTFkZWcpIHNjYWxlKDEuNSwgMyk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDUsIDAuMSwgMC4zLCAxKTtcblxuXHRcdC5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXIgJiB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNWRlZykgc2NhbGUoMik7XG5cdFx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBtcztcblx0XHR9XG5cdH1cbn1cblxuLmMtY2FyZF9faW5mbyB7XG5cdHBhZGRpbmc6IHNwYWNlKDIpIHNwYWNlKDQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2luZm8tYmdjb2xvcicpO1xufVxuLmMtY2FyZF9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQoYmFzZSk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG59XG4uYy1jYXJkX19zdWJoZWFkaW5nIHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbn1cbi5jLWNhcmRfX3RleHRsaW5lIHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcblxuXHQvLyBXaGVuIGl0IGZvbGxvd3MgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGxpa2UgaXRzZWxmXG5cdCo6bm90KCN7Jn0pICsgJiB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENsb3NlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtY2xvc2U6IChcblx0J2NvbG9yJzogIHBhbGV0dGUobmV1dHJhbCwgMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1jbG9zZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IHNwYWNlKDUpO1xuXHRoZWlnaHQ6IHNwYWNlKDUpO1xuXHRwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDE4MG1zIGVhc2Utb3V0O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAzcHggMnB4IG1hcC1nZXQoJGMtY2xvc2UsICdjb2xvcicpO1xuXHR9XG5cblx0JjphZnRlcixcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDIwcHg7XG5cdFx0cmlnaHQ6IDIwJTtcblx0XHRsZWZ0OiAyMCU7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjLWNsb3NlLCAnY29sb3InKTtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdH1cblx0JjpiZWZvcmUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0fVxuXHQmOmFmdGVyIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDb25uZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtY29ubmVjdDogKFxuXHQnY29sb3ItYWx0JzpcdHBhbGV0dGUobmV1dHJhbCwgNTAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cblxuLmMtY29ubmVjdCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdH1cbn1cblxuXG4uYy1jb25uZWN0X19waG9uZSB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdEBpbmNsdWRlIGZvbnQobSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG5cblx0Jjpob3ZlciB7XG5cdFx0b3BhY2l0eTogMC43O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG59XG5cblxuLmMtY29ubmVjdF9fb3Ige1xuXHRtYXJnaW46IDAgc3BhY2UoMik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWNvbm5lY3QsICdjb2xvci1hbHQnKTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luOiBzcGFjZSgxKSAwIHNwYWNlKDIpO1xuXHR9XG59IiwiLmMtZGF0YSB7XG5cdG1hcmdpbjogc3BhY2UoMikgMDtcbn1cblxuXG4uYy1kYXRhX19saW5lIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuXG4uYy1kYXRhX19sYWJlbCB7XG5cdG1pbi13aWR0aDogc3BhY2UoOCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi5jLWRhdGFfX3ZhbHVlIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdCZbaHJlZl0ge1xuXHRcdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0XHQmOmZvY3VzIHtcblx0XHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0XHR9XG5cdH1cbn0iLCIuYy1kYXRlLWxhYmVsIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiBzcGFjZSgwLjUpIHNwYWNlKDMpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG4uYy1kYXRlLWxhYmVsLS1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSwgNTAwKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG59XG5cblxuLmMtZGF0ZS1sYWJlbF9fZGF5IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyB0aW1lIGVsZW1lbnQgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSBkZWZhdWx0XG59XG5cblxuLmMtZGF0ZS1sYWJlbF9fbW9udGgge1xuXHRAaW5jbHVkZSBmb250LXNpemUobSk7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gdGltZSBlbGVtZW50IGRvZXNuJ3Qgc2VlbSB0byBoYXZlIGEgZGVmYXVsdFxufSIsIi5jLWRvd25sb2FkLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5jLWRvd25sb2FkLWxpc3RfX2l0ZW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShwYWxldHRlKG5ldXRyYWwsIDMwMCksIDAuMik7XG4gIH1cbn1cblxuLmMtZG93bmxvYWQtbGlzdF9fbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IHNwYWNlKDEpIDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE2cHg7XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYy1kb3dubG9hZC1saXN0X190ZXh0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBwYWRkaW5nLWxlZnQ6IHNwYWNlKDEpO1xuXG4gIC5jLWRvd25sb2FkLWxpc3RfX2l0ZW06aG92ZXIgJiB7XG4gICAgY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcbiAgfVxufVxuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDYXJkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtZXZlbnQtY2FyZDogKFxuXHQnYmdjb2xvci1ob3Zlcic6XHRcdHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLFxuXHQnY29sb3ItaG92ZXInOlx0XHQgICAgcGFsZXR0ZShuZXV0cmFsLCAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWV2ZW50LWNhcmQge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvLyBiZWNhdXNlIG9mIHBzZXVkbyBlbGVtZW50XG5cdHotaW5kZXg6IDA7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogbWFwLWdldCgkYy1ldmVudC1jYXJkLCdiZ2NvbG9yLWhvdmVyJyk7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuXG4uYy1ldmVudC1jYXJkX19waWN0dXJlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGZsZXg6IG5vbmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMDtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYShibGFjaywgMC42MCk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xuXHR9XG5cblx0LmMtZXZlbnQtY2FyZDpob3ZlciAmIHtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cbn1cblxuXG4uYy1ldmVudC1jYXJkX19pbWcge1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcbn1cblxuXG4uYy1ldmVudC1jYXJkX19kYXRlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XG5cblx0LmMtZXZlbnQtY2FyZDpob3ZlciAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWV2ZW50LWNhcmQsICdiZ2NvbG9yLWhvdmVyJyk7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtZXZlbnQtY2FyZCwgJ2NvbG9yLWhvdmVyJyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblxuXHR9XG59XG5cblxuLmMtZXZlbnQtY2FyZF9faW5mbyB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IHNwYWNlKDIpIHNwYWNlKDMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjtcblxuXHQuYy1ldmVudC1jYXJkOmhvdmVyICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtZXZlbnQtY2FyZCwnYmdjb2xvci1ob3ZlcicpO1xuXHR9XG59XG5cblxuLmMtZXZlbnQtY2FyZF9fdGl0bGUge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG5cdHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XG5cblx0LmMtZXZlbnQtY2FyZDpob3ZlciAmIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1ldmVudC1jYXJkLCAnY29sb3ItaG92ZXInKSAhaW1wb3J0YW50O1xuXHR9XG59XG5cblxuLmMtZXZlbnQtY2FyZF9fc3VidGl0bGUge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjtcblxuXHQuYy1ldmVudC1jYXJkOmhvdmVyICYge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLWV2ZW50LWNhcmQsICdjb2xvci1ob3ZlcicpICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG4uYy1ldmVudC1jYXJkX190eXBlIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHMpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xuXG5cdC5jLWV2ZW50LWNhcmQ6aG92ZXIgJiB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtZXZlbnQtY2FyZCwgJ2NvbG9yLWhvdmVyJykgIWltcG9ydGFudDtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogZmlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWZpbGUtdXBsb2FkOiAoXG5cdCdjb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA5MDApLFxuXHQnYmdjb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JnY29sb3ItaG92ZXInOlx0c2NhbGUtY29sb3IocGFsZXR0ZShzZWNvbmRhcnkpLCAkbGlnaHRuZXNzOiAtMjAlKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWZpbGUtdXBsb2FkX19tYWluIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi5jLWZpbGUtdXBsb2FkX19pbnB1dCB7XG5cdG9wYWNpdHk6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xufVxuXG5cbi5jLWZpbGUtdXBsb2FkX19idXR0b24ge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWZpbGUtdXBsb2FkLCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1maWxlLXVwbG9hZCwgJ2JnY29sb3InKTtcblx0Ym9yZGVyOiAxcHggc29saWQgcGFsZXR0ZShwcmltYXJ5LCA1MDApO1xuXHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xuXHRwYWRkaW5nOiBzcGFjZSgyKSBzcGFjZSgzKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsIDE1MG1zO1xuXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9hZGQuc3ZnKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdHdpZHRoOiAxNnB4O1xuXHRcdGhlaWdodDogMTZweDtcblx0XHRtYXJnaW4tbGVmdDogc3BhY2UoMik7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cbn1cblxuXG4uYy1maWxlLXVwbG9hZF9fbGlzdCB7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgzKTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQmID4gbGkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0XHRwYWRkaW5nOiBzcGFjZSgwLjUpIDA7XG5cdFx0YW5pbWF0aW9uOiBleHBhbmQgLjVzIGVhc2UtaW4tb3V0O1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgxKTtcblx0XHRcdGJhY2tncm91bmQ6IHVybChcIi9pbWcvZmlsZS5zdmdcIikgbm8tcmVwZWF0O1xuXHRcdH1cblxuXHRcdC8vIGRlbGV0ZSBidXR0b25cblx0XHQmID4gYnV0dG9uIHtcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwMCk7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGxpbmVhcjtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiByZWQ7XG5cdFx0XHR9XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICdcXDAwRDcnO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi5jLWZpbGUtdXBsb2FkX19ub3RlIHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbn1cblxuXG5Aa2V5ZnJhbWVzIGV4cGFuZCB7XG5cdGZyb20ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0YmFja2dyb3VuZDogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0fVxufVxuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBGb3JtIGdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtZm9ybS1ncm91cDogKFxuICAnY29sb3InOlx0XHRcdFx0XHQgICAgcGFsZXR0ZShuZXV0cmFsLCA0MDApLFxuICAnZXJyb3ItY29sb3InOlx0XHRcdFx0cGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWZvcm0tZ3JvdXBfX2xhYmVsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHMpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogc3BhY2UoMC41KSAwO1xuICBjb2xvcjogbWFwLWdldCgkYy1mb3JtLWdyb3VwLCAnY29sb3InKTtcbn1cblxuLmMtZm9ybS1ncm91cF9fZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuXG4gIC5oYXMtZXJyb3IgJjpub3QoOmVtcHR5KSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKHhzKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBzcGFjZSgxKTtcbiAgICBjb2xvcjogbWFwLWdldCgkYy1mb3JtLWdyb3VwLCAnZXJyb3ItY29sb3InKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJGMtZm9ybS1ncm91cCwgJ2Vycm9yLWNvbG9yJyksIDAuMSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYy1mb3JtLWdyb3VwLCAnZXJyb3ItY29sb3InKTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogRm9ybSBmZWVkYmFja1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWZvcm0tZmVlZGJhY2s6IChcbiAgJ2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCA4MDApLFxuICAnYmdjb2xvcic6XHRyZ2JhKHBhbGV0dGUoZmVlZGJhY2ssIHdhcm5pbmcpLCAwLjIpLFxuICAnYm9yZGVyJzogXHRwYWxldHRlKGZlZWRiYWNrLCB3YXJuaW5nKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWZvcm0tZmVlZGJhY2sge1xuICBAaW5jbHVkZSBmb250LXNpemUocyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMocyk7XG4gIG1hcmdpbjogMCAwIHNwYWNlKDEpO1xuICBwYWRkaW5nOiBzcGFjZSgzKSBzcGFjZSg0KTtcbiAgY29sb3I6IG1hcC1nZXQoJGMtZm9ybS1mZWVkYmFjaywgJ2NvbG9yJyk7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtZm9ybS1mZWVkYmFjaywgJ2JnY29sb3InKTtcbiAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYy1mb3JtLWZlZWRiYWNrLCAnYm9yZGVyJyk7XG5cbiAgJjpub3QoOmVtcHR5KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOmJlZm9yZXtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtZmVlZGJhY2spO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogc3BhY2UoLTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICBsaTo6Zmlyc3QtbGV0dGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBIYW1idXJnZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmMtaGFtYnVyZ2VyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogc3BhY2UoNSk7XG5cdGhlaWdodDogc3BhY2UoNSk7XG5cdHBhZGRpbmc6IDA7XG5cdGNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ3RleHRDb2xvcicpO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cblxuXHQmID4gc3Bhbixcblx0JjphZnRlcixcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDIwcHg7XG5cdFx0cmlnaHQ6IDIwJTtcblx0XHRsZWZ0OiAyMCU7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMTAwbXM7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0dG9wOiAxMnB4O1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHR0b3A6IDI4cHg7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMC41KTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdCYgPiBzcGFuIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIsXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XG5cdFx0fVxuXHR9XG5cblx0LmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG5cdFx0JiA+IHNwYW4ge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSkgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcztcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcztcblx0XHR9XG5cdH1cbn0iLCIuYy1oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udCh4eGwpO1xuXHRtYXJnaW46IHNwYWNlKDUpIDA7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG59XG5cbi5jLWhlYWRpbmctLWluZGVudCB7XG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEhlcm9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1oZXJvOiAoXG5cdCdjYXB0aW9uLWJnY29sb3InOlx0XHRyZ2JhKHBhbGV0dGUocHJpbWFyeSwgNzAwKSwgMC45KSxcblx0J2NhcHRpb24tY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtaGVybyB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRAaW5jbHVkZSBjb250YWluO1xuXHR9XG59XG5cbi5jLWhlcm9fX21haW4ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG59XG5cbi5jLWhlcm9fX3NsaWRlciB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1ib3R0b206IDU1LjU1NiU7IC8vIFJhdGlvIHVzZWQgZm9yIG1vYmlsZSBpbWFnZVxuXG5cdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNTAlOyAvLyBSYXRpbyB1c2VkIGZvciBpbWFnZVxuXHR9XG59XG5cbi5jLWhlcm9fX3BpY3R1cmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcblx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblx0ZmlsdGVyOiBibHVyKDVweCk7XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuXHRcdGZpbHRlcjogbm9uZTtcblx0fVxufVxuXG4uYy1oZXJvX19pbWFnZSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uYy1oZXJvX19jYXB0aW9uIHtcblx0Ly9AaW5jbHVkZSBoeXBoZW5hdGU7XG5cdGZvbnQtc2l6ZTogY2FsYygxNnB4ICsgMXZ3KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogc3BhY2UoMyk7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IG1hcC1nZXQoJGMtaGVybywgJ2NhcHRpb24tY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1oZXJvLCAnY2FwdGlvbi1iZ2NvbG9yJyk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0bWF4LXdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0cGFkZGluZzogc3BhY2UoNCk7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0cmlnaHQ6IC0xMDB2dztcblx0XHRcdGxlZnQ6IC0xMDB2dztcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdiYXJDb2xvcicpO1xuXHRcdH1cblx0fVxuXG5cdC8vIEZvbnQtbG9jayB0byBzY2FsZSBmb250LXNpemUgcHJvcG9ydGlvbmFsbHlcblx0QGluY2x1ZGUgbXEobSwgJGJwLW1heCkge1xuXHRcdHBhZGRpbmc6IDIuNnZ3OyAvLyBNYWdpYyB2YWx1ZSBzbyB0ZXh0IHNjYWxlcyBuaWNlbHlcblx0XHRmb250LXNpemU6IDMuNXZ3OyAvLyBNYWdpYyB2YWx1ZSBzbyB0ZXh0IHNjYWxlcyBuaWNlbHlcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEoJGJwLW1heCkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eHh4bCk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMC41KTtcblx0fVxufVxuXG4uYy1oZXJvX19jb250cm9scyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHNwYWNlKDEpO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGhlaWdodDogc3BhY2UoNik7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHRyYW5zcGFyZW50KTtcblx0XHRvcGFjaXR5OiAwLjM7XG5cdH1cbn1cblxuXG4vLyBCdXR0b24gd2l0aCBhcnJvdyB0aGF0IHNjcm9sbHMgZG93blxuLmMtaGVyb19fc2Nyb2xsIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDUwJTtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0cGFkZGluZzogMTBweDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpIHJvdGF0ZSgwLjI1dHVybik7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG5cblx0JiA+IHN2ZyB7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGJhY2tncm91bmQ6IHNjYWxlX2NvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLCAkbGlnaHRuZXNzOiAtMTUlKTtcblxuXHRcdCYgPiBzdmcge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBzY2FsZV9jb2xvcihwYWxldHRlKHNlY29uZGFyeSwgNTAwKSwgJGxpZ2h0bmVzczogLTEwJSk7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHNjYWxlX2NvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLCAkbGlnaHRuZXNzOiA3MCUpO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBJbnB1dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWlucHV0OiAoXG5cdCdjb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2JnY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYm9yZGVyJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAzMDApLFxuXHQnZm9jdXMnOlx0XHRwYWxldHRlKG5ldXRyYWwsIDkwMCksXG5cdCdlcnJvcic6XHRcdHBhbGV0dGUoZmVlZGJhY2ssIHdhcm5pbmcpLFxuXHQnYm9yZGVyLXNpemUnOlx0MXB4LFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtaW5wdXQge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAoc3BhY2UoMSkgLSBtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyLXNpemUnKSkgc3BhY2UoMik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWlucHV0LCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1pbnB1dCwgJ2JnY29sb3InKTtcblx0Ym9yZGVyOiBtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyLXNpemUnKSBzb2xpZCBtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyJyk7XG5cdG91dGxpbmU6IG5vbmU7XG5cblx0Lmhhcy1lcnJvciAmIHtcblx0XHRib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggbWFwLWdldCgkYy1pbnB1dCwgJ2Vycm9yJyk7XG5cdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjLWlucHV0LCAnZXJyb3InKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJGMtaW5wdXQsICdlcnJvcicpLCAwLjA1KTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCBtYXAtZ2V0KCRjLWlucHV0LCAnZm9jdXMnKTtcblx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGMtaW5wdXQsICdmb2N1cycpO1xuXHR9XG5cblx0QGF0LXJvb3QgdGV4dGFyZWEjeyZ9IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiBzcGFjZSgyKTtcblx0XHRtaW4taGVpZ2h0OiBzcGFjZSgyMCkgLSBkb3VibGUobWFwLWdldCgkYy1pbnB1dCwgJ2JvcmRlci1zaXplJykpO1xuXHRcdGxpbmUtaGVpZ2h0OiBzcGFjZSgzKTtcblx0XHRyZXNpemU6IHZlcnRpY2FsO1xuXHR9XG59XG5cblxuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBMYW5ndWFnZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWxhbmd1YWdlOiAoXG5cdCdiZ2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JnY29sb3ItYWx0JzpcdFx0XHQgIFx0ZGFya2VuKHBhbGV0dGUobmV1dHJhbCwgMCksIDUlKSxcblx0J2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA1MDApLFxuXHQnY29sb3ItaG92ZXInOlx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JnY29sb3ItaG92ZXInOlx0XHRcdHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtbGFuZ3VhZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWxhbmd1YWdlX19idXR0b24ge1xuXHRAaW5jbHVkZSBmb250KHMpO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiBzcGFjZSgxKTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiByZ2JhKG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAndGV4dENvbG9yJyksIDAuNSk7XG5cdGJvcmRlcjogbm9uZTtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cywgYm94LXNoYWRvdyAwLjE1cztcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG5cblx0Ly8uYy1sYW5ndWFnZTpob3ZlciAmIHtcblx0Ly9cdGNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ3RleHRDb2xvcicpO1xuXHQvL31cbn1cblxuLmMtbGFuZ3VhZ2VfX2ljb24ge1xuXHRmbGV4OiBub25lO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2xhYmVsIHtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDAuNSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYy1sYW5ndWFnZV9fZHJvcGRvd24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDEwMCU7XG5cdG1pbi13aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwO1xuXHRvcGFjaXR5OiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcblx0Ym94LXNoYWRvdzogMCAwIDEycHggMXB4IHJnYmEocGFsZXR0ZShuZXV0cmFsLCAxMDAwKSwgMC4xNSk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xuXG5cdC5jLWxhbmd1YWdlOmhvdmVyICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxufVxuXG4uYy1sYW5ndWFnZV9faXRlbSB7XG5cdGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkYy1sYW5ndWFnZSwgJ2JnY29sb3InKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2JnY29sb3ItYWx0Jyk7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSAwIDA7XG5cdH1cblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdGJvcmRlci1yYWRpdXM6IDAgMCBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcblx0fVxuXG5cdCY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cbn1cblxuLmMtbGFuZ3VhZ2VfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogc3BhY2UoMC41KSBzcGFjZSgxKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2NvbG9yJyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2NvbG9yLWhvdmVyJyk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2JnY29sb3ItaG92ZXInKTtcblx0fVxufVxuXG4iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IE5hdlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLypcblx0Q29sb3JzIGdldCBkZWZpbmVkIGluIF9zZXR0aW5ncy5jb25maWcuc2Nzc1xuKi9cblxuJGMtbmF2OiAoXG5cdCdsaW5rLXBhZGRpbmcnOiA0cHgsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1uYXYge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5jLW5hdl9fbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cbi5jLW5hdl9faXRlbSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0bWFyZ2luLXJpZ2h0OiAyJTtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxufVxuXG5cbi5jLW5hdl9fbGluayB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogbWFwLWdldCgkYy1uYXYsICdsaW5rLXBhZGRpbmcnKTtcblx0Y29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAndGV4dENvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogY29sb3IgMTUwbXMgbGluZWFyO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IC0xO1xuXHRcdGxlZnQ6IG1hcC1nZXQoJGMtbmF2LCAnbGluay1wYWRkaW5nJyk7XG5cdFx0Ym90dG9tOiAxcHg7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtICN7ZG91YmxlKG1hcC1nZXQoJGMtbmF2LCAnbGluay1wYWRkaW5nJykpfSk7XG5cdFx0aGVpZ2h0OiAycHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMXB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAnZGVjb3JhdGlvbkNvbG9yJyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICd0ZXh0Q29sb3JIb3ZlcicpO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ2RlY29yYXRpb25Db2xvckhvdmVyJyk7XG5cdFx0fVxuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAndGV4dENvbG9yQWN0aXZlJyk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAnZGVjb3JhdGlvbkNvbG9yQWN0aXZlJyk7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtcGFnaW5hdGlvbjogKFxuXHQnY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2FjdGl2ZS1jb2xvcic6XHRcdHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcblx0J2JvcmRlci1jb2xvcic6XHRcdHBhbGV0dGUoYm9yZGVyLCAzMDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtcGFnaW5hdGlvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0Ym9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnYm9yZGVyLWNvbG9yJyk7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1wYWdpbmF0aW9uX19pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0Ly8gT24gc21hbGwgc2NyZWVucyBoaWRlIGFsbCBpdGVtcyBidXQgdGhlIGFycm93cywgZmlyc3QgcGFnZSwgbGFzdCBwYWdlIGFuZCBhY3RpdmVcblx0QGluY2x1ZGUgbXEoJG1heDogbSl7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdCY6Zmlyc3QtY2hpbGQsXG5cdFx0JjpsYXN0LWNoaWxkLFxuXHRcdCYuaXMtbGFzdC1wYWdlLFxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0fVxuXG5cdFx0Ji5pcy1sYXN0LXBhZ2Uge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0JiArICYge1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiBpbmhlcml0O1xuXHR9XG59XG5cbi5jLXBhZ2luYXRpb25fX3RleHQsXG4uYy1wYWdpbmF0aW9uX19saW5rLFxuLmMtcGFnaW5hdGlvbl9fcHJldixcbi5jLXBhZ2luYXRpb25fX25leHR7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtaW4td2lkdGg6IHNwYWNlKDYpO1xuXHRtaW4taGVpZ2h0OiBzcGFjZSg2KTtcblx0cGFkZGluZzogc3BhY2UoMSk7XG59XG5cbi5jLXBhZ2luYXRpb25fX3RleHQge1xuXHRjb2xvcjogbWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnY29sb3InKTtcblx0b3BhY2l0eTogMC4zNTtcbn1cblxuLmMtcGFnaW5hdGlvbl9fbGluayB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdjb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogc2NhbGUtY29sb3IobWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnY29sb3InKSwgJGxpZ2h0bmVzczogLTMwJSk7XG5cdFx0YmFja2dyb3VuZDogcGFsZXR0ZShuZXV0cmFsLCAxMDApO1xuXHR9XG5cblx0LmlzLWFjdGl2ZSA+ICYge1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4IC01cHggbWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtcGFnaW5hdGlvbiwgJ2FjdGl2ZS1jb2xvcicpO1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxufVxuXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcblx0dHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuXG5cdCYuaXMtaW5hY3RpdmUge1xuXHRcdGNvbG9yOiByZ2JhKG1hcC1nZXQoJGMtcGFnaW5hdGlvbiwgJ2NvbG9yJyksIDAuNCk7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldiB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn0iLCIvKlxuICogUGFnZSB0aXRsZVxuICovXG5cbi5jLXBhZ2UtdGl0bGUge1xuICBAaW5jbHVkZSBjb250YWluO1xuICBAaW5jbHVkZSBoeXBoZW5hdGU7XG4gIHBhZGRpbmctdG9wOiBzcGFjZSgyKTtcbiAgcGFkZGluZy1ib3R0b206IHNwYWNlKDIpO1xuICBjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBwYWRkaW5nLXRvcDogc3BhY2UoNik7XG4gICAgcGFkZGluZy1ib3R0b206IHNwYWNlKDYpO1xuICB9XG59XG5cbi5jLXBhZ2UtdGl0bGUtLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgd2lkdGg6IGNvbHVtbig2LCA4KTtcbiAgfVxuICBAaW5jbHVkZSBtcShsKSB7XG4gICAgd2lkdGg6IGNvbHVtbig4LCAxMik7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZV9fcHJlaGVhZGluZyB7XG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBtYXJnaW4tdG9wOiBzcGFjZSgtMik7XG4gICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMik7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZV9faGVhZGluZyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh4eGwpO1xuICBsaW5lLWhlaWdodDogMS4zO1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoeHh4bCk7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZV9faGVhZGluZy1zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuLmMtcGFnZS10aXRsZV9fc3ViaGVhZGluZyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcbiAgY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbiAgbWFyZ2luLXRvcDogc3BhY2UoMik7XG59IiwiLmMtcHJvamVjdG9yIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuLmMtcHJvamVjdG9yX19maWd1cmUge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4uYy1wcm9qZWN0b3JfX2NhcHRpb24ge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRncmlkLXJvdzogMjtcblx0dXNlci1zZWxlY3Q6IHRleHQ7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA0MDApO1xufVxuXG5cbi5jLXByb2plY3Rvcl9fcGljdHVyZSB7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRncmlkLXJvdzogMTtcblx0YWxpZ24tc2VsZjogZW5kO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDM2MHB4OyAvLyBuZWVkZWQgZm9yIElFXG5cdGRpc3BsYXk6IGJsb2NrOyAvLyBOZWVkZWQgZm9yIElFXG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuXG5cdC5pZSAuYy1wcm9qZWN0b3ItLXNpbmdsZS1pbWFnZSAmIHtcblx0XHRtaW4taGVpZ2h0OiA0MDBweDtcblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cblxuLmMtcHJvamVjdG9yX19jb250cm9sIHtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAxO1xuXHRhbGlnbi1zZWxmOiBlbmQ7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xuXHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xufVxuXG5cbi5jLXByb2plY3Rvcl9faW1nIHtcblx0Ly8gbWFrZSBzdXJlIGl0IHN0cmV0Y2hlcyB0aGUgY29udGFpbmVyXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyOyAvLyBGYWxsYmFjayBmb3IgSUUgdmlhIEpTIHBvbHlmaWxsLCBtaW4taGVpZ2h0IGlzIHNldCBvbiB0aGUgd3JhcHBlclxuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXgtaGVpZ2h0OiA3OHZoOyAvLyBNYWtlIHN1cmUgaW1hZ2VzIGFyZSB2aXNpYmxlIGVudGlyZWx5IG9uIHNtYWxsIGRldmljZXMgaW4gbGFuZHNjYXBlKVxuXHR9XG59IiwiLyoqXG4gKiBTZWxlY3Qgc3R5bGVkIHdpdGhvdXQgZXh0cmEgY29udGFpbmluZyBlbGVtZW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCYXNlZCBvbiB0aGlzIGFydGljbGU6XG4gKiBodHRwczovL3d3dy5maWxhbWVudGdyb3VwLmNvbS9sYWIvc2VsZWN0LWNzcy5odG1sXG4gKi9cblxuXG4kYy1zZWxlY3QtYm9yZGVyLXNpemU6IDFweDtcblxuLmMtc2VsZWN0IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKDE0LDIwKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctdG9wOiAje3NwYWNlKDAuNSkgLSAkYy1zZWxlY3QtYm9yZGVyLXNpemV9O1xuXHRwYWRkaW5nLWJvdHRvbTogI3tzcGFjZSgwLjUpIC0gJGMtc2VsZWN0LWJvcmRlci1zaXplfTtcblx0cGFkZGluZy1sZWZ0OiBzcGFjZSgyKTtcblx0cGFkZGluZy1yaWdodDogc3BhY2UoNCk7XG5cdGhlaWdodDogc3BhY2UoNSk7XG5cdC8vd2lkdGg6IDEwMCU7XG5cdC8vbWF4LXdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDU0MHB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRtYXJnaW46IDA7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL3RpbnlhcnJvdy5wbmcnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLjdlbSB0b3AgNTAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IC42NWVtIGF1dG87XG5cdGJvcmRlcjogJGMtc2VsZWN0LWJvcmRlci1zaXplIHNvbGlkIHBhbGV0dGUocHJpbWFyeSwgMzAwKTtcblx0dHJhbnNpdGlvbjogYm9yZGVyIDE1MG1zIGxpbmVhcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0XHRib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggcmdiYShwYWxldHRlKHNlY29uZGFyeSwgNzAwKSwgMC43KTtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggLW1vei1tYWMtZm9jdXNyaW5nO1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCYgb3B0aW9uIHtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHR9XG59XG5cbi5jLXNlbGVjdDo6LW1zLWV4cGFuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59IiwiJGMtc2VydmljZXBvaW50LWJwLXdpZHRoOiA0MjBweDsgLy8gc2l6ZSBvZiBjb21wb25lbnQgd2hlbiB3ZSBzd2l0Y2ggZnJvbSBzdGFja2VkIHRvIHJvdyB2aWV3XG4kYy1zZXJ2aWNlcG9pbnQtZ2FwOiBzcGFjZSgyKTtcblxuXG4uYy1zZXJ2aWNlcG9pbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0dGV4dC1hbGlnbjogbGVmdDsgLy8gbmVlZGVkIGZvciB3aGVuIGEgcGFyZW50IGVsZW1lbnQgaGFzIHRleHQtYWxpZ24gY2VudGVyXG59XG5cblxuLmMtc2VydmljZXBvaW50X19pbWFnZSB7XG5cdGZsZXg6IDA7XG5cdG1pbi13aWR0aDogYXV0bztcblx0bWF4LXdpZHRoOiAxNzhweCArICRjLXNlcnZpY2Vwb2ludC1nYXA7XG5cdG1hcmdpbi1yaWdodDogJGMtc2VydmljZXBvaW50LWdhcDtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2NvbnRlbnQge1xuXHRAaW5jbHVkZSBoeXBoZW5hdGU7XG5cdG1pbi13aWR0aDogNTAlOyAvLyBIYXMgdG8gYmUgbWluaW1hbCBoYWxmIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXJcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRmbGV4LWdyb3c6IDE7XG5cdGZsZXgtYmFzaXM6IGNhbGMoY2FsYygjeyRjLXNlcnZpY2Vwb2ludC1icC13aWR0aH0gLSAxMDAlKSAqIDk5OSk7IC8vIEJhc2VkIG9uIHRoaXMgbWV0aG9kOiBodHRwczovL2hleWRvbndvcmtzLmNvbS9hcnRpY2xlL3RoZS1mbGV4Ym94LWhvbHktYWxiYXRyb3NzL1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMik7XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdGZsZXgtYmFzaXM6IGF1dG87XG5cdH1cbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2JvZHkge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xufVxuXG5cbi5jLXNlcnZpY2Vwb2ludF9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQoYmFzZSk7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cblxuLmMtc2VydmljZXBvaW50X19zdWJoZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbn0iLCIuYy1zaXRlbWFwX19pdGVtIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcbn1cblxuLmMtc2l0ZW1hcF9fbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiBzcGFjZSgwLjUpIDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA1MDApO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG59IiwiLypcbiAqIFNraXAgTGlua1xuICovXG5cbi5jLXNraXAtbGluayB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDB2aDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgb3V0bGluZS13aWR0aDogMnB4O1xuICAgIHRvcDogNXB4OyAvKiBOb3cgdGhlIGxpbmsgd2lsbCBhcHBlYXIgKi9cbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogU2xpZGUgaW5kaWNhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtc2xpZGUtaW5kaWNhdG9yOiAoXG5cdCdkb3QtY29sb3InOlx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2RvdC1jb2xvci1hY3RpdmUnOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwMCksXG5cdCdkb3QtcmluZy1jb2xvci1hY3RpdmUnOlx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2RvdC1zaXplJzpcdFx0XHRcdFx0OHB4LFxuXHQnZG90LXNpemUtYWN0aXZlJzpcdFx0XHQ2cHgsXG5cdCdkb3QtcmluZy1zaXplLWFjdGl2ZSc6XHRcdDEycHgsXG5cdCdkb3Qtc2l6ZS10YXJnZXRib3gnOlx0XHQzMHB4LFxuXHQnZG90LWlzLXJvdW5kZWQnOlx0XHRcdHRydWUsXG5cdCdidXR0b24taWNvbi1jb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdidXR0b24tYmctY29sb3InOlx0XHRcdHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLFxuXHQnYnV0dG9uLWJnLWNvbG9yLWhvdmVyJzpcdHNjYWxlX2NvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLCAkbGlnaHRuZXNzOiAtMTAlKSxcblx0J2J1dHRvbi1zaXplJzpcdFx0XHRcdDQwcHgsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1zbGlkZS1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1iZy1jb2xvcicpO1xuXHRjb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24taWNvbi1jb2xvcicpO1xuXHRoZWlnaHQ6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnYnV0dG9uLXNpemUnKTtcblx0d2lkdGg6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnYnV0dG9uLXNpemUnKTtcblxuXHQmICsgJiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDhweDtcblx0fVxuXG5cdCZbYXJpYS1sYWJlbD0ncHJldmlvdXMnXSA+IHN2ZyB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHR9XG5cblx0JlthcmlhLWxhYmVsPSduZXh0J10gPiBzdmcge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tYmctY29sb3ItaG92ZXInKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tYmctY29sb3ItaG92ZXInKTtcblx0fVxufVxuXG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZS10YXJnZXRib3gnKTtcblx0aGVpZ2h0OiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHk7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuXHQmOmhvdmVyOm5vdCguaXMtYWN0aXZlKSxcblx0Jjpmb2N1czpub3QoLmlzLWFjdGl2ZSkge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxuXG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHk7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdFx0QGlmIChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1pcy1yb3VuZGVkJykgPT0gdHJ1ZSkge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0JG9mZnNldDogY2FsYygoI3ttYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpfSAtICN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZScpfSkgLyAyKTtcblx0XHR0b3A6ICRvZmZzZXQ7XG5cdFx0cmlnaHQ6ICRvZmZzZXQ7XG5cdFx0Ym90dG9tOiAkb2Zmc2V0O1xuXHRcdGxlZnQ6ICRvZmZzZXQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtY29sb3InKTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdCRvZmZzZXQ6IGNhbGMoKCN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZS10YXJnZXRib3gnKX0gLSAje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXJpbmctc2l6ZS1hY3RpdmUnKX0pIC8gMik7XG5cdFx0dG9wOiAkb2Zmc2V0O1xuXHRcdHJpZ2h0OiAkb2Zmc2V0O1xuXHRcdGJvdHRvbTogJG9mZnNldDtcblx0XHRsZWZ0OiAkb2Zmc2V0O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXJpbmctY29sb3ItYWN0aXZlJyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtY29sb3ItYWN0aXZlJyk7XG5cdFx0XHRib3JkZXItY29sb3I6IHJnYmEobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtcmluZy1jb2xvci1hY3RpdmUnKSwgMC45KTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoc3RyaXAtdW5pdChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLWFjdGl2ZScpKSAvIHN0cmlwLXVuaXQobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZScpKSk7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAwLjk7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG9wYWNpdHk6IDEgIWltcG9ydGFudDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdC8vYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShzZWNvbmRhcnksIDUwMCk7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggYmxhY2ssIDAgMCAxMHB4IDFweCB3aGl0ZTtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdC8vYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShzZWNvbmRhcnksIDUwMCk7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggYmxhY2ssIDAgMCAxMHB4IDFweCB3aGl0ZTtcblx0XHR9XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFN1Ym5hdlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXN1Ym5hdjogKFxuXHQnYm9yZGVyLWNvbG9yJzogXHRcdHBhbGV0dGUoYm9yZGVyLCAzMDApLFxuXHQnY29sb3InOlx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA1MDApLFxuXHQnaG92ZXItY29sb3InOlx0XHRcdHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbiksXG5cdCdhY3RpdmUtY29sb3InOlx0XHRcdHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLXN1Ym5hdiB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4uYy1zdWJuYXYtLWJveGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1pbnRybywgJ3N1Ym5hdkJnQ29sb3InKTtcblx0cGFkZGluZzogc3BhY2UoMTApICRzaXRlLWd1dHRlci13aWR0aDtcblxuXHRAaW5jbHVkZSBtcShtLCBsKXtcblx0XHRwYWRkaW5nLWxlZnQ6IDI1JTtcblx0fVxufVxuXG5cbi5jLXN1Ym5hdl9faGVhZGVyIHtcblx0bWFyZ2luOiAwO1xufVxuXG5cbi5jLXN1Ym5hdl9fbGlzdCB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDUpO1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cbi5jLXN1Ym5hdl9faXRlbS0tYmFjayB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xufVxuXG5cbi5jLXN1Ym5hdl9fbGluayB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0cGFkZGluZzogc3BhY2UoMSkgMDtcblx0Y29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnY29sb3InKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGNvbG9yIDI1MG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2hvdmVyLWNvbG9yJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGMtc3VibmF2LCAnYm9yZGVyLWNvbG9yJyk7XG5cblx0XHQuYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlICYge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2FjdGl2ZS1jb2xvcicpO1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdFx0fVxuXHR9XG59XG5cblxuLmMtc3VibmF2X19pY29uIHtcblx0b3BhY2l0eTogMDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXHRjb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdib3JkZXItY29sb3InKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCN7c3BhY2UoLTIpfSk7XG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLW91dDtcblxuXHQuYy1zdWJuYXZfX2xpbms6aG92ZXIgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnaG92ZXItY29sb3InKTtcblx0fVxufVxuXG5cbi8vIEFjdGl2ZSBzdGF0ZSBvZiB0aGUgc3VibmF2IGl0ZW1cbi5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUge1xuXHQuYy1zdWJuYXZfX2xpbmsge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2FjdGl2ZS1jb2xvcicpO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdhY3RpdmUtY29sb3InKTtcblx0XHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHRcdH1cblx0fVxuXG5cdC5jLXN1Ym5hdl9faWNvbiB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogVGV4dCBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy10ZXh0YnV0dG9uOiAoXG5cdCdjb2xvcic6XHRcdFx0cGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSxcblx0J2NvbG9yQWx0JzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogMS4gQ29sb3IgZ2V0cyBpbmhlcml0ZWQgYW5kIHVzZWQgZm9yIG5lc3RlZCBlbGVtZW50cyB3aXRoICdjdXJyZW50Q29sb3InIHByb3BlcnR5XG4gKiAyLiBSZXNldCBkZWZhdWx0IGJ1dHRvbiBzdHlsaW5nXG4gKi9cblxuLmMtdGV4dGJ1dHRvbiB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y29sb3I6IG1hcC1nZXQoJGMtdGV4dGJ1dHRvbiwgJ2NvbG9yJyk7IC8qIDEgKi9cblx0cGFkZGluZzogMDsgLyogMiAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xuXHRib3JkZXI6IG5vbmU7IC8qIDIgKi9cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0Y29sb3I6IHNjYWxlLWNvbG9yKG1hcC1nZXQoJGMtdGV4dGJ1dHRvbiwgJ2NvbG9yJyksICRsaWdodG5lc3M6IC00MCUpO1xuXHR9XG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR9XG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG4uYy10ZXh0YnV0dG9uX190ZXh0IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xufVxuXG4uYy10ZXh0YnV0dG9uX19pY29uIHtcblx0ZGlzcGxheTogbm9uZTsgLy8gQnkgZGVmYXVsdCBpY29uIGlzIGhpZGRlblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSgxKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cblx0LmMtdGV4dGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcblx0fVxuXG5cdC5jLXRleHRidXR0b24tLWljb24gJntcblx0XHRkaXNwbGF5OiBibG9jazsgLy8gU2hvdyB3aGVuIGhhcyBpY29uIG1vZGlmaWVyXG5cdH1cbn1cblxuLy8gQ2hhbmdlIGRpcmVjdGlvbiBvZiBpY29uIChhcnJvdylcbi5jLXRleHRidXR0b24tLWlzLXJldmVyc2VkIHtcblx0LmMtdGV4dGJ1dHRvbl9fdGV4dCB7IG9yZGVyOiAyO1x0fVxuXHQuYy10ZXh0YnV0dG9uX19pY29uIHtcblx0XHRvcmRlcjogMTtcblx0XHR0b3A6IDFweDtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xuXHR9XG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMC41dHVybikgdHJhbnNsYXRlWCgzcHgpO1xuXHR9XG59IiwiJGMtdG9nZ2xlLXRyYW5zaXRpb24tc3BlZWQ6IDI1MG1zO1xuJGMtdG9nZ2xlLXRyYW5zaXRpb24tZWFzZTogZWFzZS1pbi1vdXQ7XG4kYy10b2dnbGUtbGVmdC1wYWQ6IHNwYWNlKDEyKTtcbiRjLXRvZ2dsZS1yaWdodC1wYWQ6IHNwYWNlKDYpO1xuJGMtdG9nZ2xlLWhvdmVyLWNvbG9yOiBwYWxldHRlKHByaW1hcnksIDcwMCk7XG5cblxuLmMtdG9nZ2xlIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cblxuLmMtdG9nZ2xlX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0Ym9yZGVyOiAxcHggc29saWQgcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xufVxuXG5cbi5jLXRvZ2dsZV9fdGl0bGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctbGVmdDogJGMtdG9nZ2xlLWxlZnQtcGFkO1xuXG5cdCZbZGF0YS10b2dnbGUtaWRdIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cbn1cblxuXG4uYy10b2dnbGVfX2ljb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMThweDtcblx0bGVmdDogY2FsYygje2hhbHZlKCRjLXRvZ2dsZS1sZWZ0LXBhZCl9KTtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNTAwKTtcblx0Ym9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG5cblx0JiA+IHN2ZyB7XG5cdFx0d2lkdGg6IDEwcHg7XG5cdH1cblxuXHQmLnBsdXMgeyBkaXNwbGF5OiBmbGV4OyB9XG5cblx0LmMtdG9nZ2xlX190aXRsZS5pcy1hY3RpdmUgJiB7XG5cdFx0Ji5wbHVzIHsgZGlzcGxheTogbm9uZTsgfVxuXHRcdCYubWludXMgeyBkaXNwbGF5OiBmbGV4OyB9XG5cdH1cblxuXHQmLmNoZWNrIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGJvcmRlcjogbm9uZTtcblxuXHRcdCYgPiBzdmcge1xuXHRcdFx0d2lkdGg6IDI0cHg7XG5cdFx0fVxuXHR9XG5cblx0LmMtdG9nZ2xlX190aXRsZVtkYXRhLXRvZ2dsZS1pZF06bm90KC5pcy1hY3RpdmUpOmhvdmVyICYge1xuXHRcdGNvbG9yOiAkYy10b2dnbGUtaG92ZXItY29sb3I7XG5cdH1cbn1cblxuXG4uYy10b2dnbGVfX2xhYmVsIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiBzcGFjZSgyKSAwO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Y29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG5cdHRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG5cblx0LmMtdG9nZ2xlX190aXRsZVtkYXRhLXRvZ2dsZS1pZF06bm90KC5pcy1hY3RpdmUpOmhvdmVyICYge1xuXHRcdGNvbG9yOiAkYy10b2dnbGUtaG92ZXItY29sb3I7XG5cdH1cbn1cblxuXG4uYy10b2dnbGVfX2NvbnRlbnQge1xuXHRtYXgtaGVpZ2h0OiAwO1xuXHRvcGFjaXR5OiAwO1xuXHRwYWRkaW5nLWxlZnQ6ICRjLXRvZ2dsZS1sZWZ0LXBhZDtcblx0cGFkZGluZy1yaWdodDogJGMtdG9nZ2xlLXJpZ2h0LXBhZDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIE5lZWRlZCBzbyB3ZSBkb24ndCBjbGljayBvbiBpdCB3aGVuIGl0IGlzIGhpZGRlblxuXHR0cmFuc2l0aW9uOiBhbGwgJGMtdG9nZ2xlLXRyYW5zaXRpb24tc3BlZWQgJGMtdG9nZ2xlLXRyYW5zaXRpb24tZWFzZTtcblxuXHQuaXMtYWN0aXZlIH4gJiB7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDIpO1xuXHRcdG1heC1oZWlnaHQ6IDEwMDBweDtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFRyYWRlbWFya1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXRyYWRlbWFyazogKFxuXHQnbG9nby13aWR0aCc6XHRcdDEwMHB4XG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmMtdHJhZGVtYXJrIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIDtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG4uYy10cmFkZW1hcmtfX3RleHQge1xuXHRtYXJnaW4tcmlnaHQ6IDdweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmMtdHJhZGVtYXJrX19pY29uIHtcblx0d2lkdGg6IG1hcC1nZXQoJG8tdHJhZGVtYXJrLCAnbG9nby13aWR0aCcpO1xuXHRtYXgtaGVpZ2h0OiAzMnB4O1xuXHRvcGFjaXR5OiAuNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXG5cdC5jLXRyYWRlbWFyazpob3ZlciAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59IiwiLmMtdmFjYW5jeS1wcm9wZXJ0aWVzIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuXG4uYy12YWNhbmN5LXByb3BlcnRpZXNfX2l0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogY3VycmVudENvbG9yO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcblxuXHQmOm50aC1sYXN0LWNoaWxkKG4rMikge1xuXHRcdG1hcmdpbi1yaWdodDogc3BhY2UoNCk7XG5cdH1cbn1cblxuXG4uYy12YWNhbmN5LXByb3BlcnRpZXNfX2ljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xufSIsIi5jLXZpZGVve1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IC8vIEFzcGVjdCBSYXRpbzogMTY6OVxuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDIwMCk7XG59XG5cbi5jLXZpZGVvX19pZnJhbWV7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogT3JnYW5pc21zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQGltcG9ydCBcIm9yZ2FuaXNtcy5hY2NvcmRpb25cIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuYXBwbHlcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuYmxvY2tcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuYm9keVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jYWxsb3V0QmFyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNhcmQtZ3JpZFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jb250YWN0XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNvb2tpZUJhclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5kb3VibGVJbWFnZVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5kb3VibGVUZXh0XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmRvdWJsZVVzcFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5kb3dubG9hZHNcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZXZlbnRcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZXZlbnRzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmZvb3RlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5mb3JtXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmhlYWRlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5pbnRyb1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5sb2dvc1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5tYXBcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMubmV3c1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5vdmVybGF5TWVudVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5xdW90ZVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5yZWZlcmVuY2VzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnN1YmZvb3RlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50YWJzbGlkZXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudGVhbVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50aGFua3NcIjtcbi8vQGltcG9ydCBcIm9yZ2FuaXNtcy50b3AtYmFyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnVzcFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy52YWNhbmNpZXNcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudmFjYW5jeVwiO1xuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1hY2NvcmRpb246IChcblx0J2JvcmRlci13aWR0aCc6XHRcdFx0MXB4LFxuXHQnYm9yZGVyLWNvbG9yJzpcdFx0XHRwYWxldHRlKGJvcmRlciwgMzAwKSxcblx0J2hlYWRlci1jb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDAwKSxcblx0J2hvdmVyLWNvbG9yJzogXHRcdFx0cGFsZXR0ZShwcmltYXJ5LCA1MDApLFxuXHQnaWNvbi1jb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDAwKSxcblx0J2ljb24tYm9yZGVyLXNpemUnOiBcdDJweCxcblx0J2ljb24tc2l6ZSc6XHRcdFx0MjBweCxcblx0J2ljb24tc3RyaXBlLWhlaWdodCc6XHQycHgsXG5cdCdpY29uLXN0cmlwZS13aWR0aCc6ICBcdDEwcHgsXG5cdCd0cmFuc2l0aW9uLWR1cmF0aW9uJzpcdDQwMG1zLFxuXHQndHJhbnNpdGlvbi1lYXNpbmcnOlx0Y3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tYWNjb3JkaW9uIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuLm8tYWNjb3JkaW9uX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnYm9yZGVyLXdpZHRoJyk7XG5cdGJvcmRlci1jb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdib3JkZXItY29sb3InKTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblxuXHQmOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdH1cbn1cblxuLm8tYWNjb3JkaW9uX190aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZy10b3A6IHNwYWNlKDIpO1xuXHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgzKTtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDIpO1xuXHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDYpO1xuXHRjb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdoZWFkZXItY29sb3InKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsOCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cblxuXHQvLyBPbmx5IHNldCBob3ZlciBjb2xvciB3aGVuIG5vdCBhY3RpdmVcblx0Lm8tYWNjb3JkaW9uX19pdGVtOm5vdCguaXMtYWN0aXZlKSAmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdob3Zlci1jb2xvcicpO1xuXHR9XG59XG5cbi5vLWFjY29yZGlvbl9faWNvbiB7XG5cdGZsZXg6IDAgMCBhdXRvO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogYXV0bztcblx0bGVmdDogKHNwYWNlKDMpIC0gaGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSkpO1xuXHR3aWR0aDogbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKTtcblx0aGVpZ2h0OiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc2l6ZScpO1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Ym9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdGJvcmRlci13aWR0aDogbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLWJvcmRlci1zaXplJyk7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0bGVmdDogY2FsYygje2NvbHVtbigwLjUsIDgpfSAtICN7aGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKXtcblx0XHRsZWZ0OiBjYWxjKCN7Y29sdW1uKDAuNSwgMTIpfSAtICN7aGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSl9KTtcblx0fVxuXG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zdHJpcGUtaGVpZ2h0Jyk7XG5cdFx0d2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zdHJpcGUtd2lkdGgnKTtcblx0XHRsZWZ0OiBoYWx2ZShtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc2l6ZScpIC0gbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXN0cmlwZS13aWR0aCcpIC0gKGRvdWJsZShtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tYm9yZGVyLXNpemUnKSkpKTtcblx0XHR0b3A6IGNhbGMoNTAlIC0gI3toYWx2ZShtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tYm9yZGVyLXNpemUnKSl9KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zLCBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ3RyYW5zaXRpb24tZHVyYXRpb24nKTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSwgbWFwLWdldCgkby1hY2NvcmRpb24sICd0cmFuc2l0aW9uLWVhc2luZycpO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHQuby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlICYge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCkgcm90YXRlKDAuMjV0dXJuKTtcblx0XHR9XG5cdH1cblxuXHQmOjphZnRlciB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMC4yNXR1cm4pO1xuXG5cdFx0Lm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xuXHRcdH1cblx0fVxufVxuXG4uby1hY2NvcmRpb25fX2hlYWRlciB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuXHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0fVxufVxuXG4vKiBIaWRkZW4gYnkgZGVmYXVsdCovXG4uby1hY2NvcmRpb25fX2NvbnRlbnQge1xuXHRAaW5jbHVkZSBvd2wtY2hpbGRyZW47XG5cdG9wYWNpdHk6IDA7XG5cdG1heC1oZWlnaHQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmctbGVmdDogc3BhY2UoNik7XG5cdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDMpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcblx0Ly8gQ2xvc2UgYW5pbWF0aW9uXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsOCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cblxuXHQuby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0bWF4LWhlaWdodDogNDAwcHg7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDQpO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHQvLyBPcGVuIGFuaW1hdGlvbiAod2l0aCB0aGUgc2FtZSBkZWxheSBhcyBjbG9zZSBkdXJhdGlvbilcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkby1hY2NvcmRpb24sICd0cmFuc2l0aW9uLWR1cmF0aW9uJyk7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG5cdH1cbn0iLCIkby1hcHBseS1icDE6IDcwMDtcbiRvLWFwcGx5LWdhcDogc3BhY2UoNik7XG5cblxuLm8tYXBwbHkge1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQncGFkZGluZy10b3AnIDAuNSxcblx0XHQncGFkZGluZy1ib3R0b20nIDFcblx0KTtcbn1cblxuLm8tYXBwbHlfX2hlYWRpbmcge1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNik7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG59XG5cblxuLm8tYXBwbHlfX2JvZHkge1xuXHRAaW5jbHVkZSBtcSgkby1hcHBseS1icDEpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cblxuLm8tYXBwbHlfX2xlZnQge1xuXHRAaW5jbHVkZSBtcSgkby1hcHBseS1icDEpIHtcblx0XHR3aWR0aDogY2FsYygje2NvbHVtbig2LDEyKX0gKyAjeyRvLWFwcGx5LWdhcH0pO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRvLWFwcGx5LWdhcDtcblx0fVxufVxuXG5cbi5vLWFwcGx5X19yaWdodCB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xuXG5cdEBpbmNsdWRlIG1xKCRvLWFwcGx5LWJwMSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxufVxuXG5cbi5vLWFwcGx5X19yb3cge1xuXHRAaW5jbHVkZSBvd2woc3BhY2UoMikpO1xufVxuXG5cbi5vLWFwcGx5X19maWxldXBsb2FkIHtcblx0QGluY2x1ZGUgbXEoJG8tYXBwbHktYnAxKSB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG5cdH1cbn1cblxuXG4uby1hcHBseV9fZm9vdGVyIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0bWFyZ2luLXRvcDogc3BhY2UoNik7XG5cdHBhZGRpbmctdG9wOiBzcGFjZSg2KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uby1hcHBseV9fZmVlZGJhY2sge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcbn0iLCIuby1ibG9jayB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0J21hcmdpbi1ib3R0b20nIDFcblx0KTtcblxuXHQvLyBUb3AgbWFyZ2luIG9ubHkgb24gY29uc2VjdXRpdmUgYmxvY2tzXG5cdCYgKyAmIHtcblx0XHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHRcdFx0J21hcmdpbi10b3AnIDFcblx0XHQpO1xuXHR9XG59IiwiIC8qXG4gKiBXcmFwcGVyIG9mIHRoZSBtYWluIGJvZHlcbiAqIChiZXR3ZWVuIHRoZSBoZWFkZXIgYW5kIHRoZSBmb290ZXIpXG4gKi9cblxuXG4uby1ib2R5IHtcblx0QGluY2x1ZGUgeih6LWJvZHkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZsZXg6IDAgMCBhdXRvO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ2FsbG91dCBiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1jYWxsb3V0LWJhcjogKFxuXHQnY29sb3InOiAgXHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdiZ2NvbG9yJzogIFx0cGFsZXR0ZShwcmltYXJ5LCA3MDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tY2FsbG91dC1iYXIge1xuXHRAaW5jbHVkZSBoeXBoZW5hdGU7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLWNhbGxvdXQtYmFyLCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1jYWxsb3V0LWJhciwgJ2JnY29sb3InKTtcbiAgXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cblxuLm8tY2FsbG91dC1iYXJfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuICAgIEBpbmNsdWRlIHZzcGFjaW5nKFxuICAgICAgICAncGFkZGluZy10b3AnIDEsXG4gICAgICAgICdwYWRkaW5nLWJvdHRvbScgMVxuICAgICk7XG5cblx0Ly8gVmVydGljYWwgc3BhY2luZyBmb3IgZWxlbWVudHMgdGhhdCBwcm9jZWVkIGFub3RoZXIgZWxlbWVudFxuXHQmID4gKiArICoge1xuXHRcdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0J21hcmdpbi10b3AnIDAuNVxuXHRcdCk7XG5cdH1cbn1cblxuXG4uby1jYWxsb3V0LWJhcl9fYm9keSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG4uby1jYWxsb3V0LWJhcl9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eGwpO1xufSIsIi8qXG4gKiBDYXJkIGdyaWRcbiAqXG4gKi9cblxuJG8tY2FyZC1ncmlkLWl0ZW1zLW06ICAgMjsgLy8gTnVtYmVyIG9mIGNhcmRzIHdoZW4gaW4gbWVkaXVtIHZpZXdwb3J0XG4kby1jYXJkLWdyaWQtaXRlbXMtbDogICAzOyAvLyBOdW1iZXIgb2YgY2FyZHMgd2hlbiBpbiBsYXJnZSB2aWV3cG9ydFxuJG8tY2FyZC1ncmlkLW0tYnA6ICAgICAgNjAwOyAvLyBDdXN0b20gYnJlYWtwb2ludCB3aGVuIHN3aXRjaGluZyBmcm9tIHN0YWNrZWQgY2FyZHMgdG8gcm93c1xuJG8tY2FyZC1ncmlkLXNwYWNpbmc6ICAgc3BhY2UoNCk7XG5cbiRvLWNhcmQtZ3JpZC1zaXplLW06ICAgIHBlcmNlbnRhZ2UoMS8kby1jYXJkLWdyaWQtaXRlbXMtbSk7XG4kby1jYXJkLWdyaWQtc2l6ZS1sOiAgICBwZXJjZW50YWdlKDEvJG8tY2FyZC1ncmlkLWl0ZW1zLWwpO1xuXG5cblxuLm8tY2FyZC1ncmlkX19tYWluIHtcbiAgQGluY2x1ZGUgbXEoJG8tY2FyZC1ncmlkLW0tYnApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuXG4uby1jYXJkLWdyaWRfX2l0ZW0ge1xuXG4gIC8vIENyZWF0ZSBuaWNlIHZlcnRpY2FsIHNwYWNpbmcgb24gbW9iaWxlXG4gIEBpbmNsdWRlIG1xKCRtYXg6ICRvLWNhcmQtZ3JpZC1tLWJwKXtcbiAgICAmICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBzcGFjZSg0KTtcbiAgICB9XG4gIH1cblxuICAvLyBTaW5nbGUgY29sdW1uIChzdGFja2VkKVxuICBAaW5jbHVkZSBtcSgkbWF4OiAkby1jYXJkLWdyaWQtbS1icCkge1xuICAgIG1heC13aWR0aDogMzQ0cHg7IC8vIGNvbnN0cmFpbiB0aGUgd2lkdGggb2YgdGhlIGNhcmQgaW5zaWRlXG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAvLyBUd28gY29sdW1uc1xuICBAaW5jbHVkZSBtcSgkby1jYXJkLWdyaWQtbS1icCwgJG1heDogbCkge1xuICAgIGZsZXg6IDA7XG4gICAgLy8gV2UgY2FsY3VsYXRlIHRoZSBzaXplIG9mIHRoZSBpdGVtIGJhc2VkIG9uIHRoZSBzZXR0aW5ncyBhbmQgcHV0IGl0IGluIGEgbG9uZ2hhbmQgZmxleCB2YWx1ZSBiZWNhdXNlIG9mIElFIHN1cHBvcnRcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCN7JG8tY2FyZC1ncmlkLXNpemUtbX0gLSAoKCN7JG8tY2FyZC1ncmlkLWl0ZW1zLW19IC0gMSkgLyAjeyRvLWNhcmQtZ3JpZC1pdGVtcy1tfSAqICN7JG8tY2FyZC1ncmlkLXNwYWNpbmd9KSk7XG4gICAgbWFyZ2luLWxlZnQ6ICN7JG8tY2FyZC1ncmlkLXNwYWNpbmd9O1xuXG4gICAgJjpudGgtY2hpbGQoI3skby1jYXJkLWdyaWQtaXRlbXMtbX1uICsgMSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQobiArICN7JG8tY2FyZC1ncmlkLWl0ZW1zLW0gKyAxfSkge1xuICAgICAgbWFyZ2luLXRvcDogI3skby1jYXJkLWdyaWQtc3BhY2luZ307XG4gICAgfVxuICB9XG5cbiAgLy8gRm91ciBjb2x1bW5zXG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICBmbGV4OiAwO1xuICAgIC8vIFdlIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgaXRlbSBiYXNlZCBvbiB0aGUgc2V0dGluZ3MgYW5kIHB1dCBpdCBpbiBhIGxvbmdoYW5kIGZsZXggdmFsdWUgYmVjYXVzZSBvZiBJRSBzdXBwb3J0XG4gICAgZmxleC1iYXNpczogY2FsYygjeyRvLWNhcmQtZ3JpZC1zaXplLWx9IC0gKCgjeyRvLWNhcmQtZ3JpZC1pdGVtcy1sfSAtIDEpIC8gI3skby1jYXJkLWdyaWQtaXRlbXMtbH0gKiAjeyRvLWNhcmQtZ3JpZC1zcGFjaW5nfSkpO1xuICAgIG1hcmdpbi1sZWZ0OiAjeyRvLWNhcmQtZ3JpZC1zcGFjaW5nfTtcblxuICAgICY6bnRoLWNoaWxkKCN7JG8tY2FyZC1ncmlkLWl0ZW1zLWx9biArIDEpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG4gKyAjeyRvLWNhcmQtZ3JpZC1pdGVtcy1sICsgMX0pIHtcbiAgICAgIG1hcmdpbi10b3A6ICRvLWNhcmQtZ3JpZC1zcGFjaW5nO1xuICAgIH1cbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ29udGFjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLWNvbnRhY3Q6IChcblx0J2JnY29sb3ItZm9ybSc6XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwKSxcblx0J2JwLWxhcmdlJzpcdFx0XHQxMDQwXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm8tY29udGFjdCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtcShtYXAtZ2V0KCRvLWNvbnRhY3QsICdicC1sYXJnZScpKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHR3aWR0aDogY2FsYygoMTAwJSAvICN7JHNpdGUtY29sdW1ucy1sICsgMn0pICogI3skc2l0ZS1jb2x1bW5zLWx9KTtcblx0XHRtYXgtd2lkdGg6ICN7JHNpdGUtbWF4LXdpZHRofXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxufVxuXG5cbi5vLWNvbnRhY3RfX2luZm8ge1xuXHRAaW5jbHVkZSBndXR0ZXJQYWRkaW5nKG0pO1xuXHRAaW5jbHVkZSBndXR0ZXJQYWRkaW5nKGwpO1xuXHRwYWRkaW5nLXRvcDogc3BhY2UoNCk7XG5cdHBhZGRpbmctbGVmdDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRwYWRkaW5nLXJpZ2h0OiAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cblxuXHRAaW5jbHVkZSBtcShtYXAtZ2V0KCRvLWNvbnRhY3QsICdicC1sYXJnZScpKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LDEyKTtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNik7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDYpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDEpO1xuXHR9XG59XG5cbi5vLWNvbnRhY3RfX2Zvcm0ge1xuXHRAaW5jbHVkZSBndXR0ZXJQYWRkaW5nKG0pO1xuXHRAaW5jbHVkZSBndXR0ZXJQYWRkaW5nKGwpO1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcblx0cGFkZGluZzogc3BhY2UoNCkgJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWNvbnRhY3QsICdiZ2NvbG9yLWZvcm0nKTtcblxuXHRAaW5jbHVkZSBtcShtYXAtZ2V0KCRvLWNvbnRhY3QsICdicC1sYXJnZScpKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LDEyKTtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdHBhZGRpbmctdG9wOiBzcGFjZSg2KTtcblx0fVxufVxuXG4uby1jb250YWN0X19oZWFkZXIge1xuXHRAaW5jbHVkZSBoeXBoZW5hdGU7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eGwpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSg0KTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcbn1cblxuLm8tY29udGFjdF9fY2FyZCB7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDUpO1xufVxuXG4uby1jb250YWN0X19hZGRyZXNzIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMyk7XG59XG5cbi5vLWNvbnRhY3RfX251bWJlcnMge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENvb2tpZWJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLWNvb2tpZS1iYXI6IChcblx0J2JnY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDkwMCksXG5cdCdjb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG4pO1xuXG4uby1jb29raWUtYmFyIHtcblx0ei1pbmRleDogLTE7IC8vIG5vdCBzZWxlY3RhYmxlXG5cdGRpc3BsYXk6IG5vbmU7IC8vIGhpZGUgYnkgZGVmYXVsdFxuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0aGVpZ2h0OiAkc2l0ZS1jb29raWVCYXItaGVpZ2h0O1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1jb29raWUtYmFyLCAnYmdjb2xvcicpO1xuXHRvcGFjaXR5OiAxO1xuXHRib3gtc2hhZG93OiAwIC00cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAwLjZzO1xuXHR0cmFuc2Zvcm06IG5vbmU7XG5cblx0Ly8gV2hlbiBjb29raWVzIGFyZSBub3QgeWV0IGFjY2VwdGVkLCBzaG93IGNvb2tpZWJhclxuXHQmOm5vdCguaXMtYWNjZXB0ZWQpIHtcblx0XHRAaW5jbHVkZSB6KHotY29va2llKTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cblx0Ji5pcy10cmFuc2l0aW9uaW5nLW91dCB7XG5cdFx0ei1pbmRleDogLTE7IC8vIG5vdCBzZWxlY3RhYmxlXG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcblx0fVxufVxuXG4uby1jb29raWUtYmFyX19tYWluIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogMzc0KSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuXHR9XG59XG5cbi5vLWNvb2tpZS1iYXJfX3RleHQge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLWNvb2tpZS1iYXIsICdjb2xvcicpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IDM3NSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdH1cbn1cblxuLm8tY29va2llLWJhcl9fbGluayB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiByZ2JhKG1hcC1nZXQoJG8tY29va2llLWJhciwgJ2NvbG9yJyksIDAuNzUpO1xuXHR9XG59XG5cbi5vLWNvb2tpZS1iYXJfX2J1dHRvbiB7XG5cdGZsZXg6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSg1KTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXHR9XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBEb3VibGUgaW1hZ2UgaW4gMiBlcXVhbCBjb2x1bW5zXG4gKlxuICogVW50aWwgdmlld3BvcnQgaXMgd2lkZSBlbm91Z2ggdGhlIHBpY3R1cmVzIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kby1kb3VibGUtaW1hZ2UtYnAxOiAxMTAwO1xuXG4uby1kb3VibGUtaW1hZ2Uge1xuXHRtYXJnaW46IC0xcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXG5cdC8vIFNldCBzaWRlIGJ5IHNpZGUgZnJvbSBtZWRpdW0gdmlld3BvcnRzIGFuZCB1cFxuXHRAaW5jbHVkZSBtcSgkby1kb3VibGUtaW1hZ2UtYnAxKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDFweDtcblx0b3JkZXI6IDE7XG5cdG1pbi1oZWlnaHQ6IDM2MHB4OyAvLyBuZWVkZWQgZm9yIElFXG5cblx0QGluY2x1ZGUgbXEoJG8tZG91YmxlLWltYWdlLWJwMSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0fVxuXHR9XG59XG5cblxuLm8tZG91YmxlLWltYWdlX19pbWcge1xuXHRvYmplY3QtZml0OiBjb3ZlcjsgLy8gRmFsbGJhY2sgZm9yIElFIHZpYSBKUyBwb2x5ZmlsbCwgbWluLWhlaWdodCBjYW4gYmUgbmVlZGVkLi5cblx0bWF4LWhlaWdodDogODV2aDtcbn1cblxuXG4uby1kb3VibGUtaW1hZ2UtLWlzLXJldmVyc2VkIHtcblx0JiAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRvcmRlcjogMDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0fVxuXHR9XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBEb3VibGUgbGF5b3V0IGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBjb2x1bW5zIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5vLWRvdWJsZS10ZXh0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRoZWlnaHQ6IDEwMCU7IC8vIHN0cmV0Y2ggaXQgb3V0IGluIGl0cyBjb250YWluZXJcblxuXHQvLyBTZXQgc2lkZSBieSBzaWRlIGZyb20gbWVkaXVtIHZpZXdwb3J0cyBhbmQgdXBcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuXG4uby1kb3VibGUtdGV4dF9fY29sdW1uIHtcblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LCAxMik7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0XHR3aWR0aDogY29sdW1uKDUsIDgpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDgpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdFx0fVxuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHQvLyBDcmVhdGUgdmVydGljYWwgc3BhY2luZyBvbiBtb2JpbGVcblx0XHRAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0J21hcmdpbi10b3AnIDAuNVxuXHRcdCk7XG5cdFx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdFx0d2lkdGg6IGNvbHVtbigzLCA4KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEyKTtcblx0XHR9XG5cdH1cbn0iLCIkby1kb3VibGUtdXNwOiAoXG5cdCdiYWNrZ3JvdW5kLWNvbG9yJzogIFx0cGFsZXR0ZShwcmltYXJ5KSxcblx0J3RleHQtY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1kb3VibGUtdXNwIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbCkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tZG91YmxlLXVzcCwgJ2JhY2tncm91bmQtY29sb3InKTtcblx0fVxufVxuXG5cbi5vLWRvdWJsZS11c3BfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRwYWRkaW5nLXRvcDogc3BhY2UoNik7XG5cdHBhZGRpbmctYm90dG9tOiBzcGFjZSg2KTtcblxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cblxuLm8tZG91YmxlLXVzcF9fbGVmdCB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pe1xuXHRcdG1hcmdpbi1ib3R0b206IHNwYWNlKDYpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0d2lkdGg6IGNvbHVtbig3LCAxMik7XG5cdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEyKTtcblx0fVxufVxuXG4uby1kb3VibGUtdXNwX19yaWdodHtcblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0d2lkdGg6IGNvbHVtbig2LCAxMik7XG5cdH1cbn1cblxuLm8tZG91YmxlLXVzcF9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eGwpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgzKTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tZG91YmxlLXVzcCwgJ3RleHQtY29sb3InKTtcbn1cblxuXG4uby1kb3VibGUtdXNwX19saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMTZweDtcbn1cblxuXG4uby1kb3VibGUtdXNwX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDIpO1xuXHRjb2xvcjogbWFwLWdldCgkby1kb3VibGUtdXNwLCAndGV4dC1jb2xvcicpO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0JHdpZHRoOiAxNnB4O1xuXHRcdCRoZWlnaHQ6IDEycHg7XG5cblx0XHRjb250ZW50OicnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDVweDtcblx0XHRsZWZ0OiAtI3skd2lkdGh9O1xuXHRcdHdpZHRoOiAkd2lkdGg7XG5cdFx0aGVpZ2h0OiAkaGVpZ2h0O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aCAkaGVpZ2h0O1xuXHR9XG59IiwiLm8tZG93bmxvYWRzIHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbi5vLWRvd25sb2Fkcy0taXMtcmV2ZXJzZWQge1xuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG59XG5cbi5vLWRvd25sb2Fkc19fbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMSk7XG4gIHBhZGRpbmctdG9wOiBzcGFjZSg1KTtcbiAgcGFkZGluZy1ib3R0b206IHNwYWNlKDkpO1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJG1heDogbCkge1xuICAgIHBhZGRpbmctbGVmdDogY29sdW1uKDAuNSwgOCk7XG4gICAgcGFkZGluZy1yaWdodDogY29sdW1uKDAuNSwgOCk7XG4gIH1cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMSwgMTIpO1xuICB9XG5cbiAgLmMtaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uby1kb3dubG9hZHNfX3NlcnZpY2UtcG9pbnQge1xuXG4gIEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcbiAgICBtYXJnaW4tdG9wOiBzcGFjZSgxMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgbWFyZ2luLXRvcDogc3BhY2UoNSk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShtLCBsKSB7XG4gICAgd2lkdGg6IGNvbHVtbigzLCA4KVxuICB9XG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICB3aWR0aDogY29sdW1uKDUsIDEyKTtcbiAgfVxufSIsIiRvLWV2ZW50LWJwMTogMTAwMDtcbiRvLWV2ZW50LWJwMjogbDtcbiRvLWV2ZW50LXBhZGRpbmctdG9wLXNtYWxsOiBzcGFjZSg0KTtcbiRvLWV2ZW50LXBhZGRpbmctdG9wLWxhcmdlOiBzcGFjZSg2KTtcblxuXG5cblxuLm8tZXZlbnQge1xuXHRAaW5jbHVkZSB0ZW1wbGF0ZShkYXRhLCBmb3JtKTtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC1yb3ctZ2FwOiBzcGFjZSg4KTtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIGF1dG8pO1xuXHRncmlkLXRlbXBsYXRlLWFyZWFzOlxuXHRcdFwiZGF0YVwiXG5cdFx0XCJmb3JtXCI7XG5cblx0QGluY2x1ZGUgbXEoJG8tZXZlbnQtYnAxKSB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA2ZnIgNWZyO1xuXHRcdGdyaWQtcm93LWdhcDogMDtcblx0XHRncmlkLWNvbHVtbi1nYXA6IGNvbHVtbigxLDEyKTtcblx0XHRncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZvcm0gZGF0YVwiO1xuXHR9XG59XG5cblxuLm8tZXZlbnRfX2RhdGEge1xuXHRAaW5jbHVkZSBtcSgkby1ldmVudC1icDEpIHtcblx0XHRwYWRkaW5nLXRvcDogJG8tZXZlbnQtcGFkZGluZy10b3Atc21hbGw7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkby1ldmVudC1icDIpIHtcblx0XHRwYWRkaW5nLXRvcDogJG8tZXZlbnQtcGFkZGluZy10b3AtbGFyZ2U7XG5cdH1cbn1cblxuXG4uby1ldmVudF9fZm9ybSB7XG5cdHBhZGRpbmctdG9wOiAkby1ldmVudC1wYWRkaW5nLXRvcC1zbWFsbDtcblx0cGFkZGluZy1ib3R0b206ICRvLWV2ZW50LXBhZGRpbmctdG9wLXNtYWxsO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oLTEsMTIpO1xuXHRcdG1hcmdpbi1yaWdodDogY29sdW1uKC0xLDEyKTtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMSwxMik7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBzcGFjZSg2KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSg2KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKCRvLWV2ZW50LWJwMikge1xuXHRcdHBhZGRpbmctdG9wOiAkby1ldmVudC1wYWRkaW5nLXRvcC1sYXJnZTtcblx0XHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDEyKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgxMik7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDEwKTtcblx0fVxufVxuXG5cbi5vLWV2ZW50X19pbmZvLWxpc3Qge1xuXHQkZHQtd2lkdGg6IDExMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdG1hcmdpbjogMCAwIHNwYWNlKDgpO1xuXG5cdGR0IHtcblx0XHR3aWR0aDogJGR0LXdpZHRoO1xuXHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cblx0ZGQge1xuXHRcdEBpbmNsdWRlIGh5cGhlbmF0ZTtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gI3skZHQtd2lkdGh9KTtcblx0fVxufVxuXG5cbi5vLWV2ZW50X19oZWFkaW5nIHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNClcbn1cblxuXG4uby1ldmVudF9fc2VydmljZXBvaW50LWhlYWRpbmcge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg4KTtcbn0iLG51bGwsIi8qXG4gKiBFdmVudHNcbiAqXG4gKi9cblxuJG8tZXZlbnRzLXNwYWNpbmc6ICAgIHNwYWNlKDQpO1xuXG4kby1ldmVudHMtaXRlbXMtczogICAgMjtcbiRvLWV2ZW50cy1pdGVtcy1tOiAgICAzO1xuJG8tZXZlbnRzLWl0ZW1zLWw6ICAgIDQ7XG5cbiRvLWV2ZW50cy1yb3ctYnAtczogICA2MDA7XG4kby1ldmVudHMtcm93LWJwLW06ICAgOTAwO1xuJG8tZXZlbnRzLXJvdy1icC1sOiAgIDEyMDA7XG5cblxuLm8tZXZlbnRzX19tYWluIHtcbiAgQGluY2x1ZGUgbXEoJG8tZXZlbnRzLXJvdy1icC1zKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuLm8tZXZlbnRzX19pdGVtIHtcblxuICAvLyBDcmVhdGUgbmljZSB2ZXJ0aWNhbCBzcGFjaW5nIG9uIG1vYmlsZVxuICBAaW5jbHVkZSBtcSgkbWF4OiAkby1ldmVudHMtcm93LWJwLXMpe1xuICAgICYgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpbmdsZSBjb2x1bW4gKHN0YWNrZWQpXG4gIEBpbmNsdWRlIG1xKCRtYXg6ICRvLWV2ZW50cy1yb3ctYnAtcykge1xuICAgIG1heC13aWR0aDogMzQ0cHg7IC8vIGNvbnN0cmFpbiB0aGUgd2lkdGggb2YgdGhlIGNhcmQgaW5zaWRlXG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAvLyBUd28gY29sdW1uc1xuICBAaW5jbHVkZSBtcSgkby1ldmVudHMtcm93LWJwLXMsICRtYXg6ICRvLWV2ZW50cy1yb3ctYnAtbSkge1xuICAgIGZsZXg6IDA7XG4gICAgLy8gV2UgY2FsY3VsYXRlIHRoZSBzaXplIG9mIHRoZSBpdGVtIGJhc2VkIG9uIHRoZSBzZXR0aW5ncyBhbmQgcHV0IGl0IGluIGEgbG9uZ2hhbmQgZmxleCB2YWx1ZSBiZWNhdXNlIG9mIElFIHN1cHBvcnRcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLyRvLWV2ZW50cy1pdGVtcy1zKX0gLSAoKCN7JG8tZXZlbnRzLWl0ZW1zLXN9IC0gMSkgLyAjeyRvLWV2ZW50cy1pdGVtcy1zfSAqICN7JG8tZXZlbnRzLXNwYWNpbmd9KSk7XG4gICAgbWFyZ2luLWxlZnQ6ICN7JG8tZXZlbnRzLXNwYWNpbmd9O1xuXG4gICAgJjpudGgtY2hpbGQoI3skby1ldmVudHMtaXRlbXMtc31uICsgMSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQobiArICN7JG8tZXZlbnRzLWl0ZW1zLXMgKyAxfSkge1xuICAgICAgbWFyZ2luLXRvcDogI3skby1ldmVudHMtc3BhY2luZ307XG4gICAgfVxuICB9XG5cblxuICAvLyBUaHJlZSBjb2x1bW5zXG4gIEBpbmNsdWRlIG1xKCRvLWV2ZW50cy1yb3ctYnAtbSwgJG1heDogJG8tZXZlbnRzLXJvdy1icC1sKSB7XG4gICAgZmxleDogMDtcbiAgICAvLyBXZSBjYWxjdWxhdGUgdGhlIHNpemUgb2YgdGhlIGl0ZW0gYmFzZWQgb24gdGhlIHNldHRpbmdzIGFuZCBwdXQgaXQgaW4gYSBsb25naGFuZCBmbGV4IHZhbHVlIGJlY2F1c2Ugb2YgSUUgc3VwcG9ydFxuICAgIGZsZXgtYmFzaXM6IGNhbGMoI3twZXJjZW50YWdlKDEvJG8tZXZlbnRzLWl0ZW1zLW0pfSAtICgoI3skby1ldmVudHMtaXRlbXMtbX0gLSAxKSAvICN7JG8tZXZlbnRzLWl0ZW1zLW19ICogI3skby1ldmVudHMtc3BhY2luZ30pKTtcbiAgICBtYXJnaW4tbGVmdDogI3skby1ldmVudHMtc3BhY2luZ307XG5cbiAgICAmOm50aC1jaGlsZCgjeyRvLWV2ZW50cy1pdGVtcy1tfW4gKyAxKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChuICsgI3skby1ldmVudHMtaXRlbXMtbSArIDF9KSB7XG4gICAgICBtYXJnaW4tdG9wOiAjeyRvLWV2ZW50cy1zcGFjaW5nfTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIEZvdXIgY29sdW1uc1xuICBAaW5jbHVkZSBtcSgkby1ldmVudHMtcm93LWJwLWwpIHtcbiAgICBmbGV4OiAwO1xuICAgIC8vIFdlIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgaXRlbSBiYXNlZCBvbiB0aGUgc2V0dGluZ3MgYW5kIHB1dCBpdCBpbiBhIGxvbmdoYW5kIGZsZXggdmFsdWUgYmVjYXVzZSBvZiBJRSBzdXBwb3J0XG4gICAgZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS8kby1ldmVudHMtaXRlbXMtbCl9IC0gKCgjeyRvLWV2ZW50cy1pdGVtcy1sfSAtIDEpIC8gI3skby1ldmVudHMtaXRlbXMtbH0gKiAjeyRvLWV2ZW50cy1zcGFjaW5nfSkpO1xuICAgIG1hcmdpbi1sZWZ0OiAjeyRvLWV2ZW50cy1zcGFjaW5nfTtcblxuICAgICY6bnRoLWNoaWxkKCN7JG8tZXZlbnRzLWl0ZW1zLWx9biArIDEpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG4gKyAjeyRvLWV2ZW50cy1pdGVtcy1sICsgMX0pIHtcbiAgICAgIG1hcmdpbi10b3A6ICRvLWV2ZW50cy1zcGFjaW5nO1xuICAgIH1cbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tZm9vdGVyOiAoXG5cdCdiZ0NvbG9yJzogIFx0cGFsZXR0ZShwcmltYXJ5LCA1MDApLFxuXHQndGV4dENvbG9yJzogIFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2xvZ29IZWlnaHQnOiAgXHQ0OHB4LFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tZm9vdGVyIHtcblx0QGluY2x1ZGUgeih6LWZvb3Rlcik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLWZvb3RlciwgJ3RleHRDb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWZvb3RlciwgJ2JnQ29sb3InKTtcblx0ZmxleDogMSAwIGF1dG87XG59XG5cblxuLm8tZm9vdGVyX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0J3BhZGRpbmctdG9wJyAwLjUsXG5cdFx0J3BhZGRpbmctYm90dG9tJyAwLjVcblx0KTtcbn1cblxuXG4uby1mb290ZXJfX2NvbHVtbnMge1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi5vLWZvb3Rlcl9fYnJhbmQge1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQnbWFyZ2luLWJvdHRvbScgMC4zM1xuXHQpO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xuXG5cdCY6aG92ZXIge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxufVxuXG5cbi5vLWZvb3Rlcl9fbG9nbyB7XG5cdGhlaWdodDogbWFwLWdldCgkby1mb290ZXIsICdsb2dvSGVpZ2h0Jyk7XG59XG5cblxuLy8gTGVmdCBjb2x1bW5cbi5vLWZvb3Rlcl9faW5mbyB7XG5cdEBpbmNsdWRlIG93bC1jaGlsZHJlbihzcGFjZSg0KSk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNCwgMTApO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDUsIDEyKTtcblx0fVxufVxuXG5cbi8vIFJpZ2h0IGNvbHVtblxuLm8tZm9vdGVyX19uYXYge1xuXHRAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdCdtYXJnaW4tdG9wJyAwLjVcblx0KTtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwgMTApO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsIDEyKTtcblx0fVxufVxuXG4uby1mb290ZXJfX2xpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG59XG5cblxuLm8tZm9vdGVyX19saW5rIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDA7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLWZvb3RlciwgJ3RleHRDb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQmOjpiZWZvcmUge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMocyk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiBzcGFjZSgtMSk7XG5cdFx0cmlnaHQ6IHNwYWNlKC0xKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGludmVydChtYXAtZ2V0KCRvLWZvb3RlciwgJ3RleHRDb2xvcicpKSwgMC4xKTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG5cbi5vLWZvb3Rlcl9fc29jaWFsIHtcblx0ZGlzcGxheTogZmxleDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiBzcGFjZSg0KSAwIDA7XG59XG5cblxuLm8tZm9vdGVyX19jaGFubmVsIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG59XG5cblxuLm8tZm9vdGVyX19pY29uIHtcblx0ZmxleDogYXV0bztcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuXG5cdC5mYWNlYm9vayAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9mYWNlYm9vay5zdmdcIik7XG5cdFx0aGVpZ2h0OiAyMXB4O1xuXHR9XG5cdC5pbnN0YWdyYW0gJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvaW5zdGFncmFtLnN2Z1wiKTtcblx0fVxuXHQudHdpdHRlciAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC90d2l0dGVyLnN2Z1wiKTtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdH1cblx0LmxpbmtlZGluICYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2xpbmtlZGluLnN2Z1wiKTtcblx0XHRoZWlnaHQ6IDE4cHg7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG59IiwiLm8tZm9ybSB7fVxuXG4uby1mb3JtX19oZWFkZXIge1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSg1KTtcbn1cblxuLm8tZm9ybV9fYm9keSB7fVxuXG4uby1mb3JtX19mb290ZXIge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcbn1cblxuLm8tZm9ybV9fcm93IHtcblx0JiArICYge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdH1cbn1cblxuLy8gQSBoaWRkZW4gd3JhcHBlciBmb3IgaG9uZXkgcG90IHN0dWZmXG4uby1mb3JtX19wb3Qge1xuXHRvcGFjaXR5OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0aGVpZ2h0OiAwO1xuXHR3aWR0aDogMDtcblx0ei1pbmRleDogLTE7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBIZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKlxuXHRDb2xvcnMgZ2V0IGRlZmluZWQgaW4gX3NldHRpbmdzLmNvbmZpZy5zY3NzXG4qL1xuXG4uby1oZWFkZXIge1xuXHRAaW5jbHVkZSB6KHotaGVhZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICdiZ0NvbG9yJyk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogc3BhY2UoMikgMDtcblxuXHQmLmlzLXN0aWNreSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0ei1pbmRleDogNTA7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZy10b3A6IHNwYWNlKDIpO1xuXHRcdHBhZGRpbmctYm90dG9tOiBzcGFjZSgyKTtcblx0XHRib3gtc2hhZG93OiAwIC01cHggMzBweCBibGFjaztcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcywgMzAwbXM7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG5cblx0XHRAaW5jbHVkZSBtcSgkYnAtaGVhZGVyLWxhcmdlKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC5pcy1zdGlja3ktaGVhZGVyLXZpc2libGUgJiB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMHM7XG5cdFx0fVxuXHR9XG59XG5cbi5vLWhlYWRlcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uby1oZWFkZXJfX25hdiB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoNik7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLm8taGVhZGVyX19sYW5ndWFnZSB7XG5cdGZsZXg6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiAkYnAtaGVhZGVyLWxhcmdlKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cbn1cblxuLm8taGVhZGVyX19sb2dvIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0ZmxleDogbm9uZTtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuLm8taGVhZGVyX19pbWcge1xuXHRoZWlnaHQ6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAnbG9nby1oZWlnaHQnKTtcbn1cblxuLm8taGVhZGVyX190b2dnbGUge1xuXHRAaW5jbHVkZSBtcSgkYnAtaGVhZGVyLWxhcmdlKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSW50cm9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLWludHJvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWludHJvLCAnYmdDb2xvcicpO1xuXG5cdC8vIFdoZW4gaW50cm8gaXMgZGFya2VyIHRoZW4gYm9keSB3ZSBuZWVkIHRvIGFkZCBleHRyYSBtYXJnaW5cblx0QGlmIG1hcC1nZXQoJHNpdGUtaW50cm8sICdpc0RhcmsnKXtcblx0XHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHRcdCdtYXJnaW4tYm90dG9tJyAxXG5cdFx0KTtcblx0fVxufVxuXG5cbi5vLWludHJvX19ib2R5IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdtYXJnaW4tYm90dG9tJyAxXG5cdCk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdC5vLWludHJvLS1tb2JpbGUtYnJlYWstb3V0ICYge1xuXHRcdFx0d2lkdGg6IDEwMHZ3O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ei1pbmRleDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdiYXJDb2xvcicpO1xuXG5cdFx0XHQuby1pbnRyby0tYm90dG9tLWJhci1oaWRkZW4gJiB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLm8taW50cm9fX2NvbnRlbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAjeyRzaXRlLWNvbHVtbnMtbCArIDJ9KSAqICN7JHNpdGUtY29sdW1ucy1sfSk7XG5cdFx0bWF4LXdpZHRoOiAjeyRzaXRlLW1heC13aWR0aH1weDtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cbn1cblxuXG4uby1pbnRyb19fbmF2LFxuLm8taW50cm9fX2ltYWdlIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdG9yZGVyOiAtMTtcblx0XHR3aWR0aDogY29sdW1uKDUsMTIpO1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LDEyKTtcblx0fVxufVxuXG5cbi5vLWludHJvX19uYXYge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWludHJvLCAnc3VibmF2QmdDb2xvcicpO1xuXHRwYWRkaW5nOiBzcGFjZSg0KSAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHBhZGRpbmc6IHNwYWNlKDEwKSBjb2x1bW4oMC41LDEyKTtcblx0XHRwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UoMSAvICg4ICsgMikpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHBhZGRpbmctbGVmdDogcGVyY2VudGFnZSgxIC8gKDEwICsgMikpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHBlcmNlbnRhZ2UoMSAvICgxMCArIDIpKTtcblx0fVxufVxuXG5cbi5vLWludHJvX190ZXh0IHtcblx0cGFkZGluZy10b3A6IHNwYWNlKDQpO1xuXHRwYWRkaW5nLWxlZnQ6ICRzaXRlLWd1dHRlci13aWR0aDtcblx0cGFkZGluZy1yaWdodDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDcsMTIpO1xuXHRcdHBhZGRpbmc6IHNwYWNlKDEwKSBjb2x1bW4oMSwxMik7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LDEyKTtcblx0fVxufVxuXG5cbi5vLWludHJvX190aXRsZSxcbi5vLWludHJvX19oZWFkaW5nIHtcblx0Y29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdjb2xvcicpICFpbXBvcnRhbnQ7XG59XG5cblxuLm8taW50cm9fX2J1dHRvbiB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRzaXRlLWludHJvLCAnbGlua0NvbG9yJykgIWltcG9ydGFudDtcbn0iLCIkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWM6IDIuMzgydnc7XG4kby1sb2dvcy1zcGFjaW5nLWZpeGVkOiBcdHNwYWNlKDQpO1xuXG4uby1sb2dvcyB7fVxuXG4uby1sb2dvc19fbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0bWFyZ2luLWxlZnQ6IDA7IC8vIHJlc2V0XG5cdG1hcmdpbjogLSN7JG8tbG9nb3Mtc3BhY2luZy1keW5hbWljfTtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG5cdEBpbmNsdWRlIG1xKCRicC1tYXgpe1xuXHRcdG1hcmdpbjogLSN7JG8tbG9nb3Mtc3BhY2luZy1maXhlZH07XG5cdH1cbn1cblxuLm8tbG9nb3NfX2l0ZW0ge1xuXHRmbGV4OiAwIDEgMTAwJTtcblx0bWFyZ2luOiAkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWM7XG5cblx0QGluY2x1ZGUgbXEocyl7XG5cdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS8yKX0gLSAje2RvdWJsZSgkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWMpfSk7XG5cdH1cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS8zKX0gLSAje2RvdWJsZSgkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWMpfSk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS80KX0gLSAje2RvdWJsZSgkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWMpfSk7XG5cdH1cblx0QGluY2x1ZGUgbXEoJGJwLW1heCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS80KX0gLSAje2RvdWJsZSgkby1sb2dvcy1zcGFjaW5nLWZpeGVkKX0pO1xuXHRcdG1hcmdpbjogJG8tbG9nb3Mtc3BhY2luZy1maXhlZDtcblx0fVxufVxuXG4uby1sb2dvc19fbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uby1sb2dvc19faW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAxMDAlOyAvLyBBc3BlY3QgcmF0aW9cblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59IiwiLm8tbWFwIHtcblxuXHQvLyBSZXNldCBzb21lIHN0eWxpbmcgZm9yIGdvb2dsZSBtYXBzXG5cdGEge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IE5ld3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyRvLW5ld3M6IChcbi8vXHQnaG92ZXItYmdjb2xvcic6ICBcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDApLFxuLy9cdCd0ZXh0LWNvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuLy8pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1uZXdzIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuLm8tbmV3c19faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eGwpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xufVxuXG4uby1uZXdzX19hcnRpY2xlIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDQpKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uby1uZXdzX19saW5rIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zIGxpbmVhcjtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgcGFsZXR0ZShib3JkZXIsIDMwMCk7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG5cdH1cblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdH1cbn1cblxuLm8tbmV3c19fYm9keSB7XG5cdGZsZXgtZ3JvdzogMTtcblx0cGFkZGluZzogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRvcmRlcjogMTtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNik7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDYpO1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsOCk7XG5cdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsOCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cbn1cblxuLm8tbmV3c19faW1hZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogNTUlO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRmbGV4OiBub25lO1xuXHRcdG9yZGVyOiAyO1xuXHRcdHdpZHRoOiBjb2x1bW4oMiw4KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogY29sdW1uKDIsOCk7XG5cdH1cbn1cblxuLm8tbmV3c19fYmctaW1hZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdHRvcDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRyaWdodDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHR3aWR0aDogY2FsYygxMDAlIC0gI3tkb3VibGUoJHNpdGUtZ3V0dGVyLXdpZHRoKX0pO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JHNpdGUtZ3V0dGVyLXdpZHRofSk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHRvcDogc3BhY2UoMSk7XG5cdFx0cmlnaHQ6IHNwYWNlKDEpO1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdH1cbn1cblxuXG4vLyBCb2R5IGNvbnRlbnQ6XG4uby1uZXdzX19pbnRybyB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xufVxuXG4uby1uZXdzX190aW1lc3RhbXAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG59XG5cbi5vLW5ld3NfX2FjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG5cdGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xufVxuXG4uby1uZXdzX19yZWFkbW9yZSB7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG59XG5cbi5vLW5ld3NfX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBPdmVybGF5IG1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1vdmVybGF5LW1lbnU6IChcblx0J2JnY29sb3InOiAgICAgICAgICBwYWxldHRlKHByaW1hcnksIDUwMCksXG5cdCdjb2xvcic6ICAgICAgICAgICAgcGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2hvdmVyLWNvbG9yJzogICAgICByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMCksIDAuNyksXG5cdCdzaGFkZXItY29sb3InOiAgICAgcmdiYSgwLCAwLCAwLCAwLjYpLFxuXHQnbW92ZS1zcGVlZCc6ICAgICAgIDQwMG1zLFxuXHQnb3BhY2l0eS1zcGVlZCc6ICAgIDIwMG1zLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tb3ZlcmxheS1tZW51IHtcblx0QGluY2x1ZGUgeih6LW92ZXJsYXktbWVudSk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG9wYWNpdHk6IDA7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2JnY29sb3InKTtcblxuXHQvLyBXaGVuIGl0IGRpc2FwcGVhcnMgb3V0IG9mIHZpZXdcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMjB2dyk7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdtb3ZlLXNwZWVkJyksIG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnb3BhY2l0eS1zcGVlZCcpO1xuXHR0cmFuc2l0aW9uLWRlbGF5OiAwcywgbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdtb3ZlLXNwZWVkJyk7XG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLjE1LCAwLjEsIDEpLCBsaW5lYXI7XG5cblx0Ly8gV2hlbiBpdCBjb21lcyBpbnRvIHZpZXdcblx0LmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdvcGFjaXR5LXNwZWVkJyksIDBzO1xuXHR9XG5cblx0Ly8gU2hhZGVyXG5cdCY6OmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogLTEyMHZ3O1xuXHRcdHdpZHRoOiAxMjB2dztcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdzaGFkZXItY29sb3InKTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdvcGFjaXR5LXNwZWVkJyk7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdtb3ZlLXNwZWVkJyk7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblxuXHRcdC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdH1cblx0fVxuXG5cdC8vIERpYWdvbmFsIHNoYXBlIG9uIHRoZSByaWdodFxuXHQmOjphZnRlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogLTIwJTtcblx0XHR3aWR0aDogMjAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTg2ZGVnLCB0cmFuc3BhcmVudCA1MCUsIG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnYmdjb2xvcicpIDUwJSk7XG5cdH1cblxuXHQvLyBIaWRlIG92ZXJsYXkgbWVudSBvbiBsYXJnZXIgdmlld3BvcnRzXG5cdEBpbmNsdWRlIG1xKCRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19iYXIge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiBzcGFjZSg0KTtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDQpO1xufVxuXG5cbi5vLW92ZXJsYXktbWVudV9faW1nIHtcblx0aGVpZ2h0OiBzcGFjZSg2KTtcbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX3RvZ2dsZSB7XG5cdHRyYW5zZm9ybTogcm90YXRlKC0wLjV0dXJuKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zIGVhc2Utb3V0O1xuXHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblxuXHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdH1cbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cbi5vLW92ZXJsYXktbWVudV9faXRlbSB7XG5cdHBhZGRpbmc6IHNwYWNlKDEpIGNvbHVtbigxLDE0KTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEobWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdjb2xvcicpLCAwLjMpO1xufVxuXG5cbi5vLW92ZXJsYXktbWVudV9fbGluayB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb2xvcjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdjb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2hvdmVyLWNvbG9yJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLW9mZnNldDogMnB4O1xuXHRcdG91dGxpbmUtY29sb3I6IHJnYmEobWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdjb2xvcicpLCAwLjMpO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHQgICAgY29udGVudDogJ1xcMjc5NCc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICAgIHRvcDogNnB4O1xuXHRcdCAgICBsZWZ0OiAtMS4yNWVtO1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdH1cblx0fVxufSIsIi5vLXF1b3RlIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuLm8tcXVvdGUge1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG4uby1xdW90ZV9fYm9keSB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDQsOCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0XHR3aWR0aDogY29sdW1uKDgsMTIpO1xuXHR9XG59XG5cbi5vLXF1b3RlX19waWN0dXJlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oMyw4KTtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsOCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNCwxMik7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0XHRtYXJnaW4tcmlnaHQ6IGNvbHVtbigxLDEyKTtcblx0fVxufVxuXG4uby1xdW90ZV9faW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4uby1xdW90ZV9fdGV4dCB7XG5cdEBpbmNsdWRlIGZvbnQobSk7XG5cdHF1b3RlczogJ1xcMjAxYycgJ1xcMjAxZCc7XG5cblx0Jjo6YmVmb3JlIHsgY29udGVudDogb3Blbi1xdW90ZTsgfVxuXHQmOjphZnRlciAgeyBjb250ZW50OiBjbG9zZS1xdW90ZTsgfVxufVxuXG4uby1xdW90ZV9fYXV0aG9yIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMyk7XG5cdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMC41LCA2KTtcbn1cblxuLm8tcXVvdGVfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KGJhc2UpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xufVxuXG4uby1xdW90ZV9fc3ViaGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQocyk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBSZWZlcmVuY2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tcmVmZXJlbmNlczogKFxuXHQnZ2FwJzpcdFx0XHRcdHNwYWNlKDQpLFxuXHQncGFkZGluZyc6XHRcdFx0c3BhY2UoMyksXG5cdCdib3JkZXItc2l6ZSc6XHRcdDBweCxcblx0J2JvcmRlci1jb2xvcicgOlx0cGFsZXR0ZShib3JkZXIsIDMwMCksXG5cdCdiZ2NvbG9yJyA6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2NvbG9yJyA6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA1MDApLFxuXHQnY29sb3JTdWInIDpcdFx0cGFsZXR0ZShuZXV0cmFsLCA0MDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vLXJlZmVyZW5jZXMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdG1hcmdpbjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnZ2FwJykgKiAtMTtcbn1cblxuLm8tcmVmZXJlbmNlc19faXRlbSB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMocyk7XG5cdGZsZXg6IDAgMSAxMDAlO1xuXHRtYXJnaW46IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2dhcCcpO1xuXHRwYWRkaW5nLXRvcDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xuXHRwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdiZ2NvbG9yJyk7XG5cdGJvcmRlcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnYm9yZGVyLXNpemUnKSBzb2xpZCBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdib3JkZXItY29sb3InKTtcblx0Ym94LXNoYWRvdzpcblx0XHQwIDIuNHB4IDM5LjRweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDI0KSxcblx0XHQwIDYuOHB4IDQ1LjVweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDM1KSxcblx0XHQwIDE2LjNweCA1MS40cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjA0NiksXG5cdFx0MCA1NHB4IDgwcHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcblxuXG5cdEBpbmNsdWRlIG1xKDgwMCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYyg1MCUgLSAje2RvdWJsZShtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdnYXAnKSl9IC0gI3tkb3VibGUobWFwLWdldCgkby1yZWZlcmVuY2VzLCAnYm9yZGVyLXNpemUnKSl9KTtcblx0fVxufVxuXG4uby1yZWZlcmVuY2VzX19ib2R5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0bWFyZ2luLXRvcDogMDtcblx0cGFkZGluZy1yaWdodDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xufVxuXG4uby1yZWZlcmVuY2VzX19waWN0dXJlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZsZXgtZ3JvdzogMTtcblx0ZmxleC1iYXNpczogMjUlO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgzKTtcblx0bWFyZ2luLWxlZnQ6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ3BhZGRpbmcnKTtcbn1cblxuLm8tcmVmZXJlbmNlc19fY29udGVudCB7XG5cdGZsZXgtZ3JvdzogOTk5OTtcblx0ZmxleC1iYXNpczogMThlbTtcblx0bWFyZ2luLWxlZnQ6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ3BhZGRpbmcnKTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2NvbG9yJyk7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2F1dGhvciB7XG5cdG1hcmdpbi10b3A6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ3BhZGRpbmcnKTtcbn1cblxuLm8tcmVmZXJlbmNlc19faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2NvbG9yJyk7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3N1YmhlYWRpbmcge1xuXHRjb2xvcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnY29sb3JTdWInKTtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFN1YiBGb290ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1zdWJmb290ZXI6IChcblx0J2JnY29sb3InOiAgXHRcdFx0cGFsZXR0ZShwcmltYXJ5LCA3MDApLFxuXHQnY29sb3InOiAgXHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnY29sb3ItaG92ZXInOiAgXHRcdG1peChwYWxldHRlKHByaW1hcnksIDUwMCksIHdoaXRlLCAzMyUpLFxuXHQnc3BhY2luZy1ob3Jpem9udGFsJzpcdHNwYWNlKDQpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tc3ViZm9vdGVyIHtcblx0QGluY2x1ZGUgeih6LXN1YmZvb3Rlcik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tc3ViZm9vdGVyLCAnYmdjb2xvcicpO1xuXHRwYWRkaW5nLWJvdHRvbTogJHNpdGUtY29va2llQmFyLWhlaWdodDtcblx0dHJhbnNpdGlvbjogcGFkZGluZyAwLjZzO1xuXG5cdC5pcy1jb29raWVzLWFjY2VwdGVkICYge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG59XG5cblxuLm8tc3ViZm9vdGVyX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiBzcGFjZSgxKTtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDEpO1xufVxuXG5cbi5vLXN1YmZvb3Rlcl9fY29weXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuICBcdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuICBcdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xuXHRtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJG8tc3ViZm9vdGVyLCAnc3BhY2luZy1ob3Jpem9udGFsJyk7XG59XG5cblxuLm8tc3ViZm9vdGVyX19uYXYge1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbn1cblxuXG4uby1zdWJmb290ZXJfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0bWFyZ2luOiAwO1xufVxuXG5cbi5vLXN1YmZvb3Rlcl9faXRlbSB7XG5cdG1hcmdpbi1yaWdodDogbWFwLWdldCgkby1zdWJmb290ZXIsICdzcGFjaW5nLWhvcml6b250YWwnKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG4uby1zdWJmb290ZXJfX2xpbmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRjb2xvcjogbWFwLWdldCgkby1zdWJmb290ZXIsICdjb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ2NvbG9yLWhvdmVyJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuXG4uby1zdWJmb290ZXJfX3RyYWRlbWFyayB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFRhYnNsaWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXRhYnNsaWRlcjogKFxuXHQnYmdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2FjdGl2ZS1jb2xvcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYWN0aXZlLWJnY29sb3InOlx0XHRcdHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcblx0J2JvcmRlci1jb2xvcic6IFx0XHRcdHBhbGV0dGUoYm9yZGVyLCAzMDApLFxuXHQnYWN0aXZlLWJvcmRlci1jb2xvcic6IFx0XHRwYWxldHRlKHByaW1hcnksIDUwMCksXG5cdCd0YWItZ2FwJzogIFx0XHRcdFx0c3BhY2UoMSksXG4pO1xuXG4vKlxuICogT24gc21hbGwgc2NyZWVucyB0aGUgY29udGVudCBpcyBzdGFja2VkLCB3aXRob3V0IGNvbnRyb2xzXG4gKiBXaGVuIHRoZSBzY3JlZW4gaXMgd2lkZSBlbm91Z2ggd2UgYWRkIHRoZSBjb250cm9sc1xuICogYW5kIHNob3cgb25seSB0aGUgY2hvc2VuICdzbGlkZSBjb250ZW50J1xuICovXG5cblxuLm8tdGFic2xpZGVyIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuXG4vLyBTaGFyZWQgc3R5bGluZyBmb3IgdGFiLSBhbmQgc3RlcC1idXR0b25zXG4uby10YWJzbGlkZXJfX2J1dHRvbiB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdG1pbi1oZWlnaHQ6IHNwYWNlKDYpO1xuXHRjb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2JnY29sb3InKTtcblx0Ym9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkby10YWJzbGlkZXIsICdib3JkZXItY29sb3InKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYm9yZGVyO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtYmdjb2xvcicpO1xuXHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtYmdjb2xvcicpO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2FjdGl2ZS1jb2xvcicpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYWN0aXZlLWJnY29sb3InKTtcblx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYWN0aXZlLWJvcmRlci1jb2xvcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNTAwKTtcblxuXHRcdCY6bm90KC5pcy1hY3RpdmUpOm5vdCg6YWN0aXZlKSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggbWFwLWdldCgkby10YWJzbGlkZXIsICdiZ2NvbG9yJyksIDAgMCA1cHggM3B4IHJnYmEobWFwLWdldCgkby10YWJzbGlkZXIsICdjb2xvcicpLCAwLjEpO1xuXHRcdH1cblx0fVxufVxuXG4uby10YWJzbGlkZXJfX2NvbnRyb2xzIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsMTIpO1xuXHRcdG1hcmdpbi1yaWdodDogY29sdW1uKDEsMTIpO1xuXHR9XG59XG5cbi5vLXRhYnNsaWRlcl9fc3RlcCB7XG5cdHdpZHRoOiBzcGFjZSg2KTtcbn1cblxuLm8tdGFic2xpZGVyX19zdGVwLS1wcmV2IHtcblx0dHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG59XG5cbi5vLXRhYnNsaWRlcl9fdGFicyB7XG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KSB7XG5cdFx0bWFyZ2luOiAobWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJykgKiAtMSkgbWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJyk7XG5cdH1cbn1cblxuXG4uby10YWJzbGlkZXJfX3RhYiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdG1hcmdpbjogbWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJyk7XG5cdHBhZGRpbmc6IChzcGFjZSgxKSAtIDFweCkgc3BhY2UoMik7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5vLXRhYnNsaWRlcl9fY29udGFpbmVyIHtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNik7XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19jb250ZW50IHtcblx0JiArICYge1xuXHRcdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0Z3JpZC1yb3c6IDE7XG5cdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR6LWluZGV4OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblx0XHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHR9XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19sYWJlbCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoMSk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsIi5vLXRlYW0ge1xuICBAaW5jbHVkZSBjb250YWluO1xuICBAaW5jbHVkZSB2c3BhY2luZyhcbiAgICAgICdtYXJnaW4tdG9wJyAxLFxuICAgICAgJ21hcmdpbi1ib3R0b20nIDFcbiAgKTtcbn1cblxuLm8tdGVhbV9fbWF0cml4IHtcbiAgQGluY2x1ZGUgbXEoNTYwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiBzcGFjZSgyKSAqIC0xO1xuICB9XG59XG5cbi5vLXRlYW1fX2l0ZW0ge1xuICBtYXJnaW46IDAgYXV0byBzcGFjZSg0KTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcblxuICBAaW5jbHVkZSBtcSg1NjApIHtcbiAgICBtYXJnaW46IHNwYWNlKDIpO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gI3tzcGFjZSg0KX0pOyAvLyBMb25naGFuZCBuZWVkZWQgZm9yIElFXG4gIH1cblxuICBAaW5jbHVkZSBtcSg5MDApIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtICN7c3BhY2UoNCl9KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKDEyMDApIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtICN7c3BhY2UoNCl9KTtcbiAgfVxufSIsIiRvLXRoYW5rcy1icDE6IDExMTA7XG4kby10aGFua3MtZ2FwOiBzcGFjZSg2KTtcblxuXG4uby10aGFua3Mge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQncGFkZGluZy1ib3R0b20nIDFcblx0KTtcblxuXHRAaW5jbHVkZSBtcSgkby10aGFua3MtYnAxKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi5vLXRoYW5rc19fbGVmdCB7XG5cdEBpbmNsdWRlIG1xKCRvLXRoYW5rcy1icDEpIHtcblx0XHR3aWR0aDogY2FsYygje2NvbHVtbig2LDEyKX0gKyAjeyRvLXRoYW5rcy1nYXB9KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAkby10aGFua3MtZ2FwO1xuXHR9XG59XG5cblxuLm8tdGhhbmtzX19yaWdodCB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDUpO1xuXG5cdEBpbmNsdWRlIG1xKCRvLXRoYW5rcy1icDEpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsMTIpO1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFVTUFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXVzcDogKFxuXHQnYmFja2dyb3VuZC1jb2xvcic6ICBcdHBhbGV0dGUocHJpbWFyeSwgNzAwKSxcblx0J3RleHQtY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby11c3Age1xuXHRAaW5jbHVkZSBtcSgkbWF4OiBsKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby11c3AsICdiYWNrZ3JvdW5kLWNvbG9yJyk7XG5cdH1cbn1cblxuLm8tdXNwX19tYWluIHtcblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG4uby11c3BfX3RleHQge1xuXHRwYWRkaW5nOiBzcGFjZSg0KSAwO1xuXHRjb2xvcjogbWFwLWdldCgkby11c3AsICd0ZXh0LWNvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tdXNwLCAnYmFja2dyb3VuZC1jb2xvcicpO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDUsIDgpO1xuXHRcdHBhZGRpbmc6IHtcblx0XHRcdHRvcDogY29sdW1uKDAuNSwgOCk7XG5cdFx0XHRib3R0b206IGNvbHVtbigwLjUsIDgpO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHJpZ2h0OiBjb2x1bW4oMSwgOCk7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNik7XG5cdFx0cGFkZGluZzogY29sdW1uKDAuNSkgY29sdW1uKDEpO1xuXHR9XG59XG5cbi5vLXVzcF9faW1hZ2Uge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXJnaW4tbGVmdDogLSRzaXRlLWd1dHRlci13aWR0aDtcblx0XHRtYXJnaW4tcmlnaHQ6IC0kc2l0ZS1ndXR0ZXItd2lkdGg7XG5cdFx0cGFkZGluZy1ib3R0b206IDY1JTtcblx0XHRtaW4taGVpZ2h0OiAzNjBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDQsIDgpO1xuXHRcdG1hcmdpbi1yaWdodDogY29sdW1uKC0xLCA4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYpO1xuXHR9XG59XG5cbi5vLXVzcF9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eGwpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgzKTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tdXNwLCAndGV4dC1jb2xvcicpO1xufVxuXG4uby11c3BfX2xpc3Qge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuXG4uby11c3BfX2l0ZW0ge1xuXHRAaW5jbHVkZSBvd2woc3BhY2UoMikpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctbGVmdDogc3BhY2UoMik7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHQkd2lkdGg6IDE2cHg7XG5cdFx0JGhlaWdodDogMTJweDtcblxuXHRcdGNvbnRlbnQ6Jyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNXB4O1xuXHRcdGxlZnQ6IC0jeyR3aWR0aH07XG5cdFx0d2lkdGg6ICR3aWR0aDtcblx0XHRoZWlnaHQ6ICRoZWlnaHQ7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvY2hlY2svY2hlY2tlZC5zdmcpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG5cdH1cbn1cblxuLm8tdXNwX19hY3Rpb24ge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg2KTtcbn1cblxuLm8tdXNwX19pbWFnZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn0iLCIuby12YWNhbmNpZXMge1xuXHRAaW5jbHVkZSBvd2wtY2hpbGRyZW4oc3BhY2UoMykpO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLm8tdmFjYW5jaWVzX19saW5rIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogc3BhY2UoMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRwYWRkaW5nOiBzcGFjZSg0KTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdC8vYmFja2dyb3VuZDogcGFsZXR0ZShuZXV0cmFsLCAxMDApO1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDcwMCk7XG5cdFx0Ym9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAxcHggY3VycmVudENvbG9yO1xuXHR9XG59XG5cblxuLm8tdmFjYW5jaWVzX19ib2R5IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuXG4uby12YWNhbmNpZXNfX2NvbnRlbnQge1xuXHRmbGV4OiBhdXRvO1xufVxuXG5cbi5vLXZhY2FuY2llc19faWNvbiB7XG5cdGZsZXg6IG5vbmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSwgNTAwKTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0dHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC42KTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcblx0fVxuXG5cdC5vLXZhY2FuY2llc19fbGluazpob3ZlciAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZV9jb2xvcihwYWxldHRlKHByaW1hcnksIDcwMCksICRsaWdodG5lc3M6IDAlKTtcblx0fVxufVxuXG5cbi5vLXZhY2FuY2llc19fdGl0bGUge1xuXHRAaW5jbHVkZSBmb250LXNpemUobCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA3MDApO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuXHR9XG59XG5cblxuLm8tdmFjYW5jaWVzX19zdWJ0aXRsZSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbn1cblxuXG4uby12YWNhbmNpZXNfX2Zvb3RlciB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xuXHRjb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblxuXHQuby12YWNhbmNpZXNfX2xpbms6aG92ZXIgJiB7XG5cdFx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNzAwKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcblx0fVxufVxuXG5cbi5vLXZhY2FuY2llc19fcHJvcGVydGllcyB7XG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRmbGV4OiAxIDEgMTAwJTtcblx0XHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDUpO1xuXHR9XG59XG5cblxuLm8tdmFjYW5jaWVzX19jb21wYW55IHtcblx0ZmxleDogMSAwIGF1dG87XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0fVxufVxuXG5cbi5vLXZhY2FuY2llc19fbG9nbyB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IGwpIHtcblx0XHRvcmRlcjogLTE7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMik7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuXHRcdHBhZGRpbmctbGVmdDogc3BhY2UoMi41KTtcblx0XHRtYXJnaW4tbGVmdDogc3BhY2UoMi41KTtcblx0fVxufVxuXG5cbi5vLXZhY2FuY2llc19fc3RyZWV0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogJ3wnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBhZGRpbmctbGVmdDogc3BhY2UoMC41KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgwLjUpO1xuXHR9XG59XG5cblxuLm8tdmFjYW5jaWVzX19jaXR5IHtcblx0cGFkZGluZy1sZWZ0OiA0cHg7XG59IiwiJG8tdmFjYW5jeS1wcm9wZXJ0aWVzLXB1bGwtdXAtc2l6ZTogc3BhY2UoMik7XG5cbi5vLXZhY2FuY3lfX2hlcm8ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDIpICsgJG8tdmFjYW5jeS1wcm9wZXJ0aWVzLXB1bGwtdXAtc2l6ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdCAgICBAaW5jbHVkZSBjb250YWluO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdCAgICBjb250ZW50OiAnJztcblx0ICAgIHRvcDogMDtcblx0ICAgIGJvdHRvbTogMDtcblx0ICAgIHJpZ2h0OiAtNTB2dztcblx0ICAgIGxlZnQ6IC01MHZ3O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNTAwKTtcblx0fVxufVxuXG4uby12YWNhbmN5X19oZXJvLWltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cblxuLm8tdmFjYW5jeV9fcHJvcGVydGllcyB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHRtYXJnaW4tdG9wOiAtJG8tdmFjYW5jeS1wcm9wZXJ0aWVzLXB1bGwtdXAtc2l6ZTtcbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRlbXBsYXRlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMudmFjYW5jaWVzXCI7IiwiLnQtdmFjYW5jaWVzX190aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cblxuLnQtdmFjYW5jaWVzX19oZWFkaW5nIHtcblxufVxuXG5cbi50LXZhY2FuY2llc19fZmlsdGVyIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2ZpbHRlci5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDE3cHggMTJweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxMnB4IGNlbnRlcjtcbn1cblxuXG4udC12YWNhbmNpZXNfX3NlbGVjdCB7XG5cdHBhZGRpbmctbGVmdDogc3BhY2UoNSk7XG59XG4iLCIucy1jaGVja2xpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcblxuXHRsaSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHRsaW5lLWhlaWdodDogMS40NTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHR3aWR0aDogMTJweDtcblx0XHRcdGhlaWdodDogMTJweDtcblx0XHRcdG1hcmdpbi1yaWdodDogOHB4O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCk7XG5cdFx0fVxuXHR9XG5cblx0LmNoZWNrbGlzdC1oYXMteC1zbWFsbC1mb250ICZ7XG5cdFx0QGluY2x1ZGUgZm9udCh4cyk7XG5cblx0XHRsaSB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxufSIsIi8qKlxuICogQWxsIHRleHQgZWxlbWVudHMgdGhhdCBjYW4gYmUgYWRkZWQgYnkgdGhlIHVzZXIgdGhyb3VnaCBhIENNU1xuICovXG5cblxuLnMtdGV4dCB7XG5cblx0aDIsIGgzLCBoNCB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcblx0fVxuXG5cdC8vIEZpcnN0IHRoZSBvd2wgc2VsZWN0b3IgZm9yIHNldHRpbmcgYSBkZWZhdWx0IHZlcnRpY2FsIHJoeXRobVxuXHQmID4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXHR9XG5cblx0Ly8gTWFrZSBzdXJlIGZpcnN0IGl0ZW0gaW4gc2NvcGVkIHRleHQgaGFzIG5vIG1hcmdpbiBvbiB0b3Bcblx0JiA+IDpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0JiA+ICogKyAuYy1idXR0b24ge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDUpO1xuXHR9XG5cblx0JiA+IHVsOm5vdChbY2xhc3NdKSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblxuXHRcdCYgPiBsaSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEuMTI1ZW07XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFwyMDIyXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAtNHB4O1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYgPiBvbDpub3QoW2NsYXNzXSkge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0Y291bnRlci1yZXNldDogb2wtY291bnRlcjtcblxuXHRcdCYgPiBsaSB7XG5cdFx0XHRjb3VudGVyLWluY3JlbWVudDogb2wtY291bnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcblx0XHRcdHBhZGRpbmctbGVmdDogMS44ZW07XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IGNvdW50ZXIob2wtY291bnRlcikgXCIuIFwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDEuMjc1ZW07XG5cdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgQ29sb3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiBIZXJlIHdlIHByaW50IG91dCBhbGwgb3VyIGhlbHBlciBjbGFzc2VzIGZvciBvdXIgZGVmaW5lZCBjb2xvcnNcbiAqIEJhc2VkIG9uIHRoZXNlIGFydGljbGVzOlxuICogLSBodHRwOi8vZXJza2luZWRlc2lnbi5jb20vYmxvZy9mcmllbmRsaWVyLWNvbG91ci1uYW1lcy1zYXNzLW1hcHMvXG4gKiAtIGh0dHBzOi8vYmxvZy5hdGVjaG1lZGlhLmNvbS9jc3MtZm9yLW11bHRpcGxlLXRoZW1lcy9cbiAqIE91dHB1dCBpcyBpbiB0aGUgZm9ybSBvZjpcblxuICAgLnUtY29sb3ItcHJpbWFyeSB7XG4gICAgICBjb2xvcjogI2JhZGE1NTtcbiAgIH1cblxuICAudS1iZy1uZXV0cmFsLS05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWNhZmY7XG4gIH1cbiAqL1xuXG5AZWFjaCAkbGV2ZWwsICRwYWxldHRlIGluICRwYWxldHRlcyB7XG5cdEBlYWNoICR0eXBlLCAkY29sb3IgaW4gJHBhbGV0dGUge1xuXHRcdEBpZigkdHlwZSA9PSAnYmFzZScpe1xuXHRcdFx0LnUtY29sb3ItI3skbGV2ZWx9IHtcblx0XHRcdFx0Y29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHRcdC51LWJnLSN7JGxldmVsfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdC51LWNvbG9yLSN7JGxldmVsfS0tI3skdHlwZX0ge1xuXHRcdFx0XHRjb2xvcjogI3skY29sb3J9O1xuXHRcdFx0fVxuXHRcdFx0LnUtYmctI3skbGV2ZWx9LS0jeyR0eXBlfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIEZvbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogSGVyZSB3ZSBwcmludCBvdXQgYWxsIG91ciBoZWxwZXIgY2xhc3NlcyBmb3Igb3VyIGRlZmluZWQgJGZvbnQtc2l6ZXMgbWFwXG4gKiBPdXRwdXQgb2YgdGhlIGNsYXNzZXMgaW4gdGhlIHRoaXMgZm9ybTpcblxuICAgLnUtZnMtbSB7fVxuICAgLnUtZnMteGwge31cbiAgIC4uLiBldGNcblxuICovXG5cblxuQGlmIHZhcmlhYmxlLWV4aXN0cyhmb250LXNpemVzKSB7XG5cdEBlYWNoICR2YWwsICRzaXplIGluICRmb250LXNpemVzIHtcblx0XHRAZWFjaCAkdHlwZSwgJGNvbG9yIGluICRzaXplIHtcblx0XHRcdC51LWZzLSN7JHZhbH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUoJHZhbCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuXG4vKipcbiAqIEhlcmUgd2UgcHJpbnQgb3V0IGFsbCBvdXIgaGVscGVyIGNsYXNzZXMgZm9yIG91ciBkZWZpbmVkICRmb250LXdlaWdodHMgbWFwXG4gKiBPdXRwdXQgb2YgdGhlIGNsYXNzZXMgaW4gdGhlIHRoaXMgZm9ybTpcblxuICAgLnUtZnctcmVndWxhciB7fVxuICAgLnUtZnctc2VtaUJvbGQge31cbiAgIC4uLiBldGNcblxuICovXG5cbkBpZiB2YXJpYWJsZS1leGlzdHMoZm9udC13ZWlnaHRzKSB7XG5cdEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZm9udC13ZWlnaHRzIHtcblx0XHQudS1mdy0jeyRuYW1lfSB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXdlaWdodCgkbmFtZSk7XG5cdFx0fVxuXHR9XG59XG5cbiIsIi51LWhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxufVxuXG4udS1wbGFjZWhvbGRlci1pbWFnZSB7XG5cdGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xufVxuXG4udS10ZXh0LWFsaWduLWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlciFpbXBvcnRhbnQ7XG59XG5cbi5ub3dyYXAge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufSIsIi8qXG4qIElmIHlvdSBuZWVkIHRvIG1ha2UgYSBxdWljayBmaXgsIHlvdSBjYW4gZG8gaXQgaGVyZS5cbiogTGF0ZXIgd2hlbiB5b3UgaGF2ZSB0aGUgdGltZSwgeW91IGNhbiBtb3ZlIHRoZSBmaXggaW50byB0aGUgY29ycmVjdCBwbGFjZSBpbiB0aGUgc3RydWN0dXJlXG4qL1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTm90aGluZyBoZXJlIHlldCwgR29vZCBqb2IhISIsIkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggOCB7XG5cdC8vIE1hcmdpblxuXHQudS1zcGFjaW5nLW10I3skaX0gICAgIHsgbWFyZ2luLXRvcDogXHRzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLW1yI3skaX0gICAgIHsgbWFyZ2luLXJpZ2h0OiBcdHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cdC51LXNwYWNpbmctbWIjeyRpfSAgICAgeyBtYXJnaW4tYm90dG9tOiBzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLW1sI3skaX0gICAgIHsgbWFyZ2luLWxlZnQ6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblxuXHQvLyBQYWRkaW5nXG5cdC51LXNwYWNpbmctcHQjeyRpfSAgICAgeyBwYWRkaW5nLXRvcDogXHRzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLXByI3skaX0gICAgIHsgcGFkZGluZy1yaWdodDogc3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1wYiN7JGl9ICAgICB7IHBhZGRpbmctYm90dG9tOnNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cdC51LXNwYWNpbmctcGwjeyRpfSAgICAgeyBwYWRkaW5nLWxlZnQ6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cbn1cblxuLnUtc3BhY2luZy1wdiB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdwYWRkaW5nLXRvcCcgMSxcblx0XHQncGFkZGluZy1ib3R0b20nIDFcblx0KVxufVxuXG5AaW5jbHVkZSBtcShsKSB7XG5cdC51LXNwYWNpbmctcHIwXFxAbCB7XG5cdFx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRoaXMgZ3JpZCBjYW4gYmUgdHVybmVkIG9uIGFuZCBvZmYgd2hlbiB5b3Ugd2FudCB0byBjaGVja1xuICogaWYgZXZlcnl0aGluZyBpcyBuaWNlIGluIHBsYWNlLlxuICogU2V0IGZsYWcgJ3Nob3dHcmlkJyB0byB0cnVlIGluIHNpdGUucGhwXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cblxuLy8gQ29sb3I6IFNldCBhIGh1ZSB2YWx1ZSB0aGF0IGhhcyBlbm91Z2ggY29udHJhc3RcbiR2Zy1odWU6IFx0XHRcdFx0XHQyMzA7IC8vIDAtMzYwXG5cbi8vIENvbHVtbnM6IE51bWJlciBvZiBjb2x1bW5zIHBlciB2aWV3cG9ydFxuJHZnLWNvbHVtbi1jb3VudC1zOiBcdFx0JHNpdGUtY29sdW1ucy1zO1xuJHZnLWNvbHVtbi1jb3VudC1tOiBcdFx0JHNpdGUtY29sdW1ucy1tO1xuJHZnLWNvbHVtbi1jb3VudC1sOiBcdFx0JHNpdGUtY29sdW1ucy1sO1xuXG5cbi8vIERvIHNvbWUgY2FsY3VsYXRpb25zIGFuZCBwdXQgdGhlbSBpbiB2YXJpYWJsZXMgZm9yIHJldXNlXG4kdmctY29sdW1uLXdpZHRoLXM6IHBlcmNlbnRhZ2UoMSAvICR2Zy1jb2x1bW4tY291bnQtcyk7XG4kdmctY29sdW1uLXdpZHRoLW06IHBlcmNlbnRhZ2UoMSAvICR2Zy1jb2x1bW4tY291bnQtbSk7XG4kdmctY29sdW1uLXdpZHRoLWw6IHBlcmNlbnRhZ2UoMSAvICR2Zy1jb2x1bW4tY291bnQtbCk7XG4kdmctY29sb3ItMTogaHNsYSgkdmctaHVlLCAxMDAsIDUwLCAwLjA3KTtcbiR2Zy1jb2xvci0yOiBoc2xhKCR2Zy1odWUsIDEwMCwgNTAsIDAuMDQpO1xuXG5cbi51LXZpc2libGUtZ3JpZCB7XG5cdEBpbmNsdWRlIHooei12aXNpYmxlLWdyaWQpO1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0LyogOCBwb2ludCBncmlkIGxpbmVzICovXG5cdC8vYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0Ly9cdHRvIGJvdHRvbSxcblx0Ly9cdGhzbGEoMCwgMTAwLCA1MCwgMC44NCkgMCxcblx0Ly9cdGhzbGEoMCwgMTAwLCA1MCwgMCkgMXB4LFxuXHQvL1x0aHNsYSgwLCAxMDAsIDUwLCAwKSA4cHgsXG5cdC8vXHRoc2xhKDIwMCwgMTAwLCA1MCwgMC4wNCkgOHB4XG5cdC8vKTtcblxuXHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG59XG5cbi51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG5cdGhlaWdodDogMTAwdmg7XG5cblx0YmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdHRvIHJpZ2h0LFxuXHRcdFx0JHZnLWNvbG9yLTEsXG5cdFx0XHQkdmctY29sb3ItMSAkdmctY29sdW1uLXdpZHRoLXMsXG5cdFx0XHQkdmctY29sb3ItMiAkdmctY29sdW1uLXdpZHRoLXMsXG5cdFx0XHQkdmctY29sb3ItMiAoJHZnLWNvbHVtbi13aWR0aC1zICogMilcblx0KTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0YmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gcmlnaHQsXG5cdFx0XHRcdCR2Zy1jb2xvci0xLFxuXHRcdFx0XHQkdmctY29sb3ItMSAkdmctY29sdW1uLXdpZHRoLW0sXG5cdFx0XHRcdCR2Zy1jb2xvci0yICR2Zy1jb2x1bW4td2lkdGgtbSxcblx0XHRcdFx0JHZnLWNvbG9yLTIgKCR2Zy1jb2x1bW4td2lkdGgtbSAqIDIpXG5cdFx0KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0YmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gcmlnaHQsXG5cdFx0XHRcdCR2Zy1jb2xvci0xLFxuXHRcdFx0XHQkdmctY29sb3ItMSAkdmctY29sdW1uLXdpZHRoLWwsXG5cdFx0XHRcdCR2Zy1jb2xvci0yICR2Zy1jb2x1bW4td2lkdGgtbCxcblx0XHRcdFx0JHZnLWNvbG9yLTIgKCR2Zy1jb2x1bW4td2lkdGgtbCAqIDIpXG5cdFx0KTtcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/