/* =============================================================================
 # Style                                                                      #
============================================================================= */

/**
 * This is the major css file. Here all other files are imported.
 */

/* Include reset.css via NPM. */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* -----------------------------------------------------------------------------
 # Settings - Global variables, config switches.                              #
----------------------------------------------------------------------------- */

/* =============================================================================
 # Media Queries                                                              #
============================================================================= */

/*
 # Breakpoints
============================================================================= */

/*
 # WP Core Breakpoints (used for the admin bar for example)
============================================================================= */

/* =============================================================================
 # Global Settings                                                            #
============================================================================= */

:root {
	/* stylelint-disable */
	/**
	 * Baseline should always follow an 8pt or 4pt grid (if not an extreme
	 * design). E.g. .25rem or .5rem
	 *
	 * @credit https://builttoadapt.io/intro-to-the-8-point-grid-system-d2573cde8632
	 */
	/* stylelint-enable */
	--baseline-unit: 0.25rem;

	/**
	 * Gap is used in grid layouts and margins/paddings around elements
	 */
	--gap-grid: 0.75rem;
	--gap-micro: calc(var(--baseline-unit) * 2);
	--gap-tiny: calc(var(--baseline-unit) * 4);
	--gap-small: calc(var(--baseline-unit) * 6);
	--gap: calc(var(--baseline-unit) * 8);
	--gap-medium: calc(var(--baseline-unit) * 8);
	--gap-large: calc(var(--baseline-unit) * 16);
	--gap-huge: calc(var(--baseline-unit) * 32);

	/**
	 * Max Widths
	 *
	 * Naming: micro, tiny, small, medium (base), large, huge, mega
	 */
	--l-max-width: 1500px;
	--l-max-width-small: 720px;

	/**
	 * Variables for easy access of fonts
	 * Fonts are imported using @font-face in typography.scss
	 */
	--font-heading: "Butler", "Helvetica Neue", serif;
	--font-body: "Mont", "Helvetica Neue", helvetica, arial, sans-serif;

	/**
	 * Font sizes always expressed in rems!
	 *
	 * Naming: micro, tiny, small, medium (base), large, huge, mega
	 */
	--font-size-tiny: 0.9rem;
	--font-size-small: 1rem;
	--font-size-medium: 1.25rem;
	--font-size-xmedium: 2rem;
	--font-size-large: 2.25rem;
	--font-size-huge: 2.75rem
}

@media ( min-width: 768px ) {

:root {
		--font-size-tiny: 0.75rem;
		--font-size-small: 0.95rem
}
	}

:root {

	/**
	 * Line heights shall match their respective font-size and always
	 * be calculated using the baseline-unit
	 */
	--line-height-tiny: calc(var(--baseline-unit) * 5);
	--line-height-small: calc(var(--baseline-unit) * 6);
	--line-height-medium: calc(var(--baseline-unit) * 8);
	--line-height-xmedium: calc(var(--baseline-unit) * 9);
	--line-height-large: calc(var(--baseline-unit) * 10);
	--line-height-huge: calc(var(--baseline-unit) * 12)
}

@media ( min-width: 768px ) {

:root {
		--line-height-tiny: calc(var(--baseline-unit) * 5);
		--line-height-small: calc(var(--baseline-unit) * 6)
}
	}

:root {

	/* Transitions */
	--transition: 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	--transition-slow: 0.8s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	--transition-quick: 0.1s ease-in-out;

	/* Drop shadows */
	--drop-shadow-small: 0 2px 10px 0 rgba(0, 0, 0, 0.2);
	--drop-shadow: 0 5px 40px 0 rgba(0, 0, 0, 0.2);
	--drop-shadow-large: 0 5px 60px 0 rgba(0, 0, 0, 0.15);
	--drop-shadow-light: 0 0 30px 0 rgba(255, 255, 255, 0.1);
	--drop-shadow-dark: 0 0 30px 0 rgba(0, 0, 0, 0.1);

	/* Radius */
	--radius: 5px;

	/**
	 * Offset used by c-navigator to align up with grid.
	 */
	--c-navigator-offset: 0
}

@media ( min-width: 768px ) {

:root {
		--c-navigator-offset: calc((var(--gap-grid) * 0) * -1)
}
	}

@media ( min-width: 1920px ) {

:root {
		--c-navigator-offset: calc((var(--gap-grid) * 0.25) * -1)
}
	}

@media ( min-width: 2560px ) {

:root {
		--c-navigator-offset: calc((var(--gap-grid) * 0.5) * -1)
}
	}

/* =============================================================================
 # Fonts                                                                      #
============================================================================= */

/**
 * This file is used for web fonts (@font-face).
 */

@font-face {
	font-display: swap;
	font-family: 'Mont';
	font-style: normal;
	font-weight: 600;
	src:
		local('Mont SemiBold'),
		local('Mont-SemiBold'),
		url('../fonts/hinted-Mont-SemiBold.woff2') format('woff2'),
		url('../fonts/hinted-Mont-SemiBold.woff') format('woff');
}

@font-face {
	font-display: swap;
	font-family: 'Mont';
	font-style: normal;
	font-weight: normal;
	src:
		local('Mont Regular'),
		local('Mont-Regular'),
		url('../fonts/hinted-Mont-Regular.woff2') format('woff2'),
		url('../fonts/hinted-Mont-Regular.woff') format('woff');
}

@font-face {
	font-display: swap;
	font-family: 'Butler';
	font-style: normal;
	font-weight: bold;
	src:
		local('Butler Bold'),
		local('Butler-Bold'),
		url('../fonts/hinted-Butler-Bold.woff2') format('woff2'),
		url('../fonts/hinted-Butler-Bold.woff') format('woff');
}

/* =============================================================================
 # Colors                                                                     #
============================================================================= */

:root {
	--color-beige: #d8cbbd;
	--color-black: #000;
	--color-blue: #272b41;
	--color-dark-gray: #373736;
	--color-error: #db543b;
	--color-gray: #e8e8e8;
	--color-green: #464f36;
	--color-light-gray: #fafafa;
	--color-orange: #ed894d;
	--color-red: #ca6e77;
	--color-silver: #e8e8e4;
	--color-yellow: #edab54;
	--color-white: #fff;
}

/* =============================================================================
 # Typography                                                                 #
============================================================================= */

/**
 * This file is for fluid font sizing and some standard font styling.
 */

/**
 * Fluid typography. This makes it possible to build sites for infinite large
 * screens (almost ;-) )
 *
 * We are practically doing this calculation:
font-size: calc([minimum size] + ([maximum size] - [minimum size]) * ((100vw - [minimum viewport width]) / ([maximum viewport width] - [minimum viewport width])));

 *
 * @credit https://www.smashingmagazine.com/2016/05/fluid-typography/
 * @credit https://css-tricks.com/snippets/css/fluid-typography/
 */

:root {
	--r-min-font: 16px;
	--r-max-font: 28px;
	--r-max-font-no-px: 28;
	--r-font-diff: 12; /* calc(var(--r-max-font) - var(--r-min-font)) without px value */
	--r-min-breakpoint: 576px;
	--r-max-breakpoint: 2560px;
	--r-max-breakpoint-no-px: 2560;
	--r-breakpoint-diff: 1984; /* calc(var(--r-max-breakpoint) - var(--r-min-breakpoint)) without px value */

	/* Setting min font size */
	font-size: 16px;
	font-size: var(--r-min-font) /* stylelint-disable-line */
}

@media ( min-width: 320px ) {

:root {
		font-size: calc(16px + 12 * (100vw - 576px) / 1984);
		font-size: calc(var(--r-min-font) + var(--r-font-diff) * (100vw - var(--r-min-breakpoint)) / var(--r-breakpoint-diff)) /* stylelint-disable-line */
}
	}

@media ( min-width: 2560px ) {

:root {
		font-size: calc(28 / 2560 * 100vw);
		font-size: calc(var(--r-max-font-no-px) / var(--r-max-breakpoint-no-px) * 100vw)
}
	}

/**
 * Standard font element styling. Variables are set in _settings.scss
 */

body {

	font-family: "Mont", "Helvetica Neue", helvetica, arial, sans-serif;

	font-family: var(--font-body);

	/* Designers always want the font smoothing stuff! */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-style: normal;
	font-weight: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Butler", "Helvetica Neue", serif;
	font-family: var(--font-heading);
	font-style: normal;
	font-weight: bold;
}

/* -----------------------------------------------------------------------------
 # Tools - Default mixins and functions.                                      #
----------------------------------------------------------------------------- */

/* =============================================================================
 # Mixins                                                                     #
============================================================================= */

/* Wrap outer containers (width, padding, center) */

:root {
	--container-padding: var(--gap-tiny)
}

@media ( min-width: 320px ) {

:root {
		--container-padding: var(--gap)
}
	}

@media ( min-width: 992px ) {

:root {
		--container-padding: 3.5vw
}
	}

@media ( min-width: 768px ) {

:root {
		--container-padding: 7vw
}
	}

/* Can be used for sections on pages, e.g. standard paddings for blocks. */

/**
 * Grid mixins
 *
 * @css
 	.grid-class {
 		@mixin flex-grid $align, $justify;
 	}
 	.col-class {
 		@mixin flex-column $col, $cols;
 		@mixin flex-column-offset $offset, $cols;
 	}
 *
 * @markup
	<element class="grid-class">
		<element class="col-class">
			[text node]
		</element>
	</element>
 *
 */

/**
 * Flex grid mixin can be used to create a flexbox grid rapidly
 */

/**
 * Use the flex-column mixin together with the flex-grid mixin to build your
 * flexbox grid systems
 */

/**
 * Use the flex-column-offset mixin together with the flex-column mixin to
 * create offsets (extra margin) in the grid.
 *
 * Please observe. margin-left/-right: auto can also
 * be used outside this mixins.
 */

/**
 * Set max-width for element to 'max-width' and center container.
 */

/**
 * Set typography very simple for usage inside WYSIWYG Very Simple
 */

/**
 * Add underline hover-effect to links.
 */

/**
 * Add offset when banner (announcement-bar) is visible.
 */

/**
 * Add specific padding to media-blocks.
 */

/* -----------------------------------------------------------------------------
 # Generic - Ground-zero styles (box-sizing, etc.).                           #
----------------------------------------------------------------------------- */

/* =============================================================================
 # Box-sizing                                                                 #
============================================================================= */

html {
	box-sizing: border-box;
}

/**
 * Inherit box-sizing to make it easier to change the property
 * for components that leverage other behavior.
 */

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

/* =============================================================================
 # Buttons                                                                    #
============================================================================= */

button,
input[type="submit"] {
	-webkit-appearance: none;
	background: transparent;
	border: 0;
	cursor: pointer;

	/* font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	text-transform: inherit;
	vertical-align: baseline;
	width: auto; */
}

/* =============================================================================
 # Links                                                                      #
============================================================================= */

a {
	color: inherit;
	cursor: pointer;
	text-decoration: none
}

a:hover,
	a:focus {
		/* opacity: .6; */
		text-decoration: underline;
	}

/* =============================================================================
 # Generic                                                                    #
============================================================================= */

::selection {
	background: #000;
	color: #fafafa;
}

img::selection {
	background: #000;
}

/* stylelint-disable */

/**
 * Make anchor-links smooth scrolling in modern browsers
 *
 * @credit https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior#Browser_compatibility
 */

/* stylelint-enable */

html {
	/**
	 * Also, set default background color for html
	 * (https://martinwolf.org/2018/06/osx-mojave-dark-mode)
	 */
	background-color: white;
	scroll-behavior: smooth;
}

body {
	background-color: #fafafa;
	background-color: var(--color-light-gray);
	position: relative;
}

/* main {
	padding-top: 0;
	transition: padding-top var(--transition) 0.15s;

	.has-loaded & {
		padding-top: var(--site-announcement-height);
	}
} */

/* =============================================================================
 # Scooped                                                                    #
============================================================================= */

/**
 * A scoped class for standard content. Typically from WYSIWYG output from a
 * CMS.
 *
 * @markup
 	<div class="s-standard-typography">
		[CMS OUTPUT]
	</div>
 *
 */

.s-standard-typography,
.mce-content-body {
	font-size: 1rem;
	font-size: var(--font-size-small);
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small)
}

.s-standard-typography a, .mce-content-body a {
		text-decoration: underline
	}

.s-standard-typography a:hover,
		.s-standard-typography a:focus,
		.mce-content-body a:hover,
		.mce-content-body a:focus {
			text-decoration: none;
		}

.s-standard-typography p, .mce-content-body p {
		color: currentColor;
		font-weight: 300;
	}

.s-standard-typography strong, .mce-content-body strong {
		font-weight: 700;
	}

.s-standard-typography em, .mce-content-body em {
		font-style: italic;
		font-weight: normal;
	}

.s-standard-typography del, .mce-content-body del {
		text-decoration: line-through;
	}

.s-standard-typography h1,
	.s-standard-typography h2,
	.s-standard-typography h3,
	.s-standard-typography h4,
	.s-standard-typography h5,
	.s-standard-typography h6,
	.mce-content-body h1,
	.mce-content-body h2,
	.mce-content-body h3,
	.mce-content-body h4,
	.mce-content-body h5,
	.mce-content-body h6 {
		font-weight: 500;
		line-height: calc(0.25rem * 12);
		line-height: var(--line-height-huge);
		padding-bottom: calc(0.25rem * 4);
		padding-bottom: var(--gap-tiny);
		padding-top: calc(0.25rem * 4);
		padding-top: var(--gap-tiny)
	}

.s-standard-typography h1:first-child, .s-standard-typography h2:first-child, .s-standard-typography h3:first-child, .s-standard-typography h4:first-child, .s-standard-typography h5:first-child, .s-standard-typography h6:first-child, .mce-content-body h1:first-child, .mce-content-body h2:first-child, .mce-content-body h3:first-child, .mce-content-body h4:first-child, .mce-content-body h5:first-child, .mce-content-body h6:first-child {
			padding-top: 0;
		}

.s-standard-typography h1, .mce-content-body h1 {
		font-size: 2.25rem;
		font-size: var(--font-size-large);
		line-height: calc(0.25rem * 10);
		line-height: var(--line-height-large);
	}

.s-standard-typography h2, .mce-content-body h2 {
		font-size: 2.25rem;
		font-size: var(--font-size-large);
		line-height: calc(0.25rem * 10);
		line-height: var(--line-height-large);
	}

.s-standard-typography h3, .mce-content-body h3 {
		font-size: 1.25rem;
		font-size: var(--font-size-medium);
		line-height: calc(0.25rem * 8);
		line-height: var(--line-height-medium);
	}

.s-standard-typography h4,
	.s-standard-typography h5,
	.s-standard-typography h6,
	.mce-content-body h4,
	.mce-content-body h5,
	.mce-content-body h6 {
		font-size: 1rem;
		font-size: var(--font-size-small);
		line-height: calc(0.25rem * 6);
		line-height: var(--line-height-small);
	}

.s-standard-typography hr + h1,
		.s-standard-typography hr + h2,
		.s-standard-typography hr + h3,
		.s-standard-typography hr + h4,
		.s-standard-typography hr + h5,
		.s-standard-typography hr + h6,
		.mce-content-body hr + h1,
		.mce-content-body hr + h2,
		.mce-content-body hr + h3,
		.mce-content-body hr + h4,
		.mce-content-body hr + h5,
		.mce-content-body hr + h6 {
			padding-top: calc(0.25rem * 2);
			padding-top: var(--gap-micro);
		}

.s-standard-typography p,
	.s-standard-typography ul,
	.s-standard-typography ol,
	.s-standard-typography table,
	.s-standard-typography figure,
	.mce-content-body p,
	.mce-content-body ul,
	.mce-content-body ol,
	.mce-content-body table,
	.mce-content-body figure {
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small);
	}

.s-standard-typography pre, .mce-content-body pre {
		font-family: monospace;
		margin-bottom: calc(0.25rem * 4);
		margin-bottom: var(--gap-tiny);
		overflow: auto;
		padding-bottom: calc(0.25rem * 4);
		padding-bottom: var(--gap-tiny)
	}

@supports ( -webkit-overflow-scrolling: touch ) {

.s-standard-typography pre, .mce-content-body pre {
			overflow: scroll;
			-webkit-overflow-scrolling: touch
	}
		}

.s-standard-typography hr, .mce-content-body hr {
		background-color: currentColor;
		border: 0;
		height: 1px;
		margin-bottom: calc(0.25rem * 8);
		margin-bottom: var(--gap);
		margin-top: 0;
		padding: 0;
	}

.s-standard-typography blockquote, .mce-content-body blockquote {
		font-family: "Butler", "Helvetica Neue", serif;
		font-family: var(--font-heading);
		font-size: 2.25rem;
		font-size: var(--font-size-large);
		line-height: calc(0.25rem * 10);
		line-height: var(--line-height-large);
		margin-bottom: calc(0.25rem * 8);
		margin-bottom: var(--gap);
		padding: calc(0.25rem * 8);
		padding: var(--gap);
		padding-top: calc(0.25rem * 6);
		padding-top: var(--gap-small);
		position: relative;
		z-index: 2
	}

.s-standard-typography blockquote p:last-child, .mce-content-body blockquote p:last-child {
			padding-bottom: 0;
		}

.s-standard-typography blockquote p::before, .mce-content-body blockquote p::before {
			color: currentColor;
			content: '“';
			display: block;
			font-family: "Mont", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-body);
			font-size: 8rem;
			height: 2rem;
			line-height: 8rem;
			margin-bottom: calc(0.25rem * 6);
			margin-bottom: var(--gap-small);
			opacity: 0.25;
			transform: translate(-0.5rem);
			width: auto;
		}

.s-standard-typography blockquote::after, .mce-content-body blockquote::after {
			background-color: currentColor;
			border-radius: 5px;
			border-radius: var(--radius);
			content: '';
			height: 100%;
			left: 0;
			opacity: 0.1;
			position: absolute;
			top: 0;
			width: 100%;
			z-index: -1;
		}

.s-standard-typography blockquote cite, .mce-content-body blockquote cite {
			display: block
		}

.s-standard-typography blockquote cite::before, .mce-content-body blockquote cite::before {
				content: "\2014";
				display: inline-block;
				margin-right: 1em;
			}

@media ( min-width: 992px ) {

.s-standard-typography blockquote, .mce-content-body blockquote {
			padding: calc(0.25rem * 16);
			padding: var(--gap-large);
			padding-top: calc(0.25rem * 8);
			padding-top: var(--gap)
	}
		}

.s-standard-typography ul > ul,
		.s-standard-typography ul > ol,
		.s-standard-typography ol > ul,
		.s-standard-typography ol > ol,
		.mce-content-body ul > ul,
		.mce-content-body ul > ol,
		.mce-content-body ol > ul,
		.mce-content-body ol > ol {
			margin-bottom: 0;
		}

.s-standard-typography ul,
	.s-standard-typography ol,
	.mce-content-body ul,
	.mce-content-body ol {
		list-style: none
	}

.s-standard-typography ul li, .s-standard-typography ol li, .mce-content-body ul li, .mce-content-body ol li {
			padding-bottom: calc(0.25rem * 2);
			padding-bottom: var(--gap-micro);
			position: relative
		}

.s-standard-typography ul li > ul,
			.s-standard-typography ul li > ol,
			.s-standard-typography ol li > ul,
			.s-standard-typography ol li > ol,
			.mce-content-body ul li > ul,
			.mce-content-body ul li > ol,
			.mce-content-body ol li > ul,
			.mce-content-body ol li > ol {
				padding-bottom: 0;
				padding-left: 2em;
				padding-top: calc(0.25rem * 2);
				padding-top: var(--gap-micro)
			}

.s-standard-typography ul li > ul li:last-of-type, .s-standard-typography ul li > ol li:last-of-type, .s-standard-typography ol li > ul li:last-of-type, .s-standard-typography ol li > ol li:last-of-type, .mce-content-body ul li > ul li:last-of-type, .mce-content-body ul li > ol li:last-of-type, .mce-content-body ol li > ul li:last-of-type, .mce-content-body ol li > ol li:last-of-type {
					padding-bottom: 0;
				}

.s-standard-typography ul li::before, .s-standard-typography ol li::before, .mce-content-body ul li::before, .mce-content-body ol li::before {
				content: "";
				display: inline-block;
				padding-right: 0.5em;
			}

.s-standard-typography ul li::before, .mce-content-body ul li::before {
				content: "–";
				display: inline-block;
			}

.s-standard-typography ol, .mce-content-body ol {
		counter-reset: ol
	}

.s-standard-typography ol li::before, .mce-content-body ol li::before {
				content: counter(ol, decimal-leading-zero) ".";
				counter-increment: ol;
			}

.s-standard-typography figure, .mce-content-body figure {
		max-width: 100%;
		width: 100%
	}

.s-standard-typography figure a, .mce-content-body figure a {
			display: block;
		}

.s-standard-typography figcaption, .mce-content-body figcaption {
		margin-top: calc(0.25rem * 2);
		margin-top: var(--gap-micro)
	}

.s-standard-typography figcaption img, .mce-content-body figcaption img {
			margin-top: 0;
		}

.s-standard-typography img, .mce-content-body img {
		display: block;
		height: auto;
		margin-bottom: calc(0.25rem * 8);
		margin-bottom: var(--gap);
		margin-top: calc(0.25rem * 2);
		margin-top: var(--gap-micro);
		width: 100%
	}

.s-standard-typography img:last-child, .mce-content-body img:last-child {
			margin-bottom: 0;
		}

/**
 * Positioning sub and sup the right way
 *
 * @credit https://gist.github.com/unruthless/413930
 */

sub,
sup {
	/* Specified in % so that the sup/sup is the
     right size relative to the surrounding text */
	font-size: 75%;

	/* Zero out the line-height so that it doesn't
     interfere with the positioning that follows */
	line-height: 0;

	/* Where the magic happens: makes all browsers position
     the sup/sup properly, relative to the surrounding text */
	position: relative;

	/* Note that if you're using Eric Meyer's reset.css, this
     is already set and you can remove this rule */
	vertical-align: baseline;
}

sup {
	/* Move the superscripted text up */
	top: -0.5em;
}

sub {
	/* Move the subscripted text down, but only
     half as far down as the superscript moved up */
	bottom: -0.25em;
}

/* -----------------------------------------------------------------------------
 # Components –                                                               #
----------------------------------------------------------------------------- */

/* =============================================================================
 # Accordion                                                                  #
============================================================================= */

/**
 * A component for accordions.
 */

.c-accordion {
	width: 100%;
}

.c-accordion__item {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1)
}

.c-accordion__item:first-child {
		border-top: 1px solid rgba(0, 0, 0, 0.1);
	}

.bg-green .c-accordion__item,
	.bg-blue .c-accordion__item {
		border-bottom: 1px solid rgba(255, 255, 255, 0.1)
	}

.bg-green .c-accordion__item:first-child, .bg-blue .c-accordion__item:first-child {
			border-top: 1px solid rgba(255, 255, 255, 0.1);
		}

.bg-gray .c-accordion__item {
		border-bottom: 1px solid rgba(0, 0, 0, 0.1)
	}

.bg-gray .c-accordion__item:first-child {
			border-top: 1px solid rgba(0, 0, 0, 0.1);
		}

.c-accordion__button {
	align-items: center;
	color: currentColor;
	display: flex;
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
	padding-left: 0;
	padding-right: 0;
	padding-top: calc(0.25rem * 6);
	padding-top: var(--gap-small);
	width: 100%
}

@media ( min-width: 992px ) {

.c-accordion__button {
		padding-bottom: calc(0.25rem * 4);
		padding-bottom: calc(var(--baseline-unit) * 4);
		padding-top: calc(0.25rem * 4);
		padding-top: calc(var(--baseline-unit) * 4)
}
	}

.c-accordion__icon {
	color: currentColor;
	font-size: 1.25rem;
	height: 100%;
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
	padding-right: calc(0.25rem * 16);
	padding-right: var(--gap-large);
	position: relative;
	transform: translateY(-0.1rem);
}

.c-accordion__icon .c-icon {
		left: 50%;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
	}

.c-accordion__title {
	font-family: "Mont", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-body);
	font-size: 1.25rem;
	font-size: var(--font-size-medium);
	font-weight: bold;
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--gap-tiny);
	text-align: left
}

@media ( min-width: 992px ) {

.c-accordion__title {
		font-size: 1rem;
		font-size: var(--font-size-small)
}
	}

.c-accordion__state {
	font-size: 1rem;
	margin-left: auto;
	padding-left: calc(0.25rem * 6);
	padding-left: var(--gap-small);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--gap-tiny);
}

.c-accordion__state .c-icon {
		transform: rotate(0);
		transition: transform 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
		transition: transform var(--transition);
	}

.is-open .c-accordion__state .c-icon {
			transform: rotate(45deg);
		}

.c-accordion__content {
	font-size: 1rem;
	font-size: var(--font-size-small);
	height: 0;
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small);
	opacity: 0;
	overflow: hidden;
	padding-left: calc(0.25rem * 16);
	padding-left: var(--gap-large);
	transition: height 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94), opacity 0.8s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition: height var(--transition), opacity var(--transition-slow);
}

.is-open .c-accordion__content {
		opacity: 1;
	}

.c-accordion__text {
	max-width: 40rem;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
	padding-right: calc(0.25rem * 6);
	padding-right: var(--gap-small);
}

.c-accordion__text strong {
		font-weight: 600;
	}

.c-accordion__text a {
		text-decoration: underline
	}

.c-accordion__text a:hover,
		.c-accordion__text a:focus {
			opacity: 0.6;
			text-decoration: none;
		}

.c-accordion__text p {
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small)
	}

.c-accordion__text p:last-child {
			padding-bottom: 0;
		}

@media ( min-width: 768px ) {

.c-accordion__text {
		padding-right: calc(0.25rem * 16);
		padding-right: var(--gap-large)
}
	}

.c-bottom-panel {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	bottom: -1px;
	left: 0;
	position: -webkit-sticky;
	position: sticky;
	z-index: 4
}

.c-bottom-panel.bg-green,
	.c-bottom-panel.bg-blue {
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		border-top: 1px solid rgba(255, 255, 255, 0.1);
	}

.c-bottom-panel__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny);
}

.c-bottom-panel__grid {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(0.75rem * -1);
	margin-left: calc(var(--gap-grid) * -1);
	margin-right: calc(0.75rem * -1);
	margin-right: calc(var(--gap-grid) * -1);
	width: calc(100% + 0.75rem *2);
	width: calc(100% + var(--gap-grid) *2);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.c-bottom-panel__item,
.c-bottom-panel__price {
	flex-basis: calc((100 / (12 / 6) ) * 1%);
	flex-grow: 0;
	max-width: calc((100 / (12 / 6)) * 1%);
	padding-left: 0.75rem;
	padding-left: var(--gap-grid);
	padding-right: 0.75rem;
	padding-right: var(--gap-grid);
	align-self: flex-end;
	display: flex;
	flex-flow: column
}

@media ( min-width: 768px ) {

.c-bottom-panel__item,
.c-bottom-panel__price {
		flex-basis: calc((100 / (12 / 4) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 4)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

@media ( min-width: 1280px ) {

.c-bottom-panel__item,
.c-bottom-panel__price {
		flex-basis: calc((100 / (12 / 3) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 3)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

.c-bottom-panel__price {
	display: none
}

@media ( min-width: 768px ) {

.c-bottom-panel__price {
		display: flex
}
	}

.c-bottom-panel__contact {
	flex-basis: calc((100 / (12 / 6) ) * 1%);
	flex-grow: 0;
	max-width: calc((100 / (12 / 6)) * 1%);
	padding-left: 0.75rem;
	padding-left: var(--gap-grid);
	padding-right: 0.75rem;
	padding-right: var(--gap-grid);
	align-items: center;
	display: flex;
	margin-left: auto
}

@media ( min-width: 768px ) {

.c-bottom-panel__contact {
		flex-basis: calc((100 / (12 / 4) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 4)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

@media ( min-width: 1280px ) {

.c-bottom-panel__contact {
		flex-basis: calc((100 / (12 / 6) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 6)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

.c-bottom-panel__label {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: 1.265;
	overflow: hidden;
	padding-bottom: calc(0.25rem * 2);
	padding-bottom: var(--gap-micro);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.c-bottom-panel__title {
	font-size: 1rem;
	font-size: var(--font-size-small);
	font-weight: bold;
	line-height: 1.265;
	margin-top: auto;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.is-active .c-bottom-panel__title {
		overflow: visible;
	}

@media ( min-width: 768px ) {

.c-bottom-panel__title {
		font-size: 1.25rem;
		font-size: var(--font-size-medium)
}
	}

.c-bottom-panel__anchor-wrapper {
	transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94), visibility 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition: opacity var(--transition), visibility var(--transition);
	width: 100%
}

@media ( min-width: 1280px ) {

.c-bottom-panel__anchor-wrapper {
		width: auto
}
	}

.is-active .c-bottom-panel__anchor-wrapper {
		opacity: 0;
		pointer-events: none;
		visibility: hidden;
	}

.c-bottom-panel__anchor {
	width: 100%
}

@media ( min-width: 1280px ) {

.c-bottom-panel__anchor {
		width: auto
}
	}

.c-bottom-panel__button,
.c-bottom-panel__anchor {
	--c-button-color: var(--color-white);
	--c-button-bg: var(--color-black);
}

.bg-green .c-bottom-panel__button,
	.bg-blue .c-bottom-panel__button,
	.bg-green .c-bottom-panel__anchor,
	.bg-blue .c-bottom-panel__anchor {
		--c-button-color: var(--color-black);
		--c-button-bg: var(--color-white);
	}

.bg-gray .c-bottom-panel__button:hover,
		.bg-gray .c-bottom-panel__button:focus,
		.bg-gray .c-bottom-panel__anchor:hover,
		.bg-gray .c-bottom-panel__anchor:focus {
			background-color: #fafafa;
			background-color: var(--color-light-gray);
			color: #000;
			color: var(--color-black);
		}

.c-bottom-panel__separator {
	display: none;
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: 1.265;
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 2);
	padding-left: var(--gap-micro);
	padding-right: calc(0.25rem * 2);
	padding-right: var(--gap-micro);
	transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94), visibility 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition: opacity var(--transition), visibility var(--transition)
}

@media ( min-width: 1280px ) {

.c-bottom-panel__separator {
		display: inline-block
}
	}

.is-active .c-bottom-panel__separator {
		opacity: 0;
		pointer-events: none;
		visibility: hidden;
	}

.c-bottom-panel__buttons {
	display: none
}

@media ( min-width: 1280px ) {

.c-bottom-panel__buttons {
		display: inline-flex
}
	}

.c-bottom-panel__button {
	margin-right: calc(0.25rem * 2);
	margin-right: var(--gap-micro)
}

.c-bottom-panel__button:last-child {
		margin-right: 0;
	}

/* =============================================================================
 # Button                                                                     #
============================================================================= */

/**
 * Component for buttons (displayed as a pill).
 * Change font-size, colors and more to match the design.
 * It is typically set on <button>, <a> or <span>
 *
 * @markup
	<element class="c-button [modifier(s)]">
		[text node]
	</element>
 *
 */

/* Setting component variables */

:root {
	--c-button-font-size: var(--font-size-tiny);
	--c-button-color: var(--color-black);
	--c-button-bg: var(--color-white);
	--c-button-line-height: var(--line-height-tiny);
	--c-button-border-radius: var(--radius);
}

.c-button,
.c-button[type="submit"] {
	background-color: #fff;
	background-color: var(--c-button-bg);
	border-radius: 5px;
	border-radius: var(--c-button-border-radius);
	color: #000;
	color: var(--c-button-color);
	cursor: pointer;
	display: inline-block;
	font-size: 0.9rem;
	font-size: var(--c-button-font-size);
	padding: calc(0.25rem * 4) calc(0.25rem * 6);
	padding: calc(var(--baseline-unit) * 4) calc(var(--baseline-unit) * 6);
	text-align: center;
	transition:
		background-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94),
		color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94),
		border 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition:
		background-color var(--transition),
		color var(--transition),
		border var(--transition);
	white-space: nowrap;

	--hover-bg-color: var(--color-gray);
	--hover-text-color: var(--color-black);
}

.c-button a, .c-button[type="submit"] a {
		display: inline-block;
	}

.c-button:hover,
	.c-button:focus,
	.c-button[type="submit"]:hover,
	.c-button[type="submit"]:focus {
		background-color: var(--hover-bg-color);
		color: var(--hover-text-color);
		text-decoration: none;
	}

.c-button:disabled,
	.c-button.is-disabled,
	.c-button[aria-disabled="true"],
	.c-button[type="submit"]:disabled,
	.c-button[type="submit"].is-disabled,
	.c-button[type="submit"][aria-disabled="true"] {
		cursor: default;
		opacity: 0.6;
		pointer-events: none;
	}

@media ( min-width: 768px ) {

.c-button,
.c-button[type="submit"] {
		padding: calc(0.25rem * 3) calc(0.25rem * 5);
		padding: calc(var(--baseline-unit) * 3) calc(var(--baseline-unit) * 5)
}
	}

.c-button--black,
.c-button--black[type="submit"] {
	background-color: #000;
	background-color: var(--color-black);
	color: #fff;
	color: var(--color-white);

	/* --hover-bg-color: var(--color-black); */
	--hover-text-color: var(--color-black)
}

.c-button--black:hover,
	.c-button--black:focus,
	.c-button--black[type="submit"]:hover,
	.c-button--black[type="submit"]:focus {
		color: var(--hover-text-color);
	}

.c-button--gray,
.c-button--gray[type="submit"] {
	background-color: #fafafa;
	background-color: var(--color-light-gray);
	color: #000;
	color: var(--color-black);
}

.c-button--outline,
.c-button--outline[type="submit"] {
	background-color: transparent;
	border: 2px solid #fff;
	border: 2px solid var(--c-button-bg);
	color: var(--c-button-text-color);
	padding: calc((0.25rem * 4) - 1px) calc(0.25rem * 6);
	padding: calc((var(--baseline-unit) * 4) - 1px) calc(var(--baseline-unit) * 6);

	--hover-bg-color: var(--color-black);
	--hover-text-color: var(--color-white)
}

.c-button--outline.c-button--black,
	.c-button--outline.c-button--black[type="submit"],
	.c-button--outline[type="submit"].c-button--black,
	.c-button--outline[type="submit"].c-button--black[type="submit"] {
		border: 2px solid #000;
		border: 2px solid var(--color-black);
	}

.bg-green .c-button--outline,
	.bg-blue .c-button--outline,
	.bg-green .c-button--outline[type="submit"],
	.bg-blue .c-button--outline[type="submit"] {
		border: 2px solid #fff;
		border: 2px solid var(--color-white);

		--hover-bg-color: var(--color-white);
		--hover-text-color: var(--color-black)
	}

.bg-green .c-button--outline:hover,
		.bg-green .c-button--outline:focus,
		.bg-blue .c-button--outline:hover,
		.bg-blue .c-button--outline:focus,
		.bg-green .c-button--outline[type="submit"]:hover,
		.bg-green .c-button--outline[type="submit"]:focus,
		.bg-blue .c-button--outline[type="submit"]:hover,
		.bg-blue .c-button--outline[type="submit"]:focus {
			background-color: var(--hover-bg-color);
			border: 2px solid var(--hover-bg-color);
			color: var(--hover-text-color);
		}

.c-button--outline:hover,
	.c-button--outline:focus,
	.c-button--outline[type="submit"]:hover,
	.c-button--outline[type="submit"]:focus {
		background-color: var(--hover-bg-color);
		border: 2px solid var(--hover-bg-color);
		color: var(--hover-text-color);
	}

@media ( min-width: 768px ) {

.c-button--outline,
.c-button--outline[type="submit"] {
		padding: calc((0.25rem * 3) - 2px) calc(0.25rem * 5);
		padding: calc((var(--baseline-unit) * 3) - 2px) calc(var(--baseline-unit) * 5) /* stylelint-disable-line */
}
	}

/* =============================================================================
 # Card                                                                       #
============================================================================= */

/**
 * Component for cards.
 * Change font-size, colors and more to match the design.
 * It is typically set on <div> or <a>.
 *
 * @markup
	<element class="c-card [modifier(s)]">
		[text node]
	</element>
 *
 */

/* Setting component variables */

:root {
	--c-card-bg: var(--color-gray);
	--c-card-color: var(--color-black);
	--c-card-padding: var(--gap-small);
	--c-card-label-color: var(--color-white);
	--c-card-label-bg: var(--color-black)
}

@media ( min-width: 768px ) {

:root {
		--c-card-padding: var(--gap-small)
}
	}

.c-card {
	background-color: #e8e8e8;
	background-color: var(--c-card-bg);
	border-radius: 5px;
	border-radius: var(--radius);
	color: #000;
	color: var(--c-card-color);
	display: flex;
	flex-flow: column;
	height: 100%;
	position: relative;
	transition: 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition: var(--transition);
	width: 100%

	/* Remove pointer from non-linked cards. */
}

.c-card:not([href]) {
		cursor: auto;
		cursor: initial;
	}

.c-card:hover,
	.c-card:focus {
		text-decoration: none;
	}

.c-card__banner {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding-left: calc(0.25rem * 6);
	padding-left: var(--c-card-padding);
	padding-right: calc(0.25rem * 6);
	padding-right: var(--c-card-padding);
	padding-top: calc(0.25rem * 6);
	padding-top: var(--gap-small);
}

.c-card__header {
	overflow: hidden;
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.c-card__header-label {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	margin-bottom: calc(0.25rem * 2);
	margin-bottom: var(--gap-micro);
	min-height: calc(0.25rem * 5);
	min-height: var(--line-height-tiny);
}

.c-card__label {
	background-color: #000;
	background-color: var(--c-card-label-bg);
	border-radius: 5px;
	border-radius: var(--radius);
	color: #fff;
	color: var(--c-card-label-color);
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	padding: calc(0.25rem * 2) calc(0.25rem * 4);
	padding: var(--gap-micro) var(--gap-tiny);
	position: absolute;
	right: calc((0.25rem * 3) * -1);
	right: calc((var(--baseline-unit) * 3) * -1);
	top: 0;
	transform: translateY(-50%);
	transition: color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94), background-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition: color var(--transition), background-color var(--transition);
	white-space: nowrap
}

@media ( min-width: 436px ) {

.c-card__label {
		font-size: 0.9rem;
		font-size: var(--font-size-tiny);
		right: calc(0.25rem * 6);
		right: var(--gap-small)
}
	}

.c-card__title {
	font-size: 1.25rem;
	font-size: var(--font-size-medium);
	font-weight: bold;
	line-height: 1.265;
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny)
}

@media ( min-width: 576px ) {

.c-card__title {
		font-size: calc(0.9rem * 1.8);
		font-size: calc(var(--font-size-tiny) * 1.8)
}
	}

.c-card__intro {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny)
}

.c-card__intro.c-card__intro--wysiwyg strong {
		font-weight: 600;
	}

.c-card__intro.c-card__intro--wysiwyg a {
		text-decoration: underline
	}

.c-card__intro.c-card__intro--wysiwyg a:hover,
		.c-card__intro.c-card__intro--wysiwyg a:focus {
			opacity: 0.6;
			text-decoration: none;
		}

.c-card__intro.c-card__intro--wysiwyg p {
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small)
	}

.c-card__intro.c-card__intro--wysiwyg p:last-child {
			padding-bottom: 0;
		}

.c-card__intro.c-card__intro--wysiwyg p {
			padding-bottom: calc(0.25rem * 4);
			padding-bottom: var(--gap-tiny);
		}

.c-card__footer {
	margin-top: auto;
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
}

.c-card__footer-label {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	margin-bottom: calc(0.25rem * 2);
	margin-bottom: var(--gap-micro);
	min-height: calc(0.25rem * 5);
	min-height: var(--line-height-tiny);
}

.c-card__price-replacement {
	font-size: calc(0.9rem * 1.8);
	font-size: calc(var(--font-size-tiny) * 1.8); /* same as c-card__title */
	font-weight: bold;
	line-height: 1.265;
}

.c-card__price {
	align-items: center;
	display: flex;
	font-size: calc(0.9rem * 2.6);
	font-size: calc(var(--font-size-tiny) * 2.6);
	font-weight: bold;
}

.c-card__rate {
	display: inline-flex;
	flex-direction: column;
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	font-weight: normal;
	line-height: 1;
	margin-left: calc(0.25rem * 2);
	margin-left: var(--gap-micro);
}

.c-card__icons {
	display: flex;
	flex-basis: 100%;
	flex-shrink: 0;
	margin-top: calc(calc(0.25rem * 4) * -1);
	margin-top: calc(var(--gap-tiny) * -1);
}

.c-card__icon {
	align-items: center;
	display: inline-flex;
	padding-right: calc(0.25rem * 4);
	padding-right: var(--gap-tiny);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny);
}

.c-card__icon-label {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	padding-left: 0.75em;
}

.c-card__date {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
}

.c-card__date .c-icon {
		margin-right: calc(0.25rem * 2);
		margin-right: var(--gap-micro);
		transform: translateY(-2px);
	}

.c-card__date-icon {
	font-size: 0.875rem;
}

.c-card__image {
	border-radius: 0 0 5px 5px;
	border-radius: 0 0 var(--radius) var(--radius);
	height: 0;
	overflow: hidden;
	padding-top: 90%;
	position: relative;
	width: 100%;
}

.c-card__image img {
		bottom: 0;
		height: 100%;
		left: 0;
		object-fit: cover;
		object-position: center;
		position: absolute;
		right: 0;
		top: 0;
		width: 100%;
	}

@media ( min-width: 768px ) {

.c-card__image {
		padding-top: 75%
}
	}

.c-card__button {
	background-color: #e8e8e8;
	background-color: var(--c-card-bg);
	bottom: calc(0.25rem * 6);
	bottom: var(--gap-small);
	color: #000;
	color: var(--c-card-color);
	left: calc(0.25rem * 6);
	left: var(--c-card-padding);
	pointer-events: none;
	position: absolute;
}

.c-card__perks {
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny);
}

.c-card__perk {
	align-items: center;
	border-bottom: 1px solid currentColor;
	display: flex;
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: 1.375;
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny)
}

.c-card__perk:first-of-type {
		border-top: 1px solid currentColor;
	}

.c-card__button--no-image {
	background-color: #000;
	background-color: var(--color-black);
	bottom: calc(0.25rem * 6);
	bottom: var(--gap-small);
	color: #fff;
	color: var(--color-white);
}

.c-card:hover .c-card__button--no-image {
		background-color: #e8e8e8;
		background-color: var(--color-gray);
		color: #000;
		color: var(--color-black);
	}

@media ( min-width: 992px ) {
		.c-card--medium .c-card__banner {
			flex-direction: row;
			width: 100%;
		}

		.c-card--medium .c-card__header {
			padding-right: 0;
		}

		.c-card--medium .c-card__header,
		.c-card--medium .c-card__footer {
			display: flex;
			flex-direction: column;
			flex-grow: 1;
			margin-top: 0;
			width: auto;
		}

			.c-card--medium .c-card__header > :last-child, .c-card--medium .c-card__footer > :last-child {
				padding-bottom: 0;
			}

		.c-card--medium .c-card__title {
			-webkit-hyphens: auto;
			    -ms-hyphens: auto;
			        hyphens: auto;
			margin-top: calc(calc(0.25rem * 6) + 0.9rem * 0.3);
			margin-top: calc(var(--gap-small) + var(--font-size-tiny) * 0.3);
			overflow: hidden;
			padding-bottom: calc(0.25rem * 6);
			padding-bottom: var(--gap-small);
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		.c-card--medium .c-card__title--no-label {
			margin-top: 0;
		}

		.c-card--medium .c-card__intro {
			max-width: 27.5rem;
		}

		.c-card--medium .c-card__footer {
			flex-grow: 0;
			flex-shrink: 0;
			padding-left: calc(0.25rem * 4);
			padding-left: var(--gap-tiny);
		}

		.c-card--medium .c-card__amount {
			display: inline-block;
			margin-left: auto;
		}

		.c-card--medium .c-card__price-replacement {
			margin-top: calc(0.9rem * 0.3);
			margin-top: calc(var(--font-size-tiny) * 0.3);
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		.c-card--medium .c-card__price-replacement--no-label {
			margin-top: calc(calc(0.25rem * 5) + 0.9rem * 0.3 + calc(0.25rem * 8));
			margin-top: calc(var(--line-height-tiny) + var(--font-size-tiny) * 0.3 + var(--gap)); /* stylelint-disable-line */
		}

		.c-card--medium .c-card__price-replacement--no-margin {
			margin-top: 0;
		}

		.c-card--medium .c-card__footer-label {
			margin-bottom: calc(0.25rem * 8);
			margin-bottom: var(--gap);
			text-align: right;
		}
			@supports (display: grid) {

		.c-card--medium .c-card__icons {
				display: -ms-grid;
				display: grid;
				grid-auto-rows: -webkit-min-content;
				grid-auto-rows: min-content;
				grid-column-gap: calc(0.25rem * 4);
				grid-column-gap: var(--gap-tiny);
				grid-row-gap: calc(0.25rem * 4);
				grid-row-gap: var(--gap-tiny);
				-ms-grid-columns: auto auto;
				grid-template-columns: auto auto
		}
			}

		.c-card--medium .c-card__icon {
			display: flex;
			justify-content: flex-end;
			padding-bottom: calc(0.25rem * 4);
			padding-bottom: var(--gap-tiny);
			padding-right: 0
		}

			.c-card--medium .c-card__icon:last-child {
				padding-bottom: 0;
			}

			@supports (display: grid) {

		.c-card--medium .c-card__icon {
				padding-bottom: 0
		}
			}

		.c-card--medium .c-card__icon-label {
			order: -1;
			padding-left: 0;
			padding-right: 0.75em;
		}

		.c-card--medium .c-card__image {
			padding-top: 56.25%; /* 16:9 */
		}
	}

@media ( min-width: 768px ) {
		.c-card--large .c-card__banner {
			flex-direction: row;
			width: 100%;
		}

		.c-card--large .c-card__header {
			padding-right: 0;
		}

		.c-card--large .c-card__header,
		.c-card--large .c-card__footer {
			display: flex;
			flex-direction: column;
			flex-grow: 1;
			margin-top: 0;
			width: auto;
		}

			.c-card--large .c-card__header > :last-child, .c-card--large .c-card__footer > :last-child {
				padding-bottom: 0;
			}

		.c-card--large .c-card__title {
			-webkit-hyphens: auto;
			    -ms-hyphens: auto;
			        hyphens: auto;
			margin-top: calc(calc(0.25rem * 6) + 0.9rem * 0.3);
			margin-top: calc(var(--gap-small) + var(--font-size-tiny) * 0.3);
			overflow: hidden;
			padding-bottom: calc(0.25rem * 6);
			padding-bottom: var(--gap-small);
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		.c-card--large .c-card__title--no-label {
			margin-top: 0;
		}

		.c-card--large .c-card__intro {
			max-width: 27.5rem;
		}

		.c-card--large .c-card__footer {
			flex-grow: 0;
			flex-shrink: 0;
			padding-left: calc(0.25rem * 4);
			padding-left: var(--gap-tiny);
		}

		.c-card--large .c-card__amount {
			display: inline-block;
			margin-left: auto;
		}

		.c-card--large .c-card__price-replacement {
			margin-top: calc(0.9rem * 0.3);
			margin-top: calc(var(--font-size-tiny) * 0.3);
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		.c-card--large .c-card__price-replacement--no-label {
			margin-top: calc(calc(0.25rem * 5) + 0.9rem * 0.3 + calc(0.25rem * 8));
			margin-top: calc(var(--line-height-tiny) + var(--font-size-tiny) * 0.3 + var(--gap)); /* stylelint-disable-line */
		}

		.c-card--large .c-card__price-replacement--no-margin {
			margin-top: 0;
		}

		.c-card--large .c-card__footer-label {
			margin-bottom: calc(0.25rem * 8);
			margin-bottom: var(--gap);
			text-align: right;
		}
			@supports (display: grid) {

		.c-card--large .c-card__icons {
				display: -ms-grid;
				display: grid;
				grid-auto-rows: -webkit-min-content;
				grid-auto-rows: min-content;
				grid-column-gap: calc(0.25rem * 4);
				grid-column-gap: var(--gap-tiny);
				grid-row-gap: calc(0.25rem * 4);
				grid-row-gap: var(--gap-tiny);
				-ms-grid-columns: auto auto;
				grid-template-columns: auto auto
		}
			}

		.c-card--large .c-card__icon {
			display: flex;
			justify-content: flex-end;
			padding-bottom: calc(0.25rem * 4);
			padding-bottom: var(--gap-tiny);
			padding-right: 0
		}

			.c-card--large .c-card__icon:last-child {
				padding-bottom: 0;
			}

			@supports (display: grid) {

		.c-card--large .c-card__icon {
				padding-bottom: 0
		}
			}

		.c-card--large .c-card__icon-label {
			order: -1;
			padding-left: 0;
			padding-right: 0.75em;
		}

		.c-card--large .c-card__image {
			padding-top: 25%;
		}
	}

.c-card--compare-membership .c-card__banner {
		flex-direction: column;
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small);
	}

.c-card--compare-membership .c-card__footer-label {
		margin-bottom: calc(0.25rem * 2);
		margin-bottom: var(--gap-micro);
		text-align: left;
	}

.c-card--compare-membership .c-card__amount {
		margin-left: 0;
	}

.c-card--compare-membership .c-card__icon {
		padding-right: calc(0.25rem * 4);
		padding-right: var(--gap-tiny);
		padding-top: 0;
	}

.c-card--compare-membership .c-card__button {
		margin-top: auto;
		position: static;
		position: initial;
	}

.c-card--cards.c-card--medium .c-card__title {
			margin-top: calc(0.25rem * 2);
			margin-top: var(--gap-micro);
			padding-bottom: calc(0.25rem * 2);
			padding-bottom: var(--gap-micro);
		}

/* =============================================================================
 # Color                                                                      #
============================================================================= */

/**
 * A component for displaying colors in Gutenberg.
 */

.c-color {
	border: 1px solid #858585;
	border-radius: 100%;
	display: inline-block;
	height: 20px;
	margin-left: calc(0.25rem * 6);
	margin-left: var(--gap-small);
	width: 20px;
}

/* =============================================================================
 # Contact Form                                                               #
============================================================================= */

/**
 * A component for plugin, "Contact Form 7".
 */

.wpcf7-form {
	position: relative;
}

.wpcf7-form .ajax-loader {
		bottom: -22px;
		left: 50%;
		position: absolute;
		transform: translateX(-50%);
	}

.wpcf7-form p {
		display: flex;
		flex-direction: column;
	}

.wpcf7-form p br {
			display: none;
		}

.wpcf7-form-control-wrap {
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	position: relative;
	width: 100%;
}

/*
 # Inputs
============================================================================= */

/* Add typography for every input-type. */

.wpcf7-text,
.wpcf7-textarea,
.wpcf7-select,
.wpcf7-submit {
	-moz-appearance: none;
	-webkit-appearance: none;
	font-family: "Mont", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-body);
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
}

.wpcf7-text,
.wpcf7-textarea,
.wpcf7-select {
	background-color: transparent;
	border: 1px solid currentColor;
	border-radius: 5px;
	border-radius: var(--radius);
	color: currentColor;
	padding: calc(0.25rem * 2);
	padding: var(--gap-micro);
	width: 100%
}

.wpcf7-text:-ms-input-placeholder, .wpcf7-textarea:-ms-input-placeholder, .wpcf7-select:-ms-input-placeholder {
		color: currentColor;
		opacity: 0.75;
		-ms-transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
		transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
		-ms-transition: opacity var(--transition);
		transition: opacity var(--transition);
	}

.wpcf7-text::placeholder, .wpcf7-textarea::placeholder, .wpcf7-select::placeholder {
		color: currentColor;
		opacity: 0.75;
		transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
		transition: opacity var(--transition);
	}

.wpcf7-text:hover:-ms-input-placeholder, .wpcf7-text:focus:-ms-input-placeholder, .wpcf7-textarea:hover:-ms-input-placeholder, .wpcf7-textarea:focus:-ms-input-placeholder, .wpcf7-select:hover:-ms-input-placeholder, .wpcf7-select:focus:-ms-input-placeholder {
			opacity: 1;
		}

.wpcf7-text:hover::placeholder, .wpcf7-text:focus::placeholder, .wpcf7-textarea:hover::placeholder, .wpcf7-textarea:focus::placeholder, .wpcf7-select:hover::placeholder, .wpcf7-select:focus::placeholder {
			opacity: 1;
		}

.wpcf7-textarea {
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
}

.wpcf7-select {
	-moz-appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='16px' height='7px' viewBox='0 0 16 7' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3EPath 3%3C/title%3E%3Cg id='2.x-Single-Medlemskap' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linejoin='round'%3E%3Cg id='Desktop-1440' transform='translate(-1205.000000, -2433.000000)' stroke='%23000000'%3E%3Cpolyline id='Path-3' transform='translate(1213.000000, 2436.500000) scale(1, -1) translate(-1213.000000, -2436.500000) ' points='1206 2440 1213 2433 1220 2440'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	background-position: right 0.75em top 45%;
	background-repeat: no-repeat;
	background-size: 0.875em auto;
	cursor: pointer;
	padding-right: 1.375rem;
}

.color-gray .wpcf7-submit[type="submit"]:hover,
		.color-gray .wpcf7-submit[type="submit"]:focus {
			background-color: #fafafa;
			background-color: var(--color-light-gray);
		}

.color-blue .wpcf7-submit[type="submit"], .color-green .wpcf7-submit[type="submit"] {
			background-color: #fafafa;
			background-color: var(--color-light-gray);
			color: #000;
			color: var(--color-black);
		}

.color-blue .wpcf7-submit[type="submit"]:hover,
		.color-blue .wpcf7-submit[type="submit"]:focus,
		.color-green .wpcf7-submit[type="submit"]:hover,
		.color-green .wpcf7-submit[type="submit"]:focus {
			background-color: #e8e8e8;
			background-color: var(--color-gray);
		}

.wpcf7-date {
	padding: 0.26rem;
    padding-left: 0.5rem;
	padding-right: 0.5rem;
}

input[type="date"]::-webkit-calendar-picker-indicator {
	cursor: pointer;
}

/* iOS fix for textalignment in date-field */

.wpcf7-date::-webkit-date-and-time-value {
	text-align: left;
}

input[type="date"] {
    display: block;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
}

/*
 # Error outputs
============================================================================= */

.wpcf7-not-valid-tip {
	color: #db543b;
	color: var(--color-error);
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 4);
	line-height: calc(var(--baseline-unit) * 4);
	padding-top: calc(0.25rem * 2);
	padding-top: var(--gap-micro);
}

.color-red .wpcf7-not-valid-tip {
		color: #000;
		color: var(--color-black);
	}

.wpcf7-response-output[role="alert"] {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 4);
	line-height: calc(var(--baseline-unit) * 4);
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	margin-top: calc(0.25rem * 4);
	margin-top: var(--gap-tiny);
	padding: calc(0.25rem * 4);
	padding: var(--gap-tiny)
}

.wpcf7-response-output[role="alert"].wpcf7-validation-errors {
		border: 1px solid #db543b;
		border: 1px solid var(--color-error);
	}

.color-red .wpcf7-response-output[role="alert"].wpcf7-validation-errors {
			border: 1px solid #000;
			border: 1px solid var(--color-black);
		}

.wpcf7-response-output[role="alert"].wpcf7-mail-sent-ok {
		border: 1px solid #464f36;
		border: 1px solid var(--color-green);
	}

.color-green .wpcf7-response-output[role="alert"].wpcf7-mail-sent-ok {
			border: 1px solid #fff;
			border: 1px solid var(--color-white);
		}

/* =============================================================================
 # Contact                                                                    #
============================================================================= */

/**
 * A component for contact information.
 */

.c-contact {
	display: flex;
	flex-flow: row wrap;
}

.c-contact__item {
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	padding-right: calc(0.25rem * 6);
	padding-right: var(--gap-small)
}

.c-contact__item:last-child {
		padding-bottom: 0;
		padding-right: 0;
	}

.c-contact__icon {
	font-size: 24px;
	padding-right: calc(0.25rem * 2);
	padding-right: calc(var(--baseline-unit) * 2);
}

/* =============================================================================
 # Cookie Notice                                                              #
============================================================================= */

/**
 * A component for the Cookie Notice
 */

.c-cookie-notice {
	background-color: #e8e8e8;
	background-color: var(--color-gray);
	bottom: 0;
	box-shadow: 0 5px 60px 0 rgba(0, 0, 0, 0.15);
	box-shadow: var(--drop-shadow-large);
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	transform: translateY(100%);
	transition: all 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94) 0.15s;
	transition: all var(--transition) 0.15s;
	visibility: hidden;
	width: 100%;
	z-index: 10
}

.c-cookie-notice.is-visible {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
	}

.c-cookie-notice__message {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	align-items: flex-start;
	display: flex
}

@media ( min-width: 768px ) {

.c-cookie-notice__message {
		align-items: center
}
	}

.c-cookie-notice__close {
	flex-shrink: 0;
	font-size: 1.25rem;
	margin-left: auto;
	margin-right: calc(calc(0.25rem * 4) * -1);
	margin-right: calc(var(--gap-tiny) * -1);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	padding-left: calc(0.25rem * 4);
	padding-left: var(--gap-tiny);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--gap-tiny);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny)
}

@media ( min-width: 768px ) {

.c-cookie-notice__close {
		font-size: 0.9rem;
		font-size: var(--font-size-tiny)
}
	}

.c-cookie-notice__text {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny)
}

.c-cookie-notice__text a {
		text-decoration: underline
	}

.c-cookie-notice__text a:hover,
		.c-cookie-notice__text a:focus {
			opacity: 0.6;
			text-decoration: none;
		}

@media ( min-width: 768px ) {

.c-cookie-notice__text {
		font-size: 0.6rem;
		line-height: 1.265;
		padding-right: calc(0.25rem * 2);
		padding-right: var(--gap-micro)
}
	}

/* =============================================================================
 # Filter                                                                     #
============================================================================= */

/**
 * A component for filters.
 */

.c-filter {
	display: flex;
	width: 100%;
}

.c-filter__item {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	padding-right: calc(0.25rem * 6);
	padding-right: var(--gap-small)
}

.c-filter__item:last-child {
		padding-right: 0;
	}

.c-filter__item.is-active {
		opacity: 0.5;
	}

.c-filter__link:hover,
	.c-filter__link:focus {
		text-decoration: none;
	}

.c-horizontal-scroll {
	position: relative;
}

.c-horizontal-scroll__list-wrapper {
	overflow: hidden;
	width: 100%;
}

.c-horizontal-scroll__list {
	display: flex;
	flex-wrap: nowrap;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	overflow-x: auto;
	overflow-y: hidden;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	scroll-behavior: smooth;
	scrollbar-width: none;
	transition: all 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition: all var(--transition);
	width: 100%
}

.c-horizontal-scroll__list::-webkit-scrollbar {
		display: none;
	}

@supports (-webkit-overflow-scrolling: touch) {

.c-horizontal-scroll__list {
		-webkit-overflow-scrolling: touch;
		overflow-x: scroll
}
	}

.c-horizontal-scroll__list::after {
		/* This is needed for margin-right on last item */
		content: "";
		display: block;
		flex: 0 0 auto;
		margin-left: -1px;
		width: 1px;
	}

.c-horizontal-scroll__item {
	display: flex;
	flex-basis: auto;
	flex-grow: 0;
	flex-shrink: 0;
	margin-right: calc(0.75rem * 2);
	margin-right: calc(var(--gap-grid) * 2);
	min-width: 100px;
	scroll-snap-align: start;
	width: 36vw
}

.c-horizontal-scroll__item:last-of-type {
		margin-right: calc(0.25rem * 4);
		margin-right: var(--container-padding);
	}

.c-horizontal-scroll__point {
	flex-shrink: 0;
	width: calc(0.75rem * 2);
	width: calc(var(--gap-grid) * 2)
}

.c-horizontal-scroll__point:first-of-type {
		width: 0;
	}

/* =============================================================================
 # Icons                                                                      #
============================================================================= */

/**
 * Class used on svg icons. It is set by webpack automatically.
 * They can be modified with modifiers if that's needed.
 */

.c-icon {
	display: inline-block;
	fill: currentColor;
	height: 1em;
	overflow: visible;

	/**
	 * Sometimes this is needed for icons to align:
	 * transform: translateY(-1px);
	 */
	vertical-align: top;
	width: 1em

	/* Hide title on hover */
}

.c-icon[title] {
		pointer-events: none;
	}

.c-logo .c-icon {
		height: 1em;
		width: auto;
	}

.c-footer-logo .c-icon {
		height: 1em;
		width: auto;
	}

/* =============================================================================
 # Location                                                                    #
============================================================================= */

/**
 * A component for location information.
 */

.c-location {
	background-color: #fafafa;
	background-color: var(--color-light-gray);
	color: #000;
	color: var(--color-black);
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 8);
	padding-top: var(--gap);
}

.bg-gray .c-location {
		background-color: #fafafa;
		background-color: var(--color-light-gray);
	}

@media ( min-width: 768px ) {

.c-location {
		background-color: #e8e8e8;
		background-color: var(--color-gray);
		padding-left: calc(0.25rem * 8);
		padding-left: var(--gap);
		padding-right: calc(0.25rem * 8);
		padding-right: var(--gap)
}
	}

.c-location__label {
	color: currentColor;
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	padding-bottom: calc(0.25rem * 2);
	padding-bottom: var(--gap-micro);
}

.c-location__address {
	color: currentColor;
	font-size: 1.25rem;
	font-size: var(--font-size-medium);
	font-weight: bold;
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small);
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap)
}

@media ( min-width: 768px ) {

.c-location__address {
		padding-bottom: calc(0.25rem * 12);
		padding-bottom: calc(var(--baseline-unit) * 12)
}
	}

.c-location__icon {
	color: currentColor;
	font-size: 1.25rem;
	padding-right: calc(0.25rem * 4);
	padding-right: var(--gap-tiny);
}

.c-location__title {
	color: currentColor;
	color: var(--color-b);
	font-size: 1rem;
	font-size: var(--font-size-small);
	line-height: 1.25rem;
}

.c-location__button .c-button {
		width: 100%
	}

.c-location__button .c-button:hover {
			background-color: #fafafa;
			background-color: var(--color-light-gray);
		}

.bg-gray .c-location__button .c-button:hover,
			.bg-gray .c-location__button .c-button:focus {
				background-color: #e8e8e8;
				background-color: var(--color-gray);
			}

.c-location__perks {
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap)
}

@media ( min-width: 768px ) {

.c-location__perks {
		padding-bottom: calc(0.25rem * 12);
		padding-bottom: calc(var(--baseline-unit) * 12)
}
	}

.c-location__item {
	display: flex;
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

/* =============================================================================
 # Logo Grid                                                                  #
============================================================================= */

/**
 * A component for logo-grids.
 */

.c-logo-grid {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}

.c-logo-grid__column {
	flex-basis: 33.33%;
	max-width: 33.33%;
}

.c-logo-grid__item {
	padding-bottom: 75%;
	position: relative;
	width: 100%;
}

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

.c-logo-grid__logo img {
		height: 100%;
		object-fit: contain;
		object-position: center;
		width: 100%;
	}

/* =============================================================================
 # Map                                                                    #
============================================================================= */

/**
 * A component for Google maps.
 */

.c-map {
	background-color: #e8e8e8;
	background-color: var(--color-gray);
	height: 25rem;
	width: 100%;
}

.c-map img {
		max-width: inherit;
	}

@media ( min-width: 768px ) {

.c-map {
		height: 100%
}
	}

/* =============================================================================
 # Menu                                                                       #
============================================================================= */

/**
 * A component for menu
 */

.c-menu {
	display: none
}

@media ( min-width: 992px ) {

.c-menu {
		align-items: center;
		display: flex;
		flex-wrap: wrap
}
	}

.c-menu__item {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	padding-right: calc(0.25rem * 3);
	padding-right: calc(var(--baseline-unit) * 3)
}

@media ( min-width: 1366px ) {

.c-menu__item {
		padding-right: calc(0.25rem * 6);
		padding-right: var(--gap-small)
}
	}

.c-menu__item:last-of-type {
		padding-right: 0;
	}

.c-menu__item a {
		position: relative;
	}

.c-menu__item a::after {
		background-color: currentColor;
		bottom: -0.375rem;
		content: '';
		height: 1px;
		left: 0;
		position: absolute;
		right: 100%;
		transition: right 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
		transition: right var(--transition);
	}

.c-menu__item a:hover,
	.c-menu__item a:focus {
		text-decoration: none
	}

.c-menu__item a:hover::after, .c-menu__item a:focus::after {
			right: 0;
		}

.c-menu__item.is-active a::after {
		right: 0;
	}

.c-menu__item {

	/* Featured-button */
}

.c-menu__item.c-menu__item--featured a {
		background-color: #000;
		background-color: var(--color-black);
		border-radius: 5px;
		border-radius: var(--radius);
		color: #fff;
		color: var(--color-white);
		cursor: pointer;
		display: inline-block;
		padding: calc(0.25rem * 3) calc(0.25rem * 4);
		padding: calc(var(--baseline-unit) * 3) var(--gap-tiny);
		transition:
			background-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94),
			color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
		transition:
			background-color var(--transition),
			color var(--transition)
	}

.c-menu__item.c-menu__item--featured a::after {
			content: none;
		}

.c-menu__item.c-menu__item--featured a:hover,
		.c-menu__item.c-menu__item--featured a:focus {
			background-color: #e8e8e8;
			background-color: var(--color-gray);
			color: #000;
			color: var(--color-black);
			text-decoration: none;
		}

@media ( min-width: 1280px ) {

.c-menu__item.c-menu__item--featured a {
			margin-left: calc(0.25rem * 4);
			margin-left: var(--gap-tiny)
	}
		}

.c-menu-button {
	color: currentColor;
	font-size: 1.25rem;
	margin-bottom: calc(calc(0.25rem * 4) * -1);
	margin-bottom: calc(var(--gap-tiny) * -1);
	margin-right: calc(calc(0.25rem * 4) * -1);
	margin-right: calc(var(--gap-tiny) * -1);
	margin-top: calc(calc(0.25rem * 4) * -1);
	margin-top: calc(var(--gap-tiny) * -1);
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
	padding-left: calc(0.25rem * 6);
	padding-left: var(--gap-small);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--gap-tiny);
	padding-top: calc(0.25rem * 6);
	padding-top: var(--gap-small);
}

/*
.c-menu-mobile {
}
*/

.c-menu-mobile__item {
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
}

.c-menu-mobile__item a {
		position: relative;
	}

.c-menu-mobile__item a::after {
		background-color: currentColor;
		bottom: -0.375rem;
		content: '';
		height: 1px;
		left: 0;
		position: absolute;
		right: 100%;
		transition: right 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
		transition: right var(--transition);
	}

.c-menu-mobile__item a:hover,
	.c-menu-mobile__item a:focus {
		text-decoration: none
	}

.c-menu-mobile__item a:hover::after, .c-menu-mobile__item a:focus::after {
			right: 0;
		}

.c-menu-mobile__item:last-child {
		padding-bottom: 0;
	}

.c-menu-mobile__item.is-active a::after {
		right: 0;
	}

.c-menu-mobile__item {

	/* Featured-button */
}

.c-menu-mobile__item.c-menu__item--featured a {
			background-color: #000;
			background-color: var(--color-black);
			border-radius: 5px;
			border-radius: var(--radius);
			color: #fff;
			color: var(--color-white);
			cursor: pointer;
			display: inline-block;
			padding: calc(0.25rem * 4) calc(0.25rem * 6);
			padding: var(--gap-tiny) var(--gap-small);
			transition: background-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
			transition: background-color var(--transition)
		}

.c-menu-mobile__item.c-menu__item--featured a::after {
				content: none;
			}

.c-menu-mobile__item.c-menu__item--featured a:hover,
			.c-menu-mobile__item.c-menu__item--featured a:focus {
				text-decoration: none;
			}

.c-menu-footer {
	display: flex;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
}

.c-menu-footer__item {
	padding-right: calc(0.25rem * 4);
	padding-right: var(--gap-tiny)
}

.c-menu-footer__item:last-of-type {
		padding-right: 0;
	}

.c-menu-footer__item a {
		position: relative;
	}

.c-menu-footer__item a::after {
		background-color: currentColor;
		bottom: -0.375rem;
		content: '';
		height: 1px;
		left: 0;
		position: absolute;
		right: 100%;
		transition: right 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
		transition: right var(--transition);
	}

.c-menu-footer__item a:hover,
	.c-menu-footer__item a:focus {
		text-decoration: none
	}

.c-menu-footer__item a:hover::after, .c-menu-footer__item a:focus::after {
			right: 0;
		}

.c-menu-footer__item.is-active a::after {
		right: 0;
	}

/* =============================================================================
 # Modal                                                                      #
============================================================================= */

/**
 * A component for modals (overlays) e.g. the menu
 */

.c-modal {
	background-color: #e8e8e8;
	background-color: var(--color-gray);
	color: black;
	display: flex;
	flex-flow: column;
	height: 100%;
	pointer-events: none;
	position: fixed;
	top: 0;
	transform: translateX(-100%);
	transition:
		transform 0.4s ease-in-out,
		visibility 0.4s ease-in-out;
	visibility: hidden;
	width: 100%;
	z-index: 15
}

.c-modal.is-visible {
		pointer-events: auto;
		transform: translateX(0);
		visibility: visible;
	}

@media ( min-width: 1130px ) {

.c-modal {
		display: none
}
	}

.c-modal__header {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;

	align-items: center;
	display: flex;
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny)
}

@media ( min-width: 768px ) {

.c-modal__header {
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small);
		padding-top: calc(0.25rem * 6);
		padding-top: var(--gap-small)
}
	}

.c-modal__header-logo {
	color: #000;
	color: var(--color-black);
	font-size: 2rem;
}

.c-modal__header-logo a {
		display: block;
	}

.c-modal__header-menu-button {
	margin-left: auto;
}

.c-modal__main {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
}

.c-modal__menu {
	font-size: 1.25rem;
	font-size: var(--font-size-medium);
}

.c-modal__contact {
	margin-top: auto;
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
}

/* =============================================================================
 # Navigator                                                                  #
============================================================================= */

/**
 * A component for navigator.
 */

.c-navigator {
	display: flex;
	flex-flow: row nowrap;
	width: 100%;
}

.c-navigator__counter {
	font-size: 1rem;
	font-size: var(--font-size-small);
}

.c-navigator__button {
	color: currentColor;
	display: inline-block;
	font-size: 1rem;
	margin-right: calc(0.25rem * 6);
	margin-right: var(--gap-small);
	opacity: 1;
	padding: 0;
	transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition: opacity var(--transition)
}

.c-navigator__button[disabled] {
		opacity: 0.25;
	}

.c-navigator__button:last-of-type {
		margin-right: 0;
	}

.c-navigator__button .c-icon {
		pointer-events: none;
	}

/* =============================================================================
 # Pagination                                                                 #
============================================================================= */

/**
 * A component for pagination.
 */

.c-pagination {
	display: flex;
}

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

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

.c-pagination__button .c-button:hover {
		color: var(--black);
	}

/* =============================================================================
 # Perk                                                                       #
============================================================================= */

/**
 * Component for perk.
 * It is typically set on <div>
 *
 * @markup
	<element class="c-perk [modifier(s)]">
		[content]
	</element>
 *
 */

.c-perk {
	background-color: #e8e8e8;
	background-color: var(--color-gray);
	border-radius: 5px;
	border-radius: var(--radius);
	color: #000;
	color: var(--color-black);
	height: 0;
	padding-top: 100%;
	position: relative;
	width: 100%;
}

.bg-gray .c-perk {
		background-color: #fafafa;
		background-color: var(--color-light-gray);
	}

.c-perk__inner {
	padding: calc(0.25rem * 4);
	padding: var(--gap-tiny);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}

.c-perk__icon {
	color: currentColor;
	display: flex;
	font-size: 3.5rem;
	justify-content: center;
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny)
}

@media ( min-width: 1280px ) {

.c-perk__icon {
		font-size: 6.5rem;
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small)
}
	}

.c-perk__title {
	color: currentColor;
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 4.5);
	line-height: calc(var(--baseline-unit) * 4.5);
	word-wrap: anywhere;
	text-align: center
}

@media ( min-width: 1280px ) {

.c-perk__title {
		font-size: 1rem;
		font-size: var(--font-size-small);
		line-height: calc(0.25rem * 4.5);
		line-height: calc(var(--baseline-unit) * 4.5)
}
	}

/* =============================================================================
 # Site Announcement                                                          #
============================================================================= */

/**
 * A component for site announcements.
 */

.c-site-announcement {
	opacity: 0;
	transform: translateY(-100%);
	transition:
		transform 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94),
		opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition:
		transform var(--transition),
		opacity var(--transition);
	width: 100%
}

.c-site-announcement.is-visible {
		opacity: 1;
		transform: translateY(0);
	}

.c-site-announcement__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	align-items: center;
	display: flex;
	justify-content: space-between
}

@media ( min-width: 768px ) {

.c-site-announcement__inner {
		justify-content: center
}
	}

.c-site-announcement__content {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	margin-right: calc(0.25rem * 6);
	margin-right: var(--gap-small);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny);
}

.c-site-announcement__content strong {
		font-weight: 600;
	}

.c-site-announcement__content a {
		text-decoration: underline
	}

.c-site-announcement__content a:hover,
		.c-site-announcement__content a:focus {
			opacity: 0.6;
			text-decoration: none;
		}

.c-site-announcement__content p {
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small)
	}

.c-site-announcement__content p:last-child {
			padding-bottom: 0;
		}

@media ( min-width: 768px ) {

.c-site-announcement__content {
		font-size: 0.9rem;
		font-size: var(--font-size-tiny);
		line-height: calc(0.25rem * 5);
		line-height: var(--line-height-tiny);
		margin-right: calc(0.25rem * 2);
		margin-right: var(--gap-micro);
		padding-bottom: calc(0.25rem * 3);
		padding-bottom: calc(var(--baseline-unit) * 3);
		padding-top: calc(0.25rem * 3);
		padding-top: calc(var(--baseline-unit) * 3)
}
	}

.c-site-announcement__close {
	color: inherit;
	flex-shrink: 0;
	font-size: 1.25rem;
	margin-right: calc(calc(0.25rem * 4) * -1);
	margin-right: calc(var(--gap-tiny) * -1);
	padding: calc(0.25rem * 4);
	padding: var(--gap-tiny)
}

@media ( min-width: 768px ) {

.c-site-announcement__close {
		font-size: 0.9rem;
		font-size: var(--font-size-tiny);
		padding-bottom: calc(0.25rem * 3);
		padding-bottom: calc(var(--baseline-unit) * 3);
		padding-top: calc(0.25rem * 3);
		padding-top: calc(var(--baseline-unit) * 3)
}
	}

/* =============================================================================
 # Social                                                                     #
============================================================================= */

.c-social {
	display: flex;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
}

.c-social__item {
	padding-right: calc(0.25rem * 4);
	padding-right: var(--gap-tiny)
}

.c-social__item:last-of-type {
		padding-right: 0;
	}

/* =============================================================================
 # Suffix                                                                      #
============================================================================= */

/**
 * A component for suffix.
 */

.c-suffix {
	display: inline-flex;
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	font-weight: normal;
	line-height: 1
}

.c-suffix.c-suffix--column {
		flex-direction: column;
		margin-bottom: 0.375em;
		margin-left: calc(0.25rem * 2);
		margin-left: var(--gap-micro);
		margin-top: auto;
	}

.c-suffix__item.c-suffix__item--selected {
		font-weight: bold;
	}

/* =============================================================================
 # Tag                                                                        #
============================================================================= */

/**
 * A component for tags.
 */

.c-tag {
	align-items: center;
	background-color: #fff;
	background-color: var(--color-white);
	border-radius: 5px;
	border-radius: var(--radius);
	color: #000;
	color: var(--color-black);
	display: flex;
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	padding: calc(0.25rem * 3) calc(0.25rem * 5);
	padding: calc(var(--baseline-unit) * 3) calc(var(--baseline-unit) * 5);
}

.c-tag__icon {
	align-items: center;
	display: inline-flex;
	padding-right: calc(0.25rem * 2);
	padding-right: var(--gap-micro);
	transform: translateY(-0.1rem);
}

.c-tag__label {
}

/* =============================================================================
 # Video                                                                      #
============================================================================= */

/**
 * A component for videos.
 */

.c-video {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.c-video video {
		display: block;
		height: auto;
		object-fit: contain;
		width: 100%;
	}

.c-video__overlay {
	height: 100%;
	position: absolute;
	width: 100%;
}

.c-video__filter {
	background-image: linear-gradient(0deg, #000, rgba(0, 0, 0, 0));
	background-image: linear-gradient(0deg, var(--color-black), rgba(0, 0, 0, 0));
	bottom: 0;
	height: 20%;
	left: 0;
	opacity: 0.75;
	position: absolute;
	right: 0;
	z-index: 1;
}

.c-video__footer {
	align-items: center;
	bottom: 0;
	display: flex;
	left: 0;
	padding: calc(0.25rem * 6);
	padding: var(--gap-small);
	position: absolute;
	right: 0;
	z-index: 2;
}

.c-video__button {
	color: #fff;
	color: var(--color-white);
	font-size: 1.25rem
}

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

.c-video__button.is-active .c-video__icon {
			display: none;
		}

.c-video__button.is-active .c-video__icon-active {
			display: block;
		}

.c-video__icon-active {
	display: none;
}

/* -----------------------------------------------------------------------------
 # Layout –                                                                   #
----------------------------------------------------------------------------- */

/* =============================================================================
 # Site Footer                                                                #
============================================================================= */

.l-site-footer {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
	background-color: #e8e8e8;
	background-color: var(--color-gray);
	overflow: hidden;
}

.l-site-footer__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	/* margin: 0 auto;
	max-width: var(--l-max-width); */
	align-items: stretch;
	display: flex;
	flex-direction: column
}

@media ( min-width: 1280px ) {

.l-site-footer__inner {
		flex-direction: row
}
	}

.l-site-footer__logo {
	flex-shrink: 1;
	font-size: 6rem;
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-right: calc(0.25rem * 8);
	padding-right: var(--gap)
}

@media ( min-width: 1280px ) {

.l-site-footer__logo {
		padding-right: calc(0.25rem * 16);
		padding-right: var(--gap-large)
}
	}

.l-site-footer__menu {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(0.75rem * -1);
	margin-left: calc(var(--gap-grid) * -1);
	margin-right: calc(0.75rem * -1);
	margin-right: calc(var(--gap-grid) * -1);
	width: calc(100% + 0.75rem *2);
	width: calc(100% + var(--gap-grid) *2)
}

@media ( min-width: 768px ) {

.l-site-footer__menu {
		flex-wrap: nowrap
}
	}

@media ( min-width: 1280px ) {

.l-site-footer__menu {
		margin-left: auto;
		width: auto
}
	}

.l-site-footer__item {
	flex-basis: calc((100 / (12 / 12) ) * 1%);
	flex-grow: 0;
	max-width: calc((100 / (12 / 12)) * 1%);
	padding-left: 0.75rem;
	padding-left: var(--gap-grid);
	padding-right: 0.75rem;
	padding-right: var(--gap-grid);
	flex-grow: 1;
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 4);
	line-height: calc(var(--baseline-unit) * 4);
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
	padding-right: calc(0.25rem * 16);
	padding-right: var(--gap-large);
}

.l-site-footer__item a {
		position: relative;
	}

.l-site-footer__item a::after {
		background-color: currentColor;
		bottom: -0.375rem;
		content: '';
		height: 1px;
		left: 0;
		position: absolute;
		right: 100%;
		transition: right 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
		transition: right var(--transition);
	}

.l-site-footer__item a:hover,
	.l-site-footer__item a:focus {
		text-decoration: none
	}

.l-site-footer__item a:hover::after, .l-site-footer__item a:focus::after {
			right: 0;
		}

@media ( min-width: 768px ) {

.l-site-footer__item {
		flex-basis: auto;
		max-width: none;
		padding-bottom: 0
}
	}

@media ( min-width: 992px ) {

.l-site-footer__item {
		flex-grow: 0;
		padding-right: calc(0.25rem * 16);
		padding-right: var(--gap-large)
}
	}

@media ( min-width: 1280px ) {

.l-site-footer__item {
		padding-right: calc(0.25rem * 12);
		padding-right: calc(var(--baseline-unit) * 12)
}
	}

.l-site-footer__item:last-of-type {
		padding-right: 0.75rem;
		padding-right: var(--gap-grid);
	}

.l-site-footer__label {
	font-weight: bold;
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
	white-space: nowrap;
}

.l-site-footer__link {
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	white-space: nowrap;
}

.l-site-footer__icon {
	padding-right: calc(0.25rem * 2);
	padding-right: var(--gap-micro)
}

@media ( min-width: 1440px ) {
		.l-site-footer__icon .c-icon {
			transform: translateY(3px);
		}
	}

/* =============================================================================
 # Site Header                                                                #
============================================================================= */

.l-site-header {
	animation:
		header-animation 0.4s
		cubic-bezier(0.36, 0.64, 0.23, 0.94) 0.5s forwards;
	transform: translateY(-100%);
	width: 100%;
	z-index: 5
}

.l-site-header.mobile-color-black {
		color: #000;
		color: var(--color-black);
	}

.l-site-header.mobile-color-white {
		color: #fff;
		color: var(--color-white);
	}

@media ( min-width: 992px ) {

.l-site-header.desktop-color-black {
			color: #000;
			color: var(--color-black)
	}
		}

.l-site-header.desktop-color-white .c-menu__item--featured a {
			background-color: #fff;
			background-color: var(--color-white);
			color: #000;
			color: var(--color-black);
		}

@media ( min-width: 992px ) {

.l-site-header.desktop-color-white {
			color: #fff;
			color: var(--color-white)
	}
		}

.l-site-header.mobile-overlay {
		position: absolute;
		top: 0;
	}

.l-site-header.mobile-flow {
		position: static;
	}

@media ( min-width: 992px ) {

.l-site-header.desktop-overlay {
			position: absolute;
			top: 0
	}
		}

@media ( min-width: 992px ) {

.l-site-header.desktop-flow {
			position: static
	}
		}

.l-site-header__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	align-items: center;
	display: flex;
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny);
	transition: padding 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition: padding var(--transition)
}

@media ( min-width: 1130px ) {

.l-site-header__inner {
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small);
		padding-top: calc(0.25rem * 6);
		padding-top: var(--gap-small)
}
	}

.l-site-header__banner {
	height: 0;
	overflow: hidden;
	transition: height 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition: height var(--transition);
}

.l-site-header__menu {
	display: none;
	margin-left: auto
}

@media ( min-width: 1130px ) {

.l-site-header__menu {
		display: block
}
	}

.l-site-header__logo {
	color: currentColor;
	font-size: 2rem;
	padding-right: calc(0.25rem * 4);
	padding-right: var(--gap-tiny);
}

.l-site-header__logo a {
		display: block;
	}

@media ( min-width: 992px ) {

.l-site-header__logo {
		font-size: 1.5rem
}
	}

@media ( min-width: 1440px ) {

.l-site-header__logo {
		font-size: 1.75rem
}
	}

.l-site-header__menu-button {
	margin-left: auto
}

@media ( min-width: 1130px ) {

.l-site-header__menu-button {
		display: none
}
	}

/* Header slide-in animation. */

@keyframes header-animation {
	from {
		transform: translateY(-100%);
	}

	to {
		transform: translateY(0);
	}
}

/* -----------------------------------------------------------------------------
 # Template Blocks – ACF Blocks                                               #
----------------------------------------------------------------------------- */

/* =============================================================================
 # Card Featured                                                              #
============================================================================= */

/*
 * Block for featured cards.
 */

.b-card-featured {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large)
}

@media ( min-width: 768px ) {

.b-card-featured {
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap)
}
	}

.b-card-featured__header {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	display: flex;
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small)
}

@media ( min-width: 768px ) {

.b-card-featured__header {
		padding-bottom: calc(0.25rem * 4);
		padding-bottom: var(--gap-tiny)
}
	}

.b-card-featured__title {
	font-size: 2.25rem;
	font-size: var(--font-size-large);
	line-height: calc(0.25rem * 10);
	line-height: var(--line-height-large);
	margin-right: auto;
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.b-card-featured__button {
	flex-shrink: 0;
	margin-right: 0;
	margin-right: var(--c-navigator-offset);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	padding-left: calc(0.25rem * 4);
	padding-left: var(--gap-tiny);
}

.bg-gray .b-card-featured__button .c-button:hover {
			background-color: #fafafa;
			background-color: var(--color-light-gray);
		}

.b-card-featured__list {
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny);
}

.b-card-featured__column {
	min-width: 16rem;
	width: calc(100vw - calc(0.25rem * 4) * 4 - 0.75rem);
	width: calc(100vw - var(--container-padding) * 4 - var(--gap-grid));
}

.b-card-featured__navigator {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-card-featured__navigator .c-navigator__buttons {
		margin-left: auto
	}

@media ( min-width: 768px ) {

	.b-card-featured__navigator .c-navigator__buttons {
			margin-right: 0;
			margin-right: var(--c-navigator-offset)
	}
		}

/**
 *
 * Making the horizontal scroll items follow site grid.
 *
 * The math behind it:
 * 1 / [number of columns] * (100vw - [container padding] * ([number of columns] - 1) ) - [grid gap] * 2 * ([number of columns] - 1) / [number of columns]
 */

@media ( min-width: 768px ) {

.b-card-featured__column--small {
		width: calc(50vw - calc(0.25rem * 4) - 0.75rem);
		width: calc(50vw - var(--container-padding) - var(--gap-grid))
}
	}

@media ( min-width: 1280px ) {

.b-card-featured__column--small {
		width: calc(1 / 3 * (100vw - ( calc(0.25rem * 4) * 2 ) ) - ( 0.75rem * (4 / 3) ) );
		width: calc(1 / 3 * (100vw - ( var(--container-padding) * 2 ) ) - ( var(--gap-grid) * (4 / 3) ) ) /* stylelint-disable-line */
}
	}

@media ( min-width: 768px ) {

.b-card-featured__column--medium {
		width: calc(50vw - calc(0.25rem * 4) - 0.75rem);
		width: calc(50vw - var(--container-padding) - var(--gap-grid))
}
	}

@media ( min-width: 768px ) {

.b-card-featured__column--large {
		width: calc(100vw - calc(0.25rem * 4) * 2);
		width: calc(100vw - var(--container-padding) * 2)
}
	}

/* =============================================================================
 # Card Grid                                                                  #
============================================================================= */

/*
 * Block for card-grid.
 */

.b-card-grid {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
	padding-bottom: 0
}

@media ( min-width: 768px ) {

.b-card-grid {
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap)
}
	}

.b-card-grid__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-card-grid__grid {
	align-items: normal;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(0.75rem * -1);
	margin-left: calc(var(--gap-grid) * -1);
	margin-right: calc(0.75rem * -1);
	margin-right: calc(var(--gap-grid) * -1);
	width: calc(100% + 0.75rem *2);
	width: calc(100% + var(--gap-grid) *2);
}

.b-card-grid__column {
	flex-basis: calc((100 / (12 / 12) ) * 1%);
	flex-grow: 0;
	max-width: calc((100 / (12 / 12)) * 1%);
	padding-left: 0.75rem;
	padding-left: var(--gap-grid);
	padding-right: 0.75rem;
	padding-right: var(--gap-grid);
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
}

@media ( min-width: 768px ) {

.b-card-grid__column--small {
		flex-basis: calc((100 / (12 / 6) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 6)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

@media ( min-width: 1280px ) {

.b-card-grid__column--small {
		flex-basis: calc((100 / (12 / 4) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 4)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

@media ( min-width: 1920px ) {

.b-card-grid__column--small {
		flex-basis: calc((100 / (12 / 3) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 3)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

@media ( min-width: 768px ) {

.b-card-grid__column--medium {
		flex-basis: calc((100 / (12 / 6) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 6)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

.b-card-grid__column--large {
}

/* =============================================================================
 # Cards                                                                      #
============================================================================= */

/*
 * Block for cards.
 */

.b-cards {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large)
}

@media ( min-width: 768px ) {

.b-cards {
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap)
}
	}

.b-cards__navigator {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-cards__navigator .c-navigator__buttons {
		margin-left: auto
	}

@media ( min-width: 768px ) {

	.b-cards__navigator .c-navigator__buttons {
			margin-right: 0;
			margin-right: var(--c-navigator-offset)
	}
		}

/*
 # Grid
============================================================================= */

.b-cards--grid .b-cards__inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: calc(0.25rem * 4);
		padding-left: var(--container-padding);
		padding-right: calc(0.25rem * 4);
		padding-right: var(--container-padding);
		width: 100%;
	}

.b-cards--grid .b-cards__grid {
		align-items: normal;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-left: calc(0.75rem * -1);
		margin-left: calc(var(--gap-grid) * -1);
		margin-right: calc(0.75rem * -1);
		margin-right: calc(var(--gap-grid) * -1);
		width: calc(100% + 0.75rem *2);
		width: calc(100% + var(--gap-grid) *2);
	}

.b-cards--grid .b-cards__column {
		flex-basis: calc((100 / (12 / 12) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 12)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid);
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap);
	}

@media ( min-width: 768px ) {

	.b-cards--grid .b-cards__column--small {
			flex-basis: calc((100 / (12 / 6) ) * 1%);
			flex-grow: 0;
			max-width: calc((100 / (12 / 6)) * 1%);
			padding-left: 0.75rem;
			padding-left: var(--gap-grid);
			padding-right: 0.75rem;
			padding-right: var(--gap-grid)
	}
		}

@media ( min-width: 1280px ) {

	.b-cards--grid .b-cards__column--small {
			flex-basis: calc((100 / (12 / 4) ) * 1%);
			flex-grow: 0;
			max-width: calc((100 / (12 / 4)) * 1%);
			padding-left: 0.75rem;
			padding-left: var(--gap-grid);
			padding-right: 0.75rem;
			padding-right: var(--gap-grid)
	}
		}

@media ( min-width: 1920px ) {

	.b-cards--grid .b-cards__column--small {
			flex-basis: calc((100 / (12 / 3) ) * 1%);
			flex-grow: 0;
			max-width: calc((100 / (12 / 3)) * 1%);
			padding-left: 0.75rem;
			padding-left: var(--gap-grid);
			padding-right: 0.75rem;
			padding-right: var(--gap-grid)
	}
		}

@media ( min-width: 768px ) {

	.b-cards--grid .b-cards__column--medium {
			flex-basis: calc((100 / (12 / 6) ) * 1%);
			flex-grow: 0;
			max-width: calc((100 / (12 / 6)) * 1%);
			padding-left: 0.75rem;
			padding-left: var(--gap-grid);
			padding-right: 0.75rem;
			padding-right: var(--gap-grid)
	}
		}

/*
 # Horizontal-scroll
============================================================================= */

/**
 *
 * Making the slider-items follow site-grid.
 *
 * The math behind it:
 * 1 / [number of columns] * (100vw - [container padding] * ([number of columns] - 1) ) - [grid gap] * 2 * ([number of columns] - 1) / [number of columns]
 */

.b-cards--slider .b-cards__list {
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap);
		padding-top: calc(0.25rem * 4);
		padding-top: var(--gap-tiny);
	}

.b-cards--slider .b-cards__column {
		width: calc(100vw - calc(0.25rem * 4) * 4 - 0.75rem);
		width: calc(100vw - var(--container-padding) * 4 - var(--gap-grid));
	}

@media ( min-width: 768px ) {

	.b-cards--slider .b-cards__column--small {
			width: calc(50vw - calc(0.25rem * 4) - 0.75rem);
			width: calc(50vw - var(--container-padding) - var(--gap-grid))
	}
		}

@media ( min-width: 1280px ) {

	.b-cards--slider .b-cards__column--small {
			width: calc(1 / 3 * (100vw - ( calc(0.25rem * 4) * 2 ) ) - ( 0.75rem * (4 / 3) ) );
			width: calc(1 / 3 * (100vw - ( var(--container-padding) * 2 ) ) - ( var(--gap-grid) * (4 / 3) ) ) /* stylelint-disable-line */
	}
		}

@media ( min-width: 768px ) {

	.b-cards--slider .b-cards__column--medium {
			width: calc(50vw - calc(0.25rem * 4) - 0.75rem);
			width: calc(50vw - var(--container-padding) - var(--gap-grid))
	}
		}

@media ( min-width: 768px ) {

	.b-cards--slider .b-cards__column--large {
			width: calc(100vw - calc(0.25rem * 4) * 2);
			width: calc(100vw - var(--container-padding) * 2)
	}
		}

/* =============================================================================
 # Clients                                                                    #
============================================================================= */

/*
 * A block for clients.
 */

.b-clients {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
}

.b-clients__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-clients__grid {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(0.75rem * -1);
	margin-left: calc(var(--gap-grid) * -1);
	margin-right: calc(0.75rem * -1);
	margin-right: calc(var(--gap-grid) * -1);
	width: calc(100% + 0.75rem *2);
	width: calc(100% + var(--gap-grid) *2);
}

.b-clients__column {
	flex-basis: calc((100 / (12 / 12) ) * 1%);
	flex-grow: 0;
	max-width: calc((100 / (12 / 12)) * 1%);
	padding-left: 0.75rem;
	padding-left: var(--gap-grid);
	padding-right: 0.75rem;
	padding-right: var(--gap-grid);
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap)
}

.b-clients__column:last-child {
		padding-bottom: 0;
	}

@media ( min-width: 992px ) {

.b-clients__column {
		flex-basis: calc((100 / (12 / 6) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 6)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid);
		padding-bottom: 0
}
	}

.b-clients__title {
	font-size: 2.25rem;
	font-size: var(--font-size-large);
	line-height: calc(0.25rem * 10);
	line-height: var(--line-height-large);
}

/* =============================================================================
 # Compare Membership                                                         #
============================================================================= */

/*
 * Block for comparing memberships.
 */

.b-compare-membership {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large)
}

@media ( min-width: 768px ) {

.b-compare-membership {
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap)
}
	}

.b-compare-membership__header {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	display: flex
}

@media ( min-width: 768px ) {

.b-compare-membership__header {
		padding-bottom: calc(0.25rem * 4);
		padding-bottom: var(--gap-tiny)
}
	}

.b-compare-membership__title {
	font-size: 2.25rem;
	font-size: var(--font-size-large);
	margin-right: auto;
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.b-compare-membership__button {
	flex-shrink: 0;
	margin-right: 0;
	margin-right: var(--c-navigator-offset);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	padding-left: calc(0.25rem * 4);
	padding-left: var(--gap-tiny);
}

.bg-gray .b-compare-membership__button .c-button:hover {
			background-color: #fafafa;
			background-color: var(--color-light-gray);
		}

.b-compare-membership__list {
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
}

.b-compare-membership__column {
	min-width: 16rem;
	width: calc(100vw - calc(0.25rem * 4) * 3 - 0.75rem);
	width: calc(100vw - var(--container-padding) * 3 - var(--gap-grid));
}

.b-compare-membership__navigator {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-compare-membership__navigator .c-navigator__buttons {
		margin-left: auto
	}

@media ( min-width: 768px ) {

	.b-compare-membership__navigator .c-navigator__buttons {
			margin-right: 0;
			margin-right: var(--c-navigator-offset)
	}
		}

/**
 * Making the horizontal scroll items follow site grid.
 *
 * The math behind it:
 * 1 / [number of columns] * 100vw - [container padding] / ([number of columns] - 1) - [grid gap] / ([number of columns] - 1)
 */

@media ( min-width: 768px ) {

.b-compare-membership__column--small {
		width: calc(50vw - calc(0.25rem * 4) - 0.75rem);
		width: calc(50vw - var(--container-padding) - var(--gap-grid))
}
	}

@media ( min-width: 1280px ) {

.b-compare-membership__column--small {
		width: calc(1 / 3 * 100vw - calc(0.25rem * 4) / 2 - 0.75rem * 2);
		width: calc(1 / 3 * 100vw - var(--container-padding) / 2 - var(--gap-grid) * 2)
}
	}

@media ( min-width: 768px ) {

.b-compare-membership__column--medium {
		width: calc(50vw - calc(0.25rem * 4) - 0.75rem);
		width: calc(50vw - var(--container-padding) - var(--gap-grid))
}
	}

@media ( min-width: 768px ) {

.b-compare-membership__column--large {
		width: calc(100vw - calc(0.25rem * 4) * 2);
		width: calc(100vw - var(--container-padding) * 2)
}
	}

/* An example block. */

/* =============================================================================
 # Facilities                                                                 #
============================================================================= */

/*
 * Block for facilities.
 */

.b-facilities {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
}

.b-facilities__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-facilities__title {
	font-family: "Butler", "Helvetica Neue", serif;
	font-family: var(--font-heading);
	font-size: 2.25rem;
	font-size: var(--font-size-large);
	font-weight: bold;
	line-height: calc(0.25rem * 10);
	line-height: var(--line-height-large);
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
}

/* =============================================================================
 # Form                                                                       #
============================================================================= */

/*
 * Block for form.
 */

.b-form {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
}

/* .b-form--has-panel {
	padding-top: 0;
} */

.b-form__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-form__grid {
	border-radius: 5px;
	border-radius: var(--radius);
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
	padding-left: calc(0.25rem * 6);
	padding-left: var(--gap-small);
	padding-right: calc(0.25rem * 6);
	padding-right: var(--gap-small);
	padding-top: calc(0.25rem * 8);
	padding-top: var(--gap);
	width: 100%;
}

.b-form__content,
.b-form__form {
	width: 100%
}

@media ( min-width: 768px ) {

.b-form__content,
.b-form__form {
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid);
		width: 50%
}
	}

@media ( min-width: 992px ) {

.b-form__content,
.b-form__form {

		padding-left: calc(0.25rem * 6);

		padding-left: var(--gap-small);
		padding-right: calc(0.25rem * 6);
		padding-right: var(--gap-small);
		width: calc(5 / 12 * 100%)
}
	}

.b-form__content {
	display: flex;
	flex-flow: column;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap)
}

@media ( min-width: 768px ) {

.b-form__content {
		padding-bottom: 0
}
	}

.b-form__title {
	font-size: 2.25rem;
	font-size: var(--font-size-large);
	line-height: calc(0.25rem * 10);
	line-height: var(--line-height-large);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.b-form__intro {
	font-size: 1rem;
	font-size: var(--font-size-small);
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small);
	margin-bottom: auto;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
}

.b-form__intro strong {
		font-weight: 600;
	}

.b-form__intro a {
		text-decoration: underline
	}

.b-form__intro a:hover,
		.b-form__intro a:focus {
			opacity: 0.6;
			text-decoration: none;
		}

.b-form__intro p {
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small)
	}

.b-form__intro p:last-child {
			padding-bottom: 0;
		}

@media ( min-width: 768px ) {

.b-form__intro {
		padding-bottom: calc(0.25rem * 16);
		padding-bottom: var(--gap-large)
}
	}

.b-form__intro:last-child {
		padding-bottom: 0;
	}

.b-form__price-label {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.b-form__price {
	align-items: center;
	display: flex;
	font-size: calc(0.9rem * 2.6);
	font-size: calc(var(--font-size-tiny) * 2.6);
	font-weight: bold;
}

.b-form__rate {
	display: inline-flex;
	flex-direction: column;
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	font-weight: normal;
	line-height: 1;
	margin-left: calc(0.25rem * 2);
	margin-left: var(--gap-micro);
}

.b-form__label {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	padding-top: calc(0.25rem * 2);
	padding-top: var(--gap-micro)
}

@media ( min-width: 768px ) {

.b-form__label {
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap)
}
	}

/* =============================================================================
 # Hero Full                                                                  #
============================================================================= */

/*
 * Block for hero (full).
 */

.b-hero-full {
	align-items: center;
	display: flex;
	min-height: 85vmin;
	padding-bottom: calc(0.25rem * 35);
	padding-bottom: calc(var(--baseline-unit) * 35);
	padding-top: calc((0.25rem * 35) + 3rem);
	padding-top: calc((var(--baseline-unit) * 35) + 3rem);
	position: relative;
	transition: padding-top 0.7s ease-in-out 0.1s
}

.b-hero-full.b-hero-full--blue {
		background-color: #272b41;
		background-color: var(--color-blue);
		color: #fff;
		color: var(--color-white);

		--c-button-text-color: var(--color-white);
	}

.b-hero-full.b-hero-full--blue .c-button:hover,
		.b-hero-full.b-hero-full--blue .c-button:focus {
			--hover-bg-color: var(--color-light-gray);
			--hover-text-color: var(--color-black);
		}

.b-hero-full.b-hero-full--light-gray {
		background-color: #fafafa;
		background-color: var(--color-light-gray);
		color: #000;
		color: var(--color-black);

		--c-button-text-color: var(--color-black);
	}

.b-hero-full.b-hero-full--light-gray .c-button:hover,
		.b-hero-full.b-hero-full--light-gray .c-button:focus {
			--hover-bg-color: var(--color-black);
			--hover-text-color: var(--color-white);
		}

@media ( min-width: 992px ) {

.b-hero-full {
		padding-bottom: calc(0.25rem * 20);
		padding-bottom: calc(var(--baseline-unit) * 20);
		padding-top: calc((0.25rem * 20) + 3rem);
		padding-top: calc((var(--baseline-unit) * 20) + 3rem)
}
	}

.site-announcement .b-hero-full {
		padding-top: calc((0.25rem * 35) + 6rem);
		padding-top: calc((var(--baseline-unit) * 35) + 6rem)
	}

@media ( min-width: 992px ) {

	.site-announcement .b-hero-full {
			padding-top: calc((0.25rem * 20) + 6rem);
			padding-top: calc((var(--baseline-unit) * 20) + 6rem)
	}
		}

.b-hero-full__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	color: currentColor;
	position: relative;
	text-align: center;
}

.b-hero-full__inner br {
		display: none
	}

@media ( min-width: 768px ) {

	.b-hero-full__inner br {
			display: block
	}
		}

.b-hero-full__title {
	color: currentColor;
	font-size: 2.25rem;
	font-size: var(--font-size-large);
	line-height: calc(0.25rem * 10);
	line-height: var(--line-height-large);
	margin-left: auto;
	margin-right: auto;
	max-width: 35rem;
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny)
}

@media ( min-width: 576px ) {

.b-hero-full__title {
		font-size: 2.75rem;
		font-size: var(--font-size-huge);
		line-height: calc(0.25rem * 12);
		line-height: var(--line-height-huge)
}
	}

.b-hero-full__intro {
	font-size: 1rem;
	font-size: var(--font-size-small);
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small);
	margin-left: auto;
	margin-right: auto;
	max-width: 30rem;
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
}

.b-hero-full__links {
	display: flex;
	justify-content: center;
}

.b-hero-full__links-item {
	padding-left: calc(0.25rem * 2);
	padding-left: var(--gap-micro);
	padding-right: calc(0.25rem * 2);
	padding-right: var(--gap-micro);
}

.b-hero-full__media {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.b-hero-full__media img,
	.b-hero-full__media video {
		bottom: 0;
		height: 100%;
		left: 0;
		object-fit: cover;
		object-position: center;
		position: absolute;
		right: 0;
		top: 0;
		width: 100%;
	}

.b-hero-full__filter {
	height: 100%;
	position: absolute;
	top: 0;
	width: 100%
}

.b-hero-full__filter.b-hero-full__filter--black {
		background-color: #000;
		background-color: var(--color-black);
	}

.b-hero-full__filter.b-hero-full__filter--white {
		background-color: #fff;
		background-color: var(--color-white);
	}

/* =============================================================================
 # Hero Slider                                                                #
============================================================================= */

/*
 * Block for hero with slider.
 */

/* .b-hero-slider {

} */

.b-hero-slider__inner {
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
	transition: padding 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition: padding var(--transition);
	width: 100%
}

@media ( min-width: 992px ) {

.b-hero-slider__inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: calc(0.25rem * 4);
		padding-left: var(--container-padding);
		padding-right: calc(0.25rem * 4);
		padding-right: var(--container-padding);
		width: 100%
}
	}

.b-hero-slider__grid {
	display: flex;
	flex-flow: column
}

@media ( min-width: 992px ) {

.b-hero-slider__grid {
		flex-flow: row;
		flex-wrap: wrap;
		position: relative
}
	}

.b-hero-slider__content {
	display: flex;
	flex-flow: column;
	flex-shrink: 0;
	padding: calc(0.25rem * 32) calc(0.25rem * 4);
	padding: var(--gap-huge) var(--container-padding);
	position: relative;
	width: 100%;
	z-index: 1;
}

.b-hero-slider__content::before {
		content: '';
		display: block;
		padding-top: calc(0.25rem * 6);
		padding-top: var(--gap-small);
		transition: padding 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94) 0.4s;
		transition: padding var(--transition) 0.4s;
	}

.site-announcement .b-hero-slider__content::before {
			padding-top: calc(0.25rem * 25);
			padding-top: calc(var(--baseline-unit) * 25);
		}

@media ( min-width: 992px ) {
	.b-hero-slider__content::before {
			content: none
	}
		}

@media ( min-width: 992px ) {

.b-hero-slider__content {
		border-radius: 5px;
		border-radius: var(--radius);
		flex-grow: 0;
		margin-bottom: calc(0.25rem * 8);
		margin-bottom: var(--gap);
		margin-top: calc(0.25rem * 8);
		margin-top: var(--gap);
		padding: calc(0.25rem * 8);
		padding: var(--gap);
		width: calc((100 / (12 / 4)) * 1% - 1px)
}
	}

.b-hero-slider__content-inner {
	margin-top: auto;
}

.b-hero-slider__label {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
}

.b-hero-slider__title {
	font-size: 2.25rem;
	font-size: var(--font-size-large);
	line-height: calc(0.25rem * 10);
	line-height: var(--line-height-large);
	word-break: break-word;
}

.b-hero-slider__intro {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny);
}

.b-hero-slider__image-container {
	flex-grow: 0;
	flex-shrink: 0;
	margin-top: calc(calc(0.25rem * 16) * -1);
	margin-top: calc(var(--gap-large) * -1);
	order: 1;
	position: relative;
	width: 100%;
	z-index: 2
}

@media ( min-width: 992px ) {

.b-hero-slider__image-container {
		margin-left: calc(1 / 12 * -100%);
		margin-right: calc(calc(0.25rem * 4) * -1);
		margin-right: calc(var(--container-padding) * -1);
		margin-top: 0;
		width: calc((100 / (12 / 9)) * 1% + calc(0.25rem * 4));
		width: calc((100 / (12 / 9)) * 1% + var(--container-padding));
		z-index: 0
}
	}

.b-hero-slider__slider {
	border-bottom-left-radius: 5px;
	border-bottom-left-radius: var(--radius);
	border-top-left-radius: 5px;
	border-top-left-radius: var(--radius);
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	-ms-scroll-snap-type: x mandatory;
	    scroll-snap-type: x mandatory
}

@media ( min-width: 992px ) {

.b-hero-slider__slider {
		margin-left: 0.75rem;
		margin-left: var(--gap-grid);
		padding-left: 0;
		padding-right: calc(0.75rem + calc(0.25rem * 4));
		padding-right: calc(var(--gap-grid) + var(--container-padding));
		-ms-scroll-snap-type: none;
		    scroll-snap-type: none
}
	}

.b-hero-slider__item {
	margin-right: calc(0.75rem * 0.75);
	margin-right: calc(var(--gap-grid) * 0.75);
	scroll-snap-align: center;
	width: 100%
}

@media ( min-width: 992px ) {

.b-hero-slider__item {
		margin-right: calc(0.75rem * 2);
		margin-right: calc(var(--gap-grid) * 2);
		scroll-snap-align: none
}
	}

.b-hero-slider__item:last-of-type {
		margin-right: calc(calc(0.25rem * 4));
		margin-right: calc(var(--container-padding))
	}

@media ( min-width: 992px ) {

.b-hero-slider__item:last-of-type {
			margin-right: calc(calc(0.25rem * 4) + 0.75rem);
			margin-right: calc(var(--container-padding) + var(--gap-grid))
	}
		}

.b-hero-slider__item .b-hero-slider__image {
		width: 100%;
	}

.b-hero-slider__item .b-hero-slider__image img {
			border-radius: 5px;
			border-radius: var(--radius);
		}

.b-hero-slider__navigator {
	order: 3;
	padding: calc(0.25rem * 6) calc(0.25rem * 4);
	padding: var(--gap-small) var(--container-padding)
}

@media ( min-width: 992px ) {

.b-hero-slider__navigator {
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0
}
	}

.b-hero-slider__navigator .c-navigator__counter {
		margin-right: auto;
	}

@media ( min-width: 992px ) {

.b-hero-slider__navigator {
		margin-left: auto;
		max-width: 75%
}
	}

/* =============================================================================
 # Hero                                                                       #
============================================================================= */

/*
 * Block for hero.
 */

.b-hero {
	position: relative;
}

.b-hero .b-hero__inner {
		background-color: transparent;
		position: relative;
	}

.b-hero__inner {
	width: 100%
}

@media ( min-width: 992px ) {

.b-hero__inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: calc(0.25rem * 4);
		padding-left: var(--container-padding);
		padding-right: calc(0.25rem * 4);
		padding-right: var(--container-padding);
		width: 100%;
		padding-bottom: calc(0.25rem * 16);
		padding-bottom: var(--gap-large);
		padding-top: calc(0.25rem * 16);
		padding-top: var(--gap-large)
}

		.b-hero__inner::after {
			border-bottom-right-radius: 5px;
			border-bottom-right-radius: var(--radius);
			border-top-right-radius: 5px;
			border-top-right-radius: var(--radius);
			content: '';
			height: 100%;
			left: 0;
			max-width: calc(10 / 12 * 100%);
			opacity: 0;
			position: absolute;
			top: 0;
			transition: opacity 0.8s cubic-bezier(0.36, 0.64, 0.23, 0.94);
			transition: opacity var(--transition-slow);
			width: 100%;
		}

			.acf-block-preview .b-hero__inner::after {
				opacity: 1;
			}

			.is-ready .b-hero__inner::after {
				opacity: 1;
			}
	}

@media ( min-width: 1280px ) {

.b-hero__inner {
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap);
		padding-top: calc(0.25rem * 8);
		padding-top: var(--gap)
}
	}

@media ( min-width: 992px ) {

.b-hero__grid {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-left: calc(0.75rem * -1);
		margin-left: calc(var(--gap-grid) * -1);
		margin-right: calc(0.75rem * -1);
		margin-right: calc(var(--gap-grid) * -1);
		width: calc(100% + 0.75rem *2);
		width: calc(100% + var(--gap-grid) *2);
		position: relative;
		z-index: 1
}
	}

.b-hero__content {
	padding-bottom: calc(0.25rem * 32);
	padding-bottom: var(--gap-huge);
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	padding-top: calc(0.25rem * 32);
	padding-top: var(--gap-huge);
	position: relative;

	/* Adding specificity to override style from bg-color- and color-classes */
}

.b-hero__content::before {
		content: '';
		display: block;
		padding-top: calc(0.25rem * 6);
		padding-top: var(--gap-small);
		transition: padding 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94) 0.4s;
		transition: padding var(--transition) 0.4s;
	}

.site-announcement .b-hero__content::before {
			padding-top: calc(0.25rem * 25);
			padding-top: calc(var(--baseline-unit) * 25);
		}

@media ( min-width: 992px ) {
	.b-hero__content::before {
			content: none
	}
		}

.b-hero__content.b-hero__content {
		box-shadow: none
	}

@media ( min-width: 992px ) {

.b-hero__content.b-hero__content {
			background-color: transparent
	}
		}

@media ( min-width: 992px ) {

.b-hero__content {
		flex-basis: calc((100 / (12 / 5) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 5)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid);
		border-bottom-right-radius: 5px;
		border-bottom-right-radius: var(--radius);
		border-top-right-radius: 5px;
		border-top-right-radius: var(--radius);
		margin-right: 0;
		padding-bottom: calc(0.25rem * 16);
		padding-bottom: var(--gap-large);
		padding-top: calc(0.25rem * 8);
		padding-top: var(--gap)
}
	}

.b-hero__label {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
}

.b-hero__title {
	font-size: 2.25rem;
	font-size: var(--font-size-large);
	line-height: calc(0.25rem * 10);
	line-height: var(--line-height-large)
}

@media ( min-width: 576px ) {

.b-hero__title {
		font-size: 2.75rem;
		font-size: var(--font-size-huge);
		line-height: calc(0.25rem * 12);
		line-height: var(--line-height-huge)
}
	}

.b-hero__intro {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny);
}

.b-hero__media-container {
	margin-left: auto;
	margin-right: auto;
	margin-top: calc(calc(0.25rem * 16) * -1);
	margin-top: calc(var(--gap-large) * -1);
	width: calc(100% - (calc(0.25rem * 4) * 2));
	width: calc(100% - (var(--container-padding) * 2))
}

@media ( min-width: 992px ) {

.b-hero__media-container {
		margin-top: 0;

		flex-basis: calc((100 / (12 / 7) ) * 1%);

		flex-grow: 0;

		max-width: calc((100 / (12 / 7)) * 1%);

		padding-left: 0.75rem;

		padding-left: var(--gap-grid);

		padding-right: 0.75rem;

		padding-right: var(--gap-grid)
}
	}

.b-hero__media {
	border-radius: 5px;
	border-radius: var(--radius);
	height: 0;
	overflow: hidden;
	padding-top: 56.25%;
	position: relative;
	transition-delay: 0.25s;
	width: 100%;
}

.b-hero__media img,
	.b-hero__media video {
		bottom: 0;
		height: 100%;
		left: 0;
		object-fit: cover;
		object-position: center;
		position: absolute;
		right: 0;
		top: 0;
		width: 100%;
	}

/* =============================================================================
 # Image                                                                      #
============================================================================= */

/*
 * Block for images.
 */

.b-image {
	/* @mixin section; */
}

.b-image__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	width: 100%;
}

.b-image__image {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.b-image__image img {
		display: block;
		height: auto;
		max-width: 100%;
	}

/* =============================================================================
 # Card Grid                                                                  #
============================================================================= */

/*
 * Block for card-grid.
 */

.b-magazine {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
	padding-bottom: 0
}

@media ( min-width: 768px ) {

.b-magazine {
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap)
}
	}

.b-magazine__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-magazine__grid {
	align-items: normal;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(0.75rem * -1);
	margin-left: calc(var(--gap-grid) * -1);
	margin-right: calc(0.75rem * -1);
	margin-right: calc(var(--gap-grid) * -1);
	width: calc(100% + 0.75rem *2);
	width: calc(100% + var(--gap-grid) *2);
}

.b-magazine__column {
	flex-basis: calc((100 / (12 / 12) ) * 1%);
	flex-grow: 0;
	max-width: calc((100 / (12 / 12)) * 1%);
	padding-left: 0.75rem;
	padding-left: var(--gap-grid);
	padding-right: 0.75rem;
	padding-right: var(--gap-grid);
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
}

.b-magazine__filter {
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
}

@media ( min-width: 768px ) {

.b-magazine__column--small {
		flex-basis: calc((100 / (12 / 6) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 6)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

@media ( min-width: 1280px ) {

.b-magazine__column--small {
		flex-basis: calc((100 / (12 / 4) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 4)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

@media ( min-width: 1920px ) {

.b-magazine__column--small {
		flex-basis: calc((100 / (12 / 3) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 3)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

@media ( min-width: 768px ) {

.b-magazine__column--medium {
		flex-basis: calc((100 / (12 / 6) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 6)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

.b-magazine__column--large {

}

/* =============================================================================
 # Map                                                                        #
============================================================================= */

/*
 * Block for maps.
 */

.b-map {
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
}

.b-map__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-map__title {
	font-size: 2.25rem;
	font-size: var(--font-size-large);
	line-height: calc(0.25rem * 10);
	line-height: var(--line-height-large);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny)
}

@media ( min-width: 768px ) {

.b-map__title {
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small)
}
	}

.b-map__grid {
	display: flex;
	flex-flow: row wrap
}

@media ( min-width: 768px ) {

.b-map__grid {
		border-radius: 5px;
		border-radius: var(--radius);
		overflow: hidden
}
	}

.b-map__column {
	flex-basis: calc((100 / (12 / 12) ) * 1%);
	flex-grow: 0;
	max-width: calc((100 / (12 / 12)) * 1%);
	padding-left: 0.75rem;
	padding-left: var(--gap-grid);
	padding-right: 0.75rem;
	padding-right: var(--gap-grid);
	padding: 0

	/* Map */
}

.b-map__column:first-child {
		flex-basis: auto;
		margin-left: calc(calc(0.25rem * 4) * -1);
		margin-left: calc(var(--container-padding) * -1);
		margin-right: calc(calc(0.25rem * 4) * -1);
		margin-right: calc(var(--container-padding) * -1);
		max-width: none;
		order: 2;
		width: calc(100% + (calc(0.25rem * 4) * 2));
		width: calc(100% + (var(--container-padding) * 2))

		/* Added since higher specificity was required. */
	}

@media ( min-width: 768px ) {

.b-map__column:first-child {
			flex-basis: calc((100 / (12 / 6) ) * 1%);
			flex-grow: 0;
			max-width: calc((100 / (12 / 6)) * 1%);
			padding-left: 0.75rem;
			padding-left: var(--gap-grid);
			padding-right: 0.75rem;
			padding-right: var(--gap-grid);
			margin-left: 0;
			margin-right: 0;
			padding: 0;
			width: auto
	}
		}

@media ( min-width: 768px ) {

.b-map__column {
		flex-basis: calc((100 / (12 / 6) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 6)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid);
		padding: 0
}
	}

/* =============================================================================
 # Media & Contact                                                            #
============================================================================= */

/*
 * Block for media and contact.
 */

@media ( min-width: 576px ) {
		.b-media-contact.desktop-padding-top {
			padding-bottom: 0;
			padding-top: calc(0.25rem * 8);
			padding-top: var(--gap);
		}

		.b-media-contact.desktop-padding-bottom {
			padding-bottom: calc(0.25rem * 8);
			padding-bottom: var(--gap);
			padding-top: 0;
		}

		.b-media-contact.desktop-padding-top-bottom {
			padding-bottom: calc(0.25rem * 8);
			padding-bottom: var(--gap);
			padding-top: calc(0.25rem * 8);
			padding-top: var(--gap);
		}
	}

@media ( min-width: 992px ) {
		.b-media-contact.desktop-padding-top {
			padding-bottom: 0;
			padding-top: calc(0.25rem * 16);
			padding-top: var(--gap-large);
		}

		.b-media-contact.desktop-padding-bottom {
			padding-bottom: calc(0.25rem * 16);
			padding-bottom: var(--gap-large);
			padding-top: 0;
		}

		.b-media-contact.desktop-padding-top-bottom {
			padding-bottom: calc(0.25rem * 16);
			padding-bottom: var(--gap-large);
			padding-top: calc(0.25rem * 16);
			padding-top: var(--gap-large);
		}
	}

@media ( min-width: 576px ) {

.b-media-contact__inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: calc(0.25rem * 4);
		padding-left: var(--container-padding);
		padding-right: calc(0.25rem * 4);
		padding-right: var(--container-padding);
		width: 100%
}
	}

@media ( min-width: 768px ) {

.b-media-contact__inner {
		display: flex;
		flex-wrap: nowrap
}
	}

.b-media-contact__content {
	display: flex;
	flex-flow: column;
	flex-shrink: 0;
	margin-left: auto;
	padding: calc(0.25rem * 16) calc(0.25rem * 8);
	padding: var(--gap-large) var(--gap);
	position: relative;
	width: 100%;
	z-index: 1;
}

.has-layout-right .b-media-contact__content {
		margin-left: 0;
	}

@media ( min-width: 576px ) {

.b-media-contact__content {
		border-radius: 5px;
		border-radius: var(--radius);
		margin-top: calc(calc(0.25rem * 8) * -1);
		margin-top: calc(var(--gap) * -1);
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap);
		padding-top: calc(0.25rem * 8);
		padding-top: var(--gap);
		width: calc(11 / 12 * 100%)
}
	}

@media ( min-width: 768px ) {

.b-media-contact__content {
		margin-bottom: calc(0.25rem * 8);
		margin-bottom: var(--gap);
		margin-top: calc(0.25rem * 8);
		margin-top: var(--gap);
		width: 50%
}
	}

@media ( min-width: 992px ) {

.b-media-contact__content {
		padding: calc(0.25rem * 10) calc(0.25rem * 12);
		padding: calc(var(--baseline-unit) * 10) calc(var(--baseline-unit) * 12)
}
	}

@media ( min-width: 1680px ) {

.b-media-contact__content {
		width: calc(5 / 12 * 100%)
}
	}

.b-media-contact__title {
	font-size: 2.25rem;
	font-size: var(--font-size-large);
	line-height: calc(0.25rem * 10);
	line-height: var(--line-height-large);
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
}

.b-media-contact__text {
	font-size: 1rem;
	font-size: var(--font-size-small);
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small);
	margin-bottom: auto;
	padding-bottom: calc(calc(0.25rem * 8) + calc(0.25rem * 4));
	padding-bottom: calc(var(--gap) + var(--gap-tiny));
}

.b-media-contact__text strong {
		font-weight: 600;
	}

.b-media-contact__text a {
		text-decoration: underline
	}

.b-media-contact__text a:hover,
		.b-media-contact__text a:focus {
			opacity: 0.6;
			text-decoration: none;
		}

.b-media-contact__text p {
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small)
	}

.b-media-contact__text p:last-child {
			padding-bottom: 0;
		}

.b-media-contact__signature {
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.b-media-contact__signature img {
		height: 2rem;
		max-width: 100%;
		width: auto;
	}

.b-media-contact__name {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
}

.b-media-contact__image-container {
	flex-shrink: 0;
	width: 100%
}

@media ( min-width: 576px ) {

.b-media-contact__image-container {
		width: calc(11 / 12 * 100%)
}
	}

@media ( min-width: 768px ) {

.b-media-contact__image-container {
		margin-right: -25%;
		width: 75%
}
	}

@media ( min-width: 1680px ) {

.b-media-contact__image-container {
		margin-right: calc(2 / 12 * -100%);
		width: calc(9 / 12 * 100%)
}
	}

.has-layout-right .b-media-contact__image-container {
		margin-left: auto
	}

@media ( min-width: 768px ) {

	.has-layout-right .b-media-contact__image-container {
			margin-left: -25%;
			order: 1
	}
		}

@media ( min-width: 1680px ) {

	.has-layout-right .b-media-contact__image-container {
			margin-left: calc(2 / 12 * -100%)
	}
		}

.b-media-contact__image {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.b-media-contact__image img {
		display: block;
		height: auto;
		max-width: 100%;
	}

@media ( min-width: 576px ) {

.b-media-contact__image {
		border-radius: 5px;
		border-radius: var(--radius)
}
	}

.b-media-contact__image--cover {
	height: 100%
}

@media ( min-width: 768px ) {

.b-media-contact__image--cover {
		padding-bottom: calc(0.25rem * 16);
		padding-bottom: var(--gap-large)
}
	}

.b-media-contact__image--cover img {
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

.b-media-contact__tag {
	left: calc(0.25rem * 4);
	left: var(--gap-tiny);
	position: absolute;
	top: calc(0.25rem * 4);
	top: var(--gap-tiny)
}

@media ( min-width: 768px ) {

.b-media-contact__tag {
		bottom: calc(0.25rem * 6);
		bottom: var(--gap-small);
		left: calc(0.25rem * 6);
		left: var(--gap-small);
		top: auto
}
	}

.has-layout-right .b-media-contact__tag {
		left: auto;
		right: calc(0.25rem * 4);
		right: var(--gap-tiny)
	}

@media ( min-width: 768px ) {

	.has-layout-right .b-media-contact__tag {
			left: auto;
			right: calc(0.25rem * 6);
			right: var(--gap-small);
			top: auto
	}
		}

/* =============================================================================
 # Media & Text                                                               #
============================================================================= */

/*
 * Block for media and text.
 */

.b-media-text-classic {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
}

.b-media-text-classic__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	align-items: stretch;
	display: flex;
	flex-direction: row
}

@media ( min-width: 768px ) {

.b-media-text-classic__inner {
		display: flex;
		flex-wrap: nowrap
}
	}

.b-media-text-classic__grid {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(0.75rem * -1);
	margin-left: calc(var(--gap-grid) * -1);
	margin-right: calc(0.75rem * -1);
	margin-right: calc(var(--gap-grid) * -1);
	width: calc(100% + 0.75rem *2);
	width: calc(100% + var(--gap-grid) *2);
}

.b-media-text-classic__column {
	flex-basis: calc((100 / (12 / 12) ) * 1%);
	flex-grow: 0;
	max-width: calc((100 / (12 / 12)) * 1%);
	padding-left: 0.75rem;
	padding-left: var(--gap-grid);
	padding-right: 0.75rem;
	padding-right: var(--gap-grid)
}

@media ( min-width: 768px ) {

.b-media-text-classic__column {
		flex-basis: calc((100 / (12 / 6) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 6)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

@media ( min-width: 768px ) {

.b-media-text-classic__column {
		align-items: center;
		display: flex;
		height: 100%
}
	}

.has-layout-left .b-media-text-classic__column:last-child {
			transition-delay: 0.15s;
		}

.has-layout-right .b-media-text-classic__column:first-child {
			transition-delay: 0.15s;
		}

@media ( min-width: 768px ) {
			.has-layout-right .b-media-text-classic__column:first-of-type {
				order: 2;
			}
		}

.b-media-text-classic__content {
	border-radius: 5px;
	border-radius: var(--radius);
	display: flex;
	flex-flow: column;
	padding: calc(0.25rem * 8) 0;
	padding: var(--gap) 0;
	position: relative;
	width: 100%
}

@media ( min-width: 768px ) {

.b-media-text-classic__content {
		padding: 0;
}

		.has-layout-left .b-media-text-classic__content {
			padding-left: calc(0.25rem * 8);
			padding-left: var(--gap);
		}

		.has-layout-right .b-media-text-classic__content {
			padding-right: calc(0.25rem * 8);
			padding-right: var(--gap);
		}
	}

.b-media-text-classic__title {
	font-size: 2.25rem;
	font-size: var(--font-size-large);
	line-height: calc(0.25rem * 10);
	line-height: var(--line-height-large);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.b-media-text-classic__text {
	font-size: 1rem;
	font-size: var(--font-size-small);
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small);
	margin-bottom: auto;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
}

.b-media-text-classic__text strong {
		font-weight: 600;
	}

.b-media-text-classic__text a {
		text-decoration: underline
	}

.b-media-text-classic__text a:hover,
		.b-media-text-classic__text a:focus {
			opacity: 0.6;
			text-decoration: none;
		}

.b-media-text-classic__text p {
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small)
	}

.b-media-text-classic__text p:last-child {
			padding-bottom: 0;
		}

.b-media-text-classic__text:last-child {
		padding-bottom: 0;
	}

.b-media-text-classic__button {
	flex-grow: 0;
}

.bg-blue .b-media-text-classic__button .c-button, .bg-green .b-media-text-classic__button .c-button {
			background-color: #fafafa;
			background-color: var(--color-light-gray);
			color: #000;
			color: var(--color-black)
		}

.bg-blue .b-media-text-classic__button .c-button:hover, .bg-green .b-media-text-classic__button .c-button:hover {
				background-color: #e8e8e8;
				background-color: var(--color-gray);
				color: #000;
				color: var(--color-black);
			}

.b-media-text-classic__image-container {
	flex-shrink: 0;
	width: 100%;
}

.b-media-text-classic__image {
	border-radius: 5px;
	border-radius: var(--radius);
	overflow: hidden;
	position: relative;
	width: 100%;
}

.b-media-text-classic__image img {
		display: block;
		height: auto;
		max-width: 100%;
		width: 100%;
	}

.b-media-text-classic__tag {
	left: calc(0.25rem * 4);
	left: var(--gap-tiny);
	position: absolute;
	top: calc(0.25rem * 4);
	top: var(--gap-tiny)
}

@media ( min-width: 768px ) {

.b-media-text-classic__tag {
		bottom: calc(0.25rem * 6);
		bottom: var(--gap-small);
		left: calc(0.25rem * 6);
		left: var(--gap-small);
		top: auto
}
	}

.has-layout-right .b-media-text-classic__tag {
		left: auto;
		right: calc(0.25rem * 4);
		right: var(--gap-tiny)
	}

@media ( min-width: 768px ) {

	.has-layout-right .b-media-text-classic__tag {
			left: auto;
			right: calc(0.25rem * 6);
			right: var(--gap-small);
			top: auto
	}
		}

/* =============================================================================
 # Media & Text                                                               #
============================================================================= */

/*
 * Block for media and text.
 */

@media ( min-width: 576px ) {
		.b-media-text.desktop-padding-top {
			padding-bottom: 0;
			padding-top: calc(0.25rem * 8);
			padding-top: var(--gap);
		}

		.b-media-text.desktop-padding-bottom {
			padding-bottom: calc(0.25rem * 8);
			padding-bottom: var(--gap);
			padding-top: 0;
		}

		.b-media-text.desktop-padding-top-bottom {
			padding-bottom: calc(0.25rem * 8);
			padding-bottom: var(--gap);
			padding-top: calc(0.25rem * 8);
			padding-top: var(--gap);
		}
	}

@media ( min-width: 992px ) {
		.b-media-text.desktop-padding-top {
			padding-bottom: 0;
			padding-top: calc(0.25rem * 16);
			padding-top: var(--gap-large);
		}

		.b-media-text.desktop-padding-bottom {
			padding-bottom: calc(0.25rem * 16);
			padding-bottom: var(--gap-large);
			padding-top: 0;
		}

		.b-media-text.desktop-padding-top-bottom {
			padding-bottom: calc(0.25rem * 16);
			padding-bottom: var(--gap-large);
			padding-top: calc(0.25rem * 16);
			padding-top: var(--gap-large);
		}
	}

@media ( min-width: 576px ) {

.b-media-text__inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: calc(0.25rem * 4);
		padding-left: var(--container-padding);
		padding-right: calc(0.25rem * 4);
		padding-right: var(--container-padding);
		width: 100%
}
	}

@media ( min-width: 768px ) {

.b-media-text__inner {
		display: flex;
		flex-wrap: nowrap
}
	}

.b-media-text__content {
	display: flex;
	flex-flow: column;
	flex-shrink: 0;
	margin-left: auto;
	padding: calc(0.25rem * 16) calc(0.25rem * 8);
	padding: var(--gap-large) var(--gap);
	position: relative;
	width: 100%;
	z-index: 1;
}

.has-layout-right .b-media-text__content {
		margin-left: 0;
	}

@media ( min-width: 576px ) {

.b-media-text__content {
		border-radius: 5px;
		border-radius: var(--radius);
		margin-top: calc(calc(0.25rem * 8) * -1);
		margin-top: calc(var(--gap) * -1);
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap);
		padding-top: calc(0.25rem * 8);
		padding-top: var(--gap);
		width: calc(11 / 12 * 100%)
}
	}

@media ( min-width: 768px ) {

.b-media-text__content {
		margin-bottom: calc(0.25rem * 8);
		margin-bottom: var(--gap);
		margin-top: calc(0.25rem * 8);
		margin-top: var(--gap);
		width: 50%
}
	}

@media ( min-width: 992px ) {

.b-media-text__content {
		padding: calc(0.25rem * 10) calc(0.25rem * 12);
		padding: calc(var(--baseline-unit) * 10) calc(var(--baseline-unit) * 12)
}
	}

@media ( min-width: 1680px ) {

.b-media-text__content {
		width: calc(5 / 12 * 100%)
}
	}

.b-media-text__title {
	font-size: 2.25rem;
	font-size: var(--font-size-large);
	line-height: calc(0.25rem * 10);
	line-height: var(--line-height-large);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.b-media-text__text {
	font-size: 1rem;
	font-size: var(--font-size-small);
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small);
	margin-bottom: auto;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
}

.b-media-text__text strong {
		font-weight: 600;
	}

.b-media-text__text a {
		text-decoration: underline
	}

.b-media-text__text a:hover,
		.b-media-text__text a:focus {
			opacity: 0.6;
			text-decoration: none;
		}

.b-media-text__text p {
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small)
	}

.b-media-text__text p:last-child {
			padding-bottom: 0;
		}

@media ( min-width: 768px ) {

.b-media-text__text {
		padding-bottom: calc(0.25rem * 16);
		padding-bottom: var(--gap-large)
}
	}

.b-media-text__text:last-child {
		padding-bottom: 0;
	}

.b-media-text__button {
	flex-grow: 0;
}

.color-blue .b-media-text__button .c-button, .color-green .b-media-text__button .c-button {
			background-color: #fafafa;
			background-color: var(--color-light-gray);
			color: #000;
			color: var(--color-black)
		}

.color-blue .b-media-text__button .c-button:hover, .color-green .b-media-text__button .c-button:hover {
				background-color: #e8e8e8;
				background-color: var(--color-gray);
				color: #000;
				color: var(--color-black);
			}

.b-media-text__image-container {
	flex-shrink: 0;
	width: 100%
}

@media ( min-width: 576px ) {

.b-media-text__image-container {
		width: calc(11 / 12 * 100%)
}
	}

@media ( min-width: 768px ) {

.b-media-text__image-container {
		margin-right: -25%;
		width: 75%
}
	}

@media ( min-width: 1680px ) {

.b-media-text__image-container {
		margin-right: calc(2 / 12 * -100%);
		width: calc(9 / 12 * 100%)
}
	}

.has-layout-right .b-media-text__image-container {
		margin-left: auto
	}

@media ( min-width: 768px ) {

	.has-layout-right .b-media-text__image-container {
			margin-left: -25%;
			order: 1
	}
		}

@media ( min-width: 1680px ) {

	.has-layout-right .b-media-text__image-container {
			margin-left: calc(2 / 12 * -100%)
	}
		}

.b-media-text__image {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.b-media-text__image img {
		display: block;
		height: auto;
		max-width: 100%;
	}

@media ( min-width: 576px ) {

.b-media-text__image {
		border-radius: 5px;
		border-radius: var(--radius)
}
	}

.b-media-text__image--cover {
	height: 100%;
}

.b-media-text__image--cover img {
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

.b-media-text__tag {
	bottom: calc(0.25rem * 8);
	bottom: var(--gap);
	left: calc(0.25rem * 8);
	left: var(--gap);
	position: absolute
}

@media ( min-width: 576px ) {

.b-media-text__tag {
		bottom: auto;
		left: calc(0.25rem * 6);
		left: var(--gap-small);
		right: auto;
		top: calc(0.25rem * 6);
		top: var(--gap-small)
}
	}

@media ( min-width: 768px ) {

.b-media-text__tag {
		bottom: calc(0.25rem * 6);
		bottom: var(--gap-small);
		left: calc(0.25rem * 6);
		left: var(--gap-small);
		top: auto
}
	}

@media ( min-width: 576px ) {

	.has-layout-right .b-media-text__tag {
			left: auto;
			right: calc(0.25rem * 6);
			right: var(--gap-small)
	}
		}

@media ( min-width: 768px ) {

	.has-layout-right .b-media-text__tag {
			left: auto;
			right: calc(0.25rem * 6);
			right: var(--gap-small)
	}
		}

/* =============================================================================
 # Perks                                                                      #
============================================================================= */

/*
 * Block for perks.
 */

.b-perks {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
}

.b-perks__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-perks__grid {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(0.75rem * -1);
	margin-left: calc(var(--gap-grid) * -1);
	margin-right: calc(0.75rem * -1);
	margin-right: calc(var(--gap-grid) * -1);
	width: calc(100% + 0.75rem *2);
	width: calc(100% + var(--gap-grid) *2);
}

.b-perks__column {
	flex-basis: calc((100 / (12 / 12) ) * 1%);
	flex-grow: 0;
	max-width: calc((100 / (12 / 12)) * 1%);
	padding-left: 0.75rem;
	padding-left: var(--gap-grid);
	padding-right: 0.75rem;
	padding-right: var(--gap-grid);
	padding-bottom: calc(0.75rem * 2);
	padding-bottom: calc(var(--gap-grid) * 2)
}

@media ( min-width: 320px ) {

.b-perks__column {
		flex-basis: calc((100 / (12 / 6) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 6)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

@media ( min-width: 992px ) {

.b-perks__column {
		flex-basis: calc((100 / (12 / 3) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 3)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

/* =============================================================================
 # Rich Text                                                                  #
============================================================================= */

/*
 * Block for rich-text.
 */

.b-rich-text {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
	display: flex;
}

.b-rich-text__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-rich-text__content {
	flex-basis: 100%;
	max-width: 100%
}

@media ( min-width: 576px ) {

.b-rich-text__content {
		flex-basis: calc((100 / (12 / 10) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 10)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid);
		padding: 0
}
	}

@media ( min-width: 992px ) {

.b-rich-text__content {
		flex-basis: calc((100 / (12 / 8) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 8)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid);
		padding: 0
}
	}

/* =============================================================================
 # Slider                                                                     #
============================================================================= */

/*
 * Block for sliders.
 */

/* .b-slider {

} */

.b-slider__inner {
	width: 100%;
}

.b-slider__slider {
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	-ms-scroll-snap-type: x mandatory;
	    scroll-snap-type: x mandatory;
}

.b-slider__item {
	margin-right: calc(0.75rem * 0.75);
	margin-right: calc(var(--gap-grid) * 0.75);
	scroll-snap-align: center;
	width: calc(100vw - calc(0.25rem * 4) * 2);
	width: calc(100vw - var(--container-padding) * 2)
}

@media ( min-width: 992px ) {

.b-slider__item {
		margin-right: calc(0.75rem * 2);
		margin-right: calc(var(--gap-grid) * 2)
}
	}

.b-slider__image {
	overflow: hidden;
	padding-top: 56.25%;
	position: relative;
	width: 100%;
}

.b-slider__image img {
		display: block;
		height: auto;
		height: 100%;
		left: 0;
		max-width: 100%;
		object-fit: cover;
		position: absolute;
		top: 0;
	}

.b-slider__navigator {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	padding-top: calc(0.25rem * 6);
	padding-top: var(--gap-small);
}

.b-slider__navigator .c-navigator__buttons {
		margin-left: auto;
		margin-right: 0;
		margin-right: var(--c-navigator-offset);
	}

/* =============================================================================
 # Steps                                                                      #
============================================================================= */

/*
 * Block for steps.
 */

.b-steps {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--gap-large);
}

.b-steps__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-steps__grid {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(0.75rem * -1);
	margin-left: calc(var(--gap-grid) * -1);
	margin-right: calc(0.75rem * -1);
	margin-right: calc(var(--gap-grid) * -1);
	width: calc(100% + 0.75rem *2);
	width: calc(100% + var(--gap-grid) *2);
}

.b-steps__item {
	flex-basis: calc((100 / (12 / 12) ) * 1%);
	flex-grow: 0;
	max-width: calc((100 / (12 / 12)) * 1%);
	padding-left: 0.75rem;
	padding-left: var(--gap-grid);
	padding-right: 0.75rem;
	padding-right: var(--gap-grid);
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large)
}

@media ( min-width: 768px ) {

.b-steps__item {
		flex-basis: calc((100 / (12 / 6) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 6)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

@media ( min-width: 1130px ) {

.b-steps__item {
		flex-basis: calc((100 / (12 / 4) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 4)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid)
}
	}

.b-steps__icon {
	font-size: 3rem;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap)
}

@media ( min-width: 1440px ) {

.b-steps__icon {
		padding-bottom: calc(0.25rem * 16);
		padding-bottom: var(--gap-large)
}
	}

.b-steps__title {
	font-size: 1.25rem;
	font-size: var(--font-size-medium);
	font-weight: bold;
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.b-steps__text {
	font-size: 1rem;
	font-size: var(--font-size-small);
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small);
}

/* =============================================================================
 # Testimonial                                                                #
============================================================================= */

/*
 * Block for testimonials.
 */

/* Remove box-shadow from content & inner ( Same 'bg' and 'color' ). */

.b-testimonial .b-testimonial__inner.b-testimonial__inner,
	.b-testimonial .b-testimonial__grid .b-testimonial__content.b-testimonial__content {
		box-shadow: none;
	}

.b-testimonial__inner {
	position: relative

	/* Remove background-color added by color-class. */
}

.b-testimonial__inner.b-testimonial__inner {
		background-color: transparent;
	}

@media ( min-width: 576px ) {

.b-testimonial__inner {
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap)
}
	}

@media ( min-width: 992px ) {

.b-testimonial__inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: calc(0.25rem * 4);
		padding-left: var(--container-padding);
		padding-right: calc(0.25rem * 4);
		padding-right: var(--container-padding);
		width: 100%;
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap);
		padding-top: calc(0.25rem * 8);
		padding-top: var(--gap);
}

		.has-layout-left .b-testimonial__inner::after {
			border-bottom-left-radius: 5px;
			border-bottom-left-radius: var(--radius);
			border-top-left-radius: 5px;
			border-top-left-radius: var(--radius);
			left: auto;
			right: 0;
		}

		.has-layout-right .b-testimonial__inner::after {
			border-bottom-right-radius: 5px;
			border-bottom-right-radius: var(--radius);
			border-top-right-radius: 5px;
			border-top-right-radius: var(--radius);
		}
	}

@media ( min-width: 992px ) {

.b-testimonial__inner::after {
		content: '';
		height: 100%;
		left: 0;
		max-width: calc(10 / 12 * 100%);
		opacity: 0;
		position: absolute;
		top: 0;
		transition: opacity 0.8s cubic-bezier(0.36, 0.64, 0.23, 0.94);
		transition: opacity var(--transition-slow);
		width: 100%;
}

		.acf-block-preview .b-testimonial__inner::after {
			opacity: 1;
		}

		.is-ready .b-testimonial__inner::after {
			opacity: 1;
		}
	}

.b-testimonial__grid {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	z-index: 1
}

@media ( min-width: 992px ) {

.b-testimonial__grid {
		flex-wrap: nowrap
}
	}

.b-testimonial__content {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	display: flex;
	flex-flow: column;
	flex-shrink: 0;
	margin-left: 0;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
	padding-top: calc(0.25rem * 8);
	padding-top: var(--gap);
	width: 100%
}

@media ( min-width: 576px ) {

.b-testimonial__content {
		padding-bottom: calc(0.25rem * 24);
		padding-bottom: calc(var(--baseline-unit) * 24);
		padding-top: calc(0.25rem * 16);
		padding-top: var(--gap-large)
}
	}

@media ( min-width: 992px ) {

.b-testimonial__content {
		flex-shrink: 1;
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small);
		padding-top: calc(0.25rem * 6);
		padding-top: var(--gap-small);
		width: auto
}

		.b-testimonial__content.b-testimonial__content {
			background-color: transparent;
		}

		.b-testimonial--text-small .b-testimonial__content {
			padding-bottom: 0;
			padding-top: 0;
		}

		.has-layout-left .b-testimonial__content {
			order: 2;
			padding-right: 0;
		}

		.has-layout-right .b-testimonial__content {
			padding-left: 0;
		}
	}

@media ( min-width: 992px ) {

.b-testimonial__content-inner {
		max-width: 80%;
}

		.b-testimonial--text-large .b-testimonial__content-inner {
			max-width: 100%;
		}

		.has-layout-left .b-testimonial__content-inner {
			margin-left: auto;
		}

		.has-layout-right .b-testimonial__content-inner {
			margin-right: auto;
		}
	}

.b-testimonial__title {
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.b-testimonial--title-large .b-testimonial__title {
		font-size: 1.25rem;
		font-size: var(--font-size-medium);

		/* font-weight: bold; */
		line-height: calc(0.25rem * 8);
		line-height: var(--line-height-medium);

		/* padding-bottom: var(--gap-tiny); */
	}

.b-testimonial__quote {
	font-size: 1.25rem;
	font-size: var(--font-size-medium);
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small);
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
}

@media ( min-width: 576px ) {

	.b-testimonial--text-large .b-testimonial__quote {
			font-size: 1.85rem;
			line-height: calc(0.25rem * 9);
			line-height: var(--line-height-xmedium)
	}
		}

@media ( min-width: 1280px ) {

	.b-testimonial--text-large .b-testimonial__quote {
			font-size: 2rem;
			font-size: var(--font-size-xmedium);
			line-height: calc(0.25rem * 9);
			line-height: var(--line-height-xmedium)
	}
		}

.b-testimonial__label {
	display: flex;
	margin-top: auto
}

@media ( min-width: 768px ) {

.b-testimonial__label {
		padding-bottom: 0
}
	}

.b-testimonial__icon {
	font-size: 1rem;
	margin-right: calc(0.25rem * 4);
	margin-right: var(--gap-tiny);
}

.b-testimonial__name {
	flex-grow: 1;
	font-size: 0.9rem;
	font-size: var(--font-size-tiny);
	line-height: calc(0.25rem * 5);
	line-height: var(--line-height-tiny);
}

.b-testimonial__image-container {
	flex-shrink: 0;
	width: 100%
}

@media ( min-width: 576px ) {

.b-testimonial__image-container {
		margin-left: auto;
		margin-right: auto;
		margin-top: calc(calc(0.25rem * 16) * -1);
		margin-top: calc(var(--gap-large) * -1);
		width: calc(100% - (calc(0.25rem * 4) * 2));
		width: calc(100% - (var(--container-padding) * 2))
}
	}

@media ( min-width: 992px ) {

.b-testimonial__image-container {
		margin: 0;
		padding-left: 0;
		padding-right: 0;
		width: calc(5 / 12 * 100%)
}
	}

.b-testimonial__image {
	height: 0;
	margin-top: auto;
	overflow: hidden;
	padding-top: 56.25%; /* 16:9 */
	position: relative;
	width: 100%;
	z-index: 1;
}

.b-testimonial__image img {
		display: block;
		height: 100%;
		left: 0;
		max-width: 100%;
		object-fit: cover;
		position: absolute;
		top: 0;
		width: 100%;
	}

@media ( min-width: 576px ) {

.b-testimonial__image {
		border-radius: 5px;
		border-radius: var(--radius)
}
	}

/* =============================================================================
 # Text                                                                       #
============================================================================= */

/*
 * Block for title and text.
 */

/* .b-text {

} */

.b-text__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
}

.b-text__grid {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(0.75rem * -1);
	margin-left: calc(var(--gap-grid) * -1);
	margin-right: calc(0.75rem * -1);
	margin-right: calc(var(--gap-grid) * -1);
	width: calc(100% + 0.75rem *2);
	width: calc(100% + var(--gap-grid) *2);
}

.b-text__column {
	flex-basis: calc((100 / (12 / 12) ) * 1%);
	flex-grow: 0;
	max-width: calc((100 / (12 / 12)) * 1%);
	padding-left: 0.75rem;
	padding-left: var(--gap-grid);
	padding-right: 0.75rem;
	padding-right: var(--gap-grid);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny)
}

.b-text__column:last-child {
		padding-bottom: 0;
	}

@media ( min-width: 992px ) {

.b-text__column {
		flex-basis: calc((100 / (12 / 6) ) * 1%);
		flex-grow: 0;
		max-width: calc((100 / (12 / 6)) * 1%);
		padding-left: 0.75rem;
		padding-left: var(--gap-grid);
		padding-right: 0.75rem;
		padding-right: var(--gap-grid);
		padding-bottom: 0
}
	}

/* .b–text__title {

} */

.b-text__text strong {
		font-weight: 600;
	}

.b-text__text a {
		text-decoration: underline
	}

.b-text__text a:hover,
		.b-text__text a:focus {
			opacity: 0.6;
			text-decoration: none;
		}

.b-text__text p {
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small)
	}

.b-text__text p:last-child {
			padding-bottom: 0;
		}

.b-text--title-small .b-text__title {
		font-size: 1.25rem;
		font-size: var(--font-size-medium);
		line-height: calc(0.25rem * 6);
		line-height: var(--line-height-small);
	}

.b-text--title-large .b-text__title {
		font-size: 2.25rem;
		font-size: var(--font-size-large);
		line-height: calc(0.25rem * 10);
		line-height: var(--line-height-large);
		padding-bottom: calc(0.25rem * 4);
		padding-bottom: var(--gap-tiny);
	}

.b-text--text-small .b-text__text p {
		font-size: 1rem;
		font-size: var(--font-size-small);
		line-height: calc(0.25rem * 6);
		line-height: var(--line-height-small);
	}

.b-text--text-large .b-text__text p {
		font-size: 1rem;
		font-size: var(--font-size-small);
		line-height: calc(0.25rem * 6);
		line-height: var(--line-height-small)
	}

@media ( min-width: 768px ) {
	.b-text--text-large .b-text__text p {
			font-size: 1.25rem;
			font-size: var(--font-size-medium);
			line-height: calc(0.25rem * 8);
			line-height: var(--line-height-medium)
	}
		}

/* =============================================================================
 # Video                                                                      #
============================================================================= */

/*
 * Block for videos.
 */

/* .b-video {

} */

.b-video__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	width: 100%;
}

/* -----------------------------------------------------------------------------
 # Pages –                                                                    #
----------------------------------------------------------------------------- */

/* =============================================================================
 # 404                                                                        #
============================================================================= */

.p-404 {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(0.25rem * 4);
	padding-left: var(--container-padding);
	padding-right: calc(0.25rem * 4);
	padding-right: var(--container-padding);
	width: 100%;
	align-items: center;
	box-sizing: border-box;
	display: flex;
	min-height: 100vmin;
	padding-bottom: calc(0.25rem * 20);
	padding-bottom: calc(var(--baseline-unit) * 20);
	padding-top: calc((0.25rem * 20) + 3rem);
	padding-top: calc((var(--baseline-unit) * 20) + 3rem);
	text-align: center;
}

.p-404__inner {
	margin: 0 auto;
	max-width: 25rem;
}

.p-404__number {
	font-size: 7rem;
}

.p-404__title {
	font-size: 1.25rem;
	font-size: var(--font-size-medium);
	line-height: calc(0.25rem * 8);
	line-height: var(--line-height-medium);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.p-404__content {
	font-size: 1rem;
	font-size: var(--font-size-small);
	line-height: calc(0.25rem * 6);
	line-height: var(--line-height-small);
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
}

/* =============================================================================
 # Pages                                                                      #
============================================================================= */

/**
 * Page styles, page specific classes (e.g. .home, .page-template-about)
 */

.error404 .l-site-header {
		position: absolute;
		top: 0;
	}

/* Include slick-carousel via NPM. */

/* Slider */

.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}

.slick-list:focus
{
    outline: none;
}

.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

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

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}

.slick-track:after
{
    clear: both;
}

.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}

[dir='rtl'] .slick-slide
{
    float: right;
}

.slick-slide img
{
    display: block;
}

.slick-slide.slick-loading img
{
    display: none;
}

.slick-slide.dragging img
{
    pointer-events: none;
}

.slick-initialized .slick-slide
{
    display: block;
}

.slick-loading .slick-slide
{
    visibility: hidden;
}

.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}

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

/* -----------------------------------------------------------------------------
 # Utilities - Animation, helpers and overrides.                              #
----------------------------------------------------------------------------- */

/* =============================================================================
 # Accessibility                                                              #
============================================================================= */

/* Text meant only for screen readers. */

.h-sr-only {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	        clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;

	/**
	 * Many screen reader and browser combinations announce broken words
	 * as they would appear visually.
	 */
	word-wrap: normal !important
}

.h-sr-only:focus {
		/* background-color: var(--color-primary);
		clip: auto !important;
		clip-path: none;
		color: var(--color-white);
		display: block;
		font-size: var(--font-size-1);
		font-weight: 700;
		height: auto;
		left: var(--spacing-unit-2x);
		padding: var(--spacing-unit-2x) var(--spacing-unit-3x);
		text-decoration: none;
		top: var(--spacing-unit-2x);
		width: auto; */

		/* Above WP toolbar. */
		z-index: 100000;
	}

/* Remove focus outlines when using mouse. */

.using-mouse a[href]:focus,
	.using-mouse area[href]:focus,
	.using-mouse input:not([disabled]):focus,
	.using-mouse select:not([disabled]):focus,
	.using-mouse textarea:not([disabled]):focus,
	.using-mouse button:not([disabled]):focus,
	.using-mouse [tabindex]:focus {
		outline: none;
	}

/* Add focus outlines when using keyboard. */

.using-keyboard a[href]:focus,
	.using-keyboard area[href]:focus,
	.using-keyboard input:not([disabled]):focus,
	.using-keyboard select:not([disabled]):focus,
	.using-keyboard textarea:not([disabled]):focus,
	.using-keyboard button:not([disabled]):focus,
	.using-keyboard [tabindex]:focus {
		outline: 1px solid #000000;
	}

/* =============================================================================
 # Animations                                                                 #
============================================================================= */

/*
 * Animation types and animation @keyframes shall be added here.
 */

/*
 # Types
============================================================================= */

[data-animation-type="fade-in-on-load"] {
	opacity: 0;
	transition: opacity 0.4s ease-in-out;
}

.has-loaded [data-animation-type="fade-in-on-load"],
	.acf-block-preview [data-animation-type="fade-in-on-load"] {
		opacity: 1;
	}

[data-animation-type="fade-in-up-on-load"] {
	opacity: 0;
	transition: opacity 0.4s ease-in-out, transform 0.5s ease-out
}

@media ( min-width: 992px ) {

[data-animation-type="fade-in-up-on-load"] {
		transform: translate3d(0, 4rem, 0)
}
	}

.has-loaded [data-animation-type="fade-in-up-on-load"],
	.acf-block-preview [data-animation-type="fade-in-up-on-load"] {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

[data-animation-type="fade-in-when-ready"] {
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}

.is-ready [data-animation-type="fade-in-when-ready"],
	.acf-block-preview [data-animation-type="fade-in-when-ready"] {
		opacity: 1;
	}

[data-animation-type="fade-in-up-when-ready"] {
	opacity: 0;
	transition: opacity 0.3s ease-in-out, transform 0.5s ease-out
}

@media ( min-width: 992px ) {

[data-animation-type="fade-in-up-when-ready"] {
		transform: translate3d(0, 4rem, 0)
}
	}

.is-ready [data-animation-type="fade-in-up-when-ready"],
	.acf-block-preview [data-animation-type="fade-in-up-when-ready"] {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

[data-animation-type="fade-in"] {
	opacity: 0;
	transition: opacity 0.8s ease-in-out;
}

.was-in-view [data-animation-type="fade-in"],
	[data-animation-type="fade-in"].was-in-view,
	.acf-block-preview [data-animation-type="fade-in"] {
		opacity: 1;
	}

[data-animation-type="fade-in-up"] {
	opacity: 0;
	transition: opacity 0.4s ease-in-out, transform 0.8s ease-out
}

@media ( min-width: 992px ) {

[data-animation-type="fade-in-up"] {
		transform: translate3d(0, 1rem, 0)
}
	}

.was-in-view [data-animation-type="fade-in-up"],
	[data-animation-type="fade-in-up"].was-in-view,
	.acf-block-preview [data-animation-type="fade-in-up"] {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

@media ( min-width: 768px ) {

[data-animation-type="slide-in-from-left"] {
		opacity: 0;
		transform: translate3d(4rem, 0, 0);
		transition: opacity 0.4s ease-in-out, transform 0.4s ease-out;
}

		.was-in-view [data-animation-type="slide-in-from-left"],
		[data-animation-type="slide-in-from-left"].was-in-view,
		.acf-block-preview [data-animation-type="slide-in-from-left"] {
			opacity: 1;
			transform: translate3d(0, 0, 0);
		}
	}

/*
 # Delays
============================================================================= */

[data-animation-delay="1"] {
	transition-delay: 0.1s;
}

[data-animation-delay="2"] {
	transition-delay: 0.3s;
}

[data-animation-delay="3"] {
	transition-delay: 0.45s;
}

[data-animation-delay="4"] {
	transition-delay: 0.6s;
}

[data-animation-delay="5"] {
	transition-delay: 0.75s;
}

[data-animation-delay="6"] {
	transition-delay: 0.9s;
}

[data-animation-delay="7"] {
	transition-delay: 1.05s;
}

[data-animation-delay="8"] {
	transition-delay: 1.2s;
}

[data-animation-delay="9"] {
	transition-delay: 1.35s;
}

[data-animation-delay="10"] {
	transition-delay: 1.5s;
}

/* =============================================================================
 # Aspect Ratio                                                               #
============================================================================= */

:root {
	--default-aspect-ratio: 82.5%;
}

.has-aspect-ratio {
	height: 0;
	overflow: hidden;
	padding-top: 82.5%;
	padding-top: var(--default-aspect-ratio);
	position: relative;
}

.has-aspect-ratio img,
	.has-aspect-ratio iframe,
	.has-aspect-ratio video {
		bottom: 0;
		height: 100%;
		left: 0;
		max-width: 100%;
		object-fit: cover;
		object-position: center;
		position: absolute;
		right: 0;
		top: 0;
		width: 100%;
	}

@media ( min-width: 768px ) {

.has-aspect-ratio {
		padding-top: 56.25% /* Standard 16:9 */
}
	}

.has-aspect-ratio--1-1 {
	padding-top: 82.5%;
	padding-top: var(--default-aspect-ratio)
}

@media ( min-width: 768px ) {

.has-aspect-ratio--1-1 {
		padding-top: 100%
}
	}

.has-aspect-ratio--4-3 {
	padding-top: 82.5%;
	padding-top: var(--default-aspect-ratio)
}

@media ( min-width: 768px ) {

.has-aspect-ratio--4-3 {
		padding-top: 75%
}
	}

.has-aspect-ratio--16-9 {
	padding-top: 82.5%;
	padding-top: var(--default-aspect-ratio)
}

@media ( min-width: 768px ) {

.has-aspect-ratio--16-9 {
		padding-top: 56.25%
}
	}

.has-aspect-ratio--2-1 {
	padding-top: 82.5%;
	padding-top: var(--default-aspect-ratio)
}

@media ( min-width: 768px ) {

.has-aspect-ratio--2-1 {
		padding-top: 50%
}
	}

.has-aspect-ratio--21-9 {
	padding-top: 82.5%;
	padding-top: var(--default-aspect-ratio)
}

@media ( min-width: 768px ) {

.has-aspect-ratio--21-9 {
		padding-top: 42.85%
}
	}

.has-aspect-ratio--3-4 {
	padding-top: 82.5%;
	padding-top: var(--default-aspect-ratio)
}

@media ( min-width: 768px ) {

.has-aspect-ratio--3-4 {
		padding-top: 133%
}
	}

.has-aspect-ratio--9-16 {
	padding-top: 82.5%;
	padding-top: var(--default-aspect-ratio)
}

@media ( min-width: 768px ) {

.has-aspect-ratio--9-16 {
		padding-top: 178%
}
	}

.has-aspect-ratio--1-2 {
	padding-top: 82.5%;
	padding-top: var(--default-aspect-ratio)
}

@media ( min-width: 768px ) {

.has-aspect-ratio--1-2 {
		padding-top: 200%
}
	}

/* =============================================================================
 # Colors                                                                     #
============================================================================= */

/*
 # Background
============================================================================= */

.bg-beige {
	background-color: #d8cbbd;
	background-color: var(--color-beige);
	color: #000;
	color: var(--color-black);
}

.bg-black {
	background-color: #000;
	background-color: var(--color-black);
	color: #fff;
	color: var(--color-white);
}

.bg-blue {
	background-color: #272b41;
	background-color: var(--color-blue);
	color: #fff;
	color: var(--color-white);
}

.bg-dark-gray {
	background-color: #373736;
	background-color: var(--color-dark-gray);
	color: #fff;
	color: var(--color-white);
}

.bg-gray {
	background-color: #e8e8e8;
	background-color: var(--color-gray);
	color: #000;
	color: var(--color-black);
}

.bg-green {
	background-color: #464f36;
	background-color: var(--color-green);
	color: #fff;
	color: var(--color-white);
}

.bg-light-gray {
	background-color: #fafafa;
	background-color: var(--color-light-gray);
	color: #000;
	color: var(--color-black);
}

.bg-orange {
	background-color: #ed894d;
	background-color: var(--color-orange);
	color: #000;
	color: var(--color-black);
}

.bg-red {
	background-color: #ca6e77;
	background-color: var(--color-red);
	color: #000;
	color: var(--color-black);
}

.bg-silver {
	background-color: #e8e8e4;
	background-color: var(--color-silver);
	color: #000;
	color: var(--color-black);
}

.bg-yellow {
	background-color: #edab54;
	background-color: var(--color-yellow);
	color: #000;
	color: var(--color-black);
}

.bg-white {
	background-color: #fff;
	background-color: var(--color-white);
	color: #000;
	color: var(--color-black);
}

/*
 # Color
============================================================================= */

.color-beige {
	background-color: #d8cbbd;
	background-color: var(--color-beige);
	color: #000;
	color: var(--color-black)
}

.color-beige::after {
		background-color: #d8cbbd;
		background-color: var(--color-beige);
	}

.bg-beige .color-beige {
		box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
		box-shadow: var(--drop-shadow-dark);
	}

.color-black {
	background-color: #000;
	background-color: var(--color-black);
	color: #fff;
	color: var(--color-white)
}

.color-black::after {
		background-color: #000;
		background-color: var(--color-black);
	}

.bg-light-black .color-black {
		box-shadow: 0 0 30px 0 rgba(255, 255, 255, 0.1);
		box-shadow: var(--drop-shadow-light);
	}

.color-blue {
	background-color: #272b41;
	background-color: var(--color-blue);
	color: #fff;
	color: var(--color-white)
}

.color-blue::after {
		background-color: #272b41;
		background-color: var(--color-blue);
	}

.bg-blue .color-blue {
		box-shadow: 0 0 30px 0 rgba(255, 255, 255, 0.1);
		box-shadow: var(--drop-shadow-light);
	}

.color-dark-gray {
	background-color: #373736;
	background-color: var(--color-dark-gray);
	color: #fff;
	color: var(--color-white)
}

.color-dark-gray::after {
		background-color: #373736;
		background-color: var(--color-dark-gray);
	}

.bg-light-black .color-dark-gray {
		box-shadow: 0 0 30px 0 rgba(255, 255, 255, 0.1);
		box-shadow: var(--drop-shadow-light);
	}

.color-gray {
	background-color: #e8e8e8;
	background-color: var(--color-gray);
	color: #000;
	color: var(--color-black)
}

.color-gray::after {
		background-color: #e8e8e8;
		background-color: var(--color-gray);
	}

.bg-gray .color-gray {
		box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
		box-shadow: var(--drop-shadow-dark);
	}

.color-green {
	background-color: #464f36;
	background-color: var(--color-green);
	color: #fff;
	color: var(--color-white)
}

.color-green::after {
		background-color: #464f36;
		background-color: var(--color-green);
	}

.bg-green .color-green {
		box-shadow: 0 0 30px 0 rgba(255, 255, 255, 0.1);
		box-shadow: var(--drop-shadow-light);
	}

.color-light-gray {
	background-color: #fafafa;
	background-color: var(--color-light-gray);
	color: #000;
	color: var(--color-black)
}

.color-light-gray::after {
		background-color: #fafafa;
		background-color: var(--color-light-gray);
	}

.bg-light-gray .color-light-gray {
		box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
		box-shadow: var(--drop-shadow-dark);
	}

.color-orange {
	background-color: #ed894d;
	background-color: var(--color-orange);
	color: #000;
	color: var(--color-black)
}

.color-orange::after {
		background-color: #ed894d;
		background-color: var(--color-orange);
	}

.bg-orange .color-orange {
		box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
		box-shadow: var(--drop-shadow-dark);
	}

.color-red {
	background-color: #ca6e77;
	background-color: var(--color-red);
	color: #000;
	color: var(--color-black)
}

.color-red::after {
		background-color: #ca6e77;
		background-color: var(--color-red);
	}

.bg-red .color-red {
		box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
		box-shadow: var(--drop-shadow-dark);
	}

.color-silver {
	background-color: #e8e8e4;
	background-color: var(--color-silver);
	color: #000;
	color: var(--color-black)
}

.color-silver::after {
		background-color: #e8e8e4;
		background-color: var(--color-silver);
	}

.bg-silver .color-silver {
		box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
		box-shadow: var(--drop-shadow-dark);
	}

.color-yellow {
	background-color: #edab54;
	background-color: var(--color-yellow);
	color: #000;
	color: var(--color-black)
}

.color-yellow::after {
		background-color: #edab54;
		background-color: var(--color-yellow);
	}

.bg-yellow .color-yellow {
		box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
		box-shadow: var(--drop-shadow-dark);
	}

.color-white {
	background-color: #fff;
	background-color: var(--color-white);
	color: #000;
	color: var(--color-black)
}

.color-white::after {
		background-color: #fff;
		background-color: var(--color-white);
	}

.bg-light-white .color-white {
		box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
		box-shadow: var(--drop-shadow-dark);
	}

/*
 # Button-color
============================================================================= */

.button-beige {
	--c-button-bg: var(--color-beige);
	--c-button-color: var(--color-black);
}

.button-black {
	--c-button-bg: var(--color-black);
	--c-button-color: var(--color-white);
}

.button-blue {
	--c-button-bg: var(--color-blue);
	--c-button-color: var(--color-white);
}

.button-dark-gray {
	--c-button-bg: var(--color-dark-gray);
	--c-button-color: var(--color-white);
}

.button-gray {
	--c-button-bg: var(--color-gray);
	--c-button-color: var(--color-black);
}

.button-green {
	--c-button-bg: var(--color-green);
	--c-button-color: var(--color-white);
}

.button-light-gray {
	--c-button-bg: var(--color-light-gray);
	--c-button-color: var(--color-black);
}

.button-orange {
	--c-button-bg: var(--color-orange);
	--c-button-color: var(--color-black);
}

.button-red {
	--c-button-bg: var(--color-red);
	--c-button-color: var(--color-black);
}

.button-silver {
	--c-button-bg: var(--color-silver);
	--c-button-color: var(--color-black);
}

.button-yellow {
	--c-button-bg: var(--color-yellow);
	--c-button-color: var(--color-black);
}

.button-white {
	--c-button-bg: var(--color-white);
	--c-button-color: var(--color-black);
}

/*
 # Card
============================================================================= */

/*
	 # Standard-color
	============================================================================= */

.card-beige .c-card {
		--c-card-bg: var(--color-beige);
		--c-card-color: var(--color-black);
	}

.card-black .c-card {
		--c-card-bg: var(--color-black);
		--c-card-color: var(--color-white);
	}

.card-blue .c-card {
		--c-card-bg: var(--color-blue);
		--c-card-color: var(--color-white);
	}

.card-dark-gray .c-card {
		--c-card-bg: var(--color-dark-gray);
		--c-card-color: var(--color-white);
	}

.card-gray .c-card {
		--c-card-bg: var(--color-gray);
		--c-card-color: var(--color-black);
	}

.card-green .c-card {
		--c-card-bg: var(--color-green);
		--c-card-color: var(--color-white);
	}

.card-light-gray .c-card {
		--c-card-bg: var(--color-light-gray);
		--c-card-color: var(--color-black);
	}

.card-orange .c-card {
		--c-card-bg: var(--color-orange);
		--c-card-color: var(--color-black);
	}

.card-red .c-card {
		--c-card-bg: var(--color-red);
		--c-card-color: var(--color-black);
	}

.card-silver .c-card {
		--c-card-bg: var(--color-silver);
		--c-card-color: var(--color-black);
	}

.card-yellow .c-card {
		--c-card-bg: var(--color-yellow);
		--c-card-color: var(--color-black);
	}

.card-white .c-card {
		--c-card-bg: var(--color-white);
		--c-card-color: var(--color-black);
	}

/* Add dark-shadow if color and background-color are the same. */

.bg-beige.card-beige .c-card,
	.bg-gray.card-gray .c-card,
	.bg-light-gray.card-light-gray .c-card,
	.bg-orange.card-orange .c-card,
	.bg-red.card-red .c-card,
	.bg-silver.card-silver .c-card,
	.bg-yellow.card-yellow .c-card,
	.bg-white.card-white .c-card {
		box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
		box-shadow: var(--drop-shadow-dark);
	}

/* Add light-shadow if color and background-color are the same. */

.bg-blue.card-blue .c-card,
	.bg-green.card-green .c-card,
	.bg-black.card-black .c-card,
	.bg-dark-gray.card-dark-gray .c-card {
		box-shadow: 0 0 30px 0 rgba(255, 255, 255, 0.1);
		box-shadow: var(--drop-shadow-light);
	}

/*
	 # Hover-color (Card)
	============================================================================= */

.card-hover-beige .c-card {
		--c-card-label-bg: var(--color-beige);
		--c-card-label-color: var(--color-black)
	}

.card-hover-beige .c-card:hover,
		.card-hover-beige .c-card:focus {
			--c-card-bg: var(--color-beige);
			--c-card-color: var(--color-black);
			--c-card-label-bg: var(--color-black);
			--c-card-label-color: var(--color-white);
		}

.card-hover-black .c-card {
		--c-card-label-bg: var(--color-black);
		--c-card-label-color: var(--color-white)
	}

.card-hover-black .c-card:hover,
		.card-hover-black .c-card:focus {
			--c-card-bg: var(--color-black);
			--c-card-color: var(--color-white);
			--c-card-label-bg: var(--color-white);
			--c-card-label-color: var(--color-black);
		}

.card-hover-blue .c-card {
		--c-card-label-bg: var(--color-blue);
		--c-card-label-color: var(--color-white)
	}

.card-hover-blue .c-card:hover,
		.card-hover-blue .c-card:focus {
			--c-card-bg: var(--color-blue);
			--c-card-color: var(--color-white);
			--c-card-label-bg: var(--color-white);
			--c-card-label-color: var(--color-black);
		}

.card-hover-dark-gray .c-card {
		--c-card-label-bg: var(--color-dark-gray);
		--c-card-label-color: var(--color-white)
	}

.card-hover-dark-gray .c-card:hover,
		.card-hover-dark-gray .c-card:focus {
			--c-card-bg: var(--color-dark-gray);
			--c-card-color: var(--color-white);
			--c-card-label-bg: var(--color-white);
			--c-card-label-color: var(--color-black);
		}

.card-hover-gray .c-card {
		--c-card-label-bg: var(--color-gray);
		--c-card-label-color: var(--color-black)
	}

.card-hover-gray .c-card:hover,
		.card-hover-gray .c-card:focus {
			--c-card-bg: var(--color-gray);
			--c-card-color: var(--color-black);
			--c-card-label-bg: var(--color-black);
			--c-card-label-color: var(--color-white);
		}

.card-hover-green .c-card {
		--c-card-label-bg: var(--color-green);
		--c-card-label-color: var(--color-white)
	}

.card-hover-green .c-card:hover,
		.card-hover-green .c-card:focus {
			--c-card-bg: var(--color-green);
			--c-card-color: var(--color-white);
			--c-card-label-bg: var(--color-white);
			--c-card-label-color: var(--color-black);
		}

.card-hover-light-gray .c-card {
		--c-card-label-bg: var(--color-light-gray);
		--c-card-label-color: var(--color-black)
	}

.card-hover-light-gray .c-card:hover,
		.card-hover-light-gray .c-card:focus {
			--c-card-bg: var(--color-light-gray);
			--c-card-color: var(--color-black);
			--c-card-label-bg: var(--color-black);
			--c-card-label-color: var(--color-white);
		}

.card-hover-orange .c-card {
		--c-card-label-bg: var(--color-orange);
		--c-card-label-color: var(--color-black)
	}

.card-hover-orange .c-card:hover,
		.card-hover-orange .c-card:focus {
			--c-card-bg: var(--color-orange);
			--c-card-color: var(--color-black);
			--c-card-label-bg: var(--color-black);
			--c-card-label-color: var(--color-white);
		}

.card-hover-red .c-card {
		--c-card-label-bg: var(--color-red);
		--c-card-label-color: var(--color-black)
	}

.card-hover-red .c-card:hover,
		.card-hover-red .c-card:focus {
			--c-card-bg: var(--color-red);
			--c-card-color: var(--color-black);
			--c-card-label-bg: var(--color-black);
			--c-card-label-color: var(--color-white);
		}

.card-hover-silver .c-card {
		--c-card-label-bg: var(--color-silver);
		--c-card-label-color: var(--color-black)
	}

.card-hover-silver .c-card:hover,
		.card-hover-silver .c-card:focus {
			--c-card-bg: var(--color-silver);
			--c-card-color: var(--color-black);
			--c-card-label-bg: var(--color-black);
			--c-card-label-color: var(--color-white);
		}

.card-hover-yellow .c-card {
		--c-card-label-bg: var(--color-yellow);
		--c-card-label-color: var(--color-black)
	}

.card-hover-yellow .c-card:hover,
		.card-hover-yellow .c-card:focus {
			--c-card-bg: var(--color-yellow);
			--c-card-color: var(--color-black);
			--c-card-label-bg: var(--color-black);
			--c-card-label-color: var(--color-white);
		}

.card-hover-white .c-card {
		--c-card-label-bg: var(--color-white);
		--c-card-label-color: var(--color-black)
	}

.card-hover-white .c-card:hover,
		.card-hover-white .c-card:focus {
			--c-card-bg: var(--color-white);
			--c-card-color: var(--color-black);
			--c-card-label-bg: var(--color-black);
			--c-card-label-color: var(--color-white);
		}

/* Add dark-shadow on hover if color and background-color are the same. */

.bg-beige.card-hover-beige .c-card:hover,
		.bg-gray.card-hover-gray .c-card:hover,
		.bg-light-gray.card-hover-light-gray .c-card:hover,
		.bg-orange.card-hover-orange .c-card:hover,
		.bg-red.card-hover-red .c-card:hover,
		.bg-silver.card-hover-silver .c-card:hover,
		.bg-yellow.card-hover-yellow .c-card:hover,
		.bg-white.card-hover-white .c-card:hover,
		.bg-beige.card-hover-beige .c-card:focus,
		.bg-gray.card-hover-gray .c-card:focus,
		.bg-light-gray.card-hover-light-gray .c-card:focus,
		.bg-orange.card-hover-orange .c-card:focus,
		.bg-red.card-hover-red .c-card:focus,
		.bg-silver.card-hover-silver .c-card:focus,
		.bg-yellow.card-hover-yellow .c-card:focus,
		.bg-white.card-hover-white .c-card:focus {
			box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
			box-shadow: var(--drop-shadow-dark);
		}

/* Add light-shadow on hover if color and background-color are the same. */

.bg-blue.card-hover-blue .c-card:hover,
		.bg-green.card-hover-green .c-card:hover,
		.bg-dark-gray.card-hover-dark-gray .c-card:hover,
		.c-card:hover .bg-black.card-hover-black,
		.bg-blue.card-hover-blue .c-card:focus,
		.bg-green.card-hover-green .c-card:focus,
		.bg-dark-gray.card-hover-dark-gray .c-card:focus,
		.c-card:focus .bg-black.card-hover-black {
			box-shadow: 0 0 30px 0 rgba(255, 255, 255, 0.1);
			box-shadow: var(--drop-shadow-light);
		}

/* =============================================================================
 # Lazyload                                                                   #
============================================================================= */

.no-js .h-lazyload {
		display: none;
	}

/* =============================================================================
 # OEmbed                                                                     #
============================================================================= */

/**
 * Easy responsive embeds
 *
 * Use class "h-oembed" on container around the embed/iframe/object
 */

.h-oembed {
	height: auto;
	max-width: 100%;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative
}

.h-oembed iframe,
	.h-oembed object,
	.h-oembed embed {
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}

/* =============================================================================
 # Padding                                                                    #
============================================================================= */

:root {
	--mobile-padding: var(--gap-large);
	--desktop-padding: var(--gap-large);
}

/*
 # Mobile
============================================================================= */

.mobile-padding-none {
	padding-bottom: 0;
	padding-top: 0;
}

.mobile-padding-top {
	padding-bottom: 0;
	padding-top: calc(0.25rem * 16);
	padding-top: var(--mobile-padding);
}

.mobile-padding-bottom {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--mobile-padding);
	padding-top: 0;
}

.mobile-padding-top-bottom {
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--mobile-padding);
	padding-top: calc(0.25rem * 16);
	padding-top: var(--mobile-padding);
}

/*
 # Desktop
============================================================================= */

@media ( min-width: 768px ) {

.desktop-padding-none {
		padding-bottom: 0;
		padding-top: 0
}
	}

@media ( min-width: 992px ) {

.desktop-padding-none {
		padding-bottom: 0;
		padding-top: 0
}
	}

@media ( min-width: 768px ) {

.desktop-padding-top.desktop-padding-top {
			padding-bottom: 0;
			padding-top: calc(0.25rem * 16);
			padding-top: var(--desktop-padding)
	}
		}

@media ( min-width: 992px ) {

.desktop-padding-top.desktop-padding-top {
			padding-bottom: 0;
			padding-top: calc(0.25rem * 16);
			padding-top: var(--desktop-padding)
	}
		}

@media ( min-width: 768px ) {

.desktop-padding-bottom.desktop-padding-bottom {
			padding-bottom: calc(0.25rem * 16);
			padding-bottom: var(--desktop-padding);
			padding-top: 0
	}
		}

@media ( min-width: 992px ) {

.desktop-padding-bottom.desktop-padding-bottom {
			padding-bottom: calc(0.25rem * 16);
			padding-bottom: var(--desktop-padding);
			padding-top: 0
	}
		}

@media ( min-width: 992px ) {

.desktop-padding-top-bottom.desktop-padding-top-bottom {
			padding-bottom: calc(0.25rem * 16);
			padding-bottom: var(--desktop-padding);
			padding-top: calc(0.25rem * 16);
			padding-top: var(--desktop-padding)
	}
		}

/* =============================================================================
 # Radius                                                                     #
============================================================================= */

.radius-none {
	border-radius: 0;
}

.radius-top {
	border-top-left-radius: 5px;
	border-top-left-radius: var(--radius);
	border-top-right-radius: 5px;
	border-top-right-radius: var(--radius);
}

.radius-bottom {
	border-bottom-left-radius: 5px;
	border-bottom-left-radius: var(--radius);
	border-bottom-right-radius: 5px;
	border-bottom-right-radius: var(--radius);
}

.radius-top-bottom {
	border-radius: 5px;
	border-radius: var(--radius);
}

/*
 # Legacy
============================================================================= */

/*
 * Browsehappy – used for older browsers that doesn't support modern features.
 * Inserted in wp_footer hook
 */

.c-browsehappy {
	background-color: #333;
	color: #fff;
	display: none;
	font-size: 1em;
	left: 0;
	line-height: 1.2;
	margin: 0;
	padding: 0.75em 1.5em;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1000
}

.c-browsehappy a {
		color: #fff;
		text-decoration: underline;
	}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {

.c-browsehappy {
		/* IE10 & IE11 */
		display: block
}
	}

@supports (-ms-ime-align:auto) and (not (-webkit-mask: url())) {

.c-browsehappy {
		/* Edge 17- https://browserstrangeness.github.io/css_hacks.html */
		display: block
}
	}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL3N0eWxlLmNzcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9zdHlsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNldC5jc3MvcmVzZXQuY3NzIiwid2VicGFjazovLy9zZXR0aW5ncy9tZWRpYS1xdWVyaWVzLmNzcyIsIndlYnBhY2s6Ly8vc2V0dGluZ3MvbWFpbi5jc3MiLCJ3ZWJwYWNrOi8vL3NldHRpbmdzL2ZvbnRzLmNzcyIsIndlYnBhY2s6Ly8vc2V0dGluZ3MvY29sb3JzLmNzcyIsIndlYnBhY2s6Ly8vc2V0dGluZ3MvdHlwb2dyYXBoeS5jc3MiLCJ3ZWJwYWNrOi8vL3Rvb2xzL21peGlucy5jc3MiLCJ3ZWJwYWNrOi8vL2dlbmVyaWMvYm94LXNpemluZy5jc3MiLCJ3ZWJwYWNrOi8vL2dlbmVyaWMvYnV0dG9ucy5jc3MiLCJ3ZWJwYWNrOi8vL2dlbmVyaWMvbGlua3MuY3NzIiwid2VicGFjazovLy9nZW5lcmljL21haW4uY3NzIiwid2VicGFjazovLy9nZW5lcmljL3N0YW5kYXJkLXR5cG9ncmFwaHkuY3NzIiwid2VicGFjazovLy9nZW5lcmljL3N1Yi1zdXAuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2FjY29yZGlvbi5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvYm90dG9tLXBhbmVsLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9idXR0b24uY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2NhcmQuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2NvbG9yLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9jb250YWN0LWZvcm0uY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2NvbnRhY3QuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2Nvb2tpZS1ub3RpY2UuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2ZpbHRlci5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvaG9yaXpvbnRhbC1zY3JvbGwuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2ljb25zLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9sb2NhdGlvbi5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbG9nby1ncmlkLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9tYXAuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL21lbnUuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL21vZGFsLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9uYXZpZ2F0b3IuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3BhZ2luYXRpb24uY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3BlcmsuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3NpdGUtYW5ub3VuY2VtZW50LmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9zb2NpYWwuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3N1ZmZpeC5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvdGFnLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy92aWRlby5jc3MiLCJ3ZWJwYWNrOi8vL2xheW91dC9zaXRlLWZvb3Rlci5jc3MiLCJ3ZWJwYWNrOi8vL2xheW91dC9zaXRlLWhlYWRlci5jc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL3RlbXBsYXRlLWJsb2Nrcy9jYXJkLWZlYXR1cmVkL21haW4uY3NzIiwid2VicGFjazovLy8uLi8uLi90ZW1wbGF0ZS1ibG9ja3MvY2FyZC1ncmlkL21haW4uY3NzIiwid2VicGFjazovLy8uLi8uLi90ZW1wbGF0ZS1ibG9ja3MvY2FyZHMvbWFpbi5jc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL3RlbXBsYXRlLWJsb2Nrcy9jbGllbnRzL21haW4uY3NzIiwid2VicGFjazovLy8uLi8uLi90ZW1wbGF0ZS1ibG9ja3MvY29tcGFyZS1tZW1iZXJzaGlwL21haW4uY3NzIiwid2VicGFjazovLy8uLi8uLi90ZW1wbGF0ZS1ibG9ja3MvZXhhbXBsZS9tYWluLmNzcyIsIndlYnBhY2s6Ly8vLi4vLi4vdGVtcGxhdGUtYmxvY2tzL2ZhY2lsaXRpZXMvbWFpbi5jc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL3RlbXBsYXRlLWJsb2Nrcy9mb3JtL21haW4uY3NzIiwid2VicGFjazovLy8uLi8uLi90ZW1wbGF0ZS1ibG9ja3MvaGVyby1mdWxsL21haW4uY3NzIiwid2VicGFjazovLy8uLi8uLi90ZW1wbGF0ZS1ibG9ja3MvaGVyby1zbGlkZXIvbWFpbi5jc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL3RlbXBsYXRlLWJsb2Nrcy9oZXJvL21haW4uY3NzIiwid2VicGFjazovLy8uLi8uLi90ZW1wbGF0ZS1ibG9ja3MvaW1hZ2UvbWFpbi5jc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL3RlbXBsYXRlLWJsb2Nrcy9tYWdhemluZS9tYWluLmNzcyIsIndlYnBhY2s6Ly8vLi4vLi4vdGVtcGxhdGUtYmxvY2tzL21hcC9tYWluLmNzcyIsIndlYnBhY2s6Ly8vLi4vLi4vdGVtcGxhdGUtYmxvY2tzL21lZGlhLWNvbnRhY3QvbWFpbi5jc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL3RlbXBsYXRlLWJsb2Nrcy9tZWRpYS10ZXh0LWNsYXNzaWMvbWFpbi5jc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL3RlbXBsYXRlLWJsb2Nrcy9tZWRpYS10ZXh0L21haW4uY3NzIiwid2VicGFjazovLy8uLi8uLi90ZW1wbGF0ZS1ibG9ja3MvcGVya3MvbWFpbi5jc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL3RlbXBsYXRlLWJsb2Nrcy9yaWNoLXRleHQvbWFpbi5jc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL3RlbXBsYXRlLWJsb2Nrcy9zbGlkZXIvbWFpbi5jc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL3RlbXBsYXRlLWJsb2Nrcy9zdGVwcy9tYWluLmNzcyIsIndlYnBhY2s6Ly8vLi4vLi4vdGVtcGxhdGUtYmxvY2tzL3Rlc3RpbW9uaWFsL21haW4uY3NzIiwid2VicGFjazovLy8uLi8uLi90ZW1wbGF0ZS1ibG9ja3MvdGV4dC9tYWluLmNzcyIsIndlYnBhY2s6Ly8vLi4vLi4vdGVtcGxhdGUtYmxvY2tzL3ZpZGVvL21haW4uY3NzIiwid2VicGFjazovLy9wYWdlcy80MDQuY3NzIiwid2VicGFjazovLy9wYWdlcy9tYWluLmNzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLmNzcyIsIndlYnBhY2s6Ly8vdXRpbGl0aWVzL2FjY2Vzc2liaWxpdHkuY3NzIiwid2VicGFjazovLy91dGlsaXRpZXMvYW5pbWF0aW9ucy5jc3MiLCJ3ZWJwYWNrOi8vL3V0aWxpdGllcy9hc3BlY3QtcmF0aW8uY3NzIiwid2VicGFjazovLy91dGlsaXRpZXMvY29sb3JzLmNzcyIsIndlYnBhY2s6Ly8vdXRpbGl0aWVzL2xhenlsb2FkLmNzcyIsIndlYnBhY2s6Ly8vdXRpbGl0aWVzL29lbWJlZC5jc3MiLCJ3ZWJwYWNrOi8vL3V0aWxpdGllcy9wYWRkaW5nLmNzcyIsIndlYnBhY2s6Ly8vdXRpbGl0aWVzL3JhZGl1cy5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFN0eWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogVGhpcyBpcyB0aGUgbWFqb3IgY3NzIGZpbGUuIEhlcmUgYWxsIG90aGVyIGZpbGVzIGFyZSBpbXBvcnRlZC5cbiAqL1xuXG4vKiBJbmNsdWRlIHJlc2V0LmNzcyB2aWEgTlBNLiAqL1xuQGltcG9ydCBcInJlc2V0LmNzc1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICMgU2V0dGluZ3MgLSBHbG9iYWwgdmFyaWFibGVzLCBjb25maWcgc3dpdGNoZXMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbXBvcnQgXCJzZXR0aW5ncy9tZWRpYS1xdWVyaWVzLmNzc1wiO1xuQGltcG9ydCBcInNldHRpbmdzL21haW4uY3NzXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvZm9udHMuY3NzXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvY29sb3JzLmNzc1wiO1xuQGltcG9ydCBcInNldHRpbmdzL3R5cG9ncmFwaHkuY3NzXCI7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIyBUb29scyAtIERlZmF1bHQgbWl4aW5zIGFuZCBmdW5jdGlvbnMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGltcG9ydCBcInRvb2xzL21peGlucy5jc3NcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAjIEdlbmVyaWMgLSBHcm91bmQtemVybyBzdHlsZXMgKGJveC1zaXppbmcsIGV0Yy4pLiAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW1wb3J0IFwiZ2VuZXJpYy8qLmNzc1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICMgQ29tcG9uZW50cyDigJMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvKi5jc3NcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAjIExheW91dCDigJMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbXBvcnQgXCJsYXlvdXQvKi5jc3NcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAjIFRlbXBsYXRlIEJsb2NrcyDigJMgQUNGIEJsb2NrcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbXBvcnQgXCIuLi8uLi90ZW1wbGF0ZS1ibG9ja3MvKiovKi5jc3NcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAjIFBhZ2VzIOKAkyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbXBvcnQgXCJwYWdlcy8qLmNzc1wiO1xuXG4vKiBJbmNsdWRlIHNsaWNrLWNhcm91c2VsIHZpYSBOUE0uICovXG5AaW1wb3J0IFwic2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suY3NzXCI7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIyBVdGlsaXRpZXMgLSBBbmltYXRpb24sIGhlbHBlcnMgYW5kIG92ZXJyaWRlcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGltcG9ydCBcInV0aWxpdGllcy8qLmNzc1wiO1xuXG4vKlxuICMgTGVnYWN5XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQnJvd3NlaGFwcHkg4oCTIHVzZWQgZm9yIG9sZGVyIGJyb3dzZXJzIHRoYXQgZG9lc24ndCBzdXBwb3J0IG1vZGVybiBmZWF0dXJlcy5cbiAqIEluc2VydGVkIGluIHdwX2Zvb3RlciBob29rXG4gKi9cbi5jLWJyb3dzZWhhcHB5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzMzMztcblx0Y29sb3I6ICNmZmY7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHRsZWZ0OiAwO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAuNzVlbSAxLjVlbTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAwO1xuXHR6LWluZGV4OiAxMDAwO1xuXG5cdCYgYSB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cblxuXHRAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuXHRcdC8qIElFMTAgJiBJRTExICovXG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHRAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246YXV0bykgYW5kIChub3QgKC13ZWJraXQtbWFzazogdXJsKCkpKSB7XG5cdFx0LyogRWRnZSAxNy0gaHR0cHM6Ly9icm93c2Vyc3RyYW5nZW5lc3MuZ2l0aHViLmlvL2Nzc19oYWNrcy5odG1sICovXG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbiIsIi8qIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvIFxuICAgdjIuMCB8IDIwMTEwMTI2XG4gICBMaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKVxuKi9cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0Zm9udDogaW5oZXJpdDtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMTtcbn1cbm9sLCB1bCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5ibG9ja3F1b3RlLCBxIHtcblx0cXVvdGVzOiBub25lO1xufVxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRjb250ZW50OiBub25lO1xufVxudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgTWVkaWEgUXVlcmllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAjIEJyZWFrcG9pbnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AY3VzdG9tLW1lZGlhIC0tYnAtbWljcm8gKCBtaW4td2lkdGg6IDMyMHB4ICk7XG5AY3VzdG9tLW1lZGlhIC0tYnAteHRpbnkgKCBtaW4td2lkdGg6IDQzNnB4ICk7XG5AY3VzdG9tLW1lZGlhIC0tYnAtdGlueSAoIG1pbi13aWR0aDogNTc2cHggKTtcbkBjdXN0b20tbWVkaWEgLS1icC1zbWFsbCAoIG1pbi13aWR0aDogNzY4cHggKTtcbkBjdXN0b20tbWVkaWEgLS1icC1tZWRpdW0gKCBtaW4td2lkdGg6IDk5MnB4ICk7XG5AY3VzdG9tLW1lZGlhIC0tYnAtbWVkaXVtLWxhcmdlICggbWluLXdpZHRoOiAxMTMwcHggKTtcbkBjdXN0b20tbWVkaWEgLS1icC1sYXJnZSAoIG1pbi13aWR0aDogMTI4MHB4ICk7XG5AY3VzdG9tLW1lZGlhIC0tYnAtbGFyZ2UtbWVkaXVtICggbWluLXdpZHRoOiAxMzY2cHggKTtcbkBjdXN0b20tbWVkaWEgLS1icC14bGFyZ2UgKCBtaW4td2lkdGg6IDE0NDBweCApO1xuQGN1c3RvbS1tZWRpYSAtLWJwLXh4bGFyZ2UgKCBtaW4td2lkdGg6IDE2ODBweCApO1xuQGN1c3RvbS1tZWRpYSAtLWJwLWh1Z2UgKCBtaW4td2lkdGg6IDE5MjBweCApO1xuQGN1c3RvbS1tZWRpYSAtLWJwLW1lZ2EgKCBtaW4td2lkdGg6IDI1NjBweCApO1xuXG4vKlxuICMgV1AgQ29yZSBCcmVha3BvaW50cyAodXNlZCBmb3IgdGhlIGFkbWluIGJhciBmb3IgZXhhbXBsZSlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBjdXN0b20tbWVkaWEgLS13cC1zbWFsbCAoIG1pbi13aWR0aDogNjAwcHggKTtcbkBjdXN0b20tbWVkaWEgLS13cC1tZWRpdW0tbWF4IChtYXgtd2lkdGg6IDc4MnB4KTtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBHbG9iYWwgU2V0dGluZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG5cdC8qIHN0eWxlbGludC1kaXNhYmxlICovXG5cdC8qKlxuXHQgKiBCYXNlbGluZSBzaG91bGQgYWx3YXlzIGZvbGxvdyBhbiA4cHQgb3IgNHB0IGdyaWQgKGlmIG5vdCBhbiBleHRyZW1lXG5cdCAqIGRlc2lnbikuIEUuZy4gLjI1cmVtIG9yIC41cmVtXG5cdCAqXG5cdCAqIEBjcmVkaXQgaHR0cHM6Ly9idWlsdHRvYWRhcHQuaW8vaW50cm8tdG8tdGhlLTgtcG9pbnQtZ3JpZC1zeXN0ZW0tZDI1NzNjZGU4NjMyXG5cdCAqL1xuXHQvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cdC0tYmFzZWxpbmUtdW5pdDogMC4yNXJlbTtcblxuXHQvKipcblx0ICogR2FwIGlzIHVzZWQgaW4gZ3JpZCBsYXlvdXRzIGFuZCBtYXJnaW5zL3BhZGRpbmdzIGFyb3VuZCBlbGVtZW50c1xuXHQgKi9cblx0LS1nYXAtZ3JpZDogMC43NXJlbTtcblx0LS1nYXAtbWljcm86IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAyKTtcblx0LS1nYXAtdGlueTogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDQpO1xuXHQtLWdhcC1zbWFsbDogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDYpO1xuXHQtLWdhcDogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDgpO1xuXHQtLWdhcC1tZWRpdW06IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA4KTtcblx0LS1nYXAtbGFyZ2U6IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAxNik7XG5cdC0tZ2FwLWh1Z2U6IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAzMik7XG5cblx0LyoqXG5cdCAqIE1heCBXaWR0aHNcblx0ICpcblx0ICogTmFtaW5nOiBtaWNybywgdGlueSwgc21hbGwsIG1lZGl1bSAoYmFzZSksIGxhcmdlLCBodWdlLCBtZWdhXG5cdCAqL1xuXHQtLWwtbWF4LXdpZHRoOiAxNTAwcHg7XG5cdC0tbC1tYXgtd2lkdGgtc21hbGw6IDcyMHB4O1xuXG5cdC8qKlxuXHQgKiBWYXJpYWJsZXMgZm9yIGVhc3kgYWNjZXNzIG9mIGZvbnRzXG5cdCAqIEZvbnRzIGFyZSBpbXBvcnRlZCB1c2luZyBAZm9udC1mYWNlIGluIHR5cG9ncmFwaHkuc2Nzc1xuXHQgKi9cblx0LS1mb250LWhlYWRpbmc6IFwiQnV0bGVyXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2VyaWY7XG5cdC0tZm9udC1ib2R5OiBcIk1vbnRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmO1xuXG5cdC8qKlxuXHQgKiBGb250IHNpemVzIGFsd2F5cyBleHByZXNzZWQgaW4gcmVtcyFcblx0ICpcblx0ICogTmFtaW5nOiBtaWNybywgdGlueSwgc21hbGwsIG1lZGl1bSAoYmFzZSksIGxhcmdlLCBodWdlLCBtZWdhXG5cdCAqL1xuXHQtLWZvbnQtc2l6ZS10aW55OiAwLjlyZW07XG5cdC0tZm9udC1zaXplLXNtYWxsOiAxcmVtO1xuXHQtLWZvbnQtc2l6ZS1tZWRpdW06IDEuMjVyZW07XG5cdC0tZm9udC1zaXplLXhtZWRpdW06IDJyZW07XG5cdC0tZm9udC1zaXplLWxhcmdlOiAyLjI1cmVtO1xuXHQtLWZvbnQtc2l6ZS1odWdlOiAyLjc1cmVtO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdC0tZm9udC1zaXplLXRpbnk6IDAuNzVyZW07XG5cdFx0LS1mb250LXNpemUtc21hbGw6IDAuOTVyZW07XG5cdH1cblxuXHQvKipcblx0ICogTGluZSBoZWlnaHRzIHNoYWxsIG1hdGNoIHRoZWlyIHJlc3BlY3RpdmUgZm9udC1zaXplIGFuZCBhbHdheXNcblx0ICogYmUgY2FsY3VsYXRlZCB1c2luZyB0aGUgYmFzZWxpbmUtdW5pdFxuXHQgKi9cblx0LS1saW5lLWhlaWdodC10aW55OiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNSk7XG5cdC0tbGluZS1oZWlnaHQtc21hbGw6IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA2KTtcblx0LS1saW5lLWhlaWdodC1tZWRpdW06IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA4KTtcblx0LS1saW5lLWhlaWdodC14bWVkaXVtOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogOSk7XG5cdC0tbGluZS1oZWlnaHQtbGFyZ2U6IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAxMCk7XG5cdC0tbGluZS1oZWlnaHQtaHVnZTogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDEyKTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHQtLWxpbmUtaGVpZ2h0LXRpbnk6IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA1KTtcblx0XHQtLWxpbmUtaGVpZ2h0LXNtYWxsOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNik7XG5cdH1cblxuXHQvKiBUcmFuc2l0aW9ucyAqL1xuXHQtLXRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAuMzYsIDAuNjQsIDAuMjMsIDAuOTQpO1xuXHQtLXRyYW5zaXRpb24tc2xvdzogMC44cyBjdWJpYy1iZXppZXIoMC4zNiwgMC42NCwgMC4yMywgMC45NCk7XG5cdC0tdHJhbnNpdGlvbi1xdWljazogMC4xcyBlYXNlLWluLW91dDtcblxuXHQvKiBEcm9wIHNoYWRvd3MgKi9cblx0LS1kcm9wLXNoYWRvdy1zbWFsbDogMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0LS1kcm9wLXNoYWRvdzogMCA1cHggNDBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0LS1kcm9wLXNoYWRvdy1sYXJnZTogMCA1cHggNjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdC0tZHJvcC1zaGFkb3ctbGlnaHQ6IDAgMCAzMHB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuXHQtLWRyb3Atc2hhZG93LWRhcms6IDAgMCAzMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuXG5cdC8qIFJhZGl1cyAqL1xuXHQtLXJhZGl1czogNXB4O1xuXG5cdC8qKlxuXHQgKiBPZmZzZXQgdXNlZCBieSBjLW5hdmlnYXRvciB0byBhbGlnbiB1cCB3aXRoIGdyaWQuXG5cdCAqL1xuXHQtLWMtbmF2aWdhdG9yLW9mZnNldDogMDtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHQtLWMtbmF2aWdhdG9yLW9mZnNldDogY2FsYygodmFyKC0tZ2FwLWdyaWQpICogMCkgKiAtMSk7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtaHVnZSkge1xuXHRcdC0tYy1uYXZpZ2F0b3Itb2Zmc2V0OiBjYWxjKCh2YXIoLS1nYXAtZ3JpZCkgKiAwLjI1KSAqIC0xKTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWdhKSB7XG5cdFx0LS1jLW5hdmlnYXRvci1vZmZzZXQ6IGNhbGMoKHZhcigtLWdhcC1ncmlkKSAqIDAuNSkgKiAtMSk7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBGb250cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFRoaXMgZmlsZSBpcyB1c2VkIGZvciB3ZWIgZm9udHMgKEBmb250LWZhY2UpLlxuICovXG5cbkBmb250LWZhY2Uge1xuXHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdGZvbnQtZmFtaWx5OiAnTW9udCc7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0c3JjOlxuXHRcdGxvY2FsKCdNb250IFNlbWlCb2xkJyksXG5cdFx0bG9jYWwoJ01vbnQtU2VtaUJvbGQnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL2hpbnRlZC1Nb250LVNlbWlCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuXHRcdHVybCgnLi4vZm9udHMvaGludGVkLU1vbnQtU2VtaUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xuXHRmb250LWZhbWlseTogJ01vbnQnO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdHNyYzpcblx0XHRsb2NhbCgnTW9udCBSZWd1bGFyJyksXG5cdFx0bG9jYWwoJ01vbnQtUmVndWxhcicpLFxuXHRcdHVybCgnLi4vZm9udHMvaGludGVkLU1vbnQtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcblx0XHR1cmwoJy4uL2ZvbnRzL2hpbnRlZC1Nb250LVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xuXHRmb250LWZhbWlseTogJ0J1dGxlcic7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHNyYzpcblx0XHRsb2NhbCgnQnV0bGVyIEJvbGQnKSxcblx0XHRsb2NhbCgnQnV0bGVyLUJvbGQnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL2hpbnRlZC1CdXRsZXItQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcblx0XHR1cmwoJy4uL2ZvbnRzL2hpbnRlZC1CdXRsZXItQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQ29sb3JzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuXHQtLWNvbG9yLWJlaWdlOiAjZDhjYmJkO1xuXHQtLWNvbG9yLWJsYWNrOiAjMDAwO1xuXHQtLWNvbG9yLWJsdWU6ICMyNzJiNDE7XG5cdC0tY29sb3ItZGFyay1ncmF5OiAjMzczNzM2O1xuXHQtLWNvbG9yLWVycm9yOiAjZGI1NDNiO1xuXHQtLWNvbG9yLWdyYXk6ICNlOGU4ZTg7XG5cdC0tY29sb3ItZ3JlZW46ICM0NjRmMzY7XG5cdC0tY29sb3ItbGlnaHQtZ3JheTogI2ZhZmFmYTtcblx0LS1jb2xvci1vcmFuZ2U6ICNlZDg5NGQ7XG5cdC0tY29sb3ItcmVkOiAjY2E2ZTc3O1xuXHQtLWNvbG9yLXNpbHZlcjogI2U4ZThlNDtcblx0LS1jb2xvci15ZWxsb3c6ICNlZGFiNTQ7XG5cdC0tY29sb3Itd2hpdGU6ICNmZmY7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgVHlwb2dyYXBoeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGlzIGZpbGUgaXMgZm9yIGZsdWlkIGZvbnQgc2l6aW5nIGFuZCBzb21lIHN0YW5kYXJkIGZvbnQgc3R5bGluZy5cbiAqL1xuXG4vKipcbiAqIEZsdWlkIHR5cG9ncmFwaHkuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gYnVpbGQgc2l0ZXMgZm9yIGluZmluaXRlIGxhcmdlXG4gKiBzY3JlZW5zIChhbG1vc3QgOy0pIClcbiAqXG4gKiBXZSBhcmUgcHJhY3RpY2FsbHkgZG9pbmcgdGhpcyBjYWxjdWxhdGlvbjpcbmZvbnQtc2l6ZTogY2FsYyhbbWluaW11bSBzaXplXSArIChbbWF4aW11bSBzaXplXSAtIFttaW5pbXVtIHNpemVdKSAqICgoMTAwdncgLSBbbWluaW11bSB2aWV3cG9ydCB3aWR0aF0pIC8gKFttYXhpbXVtIHZpZXdwb3J0IHdpZHRoXSAtIFttaW5pbXVtIHZpZXdwb3J0IHdpZHRoXSkpKTtcblxuICpcbiAqIEBjcmVkaXQgaHR0cHM6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNi8wNS9mbHVpZC10eXBvZ3JhcGh5L1xuICogQGNyZWRpdCBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL2Nzcy9mbHVpZC10eXBvZ3JhcGh5L1xuICovXG46cm9vdCB7XG5cdC0tci1taW4tZm9udDogMTZweDtcblx0LS1yLW1heC1mb250OiAyOHB4O1xuXHQtLXItbWF4LWZvbnQtbm8tcHg6IDI4O1xuXHQtLXItZm9udC1kaWZmOiAxMjsgLyogY2FsYyh2YXIoLS1yLW1heC1mb250KSAtIHZhcigtLXItbWluLWZvbnQpKSB3aXRob3V0IHB4IHZhbHVlICovXG5cdC0tci1taW4tYnJlYWtwb2ludDogNTc2cHg7XG5cdC0tci1tYXgtYnJlYWtwb2ludDogMjU2MHB4O1xuXHQtLXItbWF4LWJyZWFrcG9pbnQtbm8tcHg6IDI1NjA7XG5cdC0tci1icmVha3BvaW50LWRpZmY6IDE5ODQ7IC8qIGNhbGModmFyKC0tci1tYXgtYnJlYWtwb2ludCkgLSB2YXIoLS1yLW1pbi1icmVha3BvaW50KSkgd2l0aG91dCBweCB2YWx1ZSAqL1xuXG5cdC8qIFNldHRpbmcgbWluIGZvbnQgc2l6ZSAqL1xuXHRmb250LXNpemU6IHZhcigtLXItbWluLWZvbnQpOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG5cblx0QG1lZGlhICgtLWJwLW1pY3JvKSB7XG5cdFx0Zm9udC1zaXplOiBjYWxjKHZhcigtLXItbWluLWZvbnQpICsgdmFyKC0tci1mb250LWRpZmYpICogKDEwMHZ3IC0gdmFyKC0tci1taW4tYnJlYWtwb2ludCkpIC8gdmFyKC0tci1icmVha3BvaW50LWRpZmYpKTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLW1lZ2EpIHtcblx0XHRmb250LXNpemU6IGNhbGModmFyKC0tci1tYXgtZm9udC1uby1weCkgLyB2YXIoLS1yLW1heC1icmVha3BvaW50LW5vLXB4KSAqIDEwMHZ3KTtcblx0fVxufVxuXG4vKipcbiAqIFN0YW5kYXJkIGZvbnQgZWxlbWVudCBzdHlsaW5nLiBWYXJpYWJsZXMgYXJlIHNldCBpbiBfc2V0dGluZ3Muc2Nzc1xuICovXG5ib2R5IHtcblxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblxuXHQvKiBEZXNpZ25lcnMgYWx3YXlzIHdhbnQgdGhlIGZvbnQgc21vb3RoaW5nIHN0dWZmISAqL1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNaXhpbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBXcmFwIG91dGVyIGNvbnRhaW5lcnMgKHdpZHRoLCBwYWRkaW5nLCBjZW50ZXIpICovXG5cbjpyb290IHtcblx0LS1jb250YWluZXItcGFkZGluZzogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdEBtZWRpYSAoLS1icC1taWNybykge1xuXHRcdC0tY29udGFpbmVyLXBhZGRpbmc6IHZhcigtLWdhcCk7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0LS1jb250YWluZXItcGFkZGluZzogMy41dnc7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHQtLWNvbnRhaW5lci1wYWRkaW5nOiA3dnc7XG5cdH1cbn1cblxuQGRlZmluZS1taXhpbiBjb250YWluZXIge1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuQGRlZmluZS1taXhpbiBjb250YWluZXItbmFycm93IHtcblx0QG1peGluIGNvbnRhaW5lcjtcblxuXHRtYXgtd2lkdGg6IHZhcigtLWwtbWF4LXdpZHRoLXNtYWxsKTtcbn1cblxuLyogQ2FuIGJlIHVzZWQgZm9yIHNlY3Rpb25zIG9uIHBhZ2VzLCBlLmcuIHN0YW5kYXJkIHBhZGRpbmdzIGZvciBibG9ja3MuICovXG5AZGVmaW5lLW1peGluIHNlY3Rpb24ge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLWxhcmdlKTtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1sYXJnZSk7XG59XG5cbi8qKlxuICogR3JpZCBtaXhpbnNcbiAqXG4gKiBAY3NzXG4gXHQuZ3JpZC1jbGFzcyB7XG4gXHRcdEBtaXhpbiBmbGV4LWdyaWQgJGFsaWduLCAkanVzdGlmeTtcbiBcdH1cbiBcdC5jb2wtY2xhc3Mge1xuIFx0XHRAbWl4aW4gZmxleC1jb2x1bW4gJGNvbCwgJGNvbHM7XG4gXHRcdEBtaXhpbiBmbGV4LWNvbHVtbi1vZmZzZXQgJG9mZnNldCwgJGNvbHM7XG4gXHR9XG4gKlxuICogQG1hcmt1cFxuXHQ8ZWxlbWVudCBjbGFzcz1cImdyaWQtY2xhc3NcIj5cblx0XHQ8ZWxlbWVudCBjbGFzcz1cImNvbC1jbGFzc1wiPlxuXHRcdFx0W3RleHQgbm9kZV1cblx0XHQ8L2VsZW1lbnQ+XG5cdDwvZWxlbWVudD5cbiAqXG4gKi9cblxuLyoqXG4gKiBGbGV4IGdyaWQgbWl4aW4gY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGEgZmxleGJveCBncmlkIHJhcGlkbHlcbiAqL1xuQGRlZmluZS1taXhpbiBmbGV4LWdyaWQgJGFsaWduOiBmbGV4LXN0YXJ0LCAkanVzdGlmeTogZmxleC1zdGFydCB7XG5cdGFsaWduLWl0ZW1zOiAkYWxpZ247XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcblx0bWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tZ2FwLWdyaWQpICogLTEpO1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tZ2FwLWdyaWQpICogLTEpO1xuXHR3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tZ2FwLWdyaWQpICoyKTtcbn1cblxuLyoqXG4gKiBVc2UgdGhlIGZsZXgtY29sdW1uIG1peGluIHRvZ2V0aGVyIHdpdGggdGhlIGZsZXgtZ3JpZCBtaXhpbiB0byBidWlsZCB5b3VyXG4gKiBmbGV4Ym94IGdyaWQgc3lzdGVtc1xuICovXG5AZGVmaW5lLW1peGluIGZsZXgtY29sdW1uICRjb2w6IDEyLCAkY29sczogMTIge1xuXHRmbGV4LWJhc2lzOiBjYWxjKCgxMDAgLyAoJGNvbHMgLyAkY29sKSApICogMSUpO1xuXHRmbGV4LWdyb3c6IDA7XG5cdG1heC13aWR0aDogY2FsYygoMTAwIC8gKCRjb2xzIC8gJGNvbCkpICogMSUpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1ncmlkKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLWdyaWQpO1xufVxuXG4vKipcbiAqIFVzZSB0aGUgZmxleC1jb2x1bW4tb2Zmc2V0IG1peGluIHRvZ2V0aGVyIHdpdGggdGhlIGZsZXgtY29sdW1uIG1peGluIHRvXG4gKiBjcmVhdGUgb2Zmc2V0cyAoZXh0cmEgbWFyZ2luKSBpbiB0aGUgZ3JpZC5cbiAqXG4gKiBQbGVhc2Ugb2JzZXJ2ZS4gbWFyZ2luLWxlZnQvLXJpZ2h0OiBhdXRvIGNhbiBhbHNvXG4gKiBiZSB1c2VkIG91dHNpZGUgdGhpcyBtaXhpbnMuXG4gKi9cbkBkZWZpbmUtbWl4aW4gZmxleC1jb2x1bW4tb2Zmc2V0ICRvZmZzZXQ6IDAsICRjb2xzOiAxMiB7XG5cdG1hcmdpbi1sZWZ0OiBjYWxjKCgxMDAgLyAoJGNvbHMgLyAkb2Zmc2V0KSkgKiAxJSk7XG59XG5cbi8qKlxuICogU2V0IG1heC13aWR0aCBmb3IgZWxlbWVudCB0byAnbWF4LXdpZHRoJyBhbmQgY2VudGVyIGNvbnRhaW5lci5cbiAqL1xuQGRlZmluZS1taXhpbiBtYXgtd2lkdGgge1xuXHQvKiBtYXJnaW46IDAgYXV0bztcblx0bWF4LXdpZHRoOiB2YXIoLS1sLW1heC13aWR0aCk7ICovXG59XG5cbi8qKlxuICogU2V0IHR5cG9ncmFwaHkgdmVyeSBzaW1wbGUgZm9yIHVzYWdlIGluc2lkZSBXWVNJV1lHIFZlcnkgU2ltcGxlXG4gKi9cbkBkZWZpbmUtbWl4aW4gdHlwb2dyYXBoeS12ZXJ5LXNpbXBsZSB7XG5cdHN0cm9uZyB7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0fVxuXG5cdGEge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdG9wYWNpdHk6IDAuNjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cblxuXHRwIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBBZGQgdW5kZXJsaW5lIGhvdmVyLWVmZmVjdCB0byBsaW5rcy5cbiAqL1xuQGRlZmluZS1taXhpbiBsaW5rLXVuZGVybGluZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOjphZnRlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdGJvdHRvbTogLTAuMzc1cmVtO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdGxlZnQ6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAxMDAlO1xuXHRcdHRyYW5zaXRpb246IHJpZ2h0IHZhcigtLXRyYW5zaXRpb24pO1xuXHR9XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuICogQWRkIG9mZnNldCB3aGVuIGJhbm5lciAoYW5ub3VuY2VtZW50LWJhcikgaXMgdmlzaWJsZS5cbiAqL1xuQGRlZmluZS1taXhpbiBiYW5uZXItb2Zmc2V0IHtcblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0XHR0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLXRyYW5zaXRpb24pIDAuNHM7XG5cblx0XHQuc2l0ZS1hbm5vdW5jZW1lbnQgJiB7XG5cdFx0XHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDI1KTtcblx0XHR9XG5cblx0XHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0XHRjb250ZW50OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIEFkZCBzcGVjaWZpYyBwYWRkaW5nIHRvIG1lZGlhLWJsb2Nrcy5cbiAqL1xuQGRlZmluZS1taXhpbiBtZWRpYS1ibG9jay1wYWRkaW5nIHtcblx0QG1lZGlhICgtLWJwLXRpbnkpIHtcblx0XHQmLmRlc2t0b3AtcGFkZGluZy10b3Age1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwKTtcblx0XHR9XG5cblx0XHQmLmRlc2t0b3AtcGFkZGluZy1ib3R0b20ge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cblx0XHQmLmRlc2t0b3AtcGFkZGluZy10b3AtYm90dG9tIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXHRcdFx0cGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG5cdFx0fVxuXHR9XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdCYuZGVza3RvcC1wYWRkaW5nLXRvcCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbGFyZ2UpO1xuXHRcdH1cblxuXHRcdCYuZGVza3RvcC1wYWRkaW5nLWJvdHRvbSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLWxhcmdlKTtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdH1cblxuXHRcdCYuZGVza3RvcC1wYWRkaW5nLXRvcC1ib3R0b20ge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1sYXJnZSk7XG5cdFx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLWxhcmdlKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBCb3gtc2l6aW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyoqXG4gKiBJbmhlcml0IGJveC1zaXppbmcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gY2hhbmdlIHRoZSBwcm9wZXJ0eVxuICogZm9yIGNvbXBvbmVudHMgdGhhdCBsZXZlcmFnZSBvdGhlciBiZWhhdmlvci5cbiAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcblx0Ym94LXNpemluZzogaW5oZXJpdDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBCdXR0b25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5idXR0b24sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0LyogZm9udDogaW5oZXJpdDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cdHdpZHRoOiBhdXRvOyAqL1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIExpbmtzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmEge1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0Lyogb3BhY2l0eTogLjY7ICovXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBHZW5lcmljICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46OnNlbGVjdGlvbiB7XG5cdGJhY2tncm91bmQ6ICMwMDA7XG5cdGNvbG9yOiAjZmFmYWZhO1xufVxuXG5pbWc6OnNlbGVjdGlvbiB7XG5cdGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKipcbiAqIE1ha2UgYW5jaG9yLWxpbmtzIHNtb290aCBzY3JvbGxpbmcgaW4gbW9kZXJuIGJyb3dzZXJzXG4gKlxuICogQGNyZWRpdCBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1Mvc2Nyb2xsLWJlaGF2aW9yI0Jyb3dzZXJfY29tcGF0aWJpbGl0eVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5odG1sIHtcblx0LyoqXG5cdCAqIEFsc28sIHNldCBkZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGh0bWxcblx0ICogKGh0dHBzOi8vbWFydGlud29sZi5vcmcvMjAxOC8wNi9vc3gtbW9qYXZlLWRhcmstbW9kZSlcblx0ICovXG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuYm9keSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIG1haW4ge1xuXHRwYWRkaW5nLXRvcDogMDtcblx0dHJhbnNpdGlvbjogcGFkZGluZy10b3AgdmFyKC0tdHJhbnNpdGlvbikgMC4xNXM7XG5cblx0Lmhhcy1sb2FkZWQgJiB7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLXNpdGUtYW5ub3VuY2VtZW50LWhlaWdodCk7XG5cdH1cbn0gKi9cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBTY29vcGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgc2NvcGVkIGNsYXNzIGZvciBzdGFuZGFyZCBjb250ZW50LiBUeXBpY2FsbHkgZnJvbSBXWVNJV1lHIG91dHB1dCBmcm9tIGFcbiAqIENNUy5cbiAqXG4gKiBAbWFya3VwXG4gXHQ8ZGl2IGNsYXNzPVwicy1zdGFuZGFyZC10eXBvZ3JhcGh5XCI+XG5cdFx0W0NNUyBPVVRQVVRdXG5cdDwvZGl2PlxuICpcbiAqL1xuXG4ucy1zdGFuZGFyZC10eXBvZ3JhcGh5LFxuLm1jZS1jb250ZW50LWJvZHkge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbWFsbCk7XG5cblx0JiBhIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0JiBwIHtcblx0XHRjb2xvcjogY3VycmVudENvbG9yO1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdH1cblxuXHQmIHN0cm9uZyB7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0fVxuXG5cdCYgZW0ge1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHR9XG5cblx0JiBkZWwge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXHR9XG5cblx0JiBoMSxcblx0JiBoMixcblx0JiBoMyxcblx0JiBoNCxcblx0JiBoNSxcblx0JiBoNiB7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtaHVnZSk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cdH1cblxuXHQmIGgxIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG5cdFx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxhcmdlKTtcblx0fVxuXG5cdCYgaDIge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxhcmdlKTtcblx0XHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbGFyZ2UpO1xuXHR9XG5cblx0JiBoMyB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWVkaXVtKTtcblx0XHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbWVkaXVtKTtcblx0fVxuXG5cdCYgaDQsXG5cdCYgaDUsXG5cdCYgaDYge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcblx0XHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtc21hbGwpO1xuXHR9XG5cblx0JiBociArIHtcblx0XHQmIGgxLFxuXHRcdCYgaDIsXG5cdFx0JiBoMyxcblx0XHQmIGg0LFxuXHRcdCYgaDUsXG5cdFx0JiBoNiB7XG5cdFx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLW1pY3JvKTtcblx0XHR9XG5cdH1cblxuXHQmIHAsXG5cdCYgdWwsXG5cdCYgb2wsXG5cdCYgdGFibGUsXG5cdCYgZmlndXJlIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0fVxuXG5cdCYgcHJlIHtcblx0XHRmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblx0XHRvdmVyZmxvdzogYXV0bztcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdFx0QHN1cHBvcnRzICggLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoICkge1xuXHRcdFx0b3ZlcmZsb3c6IHNjcm9sbDtcblx0XHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0XHR9XG5cdH1cblxuXHQmIGhyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWdhcCk7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0JiBibG9ja3F1b3RlIHtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG5cdFx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxhcmdlKTtcblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXApO1xuXHRcdHBhZGRpbmc6IHZhcigtLWdhcCk7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1zbWFsbCk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDI7XG5cblx0XHQmIHA6bGFzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR9XG5cblx0XHRwOjpiZWZvcmUge1xuXHRcdFx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRcdGNvbnRlbnQ6ICfigJwnO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblx0XHRcdGZvbnQtc2l6ZTogOHJlbTtcblx0XHRcdGhlaWdodDogMnJlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiA4cmVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0XHRcdG9wYWNpdHk6IDAuMjU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMC41cmVtKTtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRvcGFjaXR5OiAwLjE7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdH1cblxuXHRcdCYgY2l0ZSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcXDIwMTRcIjtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDFlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1nYXAtbGFyZ2UpO1xuXHRcdFx0cGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG5cdFx0fVxuXHR9XG5cblx0JiB1bCxcblx0JiBvbCB7XG5cdFx0JiA+IHVsLFxuXHRcdCYgPiBvbCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdFx0JiBsaSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLW1pY3JvKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JiA+IHVsLFxuXHRcdFx0JiA+IG9sIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMmVtO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLW1pY3JvKTtcblxuXHRcdFx0XHQmIGxpOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmIHVsIHtcblx0XHQmIGxpIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwi4oCTXCI7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmIG9sIHtcblx0XHRjb3VudGVyLXJlc2V0OiBvbDtcblxuXHRcdCYgbGkge1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogY291bnRlcihvbCwgZGVjaW1hbC1sZWFkaW5nLXplcm8pIFwiLlwiO1xuXHRcdFx0XHRjb3VudGVyLWluY3JlbWVudDogb2w7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0JiBmaWd1cmUge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdCYgYSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQmIGZpZ2NhcHRpb24ge1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWdhcC1taWNybyk7XG5cblx0XHQmIGltZyB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdCYgaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1nYXAtbWljcm8pO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFBvc2l0aW9uaW5nIHN1YiBhbmQgc3VwIHRoZSByaWdodCB3YXlcbiAqXG4gKiBAY3JlZGl0IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3VucnV0aGxlc3MvNDEzOTMwXG4gKi9cblxuc3ViLFxuc3VwIHtcblx0LyogU3BlY2lmaWVkIGluICUgc28gdGhhdCB0aGUgc3VwL3N1cCBpcyB0aGVcbiAgICAgcmlnaHQgc2l6ZSByZWxhdGl2ZSB0byB0aGUgc3Vycm91bmRpbmcgdGV4dCAqL1xuXHRmb250LXNpemU6IDc1JTtcblxuXHQvKiBaZXJvIG91dCB0aGUgbGluZS1oZWlnaHQgc28gdGhhdCBpdCBkb2Vzbid0XG4gICAgIGludGVyZmVyZSB3aXRoIHRoZSBwb3NpdGlvbmluZyB0aGF0IGZvbGxvd3MgKi9cblx0bGluZS1oZWlnaHQ6IDA7XG5cblx0LyogV2hlcmUgdGhlIG1hZ2ljIGhhcHBlbnM6IG1ha2VzIGFsbCBicm93c2VycyBwb3NpdGlvblxuICAgICB0aGUgc3VwL3N1cCBwcm9wZXJseSwgcmVsYXRpdmUgdG8gdGhlIHN1cnJvdW5kaW5nIHRleHQgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC8qIE5vdGUgdGhhdCBpZiB5b3UncmUgdXNpbmcgRXJpYyBNZXllcidzIHJlc2V0LmNzcywgdGhpc1xuICAgICBpcyBhbHJlYWR5IHNldCBhbmQgeW91IGNhbiByZW1vdmUgdGhpcyBydWxlICovXG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcblx0LyogTW92ZSB0aGUgc3VwZXJzY3JpcHRlZCB0ZXh0IHVwICovXG5cdHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuXHQvKiBNb3ZlIHRoZSBzdWJzY3JpcHRlZCB0ZXh0IGRvd24sIGJ1dCBvbmx5XG4gICAgIGhhbGYgYXMgZmFyIGRvd24gYXMgdGhlIHN1cGVyc2NyaXB0IG1vdmVkIHVwICovXG5cdGJvdHRvbTogLTAuMjVlbTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBBY2NvcmRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBhY2NvcmRpb25zLlxuICovXG5cbi5jLWFjY29yZGlvbiB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uYy1hY2NvcmRpb25fX2l0ZW0ge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuXG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdH1cblxuXHQuYmctZ3JlZW4gJixcblx0LmJnLWJsdWUgJiB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcblx0XHR9XG5cdH1cblxuXHQuYmctZ3JheSAmIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRcdH1cblx0fVxufVxuXG4uYy1hY2NvcmRpb25fX2J1dHRvbiB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdHBhZGRpbmctcmlnaHQ6IDA7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtc21hbGwpO1xuXHR3aWR0aDogMTAwJTtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0cGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA0KTtcblx0XHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDQpO1xuXHR9XG59XG5cbi5jLWFjY29yZGlvbl9faWNvbiB7XG5cdGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLWxhcmdlKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMXJlbSk7XG5cblx0LmMtaWNvbiB7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0fVxufVxuXG4uYy1hY2NvcmRpb25fX3RpdGxlIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtc21hbGwpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcblx0fVxufVxuXG4uYy1hY2NvcmRpb25fX3N0YXRlIHtcblx0Zm9udC1zaXplOiAxcmVtO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG5cblx0LmMtaWNvbiB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24pO1xuXG5cdFx0LmlzLW9wZW4gJiB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWFjY29yZGlvbl9fY29udGVudCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcblx0aGVpZ2h0OiAwO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtc21hbGwpO1xuXHRvcGFjaXR5OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1sYXJnZSk7XG5cdHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS10cmFuc2l0aW9uKSwgb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNsb3cpO1xuXG5cdC5pcy1vcGVuICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLmMtYWNjb3JkaW9uX190ZXh0IHtcblx0QG1peGluIHR5cG9ncmFwaHktdmVyeS1zaW1wbGU7XG5cdG1heC13aWR0aDogNDByZW07XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtc21hbGwpO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1sYXJnZSk7XG5cdH1cbn1cbiIsIlxuLmMtYm90dG9tLXBhbmVsIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0Ym90dG9tOiAtMXB4O1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogc3RpY2t5O1xuXHR6LWluZGV4OiA0O1xuXG5cdCYuYmctZ3JlZW4sXG5cdCYuYmctYmx1ZSB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuXHR9XG59XG5cbi5jLWJvdHRvbS1wYW5lbF9faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xufVxuXG4uYy1ib3R0b20tcGFuZWxfX2dyaWQge1xuXHRAbWl4aW4gZmxleC1ncmlkIGNlbnRlcjtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcbn1cblxuLmMtYm90dG9tLXBhbmVsX19pdGVtLFxuLmMtYm90dG9tLXBhbmVsX19wcmljZSB7XG5cdEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuXHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiBjb2x1bW47XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0QG1peGluIGZsZXgtY29sdW1uIDQ7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gMztcblx0fVxufVxuXG4uYy1ib3R0b20tcGFuZWxfX3ByaWNlIHtcblx0ZGlzcGxheTogbm9uZTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cbi5jLWJvdHRvbS1wYW5lbF9fY29udGFjdCB7XG5cdEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gNDtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1sYXJnZSkge1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuXHR9XG59XG5cbi5jLWJvdHRvbS1wYW5lbF9fbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcblx0bGluZS1oZWlnaHQ6IDEuMjY1O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLW1pY3JvKTtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jLWJvdHRvbS1wYW5lbF9fdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogMS4yNjU7XG5cdG1hcmdpbi10b3A6IGF1dG87XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdC5pcy1hY3RpdmUgJiB7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZWRpdW0pO1xuXHR9XG59XG5cbi5jLWJvdHRvbS1wYW5lbF9fYW5jaG9yLXdyYXBwZXIge1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pLCB2aXNpYmlsaXR5IHZhcigtLXRyYW5zaXRpb24pO1xuXHR3aWR0aDogMTAwJTtcblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHR3aWR0aDogYXV0bztcblx0fVxuXG5cdC5pcy1hY3RpdmUgJiB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH1cbn1cblxuLmMtYm90dG9tLXBhbmVsX19hbmNob3Ige1xuXHR3aWR0aDogMTAwJTtcblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHR3aWR0aDogYXV0bztcblx0fVxufVxuXG4uYy1ib3R0b20tcGFuZWxfX2J1dHRvbixcbi5jLWJvdHRvbS1wYW5lbF9fYW5jaG9yIHtcblx0LS1jLWJ1dHRvbi1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHQtLWMtYnV0dG9uLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cblx0LmJnLWdyZWVuICYsXG5cdC5iZy1ibHVlICYge1xuXHRcdC0tYy1idXR0b24tY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHQtLWMtYnV0dG9uLWJnOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdH1cblxuXHQuYmctZ3JheSAmIHtcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQtZ3JheSk7XG5cdFx0XHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdH1cblx0fVxufVxuXG4uYy1ib3R0b20tcGFuZWxfX3NlcGFyYXRvciB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuXHRsaW5lLWhlaWdodDogMS4yNjU7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLW1pY3JvKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLW1pY3JvKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKSwgdmlzaWJpbGl0eSB2YXIoLS10cmFuc2l0aW9uKTtcblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQuaXMtYWN0aXZlICYge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG59XG5cbi5jLWJvdHRvbS1wYW5lbF9fYnV0dG9ucyB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0QG1lZGlhICgtLWJwLWxhcmdlKSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdH1cbn1cblxuLmMtYm90dG9tLXBhbmVsX19idXR0b24ge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLWdhcC1taWNybyk7XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBCdXR0b24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgYnV0dG9ucyAoZGlzcGxheWVkIGFzIGEgcGlsbCkuXG4gKiBDaGFuZ2UgZm9udC1zaXplLCBjb2xvcnMgYW5kIG1vcmUgdG8gbWF0Y2ggdGhlIGRlc2lnbi5cbiAqIEl0IGlzIHR5cGljYWxseSBzZXQgb24gPGJ1dHRvbj4sIDxhPiBvciA8c3Bhbj5cbiAqXG4gKiBAbWFya3VwXG5cdDxlbGVtZW50IGNsYXNzPVwiYy1idXR0b24gW21vZGlmaWVyKHMpXVwiPlxuXHRcdFt0ZXh0IG5vZGVdXG5cdDwvZWxlbWVudD5cbiAqXG4gKi9cblxuLyogU2V0dGluZyBjb21wb25lbnQgdmFyaWFibGVzICovXG46cm9vdCB7XG5cdC0tYy1idXR0b24tZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cdC0tYy1idXR0b24tY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0LS1jLWJ1dHRvbi1iZzogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHQtLWMtYnV0dG9uLWxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aW55KTtcblx0LS1jLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuXG4uYy1idXR0b24sXG4uYy1idXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYnV0dG9uLWJnKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYy1idXR0b24tYm9yZGVyLXJhZGl1cyk7XG5cdGNvbG9yOiB2YXIoLS1jLWJ1dHRvbi1jb2xvcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXNpemU6IHZhcigtLWMtYnV0dG9uLWZvbnQtc2l6ZSk7XG5cdHBhZGRpbmc6IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA0KSBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dHJhbnNpdGlvbjpcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pLFxuXHRcdGNvbG9yIHZhcigtLXRyYW5zaXRpb24pLFxuXHRcdGJvcmRlciB2YXIoLS10cmFuc2l0aW9uKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHQtLWhvdmVyLWJnLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcblx0LS1ob3Zlci10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cblx0YSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXItYmctY29sb3IpO1xuXHRcdGNvbG9yOiB2YXIoLS1ob3Zlci10ZXh0LWNvbG9yKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cblxuXHQmOmRpc2FibGVkLFxuXHQmLmlzLWRpc2FibGVkLFxuXHQmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0b3BhY2l0eTogMC42O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0cGFkZGluZzogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDMpIGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA1KTtcblx0fVxufVxuXG4uYy1idXR0b24tLWJsYWNrLFxuLmMtYnV0dG9uLS1ibGFja1t0eXBlPVwic3VibWl0XCJdIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG5cdC8qIC0taG92ZXItYmctY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTsgKi9cblx0LS1ob3Zlci10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0Y29sb3I6IHZhcigtLWhvdmVyLXRleHQtY29sb3IpO1xuXHR9XG59XG5cbi5jLWJ1dHRvbi0tZ3JheSxcbi5jLWJ1dHRvbi0tZ3JheVt0eXBlPVwic3VibWl0XCJdIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQtZ3JheSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5jLWJ1dHRvbi0tb3V0bGluZSxcbi5jLWJ1dHRvbi0tb3V0bGluZVt0eXBlPVwic3VibWl0XCJdIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWMtYnV0dG9uLWJnKTtcblx0Y29sb3I6IHZhcigtLWMtYnV0dG9uLXRleHQtY29sb3IpO1xuXHRwYWRkaW5nOiBjYWxjKCh2YXIoLS1iYXNlbGluZS11bml0KSAqIDQpIC0gMXB4KSBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNik7XG5cblx0LS1ob3Zlci1iZy1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHQtLWhvdmVyLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblxuXHQmLmMtYnV0dG9uLS1ibGFjayxcblx0Ji5jLWJ1dHRvbi0tYmxhY2tbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYmxhY2spO1xuXHR9XG5cblx0LmJnLWdyZWVuICYsXG5cdC5iZy1ibHVlICYge1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXdoaXRlKTtcblxuXHRcdC0taG92ZXItYmctY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHQtLWhvdmVyLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlci1iZy1jb2xvcik7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ob3Zlci1iZy1jb2xvcik7XG5cdFx0XHRjb2xvcjogdmFyKC0taG92ZXItdGV4dC1jb2xvcik7XG5cdFx0fVxuXHR9XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXItYmctY29sb3IpO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWhvdmVyLWJnLWNvbG9yKTtcblx0XHRjb2xvcjogdmFyKC0taG92ZXItdGV4dC1jb2xvcik7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nOiBjYWxjKCh2YXIoLS1iYXNlbGluZS11bml0KSAqIDMpIC0gMnB4KSBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNSk7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIENhcmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBjYXJkcy5cbiAqIENoYW5nZSBmb250LXNpemUsIGNvbG9ycyBhbmQgbW9yZSB0byBtYXRjaCB0aGUgZGVzaWduLlxuICogSXQgaXMgdHlwaWNhbGx5IHNldCBvbiA8ZGl2PiBvciA8YT4uXG4gKlxuICogQG1hcmt1cFxuXHQ8ZWxlbWVudCBjbGFzcz1cImMtY2FyZCBbbW9kaWZpZXIocyldXCI+XG5cdFx0W3RleHQgbm9kZV1cblx0PC9lbGVtZW50PlxuICpcbiAqL1xuXG4vKiBTZXR0aW5nIGNvbXBvbmVudCB2YXJpYWJsZXMgKi9cblxuOnJvb3Qge1xuXHQtLWMtY2FyZC1iZzogdmFyKC0tY29sb3ItZ3JheSk7XG5cdC0tYy1jYXJkLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdC0tYy1jYXJkLXBhZGRpbmc6IHZhcigtLWdhcC1zbWFsbCk7XG5cdC0tYy1jYXJkLWxhYmVsLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0LS1jLWNhcmQtcGFkZGluZzogdmFyKC0tZ2FwLXNtYWxsKTtcblx0fVxufVxuXG4uYy1jYXJkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1jYXJkLWJnKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0Y29sb3I6IHZhcigtLWMtY2FyZC1jb2xvcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdC8qIFJlbW92ZSBwb2ludGVyIGZyb20gbm9uLWxpbmtlZCBjYXJkcy4gKi9cblx0Jjpub3QoW2hyZWZdKSB7XG5cdFx0Y3Vyc29yOiBpbml0aWFsO1xuXHR9XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG59XG5cbi5jLWNhcmRfX2Jhbm5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGZsZXgtZ3JvdzogMTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1jLWNhcmQtcGFkZGluZyk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWMtY2FyZC1wYWRkaW5nKTtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1zbWFsbCk7XG59XG5cbi5jLWNhcmRfX2hlYWRlciB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG59XG5cbi5jLWNhcmRfX2hlYWRlci1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlueSk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC1taWNybyk7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpbnkpO1xufVxuXG4uYy1jYXJkX19sYWJlbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtY2FyZC1sYWJlbC1iZyk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdGNvbG9yOiB2YXIoLS1jLWNhcmQtbGFiZWwtY29sb3IpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcblx0cGFkZGluZzogdmFyKC0tZ2FwLW1pY3JvKSB2YXIoLS1nYXAtdGlueSk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IGNhbGMoKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMykgKiAtMSk7XG5cdHRvcDogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRAbWVkaWEgKC0tYnAteHRpbnkpIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcblx0XHRyaWdodDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0fVxufVxuXG4uYy1jYXJkX190aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogMS4yNjU7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cblx0QG1lZGlhICgtLWJwLXRpbnkpIHtcblx0XHRmb250LXNpemU6IGNhbGModmFyKC0tZm9udC1zaXplLXRpbnkpICogMS44KTtcblx0fVxufVxuXG4uYy1jYXJkX19pbnRybyB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlueSk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cblx0Ji5jLWNhcmRfX2ludHJvLS13eXNpd3lnIHtcblx0XHRAbWl4aW4gdHlwb2dyYXBoeS12ZXJ5LXNpbXBsZTtcblxuXHRcdHAge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblx0XHR9XG5cdH1cbn1cblxuLmMtY2FyZF9fZm9vdGVyIHtcblx0bWFyZ2luLXRvcDogYXV0bztcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG59XG5cbi5jLWNhcmRfX2Zvb3Rlci1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlueSk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC1taWNybyk7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpbnkpO1xufVxuXG4uYy1jYXJkX19wcmljZS1yZXBsYWNlbWVudCB7XG5cdGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LXNpemUtdGlueSkgKiAxLjgpOyAvKiBzYW1lIGFzIGMtY2FyZF9fdGl0bGUgKi9cblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiAxLjI2NTtcbn1cblxuLmMtY2FyZF9fcHJpY2Uge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmb250LXNpemU6IGNhbGModmFyKC0tZm9udC1zaXplLXRpbnkpICogMi42KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jLWNhcmRfX3JhdGUge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLW1pY3JvKTtcbn1cblxuLmMtY2FyZF9faWNvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXAtdGlueSkgKiAtMSk7XG59XG5cbi5jLWNhcmRfX2ljb24ge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLXRpbnkpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xufVxuXG4uYy1jYXJkX19pY29uLWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cdHBhZGRpbmctbGVmdDogMC43NWVtO1xufVxuXG4uYy1jYXJkX19kYXRlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cblx0LmMtaWNvbiB7XG5cdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXAtbWljcm8pO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0fVxufVxuXG4uYy1jYXJkX19kYXRlLWljb24ge1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4uYy1jYXJkX19pbWFnZSB7XG5cdGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cyk7XG5cdGhlaWdodDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZy10b3A6IDkwJTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblxuXHRpbWcge1xuXHRcdGJvdHRvbTogMDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bGVmdDogMDtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0cGFkZGluZy10b3A6IDc1JTtcblx0fVxufVxuXG4uYy1jYXJkX19idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWNhcmQtYmcpO1xuXHRib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS1jLWNhcmQtY29sb3IpO1xuXHRsZWZ0OiB2YXIoLS1jLWNhcmQtcGFkZGluZyk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5jLWNhcmRfX3BlcmtzIHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtdGlueSk7XG59XG5cbi5jLWNhcmRfX3Blcmsge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcblx0bGluZS1oZWlnaHQ6IDEuMzc1O1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0fVxufVxuXG4uYy1jYXJkX19idXR0b24tLW5vLWltYWdlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cblx0LmMtY2FyZDpob3ZlciAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHR9XG59XG5cbi5jLWNhcmQtLW1lZGl1bSB7XG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHQuYy1jYXJkX19iYW5uZXIge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblxuXHRcdC5jLWNhcmRfX2hlYWRlciB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdC5jLWNhcmRfX2hlYWRlcixcblx0XHQuYy1jYXJkX19mb290ZXIge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cblx0XHRcdD4gOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYy1jYXJkX190aXRsZSB7XG5cdFx0XHRoeXBoZW5zOiBhdXRvO1xuXHRcdFx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXAtc21hbGwpICsgdmFyKC0tZm9udC1zaXplLXRpbnkpICogMC4zKTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR9XG5cblx0XHQuYy1jYXJkX190aXRsZS0tbm8tbGFiZWwge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblx0XHQuYy1jYXJkX19pbnRybyB7XG5cdFx0XHRtYXgtd2lkdGg6IDI3LjVyZW07XG5cdFx0fVxuXG5cdFx0LmMtY2FyZF9fZm9vdGVyIHtcblx0XHRcdGZsZXgtZ3JvdzogMDtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtdGlueSk7XG5cdFx0fVxuXG5cdFx0LmMtY2FyZF9fYW1vdW50IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdH1cblxuXHRcdC5jLWNhcmRfX3ByaWNlLXJlcGxhY2VtZW50IHtcblx0XHRcdG1hcmdpbi10b3A6IGNhbGModmFyKC0tZm9udC1zaXplLXRpbnkpICogMC4zKTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0fVxuXG5cdFx0LmMtY2FyZF9fcHJpY2UtcmVwbGFjZW1lbnQtLW5vLWxhYmVsIHtcblx0XHRcdG1hcmdpbi10b3A6IGNhbGModmFyKC0tbGluZS1oZWlnaHQtdGlueSkgKyB2YXIoLS1mb250LXNpemUtdGlueSkgKiAwLjMgKyB2YXIoLS1nYXApKTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXHRcdH1cblxuXHRcdC5jLWNhcmRfX3ByaWNlLXJlcGxhY2VtZW50LS1uby1tYXJnaW4ge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblx0XHQuYy1jYXJkX19mb290ZXItbGFiZWwge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdH1cblxuXHRcdC5jLWNhcmRfX2ljb25zIHtcblx0XHRcdEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuXHRcdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0XHRncmlkLWF1dG8tcm93czogbWluLWNvbnRlbnQ7XG5cdFx0XHRcdGdyaWQtY29sdW1uLWdhcDogdmFyKC0tZ2FwLXRpbnkpO1xuXHRcdFx0XHRncmlkLXJvdy1nYXA6IHZhcigtLWdhcC10aW55KTtcblx0XHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmMtY2FyZF9faWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblxuXHRcdFx0QHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jLWNhcmRfX2ljb24tbGFiZWwge1xuXHRcdFx0b3JkZXI6IC0xO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMC43NWVtO1xuXHRcdH1cblxuXHRcdC5jLWNhcmRfX2ltYWdlIHtcblx0XHRcdHBhZGRpbmctdG9wOiA1Ni4yNSU7IC8qIDE2OjkgKi9cblx0XHR9XG5cdH1cbn1cblxuLmMtY2FyZC0tbGFyZ2Uge1xuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHQuYy1jYXJkX19iYW5uZXIge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblxuXHRcdC5jLWNhcmRfX2hlYWRlciB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdC5jLWNhcmRfX2hlYWRlcixcblx0XHQuYy1jYXJkX19mb290ZXIge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cblx0XHRcdD4gOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYy1jYXJkX190aXRsZSB7XG5cdFx0XHRoeXBoZW5zOiBhdXRvO1xuXHRcdFx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXAtc21hbGwpICsgdmFyKC0tZm9udC1zaXplLXRpbnkpICogMC4zKTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR9XG5cblx0XHQuYy1jYXJkX190aXRsZS0tbm8tbGFiZWwge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblx0XHQuYy1jYXJkX19pbnRybyB7XG5cdFx0XHRtYXgtd2lkdGg6IDI3LjVyZW07XG5cdFx0fVxuXG5cdFx0LmMtY2FyZF9fZm9vdGVyIHtcblx0XHRcdGZsZXgtZ3JvdzogMDtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtdGlueSk7XG5cdFx0fVxuXG5cdFx0LmMtY2FyZF9fYW1vdW50IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdH1cblxuXHRcdC5jLWNhcmRfX3ByaWNlLXJlcGxhY2VtZW50IHtcblx0XHRcdG1hcmdpbi10b3A6IGNhbGModmFyKC0tZm9udC1zaXplLXRpbnkpICogMC4zKTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0fVxuXG5cdFx0LmMtY2FyZF9fcHJpY2UtcmVwbGFjZW1lbnQtLW5vLWxhYmVsIHtcblx0XHRcdG1hcmdpbi10b3A6IGNhbGModmFyKC0tbGluZS1oZWlnaHQtdGlueSkgKyB2YXIoLS1mb250LXNpemUtdGlueSkgKiAwLjMgKyB2YXIoLS1nYXApKTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXHRcdH1cblxuXHRcdC5jLWNhcmRfX3ByaWNlLXJlcGxhY2VtZW50LS1uby1tYXJnaW4ge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblx0XHQuYy1jYXJkX19mb290ZXItbGFiZWwge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdH1cblxuXHRcdC5jLWNhcmRfX2ljb25zIHtcblx0XHRcdEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuXHRcdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0XHRncmlkLWF1dG8tcm93czogbWluLWNvbnRlbnQ7XG5cdFx0XHRcdGdyaWQtY29sdW1uLWdhcDogdmFyKC0tZ2FwLXRpbnkpO1xuXHRcdFx0XHRncmlkLXJvdy1nYXA6IHZhcigtLWdhcC10aW55KTtcblx0XHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmMtY2FyZF9faWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblxuXHRcdFx0QHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jLWNhcmRfX2ljb24tbGFiZWwge1xuXHRcdFx0b3JkZXI6IC0xO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMC43NWVtO1xuXHRcdH1cblxuXHRcdC5jLWNhcmRfX2ltYWdlIHtcblx0XHRcdHBhZGRpbmctdG9wOiAyNSU7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWNhcmQtLWNvbXBhcmUtbWVtYmVyc2hpcCB7XG5cdC5jLWNhcmRfX2Jhbm5lciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0fVxuXG5cdC5jLWNhcmRfX2Zvb3Rlci1sYWJlbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLW1pY3JvKTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0LmMtY2FyZF9fYW1vdW50IHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXG5cdC5jLWNhcmRfX2ljb24ge1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC10aW55KTtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxuXG5cdC5jLWNhcmRfX2J1dHRvbiB7XG5cdFx0bWFyZ2luLXRvcDogYXV0bztcblx0XHRwb3NpdGlvbjogaW5pdGlhbDtcblx0fVxufVxuXG4uYy1jYXJkLS1jYXJkcyB7XG5cdCYuYy1jYXJkLS1tZWRpdW0ge1xuXHRcdC5jLWNhcmRfX3RpdGxlIHtcblx0XHRcdG1hcmdpbi10b3A6IHZhcigtLWdhcC1taWNybyk7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLW1pY3JvKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBDb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBkaXNwbGF5aW5nIGNvbG9ycyBpbiBHdXRlbmJlcmcuXG4gKi9cblxuLmMtY29sb3Ige1xuXHRib3JkZXI6IDFweCBzb2xpZCAjODU4NTg1O1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGhlaWdodDogMjBweDtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLWdhcC1zbWFsbCk7XG5cdHdpZHRoOiAyMHB4O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIENvbnRhY3QgRm9ybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBjb21wb25lbnQgZm9yIHBsdWdpbiwgXCJDb250YWN0IEZvcm0gN1wiLlxuICovXG5cbi53cGNmNy1mb3JtIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC5hamF4LWxvYWRlciB7XG5cdFx0Ym90dG9tOiAtMjJweDtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0fVxuXG5cdHAge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHRcdGJyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qXG4gIyBJbnB1dHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEFkZCB0eXBvZ3JhcGh5IGZvciBldmVyeSBpbnB1dC10eXBlLiAqL1xuLndwY2Y3LXRleHQsXG4ud3BjZjctdGV4dGFyZWEsXG4ud3BjZjctc2VsZWN0LFxuLndwY2Y3LXN1Ym1pdCB7XG5cdC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG59XG5cbi53cGNmNy10ZXh0LFxuLndwY2Y3LXRleHRhcmVhLFxuLndwY2Y3LXNlbGVjdCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdHBhZGRpbmc6IHZhcigtLWdhcC1taWNybyk7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdCY6OnBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG9wYWNpdHk6IDAuNzU7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKTtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdCY6OnBsYWNlaG9sZGVyIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG59XG5cbi53cGNmNy10ZXh0YXJlYSB7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aW55KTtcbn1cblxuLndwY2Y3LXNlbGVjdCB7XG5cdC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J1VURi04JyUzRiUzRSUzQ3N2ZyB3aWR0aD0nMTZweCcgaGVpZ2h0PSc3cHgnIHZpZXdCb3g9JzAgMCAxNiA3JyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDdGl0bGUlM0VQYXRoIDMlM0MvdGl0bGUlM0UlM0NnIGlkPScyLngtU2luZ2xlLU1lZGxlbXNrYXAnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDZyBpZD0nRGVza3RvcC0xNDQwJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMTIwNS4wMDAwMDAsIC0yNDMzLjAwMDAwMCknIHN0cm9rZT0nJTIzMDAwMDAwJyUzRSUzQ3BvbHlsaW5lIGlkPSdQYXRoLTMnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDEyMTMuMDAwMDAwLCAyNDM2LjUwMDAwMCkgc2NhbGUoMSwgLTEpIHRyYW5zbGF0ZSgtMTIxMy4wMDAwMDAsIC0yNDM2LjUwMDAwMCkgJyBwb2ludHM9JzEyMDYgMjQ0MCAxMjEzIDI0MzMgMTIyMCAyNDQwJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjc1ZW0gdG9wIDQ1JTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiAwLjg3NWVtIGF1dG87XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZy1yaWdodDogMS4zNzVyZW07XG59XG5cbi53cGNmNy1zdWJtaXQge1xuXHQuY29sb3ItZ3JheSAmIHtcblx0XHQmW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsXG5cdFx0Jlt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHRcdH1cblx0fVxuXG5cdC5jb2xvci1ibHVlICYsXG5cdC5jb2xvci1ncmVlbiAmIHtcblx0XHQmW3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQtZ3JheSk7XG5cdFx0XHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdH1cblxuXHRcdCZbdHlwZT1cInN1Ym1pdFwiXTpob3Zlcixcblx0XHQmW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG5cdFx0fVxuXHR9XG59XG5cbi53cGNmNy1kYXRlIHtcblx0cGFkZGluZzogMC4yNnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcblx0cGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBpT1MgZml4IGZvciB0ZXh0YWxpZ25tZW50IGluIGRhdGUtZmllbGQgKi9cblxuLndwY2Y3LWRhdGU6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuLypcbiAjIEVycm9yIG91dHB1dHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi53cGNmNy1ub3QtdmFsaWQtdGlwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cdGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNCk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbWljcm8pO1xuXG5cdC5jb2xvci1yZWQgJiB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0fVxufVxuXG4ud3BjZjctcmVzcG9uc2Utb3V0cHV0W3JvbGU9XCJhbGVydFwiXSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuXHRsaW5lLWhlaWdodDogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDQpO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1nYXAtdGlueSk7XG5cdHBhZGRpbmc6IHZhcigtLWdhcC10aW55KTtcblxuXHQmLndwY2Y3LXZhbGlkYXRpb24tZXJyb3JzIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1lcnJvcik7XG5cblx0XHQuY29sb3ItcmVkICYge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdH1cblx0fVxuXG5cdCYud3BjZjctbWFpbC1zZW50LW9rIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmVlbik7XG5cblx0XHQuY29sb3ItZ3JlZW4gJiB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQ29udGFjdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgY29udGFjdCBpbmZvcm1hdGlvbi5cbiAqL1xuXG4uYy1jb250YWN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmMtY29udGFjdF9faXRlbSB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1zbWFsbCk7XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG59XG5cbi5jLWNvbnRhY3RfX2ljb24ge1xuXHRmb250LXNpemU6IDI0cHg7XG5cdHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAyKTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBDb29raWUgTm90aWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciB0aGUgQ29va2llIE5vdGljZVxuICovXG5cbi5jLWNvb2tpZS1ub3RpY2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcblx0Ym90dG9tOiAwO1xuXHRib3gtc2hhZG93OiB2YXIoLS1kcm9wLXNoYWRvdy1sYXJnZSk7XG5cdG9wYWNpdHk6IDA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKSAwLjE1cztcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cblx0Ji5pcy12aXNpYmxlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG59XG5cbi5jLWNvb2tpZS1ub3RpY2VfX21lc3NhZ2Uge1xuXHRAbWl4aW4gY29udGFpbmVyO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0ZGlzcGxheTogZmxleDtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG59XG5cbi5jLWNvb2tpZS1ub3RpY2VfX2Nsb3NlIHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1nYXAtdGlueSkgKiAtMSk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLXRpbnkpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtdGlueSk7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cdH1cbn1cblxuLmMtY29va2llLW5vdGljZV9fdGV4dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlueSk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtdGlueSk7XG5cblx0JiBhIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRvcGFjaXR5OiAwLjY7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0Zm9udC1zaXplOiAwLjZyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjY1O1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1taWNybyk7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBGaWx0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBmaWx0ZXJzLlxuICovXG5cbi5jLWZpbHRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uYy1maWx0ZXJfX2l0ZW0ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLXNtYWxsKTtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG59XG5cbi5jLWZpbHRlcl9fbGluayB7XG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxufVxuIiwiLmMtaG9yaXpvbnRhbC1zY3JvbGwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWhvcml6b250YWwtc2Nyb2xsX19saXN0LXdyYXBwZXIge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmMtaG9yaXpvbnRhbC1zY3JvbGxfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0LW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG5cdG92ZXJmbG93LXg6IGF1dG87XG5cdG92ZXJmbG93LXk6IGhpZGRlbjtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1jb250YWluZXItcGFkZGluZyk7XG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuXHRzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcblx0d2lkdGg6IDEwMCU7XG5cblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRAc3VwcG9ydHMgKC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaCkge1xuXHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0XHRvdmVyZmxvdy14OiBzY3JvbGw7XG5cdH1cblxuXHQmOjphZnRlciB7XG5cdFx0LyogVGhpcyBpcyBuZWVkZWQgZm9yIG1hcmdpbi1yaWdodCBvbiBsYXN0IGl0ZW0gKi9cblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdG1hcmdpbi1sZWZ0OiAtMXB4O1xuXHRcdHdpZHRoOiAxcHg7XG5cdH1cbn1cblxuLmMtaG9yaXpvbnRhbC1zY3JvbGxfX2l0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWJhc2lzOiBhdXRvO1xuXHRmbGV4LWdyb3c6IDA7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tZ2FwLWdyaWQpICogMik7XG5cdG1pbi13aWR0aDogMTAwcHg7XG5cdHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcblx0d2lkdGg6IDM2dnc7XG5cblx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuXHR9XG59XG5cbi5jLWhvcml6b250YWwtc2Nyb2xsX19wb2ludCB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHR3aWR0aDogY2FsYyh2YXIoLS1nYXAtZ3JpZCkgKiAyKTtcblxuXHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdHdpZHRoOiAwO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgSWNvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDbGFzcyB1c2VkIG9uIHN2ZyBpY29ucy4gSXQgaXMgc2V0IGJ5IHdlYnBhY2sgYXV0b21hdGljYWxseS5cbiAqIFRoZXkgY2FuIGJlIG1vZGlmaWVkIHdpdGggbW9kaWZpZXJzIGlmIHRoYXQncyBuZWVkZWQuXG4gKi9cblxuLmMtaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRoZWlnaHQ6IDFlbTtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cblx0LyoqXG5cdCAqIFNvbWV0aW1lcyB0aGlzIGlzIG5lZWRlZCBmb3IgaWNvbnMgdG8gYWxpZ246XG5cdCAqIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0ICovXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdHdpZHRoOiAxZW07XG5cblx0LyogSGlkZSB0aXRsZSBvbiBob3ZlciAqL1xuXHQmW3RpdGxlXSB7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cbn1cblxuLmMtbG9nbyB7XG5cdC5jLWljb24ge1xuXHRcdGhlaWdodDogMWVtO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG59XG5cbi5jLWZvb3Rlci1sb2dvIHtcblx0LmMtaWNvbiB7XG5cdFx0aGVpZ2h0OiAxZW07XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBMb2NhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgbG9jYXRpb24gaW5mb3JtYXRpb24uXG4gKi9cblxuLmMtbG9jYXRpb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1sYXJnZSk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXApO1xuXG5cdC5iZy1ncmF5ICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG5cdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1nYXApO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcCk7XG5cdH1cbn1cblxuLmMtbG9jYXRpb25fX2xhYmVsIHtcblx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aW55KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1taWNybyk7XG59XG5cbi5jLWxvY2F0aW9uX19hZGRyZXNzIHtcblx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbWFsbCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMTIpO1xuXHR9XG59XG5cbi5jLWxvY2F0aW9uX19pY29uIHtcblx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG59XG5cbi5jLWxvY2F0aW9uX190aXRsZSB7XG5cdGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1iKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuXHRsaW5lLWhlaWdodDogMS4yNXJlbTtcbn1cblxuLmMtbG9jYXRpb25fX2J1dHRvbiB7XG5cdC5jLWJ1dHRvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHRcdH1cblxuXHRcdC5iZy1ncmF5ICYge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmMtbG9jYXRpb25fX3BlcmtzIHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0cGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAxMik7XG5cdH1cbn1cblxuLmMtbG9jYXRpb25fX2l0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIExvZ28gR3JpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBjb21wb25lbnQgZm9yIGxvZ28tZ3JpZHMuXG4gKi9cblxuLmMtbG9nby1ncmlkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLWxvZ28tZ3JpZF9fY29sdW1uIHtcblx0ZmxleC1iYXNpczogMzMuMzMlO1xuXHRtYXgtd2lkdGg6IDMzLjMzJTtcbn1cblxuLmMtbG9nby1ncmlkX19pdGVtIHtcblx0cGFkZGluZy1ib3R0b206IDc1JTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmMtbG9nby1ncmlkX19sb2dvIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5cblx0aW1nIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIE1hcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgR29vZ2xlIG1hcHMuXG4gKi9cblxuLmMtbWFwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG5cdGhlaWdodDogMjVyZW07XG5cdHdpZHRoOiAxMDAlO1xuXG5cdGltZyB7XG5cdFx0bWF4LXdpZHRoOiBpbmhlcml0O1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgTWVudSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgbWVudVxuICovXG5cbi5jLW1lbnUge1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHR9XG59XG5cbi5jLW1lbnVfX2l0ZW0ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcblx0cGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDMpO1xuXG5cdEBtZWRpYSAoLS1icC1sYXJnZS1tZWRpdW0pIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHR9XG5cblx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblxuXHRhIHtcblx0XHRAbWl4aW4gbGluay11bmRlcmxpbmU7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSBhOjphZnRlciB7XG5cdFx0cmlnaHQ6IDA7XG5cdH1cblxuXHQvKiBGZWF0dXJlZC1idXR0b24gKi9cblx0Ji5jLW1lbnVfX2l0ZW0tLWZlYXR1cmVkIGEge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMykgdmFyKC0tZ2FwLXRpbnkpO1xuXHRcdHRyYW5zaXRpb246XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pLFxuXHRcdFx0Y29sb3IgdmFyKC0tdHJhbnNpdGlvbik7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBub25lO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXG5cdFx0QG1lZGlhICgtLWJwLWxhcmdlKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLXRpbnkpO1xuXHRcdH1cblx0fVxufVxuXG4uYy1tZW51LWJ1dHRvbiB7XG5cdGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0bWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXAtdGlueSkgKiAtMSk7XG5cdG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1nYXAtdGlueSkgKiAtMSk7XG5cdG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwLXRpbnkpICogLTEpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtc21hbGwpO1xufVxuXG4vKlxuLmMtbWVudS1tb2JpbGUge1xufVxuKi9cblxuLmMtbWVudS1tb2JpbGVfX2l0ZW0ge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwKTtcblxuXHRhIHtcblx0XHRAbWl4aW4gbGluay11bmRlcmxpbmU7XG5cdH1cblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUgYTo6YWZ0ZXIge1xuXHRcdHJpZ2h0OiAwO1xuXHR9XG5cblx0LyogRmVhdHVyZWQtYnV0dG9uICovXG5cdCYuYy1tZW51X19pdGVtLS1mZWF0dXJlZCB7XG5cdFx0YSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHBhZGRpbmc6IHZhcigtLWdhcC10aW55KSB2YXIoLS1nYXAtc21hbGwpO1xuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uKTtcblxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmMtbWVudS1mb290ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwKTtcbn1cblxuLmMtbWVudS1mb290ZXJfX2l0ZW0ge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG5cblx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblxuXHRhIHtcblx0XHRAbWl4aW4gbGluay11bmRlcmxpbmU7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSBhOjphZnRlciB7XG5cdFx0cmlnaHQ6IDA7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNb2RhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBtb2RhbHMgKG92ZXJsYXlzKSBlLmcuIHRoZSBtZW51XG4gKi9cblxuLmMtbW9kYWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcblx0Y29sb3I6IGJsYWNrO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246XG5cdFx0dHJhbnNmb3JtIDAuNHMgZWFzZS1pbi1vdXQsXG5cdFx0dmlzaWJpbGl0eSAwLjRzIGVhc2UtaW4tb3V0O1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiAxNTtcblxuXHQmLmlzLXZpc2libGUge1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bS1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLmMtbW9kYWxfX2hlYWRlciB7XG5cdEBtaXhpbiBjb250YWluZXI7XG5cblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcC10aW55KTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0fVxufVxuXG4uYy1tb2RhbF9faGVhZGVyLWxvZ28ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRmb250LXNpemU6IDJyZW07XG5cblx0YSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLmMtbW9kYWxfX2hlYWRlci1tZW51LWJ1dHRvbiB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uYy1tb2RhbF9fbWFpbiB7XG5cdEBtaXhpbiBjb250YWluZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbGFyZ2UpO1xufVxuXG4uYy1tb2RhbF9fbWVudSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1lZGl1bSk7XG59XG5cbi5jLW1vZGFsX19jb250YWN0IHtcblx0bWFyZ2luLXRvcDogYXV0bztcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1sYXJnZSk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgTmF2aWdhdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgbmF2aWdhdG9yLlxuICovXG5cbi5jLW5hdmlnYXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jLW5hdmlnYXRvcl9fY291bnRlciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbn1cblxuLmMtbmF2aWdhdG9yX19idXR0b24ge1xuXHRjb2xvcjogY3VycmVudENvbG9yO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHRvcGFjaXR5OiAxO1xuXHRwYWRkaW5nOiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pO1xuXG5cdCZbZGlzYWJsZWRdIHtcblx0XHRvcGFjaXR5OiAwLjI1O1xuXHR9XG5cblx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXG5cdC5jLWljb24ge1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUGFnaW5hdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgcGFnaW5hdGlvbi5cbiAqL1xuXG4uYy1wYWdpbmF0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fYnV0dG9uIHtcblx0Ji5jLXBhZ2luYXRpb25fX2J1dHRvbi0tbGVmdCB7XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHR9XG5cblx0Ji5jLXBhZ2luYXRpb25fX2J1dHRvbi0tcmlnaHQge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR9XG5cblx0LmMtYnV0dG9uOmhvdmVyIHtcblx0XHRjb2xvcjogdmFyKC0tYmxhY2spO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUGVyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIHBlcmsuXG4gKiBJdCBpcyB0eXBpY2FsbHkgc2V0IG9uIDxkaXY+XG4gKlxuICogQG1hcmt1cFxuXHQ8ZWxlbWVudCBjbGFzcz1cImMtcGVyayBbbW9kaWZpZXIocyldXCI+XG5cdFx0W2NvbnRlbnRdXG5cdDwvZWxlbWVudD5cbiAqXG4gKi9cblxuLmMtcGVyayB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRoZWlnaHQ6IDA7XG5cdHBhZGRpbmctdG9wOiAxMDAlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdC5iZy1ncmF5ICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHR9XG59XG5cbi5jLXBlcmtfX2lubmVyIHtcblx0cGFkZGluZzogdmFyKC0tZ2FwLXRpbnkpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uYy1wZXJrX19pY29uIHtcblx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcblx0ZGlzcGxheTogZmxleDtcblx0Zm9udC1zaXplOiAzLjVyZW07XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdEBtZWRpYSAoLS1icC1sYXJnZSkge1xuXHRcdGZvbnQtc2l6ZTogNi41cmVtO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xuXHR9XG59XG5cbi5jLXBlcmtfX3RpdGxlIHtcblx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cdGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNC41KTtcblx0b3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdFx0bGluZS1oZWlnaHQ6IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA0LjUpO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgU2l0ZSBBbm5vdW5jZW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3Igc2l0ZSBhbm5vdW5jZW1lbnRzLlxuICovXG5cbi5jLXNpdGUtYW5ub3VuY2VtZW50IHtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcblx0dHJhbnNpdGlvbjpcblx0XHR0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbiksXG5cdFx0b3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKTtcblx0d2lkdGg6IDEwMCU7XG5cblx0Ji5pcy12aXNpYmxlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG4uYy1zaXRlLWFubm91bmNlbWVudF9faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cbn1cblxuLmMtc2l0ZS1hbm5vdW5jZW1lbnRfX2NvbnRlbnQge1xuXHRAbWl4aW4gdHlwb2dyYXBoeS12ZXJ5LXNpbXBsZTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aW55KTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuXHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aW55KTtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWdhcC1taWNybyk7XG5cdFx0cGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAzKTtcblx0XHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDMpO1xuXHR9XG59XG5cbi5jLXNpdGUtYW5ub3VuY2VtZW50X19jbG9zZSB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRmbGV4LXNocmluazogMDtcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tZ2FwLXRpbnkpICogLTEpO1xuXHRwYWRkaW5nOiB2YXIoLS1nYXAtdGlueSk7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cdFx0cGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAzKTtcblx0XHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDMpO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgU29jaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc29jaWFsIHtcblx0ZGlzcGxheTogZmxleDtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG59XG5cbi5jLXNvY2lhbF9faXRlbSB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC10aW55KTtcblxuXHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFN1ZmZpeCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBzdWZmaXguXG4gKi9cblxuLmMtc3VmZml4IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRsaW5lLWhlaWdodDogMTtcblxuXHQmLmMtc3VmZml4LS1jb2x1bW4ge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0bWFyZ2luLWJvdHRvbTogMC4zNzVlbTtcblx0XHRtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLW1pY3JvKTtcblx0XHRtYXJnaW4tdG9wOiBhdXRvO1xuXHR9XG59XG5cbi5jLXN1ZmZpeF9faXRlbSB7XG5cdCYuYy1zdWZmaXhfX2l0ZW0tLXNlbGVjdGVkIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFRhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBjb21wb25lbnQgZm9yIHRhZ3MuXG4gKi9cblxuLmMtdGFnIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcblx0cGFkZGluZzogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDMpIGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA1KTtcbn1cblxuLmMtdGFnX19pY29uIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1taWNybyk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4xcmVtKTtcbn1cblxuLmMtdGFnX19sYWJlbCB7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgdmlkZW9zLlxuICovXG5cbi5jLXZpZGVvIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblxuXHR2aWRlbyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmMtdmlkZW9fX292ZXJsYXkge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jLXZpZGVvX19maWx0ZXIge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdmFyKC0tY29sb3ItYmxhY2spLCByZ2JhKDAsIDAsIDAsIDApKTtcblx0Ym90dG9tOiAwO1xuXHRoZWlnaHQ6IDIwJTtcblx0bGVmdDogMDtcblx0b3BhY2l0eTogMC43NTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogMTtcbn1cblxuLmMtdmlkZW9fX2Zvb3RlciB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJvdHRvbTogMDtcblx0ZGlzcGxheTogZmxleDtcblx0bGVmdDogMDtcblx0cGFkZGluZzogdmFyKC0tZ2FwLXNtYWxsKTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogMjtcbn1cblxuLmMtdmlkZW9fX2J1dHRvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcblxuXHQmLmMtdmlkZW9fX2J1dHRvbi0tcmlnaHQge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdC5jLXZpZGVvX19pY29uIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmMtdmlkZW9fX2ljb24tYWN0aXZlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxufVxuXG4uYy12aWRlb19faWNvbi1hY3RpdmUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFNpdGUgRm9vdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5sLXNpdGUtZm9vdGVyIHtcblx0QG1peGluIHNlY3Rpb247XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXkpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubC1zaXRlLWZvb3Rlcl9faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xuXHRAbWl4aW4gbWF4LXdpZHRoO1xuXHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHR9XG59XG5cbi5sLXNpdGUtZm9vdGVyX19sb2dvIHtcblx0ZmxleC1zaHJpbms6IDE7XG5cdGZvbnQtc2l6ZTogNnJlbTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1sYXJnZSk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcCk7XG5cblx0QG1lZGlhICgtLWJwLWxhcmdlKSB7XG5cdFx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLWxhcmdlKTtcblx0fVxufVxuXG4ubC1zaXRlLWZvb3Rlcl9fbWVudSB7XG5cdEBtaXhpbiBmbGV4LWdyaWQ7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHR3aWR0aDogYXV0bztcblx0fVxufVxuXG4ubC1zaXRlLWZvb3Rlcl9faXRlbSB7XG5cdEBtaXhpbiBmbGV4LWNvbHVtbiAxMjtcblx0ZmxleC1ncm93OiAxO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcblx0bGluZS1oZWlnaHQ6IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA0KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1sYXJnZSk7XG5cblx0YSB7XG5cdFx0QG1peGluIGxpbmstdW5kZXJsaW5lO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0ZmxleC1iYXNpczogYXV0bztcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0ZmxleC1ncm93OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1sYXJnZSk7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMTIpO1xuXHR9XG5cblx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1ncmlkKTtcblx0fVxufVxuXG4ubC1zaXRlLWZvb3Rlcl9fbGFiZWwge1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5sLXNpdGUtZm9vdGVyX19saW5rIHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmwtc2l0ZS1mb290ZXJfX2ljb24ge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtbWljcm8pO1xuXG5cdEBtZWRpYSAoLS1icC14bGFyZ2UpIHtcblx0XHQuYy1pY29uIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xuXHRcdH1cblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFNpdGUgSGVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5sLXNpdGUtaGVhZGVyIHtcblx0YW5pbWF0aW9uOlxuXHRcdGhlYWRlci1hbmltYXRpb24gMC40c1xuXHRcdGN1YmljLWJlemllcigwLjM2LCAwLjY0LCAwLjIzLCAwLjk0KSAwLjVzIGZvcndhcmRzO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogNTtcblxuXHQmLm1vYmlsZS1jb2xvci1ibGFjayB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0fVxuXG5cdCYubW9iaWxlLWNvbG9yLXdoaXRlIHtcblx0XHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHR9XG5cblx0Ji5kZXNrdG9wLWNvbG9yLWJsYWNrIHtcblx0XHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdH1cblx0fVxuXG5cdCYuZGVza3RvcC1jb2xvci13aGl0ZSB7XG5cdFx0LmMtbWVudV9faXRlbS0tZmVhdHVyZWQgYSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0XHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdH1cblxuXHRcdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0fVxuXHR9XG5cblx0Ji5tb2JpbGUtb3ZlcmxheSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0fVxuXG5cdCYubW9iaWxlLWZsb3cge1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdH1cblxuXHQmLmRlc2t0b3Atb3ZlcmxheSB7XG5cdFx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdCYuZGVza3RvcC1mbG93IHtcblx0XHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdH1cblx0fVxufVxuXG4ubC1zaXRlLWhlYWRlcl9faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xuXHR0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLXRyYW5zaXRpb24pO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0tbGFyZ2UpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0fVxufVxuXG4ubC1zaXRlLWhlYWRlcl9fYmFubmVyIHtcblx0aGVpZ2h0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0cmFuc2l0aW9uOiBoZWlnaHQgdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5sLXNpdGUtaGVhZGVyX19tZW51IHtcblx0ZGlzcGxheTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bS1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi5sLXNpdGUtaGVhZGVyX19sb2dvIHtcblx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcblx0Zm9udC1zaXplOiAycmVtO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG5cblx0YSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAteGxhcmdlKSB7XG5cdFx0Zm9udC1zaXplOiAxLjc1cmVtO1xuXHR9XG59XG5cbi5sLXNpdGUtaGVhZGVyX19tZW51LWJ1dHRvbiB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0tbGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi8qIEhlYWRlciBzbGlkZS1pbiBhbmltYXRpb24uICovXG5Aa2V5ZnJhbWVzIGhlYWRlci1hbmltYXRpb24ge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHR9XG5cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIENhcmQgRmVhdHVyZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCbG9jayBmb3IgZmVhdHVyZWQgY2FyZHMuXG4gKi9cblxuLmItY2FyZC1mZWF0dXJlZCB7XG5cdEBtaXhpbiBzZWN0aW9uO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXHR9XG59XG5cbi5iLWNhcmQtZmVhdHVyZWRfX2hlYWRlciB7XG5cdEBtaXhpbiBjb250YWluZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cdH1cbn1cblxuLmItY2FyZC1mZWF0dXJlZF9fdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sYXJnZSk7XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcbn1cblxuLmItY2FyZC1mZWF0dXJlZF9fYnV0dG9uIHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tYy1uYXZpZ2F0b3Itb2Zmc2V0KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtdGlueSk7XG5cblx0LmJnLWdyYXkgJiB7XG5cdFx0LmMtYnV0dG9uOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHRcdH1cblx0fVxufVxuXG4uYi1jYXJkLWZlYXR1cmVkX19saXN0IHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtdGlueSk7XG59XG5cbi5iLWNhcmQtZmVhdHVyZWRfX2NvbHVtbiB7XG5cdG1pbi13aWR0aDogMTZyZW07XG5cdHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpICogNCAtIHZhcigtLWdhcC1ncmlkKSk7XG59XG5cbi5iLWNhcmQtZmVhdHVyZWRfX25hdmlnYXRvciB7XG5cdEBtaXhpbiBjb250YWluZXI7XG5cblx0LmMtbmF2aWdhdG9yX19idXR0b25zIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblxuXHRcdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jLW5hdmlnYXRvci1vZmZzZXQpO1xuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqXG4gKiBNYWtpbmcgdGhlIGhvcml6b250YWwgc2Nyb2xsIGl0ZW1zIGZvbGxvdyBzaXRlIGdyaWQuXG4gKlxuICogVGhlIG1hdGggYmVoaW5kIGl0OlxuICogMSAvIFtudW1iZXIgb2YgY29sdW1uc10gKiAoMTAwdncgLSBbY29udGFpbmVyIHBhZGRpbmddICogKFtudW1iZXIgb2YgY29sdW1uc10gLSAxKSApIC0gW2dyaWQgZ2FwXSAqIDIgKiAoW251bWJlciBvZiBjb2x1bW5zXSAtIDEpIC8gW251bWJlciBvZiBjb2x1bW5zXVxuICovXG5cbi5iLWNhcmQtZmVhdHVyZWRfX2NvbHVtbi0tc21hbGwge1xuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHR3aWR0aDogY2FsYyg1MHZ3IC0gdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpIC0gdmFyKC0tZ2FwLWdyaWQpKTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1sYXJnZSkge1xuXHRcdHdpZHRoOiBjYWxjKDEgLyAzICogKDEwMHZ3IC0gKCB2YXIoLS1jb250YWluZXItcGFkZGluZykgKiAyICkgKSAtICggdmFyKC0tZ2FwLWdyaWQpICogKDQgLyAzKSApICk7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cblx0fVxufVxuXG4uYi1jYXJkLWZlYXR1cmVkX19jb2x1bW4tLW1lZGl1bSB7XG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHdpZHRoOiBjYWxjKDUwdncgLSB2YXIoLS1jb250YWluZXItcGFkZGluZykgLSB2YXIoLS1nYXAtZ3JpZCkpO1xuXHR9XG59XG5cbi5iLWNhcmQtZmVhdHVyZWRfX2NvbHVtbi0tbGFyZ2Uge1xuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHR3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSAqIDIpO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQ2FyZCBHcmlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJsb2NrIGZvciBjYXJkLWdyaWQuXG4gKi9cblxuLmItY2FyZC1ncmlkIHtcblx0QG1peGluIHNlY3Rpb247XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXHR9XG59XG5cbi5iLWNhcmQtZ3JpZF9faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xufVxuXG4uYi1jYXJkLWdyaWRfX2dyaWQge1xuXHRAbWl4aW4gZmxleC1ncmlkIG5vcm1hbDtcbn1cblxuLmItY2FyZC1ncmlkX19jb2x1bW4ge1xuXHRAbWl4aW4gZmxleC1jb2x1bW4gMTI7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xufVxuXG4uYi1jYXJkLWdyaWRfX2NvbHVtbi0tc21hbGwge1xuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gNjtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1sYXJnZSkge1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbiA0O1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLWh1Z2UpIHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gMztcblx0fVxufVxuXG4uYi1jYXJkLWdyaWRfX2NvbHVtbi0tbWVkaXVtIHtcblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0QG1peGluIGZsZXgtY29sdW1uIDY7XG5cdH1cbn1cblxuLmItY2FyZC1ncmlkX19jb2x1bW4tLWxhcmdlIHtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBDYXJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQmxvY2sgZm9yIGNhcmRzLlxuICovXG5cbi5iLWNhcmRzIHtcblx0QG1peGluIHNlY3Rpb247XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG5cdH1cbn1cblxuLmItY2FyZHNfX25hdmlnYXRvciB7XG5cdEBtaXhpbiBjb250YWluZXI7XG5cblx0LmMtbmF2aWdhdG9yX19idXR0b25zIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblxuXHRcdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jLW5hdmlnYXRvci1vZmZzZXQpO1xuXHRcdH1cblx0fVxufVxuXG4vKlxuICMgR3JpZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmItY2FyZHMtLWdyaWQge1xuXHQuYi1jYXJkc19faW5uZXIge1xuXHRcdEBtaXhpbiBjb250YWluZXI7XG5cdH1cblxuXHQuYi1jYXJkc19fZ3JpZCB7XG5cdFx0QG1peGluIGZsZXgtZ3JpZCBub3JtYWw7XG5cdH1cblxuXHQuYi1jYXJkc19fY29sdW1uIHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gMTI7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG5cdH1cblxuXHQuYi1jYXJkc19fY29sdW1uLS1zbWFsbCB7XG5cdFx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0XHRAbWl4aW4gZmxleC1jb2x1bW4gNjtcblx0XHR9XG5cblx0XHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHRcdEBtaXhpbiBmbGV4LWNvbHVtbiA0O1xuXHRcdH1cblxuXHRcdEBtZWRpYSAoLS1icC1odWdlKSB7XG5cdFx0XHRAbWl4aW4gZmxleC1jb2x1bW4gMztcblx0XHR9XG5cdH1cblxuXHQuYi1jYXJkc19fY29sdW1uLS1tZWRpdW0ge1xuXHRcdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdFx0QG1peGluIGZsZXgtY29sdW1uIDY7XG5cdFx0fVxuXHR9XG59XG5cbi8qXG4gIyBIb3Jpem9udGFsLXNjcm9sbFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKlxuICogTWFraW5nIHRoZSBzbGlkZXItaXRlbXMgZm9sbG93IHNpdGUtZ3JpZC5cbiAqXG4gKiBUaGUgbWF0aCBiZWhpbmQgaXQ6XG4gKiAxIC8gW251bWJlciBvZiBjb2x1bW5zXSAqICgxMDB2dyAtIFtjb250YWluZXIgcGFkZGluZ10gKiAoW251bWJlciBvZiBjb2x1bW5zXSAtIDEpICkgLSBbZ3JpZCBnYXBdICogMiAqIChbbnVtYmVyIG9mIGNvbHVtbnNdIC0gMSkgLyBbbnVtYmVyIG9mIGNvbHVtbnNdXG4gKi9cblxuLmItY2FyZHMtLXNsaWRlciB7XG5cdC5iLWNhcmRzX19saXN0IHtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwKTtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xuXHR9XG5cblx0LmItY2FyZHNfX2NvbHVtbiB7XG5cdFx0d2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1jb250YWluZXItcGFkZGluZykgKiA0IC0gdmFyKC0tZ2FwLWdyaWQpKTtcblx0fVxuXG5cdC5iLWNhcmRzX19jb2x1bW4tLXNtYWxsIHtcblx0XHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRcdHdpZHRoOiBjYWxjKDUwdncgLSB2YXIoLS1jb250YWluZXItcGFkZGluZykgLSB2YXIoLS1nYXAtZ3JpZCkpO1xuXHRcdH1cblxuXHRcdEBtZWRpYSAoLS1icC1sYXJnZSkge1xuXHRcdFx0d2lkdGg6IGNhbGMoMSAvIDMgKiAoMTAwdncgLSAoIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSAqIDIgKSApIC0gKCB2YXIoLS1nYXAtZ3JpZCkgKiAoNCAvIDMpICkgKTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXHRcdH1cblx0fVxuXG5cdC5iLWNhcmRzX19jb2x1bW4tLW1lZGl1bSB7XG5cdFx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0XHR3aWR0aDogY2FsYyg1MHZ3IC0gdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpIC0gdmFyKC0tZ2FwLWdyaWQpKTtcblx0XHR9XG5cdH1cblxuXHQuYi1jYXJkc19fY29sdW1uLS1sYXJnZSB7XG5cdFx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0XHR3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSAqIDIpO1xuXHRcdH1cblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIENsaWVudHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBIGJsb2NrIGZvciBjbGllbnRzLlxuICovXG5cbi5iLWNsaWVudHMge1xuXHRAbWl4aW4gc2VjdGlvbjtcbn1cblxuLmItY2xpZW50c19faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xufVxuXG4uYi1jbGllbnRzX19ncmlkIHtcblx0QG1peGluIGZsZXgtZ3JpZDtcbn1cblxuLmItY2xpZW50c19fY29sdW1uIHtcblx0QG1peGluIGZsZXgtY29sdW1uIDEyO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwKTtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG59XG5cbi5iLWNsaWVudHNfX3RpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbGFyZ2UpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIENvbXBhcmUgTWVtYmVyc2hpcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCbG9jayBmb3IgY29tcGFyaW5nIG1lbWJlcnNoaXBzLlxuICovXG5cbi5iLWNvbXBhcmUtbWVtYmVyc2hpcCB7XG5cdEBtaXhpbiBzZWN0aW9uO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXHR9XG59XG5cbi5iLWNvbXBhcmUtbWVtYmVyc2hpcF9faGVhZGVyIHtcblx0QG1peGluIGNvbnRhaW5lcjtcblx0ZGlzcGxheTogZmxleDtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXHR9XG59XG5cbi5iLWNvbXBhcmUtbWVtYmVyc2hpcF9fdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcbn1cblxuLmItY29tcGFyZS1tZW1iZXJzaGlwX19idXR0b24ge1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jLW5hdmlnYXRvci1vZmZzZXQpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC10aW55KTtcblxuXHQuYmctZ3JheSAmIHtcblx0XHQuYy1idXR0b246aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQtZ3JheSk7XG5cdFx0fVxuXHR9XG59XG5cbi5iLWNvbXBhcmUtbWVtYmVyc2hpcF9fbGlzdCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xufVxuXG4uYi1jb21wYXJlLW1lbWJlcnNoaXBfX2NvbHVtbiB7XG5cdG1pbi13aWR0aDogMTZyZW07XG5cdHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpICogMyAtIHZhcigtLWdhcC1ncmlkKSk7XG59XG5cbi5iLWNvbXBhcmUtbWVtYmVyc2hpcF9fbmF2aWdhdG9yIHtcblx0QG1peGluIGNvbnRhaW5lcjtcblxuXHQuYy1uYXZpZ2F0b3JfX2J1dHRvbnMge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG5cdFx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWMtbmF2aWdhdG9yLW9mZnNldCk7XG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuICogTWFraW5nIHRoZSBob3Jpem9udGFsIHNjcm9sbCBpdGVtcyBmb2xsb3cgc2l0ZSBncmlkLlxuICpcbiAqIFRoZSBtYXRoIGJlaGluZCBpdDpcbiAqIDEgLyBbbnVtYmVyIG9mIGNvbHVtbnNdICogMTAwdncgLSBbY29udGFpbmVyIHBhZGRpbmddIC8gKFtudW1iZXIgb2YgY29sdW1uc10gLSAxKSAtIFtncmlkIGdhcF0gLyAoW251bWJlciBvZiBjb2x1bW5zXSAtIDEpXG4gKi9cblxuLmItY29tcGFyZS1tZW1iZXJzaGlwX19jb2x1bW4tLXNtYWxsIHtcblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0d2lkdGg6IGNhbGMoNTB2dyAtIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSAtIHZhcigtLWdhcC1ncmlkKSk7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHR3aWR0aDogY2FsYygxIC8gMyAqIDEwMHZ3IC0gdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpIC8gMiAtIHZhcigtLWdhcC1ncmlkKSAqIDIpO1xuXHR9XG59XG5cbi5iLWNvbXBhcmUtbWVtYmVyc2hpcF9fY29sdW1uLS1tZWRpdW0ge1xuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHR3aWR0aDogY2FsYyg1MHZ3IC0gdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpIC0gdmFyKC0tZ2FwLWdyaWQpKTtcblx0fVxufVxuXG4uYi1jb21wYXJlLW1lbWJlcnNoaXBfX2NvbHVtbi0tbGFyZ2Uge1xuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHR3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSAqIDIpO1xuXHR9XG59XG4iLCIvKiBBbiBleGFtcGxlIGJsb2NrLiAqL1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEZhY2lsaXRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCbG9jayBmb3IgZmFjaWxpdGllcy5cbiAqL1xuXG4uYi1mYWNpbGl0aWVzIHtcblx0QG1peGluIHNlY3Rpb247XG59XG5cbi5iLWZhY2lsaXRpZXNfX2lubmVyIHtcblx0QG1peGluIGNvbnRhaW5lcjtcbn1cblxuLmItZmFjaWxpdGllc19fdGl0bGUge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxhcmdlKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgRm9ybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJsb2NrIGZvciBmb3JtLlxuICovXG5cbi5iLWZvcm0ge1xuXHRAbWl4aW4gc2VjdGlvbjtcbn1cblxuLyogLmItZm9ybS0taGFzLXBhbmVsIHtcblx0cGFkZGluZy10b3A6IDA7XG59ICovXG5cbi5iLWZvcm1fX2lubmVyIHtcblx0QG1peGluIGNvbnRhaW5lcjtcbn1cblxuLmItZm9ybV9fZ3JpZCB7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uYi1mb3JtX19jb250ZW50LFxuLmItZm9ybV9fZm9ybSB7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLWdyaWQpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1ncmlkKTtcblx0XHR3aWR0aDogNTAlO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXG5cdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1zbWFsbCk7XG5cdFx0d2lkdGg6IGNhbGMoNSAvIDEyICogMTAwJSk7XG5cdH1cbn1cblxuLmItZm9ybV9fY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogY29sdW1uO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwKTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxufVxuXG4uYi1mb3JtX190aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxhcmdlKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxhcmdlKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcbn1cblxuLmItZm9ybV9faW50cm8ge1xuXHRAbWl4aW4gdHlwb2dyYXBoeS12ZXJ5LXNpbXBsZTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtc21hbGwpO1xuXHRtYXJnaW4tYm90dG9tOiBhdXRvO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwKTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLWxhcmdlKTtcblx0fVxuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cbn1cblxuLmItZm9ybV9fcHJpY2UtbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpbnkpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xufVxuXG4uYi1mb3JtX19wcmljZSB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LXNpemUtdGlueSkgKiAyLjYpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmItZm9ybV9fcmF0ZSB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXAtbWljcm8pO1xufVxuXG4uYi1mb3JtX19sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlueSk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbWljcm8pO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgSGVybyBGdWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJsb2NrIGZvciBoZXJvIChmdWxsKS5cbiAqL1xuXG4uYi1oZXJvLWZ1bGwge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtaW4taGVpZ2h0OiA4NXZtaW47XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMzUpO1xuXHRwYWRkaW5nLXRvcDogY2FsYygodmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAzNSkgKyAzcmVtKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBwYWRkaW5nLXRvcCAwLjdzIGVhc2UtaW4tb3V0IDAuMXM7XG5cblx0Ji5iLWhlcm8tZnVsbC0tYmx1ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblxuXHRcdC0tYy1idXR0b24tdGV4dC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG5cdFx0LmMtYnV0dG9uOmhvdmVyLFxuXHRcdC5jLWJ1dHRvbjpmb2N1cyB7XG5cdFx0XHQtLWhvdmVyLWJnLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcblx0XHRcdC0taG92ZXItdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdH1cblx0fVxuXG5cdCYuYi1oZXJvLWZ1bGwtLWxpZ2h0LWdyYXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cblx0XHQtLWMtYnV0dG9uLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblxuXHRcdC5jLWJ1dHRvbjpob3Zlcixcblx0XHQuYy1idXR0b246Zm9jdXMge1xuXHRcdFx0LS1ob3Zlci1iZy1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdFx0LS1ob3Zlci10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0fVxuXHR9XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMjApO1xuXHRcdHBhZGRpbmctdG9wOiBjYWxjKCh2YXIoLS1iYXNlbGluZS11bml0KSAqIDIwKSArIDNyZW0pO1xuXHR9XG5cblx0LnNpdGUtYW5ub3VuY2VtZW50ICYge1xuXHRcdHBhZGRpbmctdG9wOiBjYWxjKCh2YXIoLS1iYXNlbGluZS11bml0KSAqIDM1KSArIDZyZW0pO1xuXG5cdFx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy10b3A6IGNhbGMoKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMjApICsgNnJlbSk7XG5cdFx0fVxuXHR9XG59XG5cbi5iLWhlcm8tZnVsbF9faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xuXHRjb2xvcjogY3VycmVudENvbG9yO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRiciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG59XG5cbi5iLWhlcm8tZnVsbF9fdGl0bGUge1xuXHRjb2xvcjogY3VycmVudENvbG9yO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sYXJnZSk7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1heC13aWR0aDogMzVyZW07XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cblx0QG1lZGlhICgtLWJwLXRpbnkpIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1odWdlKTtcblx0XHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtaHVnZSk7XG5cdH1cbn1cblxuLmItaGVyby1mdWxsX19pbnRybyB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXNtYWxsKTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0bWF4LXdpZHRoOiAzMHJlbTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG59XG5cbi5iLWhlcm8tZnVsbF9fbGlua3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmItaGVyby1mdWxsX19saW5rcy1pdGVtIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtbWljcm8pO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtbWljcm8pO1xufVxuXG4uYi1oZXJvLWZ1bGxfX21lZGlhIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5cblx0aW1nLFxuXHR2aWRlbyB7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMDtcblx0XHR0b3A6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmItaGVyby1mdWxsX19maWx0ZXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcblxuXHQmLmItaGVyby1mdWxsX19maWx0ZXItLWJsYWNrIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdH1cblxuXHQmLmItaGVyby1mdWxsX19maWx0ZXItLXdoaXRlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBIZXJvIFNsaWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQmxvY2sgZm9yIGhlcm8gd2l0aCBzbGlkZXIuXG4gKi9cblxuLyogLmItaGVyby1zbGlkZXIge1xuXG59ICovXG5cbi5iLWhlcm8tc2xpZGVyX19pbm5lciB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXHR0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLXRyYW5zaXRpb24pO1xuXHR3aWR0aDogMTAwJTtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0QG1peGluIGNvbnRhaW5lcjtcblx0fVxufVxuXG4uYi1oZXJvLXNsaWRlcl9fZ3JpZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogY29sdW1uO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRmbGV4LWZsb3c6IHJvdztcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG59XG5cbi5iLWhlcm8tc2xpZGVyX19jb250ZW50IHtcblx0QG1peGluIGJhbm5lci1vZmZzZXQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogY29sdW1uO1xuXHRmbGV4LXNocmluazogMDtcblx0cGFkZGluZzogdmFyKC0tZ2FwLWh1Z2UpIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMTtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHRmbGV4LWdyb3c6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1nYXApO1xuXHRcdHBhZGRpbmc6IHZhcigtLWdhcCk7XG5cdFx0d2lkdGg6IGNhbGMoKDEwMCAvICgxMiAvIDQpKSAqIDElIC0gMXB4KTtcblx0fVxufVxuXG4uYi1oZXJvLXNsaWRlcl9fY29udGVudC1pbm5lciB7XG5cdG1hcmdpbi10b3A6IGF1dG87XG59XG5cbi5iLWhlcm8tc2xpZGVyX19sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlueSk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xufVxuXG4uYi1oZXJvLXNsaWRlcl9fdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sYXJnZSk7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5iLWhlcm8tc2xpZGVyX19pbnRybyB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlueSk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtdGlueSk7XG59XG5cbi5iLWhlcm8tc2xpZGVyX19pbWFnZS1jb250YWluZXIge1xuXHRmbGV4LWdyb3c6IDA7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhcC1sYXJnZSkgKiAtMSk7XG5cdG9yZGVyOiAxO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiAyO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRtYXJnaW4tbGVmdDogY2FsYygxIC8gMTIgKiAtMTAwJSk7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSAqIC0xKTtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdHdpZHRoOiBjYWxjKCgxMDAgLyAoMTIgLyA5KSkgKiAxJSArIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSk7XG5cdFx0ei1pbmRleDogMDtcblx0fVxufVxuXG4uYi1oZXJvLXNsaWRlcl9fc2xpZGVyIHtcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1jb250YWluZXItcGFkZGluZyk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0c2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXAtZ3JpZCk7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tZ2FwLWdyaWQpICsgdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpKTtcblx0XHRzY3JvbGwtc25hcC10eXBlOiBub25lO1xuXHR9XG59XG5cbi5iLWhlcm8tc2xpZGVyX19pdGVtIHtcblx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdhcC1ncmlkKSAqIDAuNzUpO1xuXHRzY3JvbGwtc25hcC1hbGlnbjogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdhcC1ncmlkKSAqIDIpO1xuXHRcdHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xuXHR9XG5cblx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZykpO1xuXG5cdFx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSArIHZhcigtLWdhcC1ncmlkKSk7XG5cdFx0fVxuXHR9XG5cblx0LmItaGVyby1zbGlkZXJfX2ltYWdlIHtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdGltZyB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdH1cblx0fVxufVxuXG4uYi1oZXJvLXNsaWRlcl9fbmF2aWdhdG9yIHtcblx0b3JkZXI6IDM7XG5cdHBhZGRpbmc6IHZhcigtLWdhcC1zbWFsbCkgdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1ncmlkKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG5cblx0LmMtbmF2aWdhdG9yX19jb3VudGVyIHtcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWF4LXdpZHRoOiA3NSU7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBIZXJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQmxvY2sgZm9yIGhlcm8uXG4gKi9cblxuLmItaGVybyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQuYi1oZXJvX19pbm5lciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG59XG5cbi5iLWhlcm9fX2lubmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdEBtaXhpbiBjb250YWluZXI7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1sYXJnZSk7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1sYXJnZSk7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEwIC8gMTIgKiAxMDAlKTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tc2xvdyk7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0LmFjZi1ibG9jay1wcmV2aWV3ICYge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHQuaXMtcmVhZHkgJiB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QG1lZGlhICgtLWJwLWxhcmdlKSB7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG5cdH1cbn1cblxuLmItaGVyb19fZ3JpZCB7XG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRAbWl4aW4gZmxleC1ncmlkIGNlbnRlcjtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0fVxufVxuXG4uYi1oZXJvX19jb250ZW50IHtcblx0QG1peGluIGJhbm5lci1vZmZzZXQ7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtaHVnZSk7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb250YWluZXItcGFkZGluZyk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtaHVnZSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQvKiBBZGRpbmcgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgc3R5bGUgZnJvbSBiZy1jb2xvci0gYW5kIGNvbG9yLWNsYXNzZXMgKi9cblx0Ji5iLWhlcm9fX2NvbnRlbnQge1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cblx0XHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0QG1peGluIGZsZXgtY29sdW1uIDU7XG5cdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbGFyZ2UpO1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1nYXApO1xuXHR9XG59XG5cbi5iLWhlcm9fX2xhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aW55KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG59XG5cbi5iLWhlcm9fX3RpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbGFyZ2UpO1xuXG5cdEBtZWRpYSAoLS1icC10aW55KSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaHVnZSk7XG5cdFx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWh1Z2UpO1xuXHR9XG59XG5cbi5iLWhlcm9fX2ludHJvIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aW55KTtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcC10aW55KTtcbn1cblxuLmItaGVyb19fbWVkaWEtY29udGFpbmVyIHtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXAtbGFyZ2UpICogLTEpO1xuXHR3aWR0aDogY2FsYygxMDAlIC0gKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSAqIDIpKTtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblxuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbiA3O1xuXHR9XG59XG5cbi5iLWhlcm9fX21lZGlhIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0aGVpZ2h0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nLXRvcDogNTYuMjUlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzO1xuXHR3aWR0aDogMTAwJTtcblxuXHRpbWcsXG5cdHZpZGVvIHtcblx0XHRib3R0b206IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEltYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCbG9jayBmb3IgaW1hZ2VzLlxuICovXG5cbi5iLWltYWdlIHtcblx0LyogQG1peGluIHNlY3Rpb247ICovXG59XG5cbi5iLWltYWdlX19pbm5lciB7XG5cdEBtaXhpbiBjb250YWluZXI7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uYi1pbWFnZV9faW1hZ2Uge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIENhcmQgR3JpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCbG9jayBmb3IgY2FyZC1ncmlkLlxuICovXG5cbi5iLW1hZ2F6aW5lIHtcblx0QG1peGluIHNlY3Rpb247XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXHR9XG59XG5cbi5iLW1hZ2F6aW5lX19pbm5lciB7XG5cdEBtaXhpbiBjb250YWluZXI7XG59XG5cbi5iLW1hZ2F6aW5lX19ncmlkIHtcblx0QG1peGluIGZsZXgtZ3JpZCBub3JtYWw7XG59XG5cbi5iLW1hZ2F6aW5lX19jb2x1bW4ge1xuXHRAbWl4aW4gZmxleC1jb2x1bW4gMTI7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xufVxuXG4uYi1tYWdhemluZV9fZmlsdGVyIHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG59XG5cbi5iLW1hZ2F6aW5lX19jb2x1bW4tLXNtYWxsIHtcblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0QG1peGluIGZsZXgtY29sdW1uIDY7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gNDtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1odWdlKSB7XG5cdFx0QG1peGluIGZsZXgtY29sdW1uIDM7XG5cdH1cbn1cblxuLmItbWFnYXppbmVfX2NvbHVtbi0tbWVkaXVtIHtcblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0QG1peGluIGZsZXgtY29sdW1uIDY7XG5cdH1cbn1cblxuLmItbWFnYXppbmVfX2NvbHVtbi0tbGFyZ2Uge1xuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgTWFwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJsb2NrIGZvciBtYXBzLlxuICovXG5cbi5iLW1hcCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbGFyZ2UpO1xufVxuXG4uYi1tYXBfX2lubmVyIHtcblx0QG1peGluIGNvbnRhaW5lcjtcbn1cblxuLmItbWFwX190aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxhcmdlKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxhcmdlKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0fVxufVxuXG4uYi1tYXBfX2dyaWQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxufVxuXG4uYi1tYXBfX2NvbHVtbiB7XG5cdEBtaXhpbiBmbGV4LWNvbHVtbiAxMjtcblx0cGFkZGluZzogMDtcblxuXHQvKiBNYXAgKi9cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0ZmxleC1iYXNpczogYXV0bztcblx0XHRtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZykgKiAtMSk7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSAqIC0xKTtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0b3JkZXI6IDI7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSArICh2YXIoLS1jb250YWluZXItcGFkZGluZykgKiAyKSk7XG5cblx0XHQvKiBBZGRlZCBzaW5jZSBoaWdoZXIgc3BlY2lmaWNpdHkgd2FzIHJlcXVpcmVkLiAqL1xuXHRcdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdFx0QG1peGluIGZsZXgtY29sdW1uIDY7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gNjtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgTWVkaWEgJiBDb250YWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJsb2NrIGZvciBtZWRpYSBhbmQgY29udGFjdC5cbiAqL1xuXG4uYi1tZWRpYS1jb250YWN0IHtcblx0QG1peGluIG1lZGlhLWJsb2NrLXBhZGRpbmc7XG59XG5cbi5iLW1lZGlhLWNvbnRhY3RfX2lubmVyIHtcblx0QG1lZGlhICgtLWJwLXRpbnkpIHtcblx0XHRAbWl4aW4gY29udGFpbmVyO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0fVxufVxuXG4uYi1tZWRpYS1jb250YWN0X19jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiBjb2x1bW47XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0cGFkZGluZzogdmFyKC0tZ2FwLWxhcmdlKSB2YXIoLS1nYXApO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiAxO1xuXG5cdC5oYXMtbGF5b3V0LXJpZ2h0ICYge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXRpbnkpIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwKSAqIC0xKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwKTtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwKTtcblx0XHR3aWR0aDogY2FsYygxMSAvIDEyICogMTAwJSk7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXApO1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG5cdFx0d2lkdGg6IDUwJTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRwYWRkaW5nOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMTApIGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAxMik7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAteHhsYXJnZSkge1xuXHRcdHdpZHRoOiBjYWxjKDUgLyAxMiAqIDEwMCUpO1xuXHR9XG59XG5cbi5iLW1lZGlhLWNvbnRhY3RfX3RpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbGFyZ2UpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcbn1cblxuLmItbWVkaWEtY29udGFjdF9fdGV4dCB7XG5cdEBtaXhpbiB0eXBvZ3JhcGh5LXZlcnktc2ltcGxlO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbWFsbCk7XG5cdG1hcmdpbi1ib3R0b206IGF1dG87XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKyB2YXIoLS1nYXAtdGlueSkpO1xufVxuXG4uYi1tZWRpYS1jb250YWN0X19zaWduYXR1cmUge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdGltZyB7XG5cdFx0aGVpZ2h0OiAycmVtO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR3aWR0aDogYXV0bztcblx0fVxufVxuXG4uYi1tZWRpYS1jb250YWN0X19uYW1lIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xufVxuXG4uYi1tZWRpYS1jb250YWN0X19pbWFnZS1jb250YWluZXIge1xuXHRmbGV4LXNocmluazogMDtcblx0d2lkdGg6IDEwMCU7XG5cblx0QG1lZGlhICgtLWJwLXRpbnkpIHtcblx0XHR3aWR0aDogY2FsYygxMSAvIDEyICogMTAwJSk7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRtYXJnaW4tcmlnaHQ6IC0yNSU7XG5cdFx0d2lkdGg6IDc1JTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC14eGxhcmdlKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKDIgLyAxMiAqIC0xMDAlKTtcblx0XHR3aWR0aDogY2FsYyg5IC8gMTIgKiAxMDAlKTtcblx0fVxuXG5cdC5oYXMtbGF5b3V0LXJpZ2h0ICYge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG5cdFx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTI1JTtcblx0XHRcdG9yZGVyOiAxO1xuXHRcdH1cblxuXHRcdEBtZWRpYSAoLS1icC14eGxhcmdlKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYygyIC8gMTIgKiAtMTAwJSk7XG5cdFx0fVxuXHR9XG59XG5cbi5iLW1lZGlhLWNvbnRhY3RfX2ltYWdlIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtdGlueSkge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdH1cbn1cblxuLmItbWVkaWEtY29udGFjdF9faW1hZ2UtLWNvdmVyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbGFyZ2UpO1xuXHR9XG5cblx0aW1nIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmItbWVkaWEtY29udGFjdF9fdGFnIHtcblx0bGVmdDogdmFyKC0tZ2FwLXRpbnkpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdGJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0XHRsZWZ0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHRcdHRvcDogYXV0bztcblx0fVxuXG5cdC5oYXMtbGF5b3V0LXJpZ2h0ICYge1xuXHRcdGxlZnQ6IGF1dG87XG5cdFx0cmlnaHQ6IHZhcigtLWdhcC10aW55KTtcblxuXHRcdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdFx0bGVmdDogYXV0bztcblx0XHRcdHJpZ2h0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHRcdFx0dG9wOiBhdXRvO1xuXHRcdH1cblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIE1lZGlhICYgVGV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCbG9jayBmb3IgbWVkaWEgYW5kIHRleHQuXG4gKi9cblxuLmItbWVkaWEtdGV4dC1jbGFzc2ljIHtcblx0QG1peGluIHNlY3Rpb247XG59XG5cbi5iLW1lZGlhLXRleHQtY2xhc3NpY19faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xuXHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHR9XG59XG5cbi5iLW1lZGlhLXRleHQtY2xhc3NpY19fZ3JpZCB7XG5cdEBtaXhpbiBmbGV4LWdyaWQ7XG59XG5cbi5iLW1lZGlhLXRleHQtY2xhc3NpY19fY29sdW1uIHtcblx0QG1peGluIGZsZXgtY29sdW1uIDEyO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXG5cdC5oYXMtbGF5b3V0LWxlZnQgJiB7XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzO1xuXHRcdH1cblx0fVxuXG5cdC5oYXMtbGF5b3V0LXJpZ2h0ICYge1xuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4xNXM7XG5cdFx0fVxuXG5cdFx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRvcmRlcjogMjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmItbWVkaWEtdGV4dC1jbGFzc2ljX19jb250ZW50IHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiBjb2x1bW47XG5cdHBhZGRpbmc6IHZhcigtLWdhcCkgMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0Lmhhcy1sYXlvdXQtbGVmdCAmIHtcblx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwKTtcblx0XHR9XG5cblx0XHQuaGFzLWxheW91dC1yaWdodCAmIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcCk7XG5cdFx0fVxuXHR9XG59XG5cbi5iLW1lZGlhLXRleHQtY2xhc3NpY19fdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sYXJnZSk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG59XG5cbi5iLW1lZGlhLXRleHQtY2xhc3NpY19fdGV4dCB7XG5cdEBtaXhpbiB0eXBvZ3JhcGh5LXZlcnktc2ltcGxlO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbWFsbCk7XG5cdG1hcmdpbi1ib3R0b206IGF1dG87XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cbn1cblxuLmItbWVkaWEtdGV4dC1jbGFzc2ljX19idXR0b24ge1xuXHRmbGV4LWdyb3c6IDA7XG5cblx0LmJnLWJsdWUgJixcblx0LmJnLWdyZWVuICYge1xuXHRcdC5jLWJ1dHRvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmItbWVkaWEtdGV4dC1jbGFzc2ljX19pbWFnZS1jb250YWluZXIge1xuXHRmbGV4LXNocmluazogMDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5iLW1lZGlhLXRleHQtY2xhc3NpY19faW1hZ2Uge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4uYi1tZWRpYS10ZXh0LWNsYXNzaWNfX3RhZyB7XG5cdGxlZnQ6IHZhcigtLWdhcC10aW55KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLWdhcC10aW55KTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cdFx0bGVmdDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0XHR0b3A6IGF1dG87XG5cdH1cblxuXHQuaGFzLWxheW91dC1yaWdodCAmIHtcblx0XHRsZWZ0OiBhdXRvO1xuXHRcdHJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG5cblx0XHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRyaWdodDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0XHRcdHRvcDogYXV0bztcblx0XHR9XG5cdH1cbn1cbiIsIlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIE1lZGlhICYgVGV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCbG9jayBmb3IgbWVkaWEgYW5kIHRleHQuXG4gKi9cblxuLmItbWVkaWEtdGV4dCB7XG5cdEBtaXhpbiBtZWRpYS1ibG9jay1wYWRkaW5nO1xufVxuXG4uYi1tZWRpYS10ZXh0X19pbm5lciB7XG5cdEBtZWRpYSAoLS1icC10aW55KSB7XG5cdFx0QG1peGluIGNvbnRhaW5lcjtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdH1cbn1cblxuLmItbWVkaWEtdGV4dF9fY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogY29sdW1uO1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLWdhcC1sYXJnZSkgdmFyKC0tZ2FwKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMTtcblxuXHQuaGFzLWxheW91dC1yaWdodCAmIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC10aW55KSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHRtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAtMSk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG5cdFx0d2lkdGg6IGNhbGMoMTEgLyAxMiAqIDEwMCUpO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1nYXApO1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0cGFkZGluZzogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDEwKSBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMTIpO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXh4bGFyZ2UpIHtcblx0XHR3aWR0aDogY2FsYyg1IC8gMTIgKiAxMDAlKTtcblx0fVxufVxuXG4uYi1tZWRpYS10ZXh0X190aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxhcmdlKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxhcmdlKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcbn1cblxuLmItbWVkaWEtdGV4dF9fdGV4dCB7XG5cdEBtaXhpbiB0eXBvZ3JhcGh5LXZlcnktc2ltcGxlO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbWFsbCk7XG5cdG1hcmdpbi1ib3R0b206IGF1dG87XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbGFyZ2UpO1xuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxufVxuXG4uYi1tZWRpYS10ZXh0X19idXR0b24ge1xuXHRmbGV4LWdyb3c6IDA7XG5cblx0LmNvbG9yLWJsdWUgJixcblx0LmNvbG9yLWdyZWVuICYge1xuXHRcdC5jLWJ1dHRvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmItbWVkaWEtdGV4dF9faW1hZ2UtY29udGFpbmVyIHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBtZWRpYSAoLS1icC10aW55KSB7XG5cdFx0d2lkdGg6IGNhbGMoMTEgLyAxMiAqIDEwMCUpO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtMjUlO1xuXHRcdHdpZHRoOiA3NSU7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAteHhsYXJnZSkge1xuXHRcdG1hcmdpbi1yaWdodDogY2FsYygyIC8gMTIgKiAtMTAwJSk7XG5cdFx0d2lkdGg6IGNhbGMoOSAvIDEyICogMTAwJSk7XG5cdH1cblxuXHQuaGFzLWxheW91dC1yaWdodCAmIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblxuXHRcdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0yNSU7XG5cdFx0XHRvcmRlcjogMTtcblx0XHR9XG5cblx0XHRAbWVkaWEgKC0tYnAteHhsYXJnZSkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGMoMiAvIDEyICogLTEwMCUpO1xuXHRcdH1cblx0fVxufVxuXG4uYi1tZWRpYS10ZXh0X19pbWFnZSB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cblx0aW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXRpbnkpIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHR9XG59XG5cbi5iLW1lZGlhLXRleHRfX2ltYWdlLS1jb3ZlciB7XG5cdGhlaWdodDogMTAwJTtcblxuXHRpbWcge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4uYi1tZWRpYS10ZXh0X190YWcge1xuXHRib3R0b206IHZhcigtLWdhcCk7XG5cdGxlZnQ6IHZhcigtLWdhcCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRAbWVkaWEgKC0tYnAtdGlueSkge1xuXHRcdGJvdHRvbTogYXV0bztcblx0XHRsZWZ0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdHRvcDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdGJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0XHRsZWZ0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHRcdHRvcDogYXV0bztcblx0fVxuXG5cdC5oYXMtbGF5b3V0LXJpZ2h0ICYge1xuXHRcdEBtZWRpYSAoLS1icC10aW55KSB7XG5cdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0cmlnaHQ6IHZhcigtLWdhcC1zbWFsbCk7XG5cdFx0fVxuXG5cdFx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0cmlnaHQ6IHZhcigtLWdhcC1zbWFsbCk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUGVya3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJsb2NrIGZvciBwZXJrcy5cbiAqL1xuXG4uYi1wZXJrcyB7XG5cdEBtaXhpbiBzZWN0aW9uO1xufVxuXG4uYi1wZXJrc19faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xufVxuXG4uYi1wZXJrc19fZ3JpZCB7XG5cdEBtaXhpbiBmbGV4LWdyaWQ7XG59XG5cbi5iLXBlcmtzX19jb2x1bW4ge1xuXHRAbWl4aW4gZmxleC1jb2x1bW4gMTI7XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWdhcC1ncmlkKSAqIDIpO1xuXG5cdEBtZWRpYSAoLS1icC1taWNybykge1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbiAzO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUmljaCBUZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJsb2NrIGZvciByaWNoLXRleHQuXG4gKi9cblxuLmItcmljaC10ZXh0IHtcblx0QG1peGluIHNlY3Rpb247XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5iLXJpY2gtdGV4dF9faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xufVxuXG4uYi1yaWNoLXRleHRfX2NvbnRlbnQge1xuXHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0QG1lZGlhICgtLWJwLXRpbnkpIHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gMTA7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gODtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgU2xpZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJsb2NrIGZvciBzbGlkZXJzLlxuICovXG5cbi8qIC5iLXNsaWRlciB7XG5cbn0gKi9cblxuLmItc2xpZGVyX19pbm5lciB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uYi1zbGlkZXJfX3NsaWRlciB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb250YWluZXItcGFkZGluZyk7XG5cdHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xufVxuXG4uYi1zbGlkZXJfX2l0ZW0ge1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tZ2FwLWdyaWQpICogMC43NSk7XG5cdHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpICogMik7XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1nYXAtZ3JpZCkgKiAyKTtcblx0fVxufVxuXG4uYi1zbGlkZXJfX2ltYWdlIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZy10b3A6IDU2LjI1JTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bGVmdDogMDtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0fVxufVxuXG4uYi1zbGlkZXJfX25hdmlnYXRvciB7XG5cdEBtaXhpbiBjb250YWluZXI7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtc21hbGwpO1xuXG5cdC5jLW5hdmlnYXRvcl9fYnV0dG9ucyB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jLW5hdmlnYXRvci1vZmZzZXQpO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgU3RlcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJsb2NrIGZvciBzdGVwcy5cbiAqL1xuXG4uYi1zdGVwcyB7XG5cdEBtaXhpbiBzZWN0aW9uO1xufVxuXG4uYi1zdGVwc19faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xufVxuXG4uYi1zdGVwc19fZ3JpZCB7XG5cdEBtaXhpbiBmbGV4LWdyaWQ7XG59XG5cbi5iLXN0ZXBzX19pdGVtIHtcblx0QG1peGluIGZsZXgtY29sdW1uIDEyO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLWxhcmdlKTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gNjtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0tbGFyZ2UpIHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gNDtcblx0fVxufVxuXG4uYi1zdGVwc19faWNvbiB7XG5cdGZvbnQtc2l6ZTogM3JlbTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG5cblx0QG1lZGlhICgtLWJwLXhsYXJnZSkge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbGFyZ2UpO1xuXHR9XG59XG5cbi5iLXN0ZXBzX190aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtc21hbGwpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xufVxuXG4uYi1zdGVwc19fdGV4dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXNtYWxsKTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBUZXN0aW1vbmlhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQmxvY2sgZm9yIHRlc3RpbW9uaWFscy5cbiAqL1xuXG4uYi10ZXN0aW1vbmlhbCB7XG5cdC8qIFJlbW92ZSBib3gtc2hhZG93IGZyb20gY29udGVudCAmIGlubmVyICggU2FtZSAnYmcnIGFuZCAnY29sb3InICkuICovXG5cdC5iLXRlc3RpbW9uaWFsX19pbm5lci5iLXRlc3RpbW9uaWFsX19pbm5lcixcblx0LmItdGVzdGltb25pYWxfX2dyaWQgLmItdGVzdGltb25pYWxfX2NvbnRlbnQuYi10ZXN0aW1vbmlhbF9fY29udGVudCB7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxufVxuXG4uYi10ZXN0aW1vbmlhbF9faW5uZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0LyogUmVtb3ZlIGJhY2tncm91bmQtY29sb3IgYWRkZWQgYnkgY29sb3ItY2xhc3MuICovXG5cdCYuYi10ZXN0aW1vbmlhbF9faW5uZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXRpbnkpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwKTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRAbWl4aW4gY29udGFpbmVyO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1nYXApO1xuXG5cdFx0Lmhhcy1sYXlvdXQtbGVmdCAmOjphZnRlciB7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRyaWdodDogMDtcblx0XHR9XG5cblx0XHQuaGFzLWxheW91dC1yaWdodCAmOjphZnRlciB7XG5cdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdH1cblx0fVxufVxuXG4uYi10ZXN0aW1vbmlhbF9faW5uZXI6OmFmdGVyIHtcblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdG1heC13aWR0aDogY2FsYygxMCAvIDEyICogMTAwJSk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1zbG93KTtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdC5hY2YtYmxvY2stcHJldmlldyAmIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXG5cdFx0LmlzLXJlYWR5ICYge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cbn1cblxuLmItdGVzdGltb25pYWxfX2dyaWQge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdH1cbn1cblxuLmItdGVzdGltb25pYWxfX2NvbnRlbnQge1xuXHRAbWl4aW4gY29udGFpbmVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IGNvbHVtbjtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwKTtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBtZWRpYSAoLS1icC10aW55KSB7XG5cdFx0cGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAyNCk7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1sYXJnZSk7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0ZmxleC1zaHJpbms6IDE7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1zbWFsbCk7XG5cdFx0d2lkdGg6IGF1dG87XG5cblx0XHQmLmItdGVzdGltb25pYWxfX2NvbnRlbnQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG5cdFx0LmItdGVzdGltb25pYWwtLXRleHQtc21hbGwgJiB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdH1cblxuXHRcdC5oYXMtbGF5b3V0LWxlZnQgJiB7XG5cdFx0XHRvcmRlcjogMjtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0Lmhhcy1sYXlvdXQtcmlnaHQgJiB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5iLXRlc3RpbW9uaWFsX19jb250ZW50LWlubmVyIHtcblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdG1heC13aWR0aDogODAlO1xuXG5cdFx0LmItdGVzdGltb25pYWwtLXRleHQtbGFyZ2UgJiB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Lmhhcy1sYXlvdXQtbGVmdCAmIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdH1cblxuXHRcdC5oYXMtbGF5b3V0LXJpZ2h0ICYge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdH1cblx0fVxufVxuXG4uYi10ZXN0aW1vbmlhbF9fdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpbnkpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdC5iLXRlc3RpbW9uaWFsLS10aXRsZS1sYXJnZSAmIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZWRpdW0pO1xuXG5cdFx0LyogZm9udC13ZWlnaHQ6IGJvbGQ7ICovXG5cdFx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1lZGl1bSk7XG5cblx0XHQvKiBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpOyAqL1xuXHR9XG59XG5cbi5iLXRlc3RpbW9uaWFsX19xdW90ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1lZGl1bSk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbWFsbCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXG5cdC5iLXRlc3RpbW9uaWFsLS10ZXh0LWxhcmdlICYge1xuXHRcdEBtZWRpYSAoLS1icC10aW55KSB7XG5cdFx0XHRmb250LXNpemU6IDEuODVyZW07XG5cdFx0XHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteG1lZGl1bSk7XG5cdFx0fVxuXG5cdFx0QG1lZGlhICgtLWJwLWxhcmdlKSB7XG5cdFx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bWVkaXVtKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14bWVkaXVtKTtcblx0XHR9XG5cdH1cbn1cblxuLmItdGVzdGltb25pYWxfX2xhYmVsIHtcblx0ZGlzcGxheTogZmxleDtcblx0bWFyZ2luLXRvcDogYXV0bztcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxufVxuXG4uYi10ZXN0aW1vbmlhbF9faWNvbiB7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG59XG5cbi5iLXRlc3RpbW9uaWFsX19uYW1lIHtcblx0ZmxleC1ncm93OiAxO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpbnkpO1xufVxuXG4uYi10ZXN0aW1vbmlhbF9faW1hZ2UtY29udGFpbmVyIHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBtZWRpYSAoLS1icC10aW55KSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwLWxhcmdlKSAqIC0xKTtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSAqIDIpKTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0d2lkdGg6IGNhbGMoNSAvIDEyICogMTAwJSk7XG5cdH1cbn1cblxuLmItdGVzdGltb25pYWxfX2ltYWdlIHtcblx0aGVpZ2h0OiAwO1xuXHRtYXJnaW4tdG9wOiBhdXRvO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nLXRvcDogNTYuMjUlOyAvKiAxNjo5ICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDE7XG5cblx0aW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bGVmdDogMDtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC10aW55KSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFRleHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCbG9jayBmb3IgdGl0bGUgYW5kIHRleHQuXG4gKi9cblxuLyogLmItdGV4dCB7XG5cbn0gKi9cblxuLmItdGV4dF9faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xufVxuXG4uYi10ZXh0X19ncmlkIHtcblx0QG1peGluIGZsZXgtZ3JpZDtcbn1cblxuLmItdGV4dF9fY29sdW1uIHtcblx0QG1peGluIGZsZXgtY29sdW1uIDEyO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0QG1peGluIGZsZXgtY29sdW1uIDY7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cbn1cblxuLyogLmLigJN0ZXh0X190aXRsZSB7XG5cbn0gKi9cblxuLmItdGV4dF9fdGV4dCB7XG5cdEBtaXhpbiB0eXBvZ3JhcGh5LXZlcnktc2ltcGxlO1xufVxuXG4uYi10ZXh0LS10aXRsZS1zbWFsbCB7XG5cdC5iLXRleHRfX3RpdGxlIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZWRpdW0pO1xuXHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbWFsbCk7XG5cdH1cbn1cblxuLmItdGV4dC0tdGl0bGUtbGFyZ2Uge1xuXHQuYi10ZXh0X190aXRsZSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuXHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sYXJnZSk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblx0fVxufVxuXG4uYi10ZXh0LS10ZXh0LXNtYWxsIHtcblx0LmItdGV4dF9fdGV4dCBwIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdFx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXNtYWxsKTtcblx0fVxufVxuXG4uYi10ZXh0LS10ZXh0LWxhcmdlIHtcblx0LmItdGV4dF9fdGV4dCBwIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdFx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXNtYWxsKTtcblxuXHRcdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWVkaXVtKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tZWRpdW0pO1xuXHRcdH1cblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFZpZGVvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCbG9jayBmb3IgdmlkZW9zLlxuICovXG5cbi8qIC5iLXZpZGVvIHtcblxufSAqL1xuXG4uYi12aWRlb19faW5uZXIge1xuXHRAbWl4aW4gY29udGFpbmVyO1xuXHR3aWR0aDogMTAwJTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyA0MDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucC00MDQge1xuXHRAbWl4aW4gY29udGFpbmVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtaW4taGVpZ2h0OiAxMDB2bWluO1xuXHRwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDIwKTtcblx0cGFkZGluZy10b3A6IGNhbGMoKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMjApICsgM3JlbSk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnAtNDA0X19pbm5lciB7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRtYXgtd2lkdGg6IDI1cmVtO1xufVxuXG4ucC00MDRfX251bWJlciB7XG5cdGZvbnQtc2l6ZTogN3JlbTtcbn1cblxuLnAtNDA0X190aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1lZGl1bSk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tZWRpdW0pO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xufVxuXG4ucC00MDRfX2NvbnRlbnQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbWFsbCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFBhZ2VzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUGFnZSBzdHlsZXMsIHBhZ2Ugc3BlY2lmaWMgY2xhc3NlcyAoZS5nLiAuaG9tZSwgLnBhZ2UtdGVtcGxhdGUtYWJvdXQpXG4gKi9cblxuLmVycm9yNDA0IHtcblx0Lmwtc2l0ZS1oZWFkZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlclxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stbGlzdFxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cbi5zbGljay1saXN0OmZvY3VzXG57XG4gICAgb3V0bGluZTogbm9uZTtcbn1cbi5zbGljay1saXN0LmRyYWdnaW5nXG57XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDtcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0XG57XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnNsaWNrLXRyYWNrOmJlZm9yZSxcbi5zbGljay10cmFjazphZnRlclxue1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgY29udGVudDogJyc7XG59XG4uc2xpY2stdHJhY2s6YWZ0ZXJcbntcbiAgICBjbGVhcjogYm90aDtcbn1cbi5zbGljay1sb2FkaW5nIC5zbGljay10cmFja1xue1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG59XG5bZGlyPSdydGwnXSAuc2xpY2stc2xpZGVcbntcbiAgICBmbG9hdDogcmlnaHQ7XG59XG4uc2xpY2stc2xpZGUgaW1nXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWdcbntcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZ1xue1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlXG57XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEFjY2Vzc2liaWxpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4uaC1zci1vbmx5IHtcblx0Ym9yZGVyOiAwO1xuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcblx0aGVpZ2h0OiAxcHg7XG5cdG1hcmdpbjogLTFweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMXB4O1xuXG5cdC8qKlxuXHQgKiBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlbiB3b3Jkc1xuXHQgKiBhcyB0aGV5IHdvdWxkIGFwcGVhciB2aXN1YWxseS5cblx0ICovXG5cdHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0LyogYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdFx0Y2xpcDogYXV0byAhaW1wb3J0YW50O1xuXHRcdGNsaXAtcGF0aDogbm9uZTtcblx0XHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTEpO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IHZhcigtLXNwYWNpbmctdW5pdC0yeCk7XG5cdFx0cGFkZGluZzogdmFyKC0tc3BhY2luZy11bml0LTJ4KSB2YXIoLS1zcGFjaW5nLXVuaXQtM3gpO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0b3A6IHZhcigtLXNwYWNpbmctdW5pdC0yeCk7XG5cdFx0d2lkdGg6IGF1dG87ICovXG5cblx0XHQvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xuXHRcdHotaW5kZXg6IDEwMDAwMDtcblx0fVxufVxuXG4vKiBSZW1vdmUgZm9jdXMgb3V0bGluZXMgd2hlbiB1c2luZyBtb3VzZS4gKi9cbi51c2luZy1tb3VzZSB7XG5cdCYgYVtocmVmXTpmb2N1cyxcblx0JiBhcmVhW2hyZWZdOmZvY3VzLFxuXHQmIGlucHV0Om5vdChbZGlzYWJsZWRdKTpmb2N1cyxcblx0JiBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pOmZvY3VzLFxuXHQmIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKTpmb2N1cyxcblx0JiBidXR0b246bm90KFtkaXNhYmxlZF0pOmZvY3VzLFxuXHQmIFt0YWJpbmRleF06Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cbn1cblxuLyogQWRkIGZvY3VzIG91dGxpbmVzIHdoZW4gdXNpbmcga2V5Ym9hcmQuICovXG4udXNpbmcta2V5Ym9hcmQge1xuXHQmIGFbaHJlZl06Zm9jdXMsXG5cdCYgYXJlYVtocmVmXTpmb2N1cyxcblx0JiBpbnB1dDpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsXG5cdCYgc2VsZWN0Om5vdChbZGlzYWJsZWRdKTpmb2N1cyxcblx0JiB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsXG5cdCYgYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpmb2N1cyxcblx0JiBbdGFiaW5kZXhdOmZvY3VzIHtcblx0XHRvdXRsaW5lOiAxcHggc29saWQgIzAwMDAwMDtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEFuaW1hdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBbmltYXRpb24gdHlwZXMgYW5kIGFuaW1hdGlvbiBAa2V5ZnJhbWVzIHNoYWxsIGJlIGFkZGVkIGhlcmUuXG4gKi9cblxuLypcbiAjIFR5cGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bZGF0YS1hbmltYXRpb24tdHlwZT1cImZhZGUtaW4tb24tbG9hZFwiXSB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluLW91dDtcblxuXHQuaGFzLWxvYWRlZCAmLFxuXHQuYWNmLWJsb2NrLXByZXZpZXcgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5bZGF0YS1hbmltYXRpb24tdHlwZT1cImZhZGUtaW4tdXAtb24tbG9hZFwiXSB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuNXMgZWFzZS1vdXQ7XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNHJlbSwgMCk7XG5cdH1cblxuXHQuaGFzLWxvYWRlZCAmLFxuXHQuYWNmLWJsb2NrLXByZXZpZXcgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG59XG5cbltkYXRhLWFuaW1hdGlvbi10eXBlPVwiZmFkZS1pbi13aGVuLXJlYWR5XCJdIHtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuXG5cdC5pcy1yZWFkeSAmLFxuXHQuYWNmLWJsb2NrLXByZXZpZXcgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5bZGF0YS1hbmltYXRpb24tdHlwZT1cImZhZGUtaW4tdXAtd2hlbi1yZWFkeVwiXSB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuNXMgZWFzZS1vdXQ7XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNHJlbSwgMCk7XG5cdH1cblxuXHQuaXMtcmVhZHkgJixcblx0LmFjZi1ibG9jay1wcmV2aWV3ICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5bZGF0YS1hbmltYXRpb24tdHlwZT1cImZhZGUtaW5cIl0ge1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHMgZWFzZS1pbi1vdXQ7XG5cblx0Lndhcy1pbi12aWV3ICYsXG5cdCYud2FzLWluLXZpZXcsXG5cdC5hY2YtYmxvY2stcHJldmlldyAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbltkYXRhLWFuaW1hdGlvbi10eXBlPVwiZmFkZS1pbi11cFwiXSB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuOHMgZWFzZS1vdXQ7XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMXJlbSwgMCk7XG5cdH1cblxuXHQud2FzLWluLXZpZXcgJixcblx0Ji53YXMtaW4tdmlldyxcblx0LmFjZi1ibG9jay1wcmV2aWV3ICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5bZGF0YS1hbmltYXRpb24tdHlwZT1cInNsaWRlLWluLWZyb20tbGVmdFwiXSB7XG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0cmVtLCAwLCAwKTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjRzIGVhc2Utb3V0O1xuXG5cdFx0Lndhcy1pbi12aWV3ICYsXG5cdFx0Ji53YXMtaW4tdmlldyxcblx0XHQuYWNmLWJsb2NrLXByZXZpZXcgJiB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR9XG5cdH1cbn1cblxuLypcbiAjIERlbGF5c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2RhdGEtYW5pbWF0aW9uLWRlbGF5PVwiMVwiXSB7XG5cdHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG59XG5cbltkYXRhLWFuaW1hdGlvbi1kZWxheT1cIjJcIl0ge1xuXHR0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xufVxuXG5bZGF0YS1hbmltYXRpb24tZGVsYXk9XCIzXCJdIHtcblx0dHJhbnNpdGlvbi1kZWxheTogMC40NXM7XG59XG5cbltkYXRhLWFuaW1hdGlvbi1kZWxheT1cIjRcIl0ge1xuXHR0cmFuc2l0aW9uLWRlbGF5OiAwLjZzO1xufVxuXG5bZGF0YS1hbmltYXRpb24tZGVsYXk9XCI1XCJdIHtcblx0dHJhbnNpdGlvbi1kZWxheTogMC43NXM7XG59XG5cbltkYXRhLWFuaW1hdGlvbi1kZWxheT1cIjZcIl0ge1xuXHR0cmFuc2l0aW9uLWRlbGF5OiAwLjlzO1xufVxuXG5bZGF0YS1hbmltYXRpb24tZGVsYXk9XCI3XCJdIHtcblx0dHJhbnNpdGlvbi1kZWxheTogMS4wNXM7XG59XG5cbltkYXRhLWFuaW1hdGlvbi1kZWxheT1cIjhcIl0ge1xuXHR0cmFuc2l0aW9uLWRlbGF5OiAxLjJzO1xufVxuXG5bZGF0YS1hbmltYXRpb24tZGVsYXk9XCI5XCJdIHtcblx0dHJhbnNpdGlvbi1kZWxheTogMS4zNXM7XG59XG5cbltkYXRhLWFuaW1hdGlvbi1kZWxheT1cIjEwXCJdIHtcblx0dHJhbnNpdGlvbi1kZWxheTogMS41cztcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBBc3BlY3QgUmF0aW8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG5cdC0tZGVmYXVsdC1hc3BlY3QtcmF0aW86IDgyLjUlO1xufVxuXG4uaGFzLWFzcGVjdC1yYXRpbyB7XG5cdGhlaWdodDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZy10b3A6IHZhcigtLWRlZmF1bHQtYXNwZWN0LXJhdGlvKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdGltZyxcblx0aWZyYW1lLFxuXHR2aWRlbyB7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0cGFkZGluZy10b3A6IDU2LjI1JTsgLyogU3RhbmRhcmQgMTY6OSAqL1xuXHR9XG59XG5cbi5oYXMtYXNwZWN0LXJhdGlvLS0xLTEge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZGVmYXVsdC1hc3BlY3QtcmF0aW8pO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctdG9wOiAxMDAlO1xuXHR9XG59XG5cbi5oYXMtYXNwZWN0LXJhdGlvLS00LTMge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZGVmYXVsdC1hc3BlY3QtcmF0aW8pO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctdG9wOiA3NSU7XG5cdH1cbn1cblxuLmhhcy1hc3BlY3QtcmF0aW8tLTE2LTkge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZGVmYXVsdC1hc3BlY3QtcmF0aW8pO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctdG9wOiA1Ni4yNSU7XG5cdH1cbn1cblxuLmhhcy1hc3BlY3QtcmF0aW8tLTItMSB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1kZWZhdWx0LWFzcGVjdC1yYXRpbyk7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0cGFkZGluZy10b3A6IDUwJTtcblx0fVxufVxuXG4uaGFzLWFzcGVjdC1yYXRpby0tMjEtOSB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1kZWZhdWx0LWFzcGVjdC1yYXRpbyk7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0cGFkZGluZy10b3A6IDQyLjg1JTtcblx0fVxufVxuXG4uaGFzLWFzcGVjdC1yYXRpby0tMy00IHtcblx0cGFkZGluZy10b3A6IHZhcigtLWRlZmF1bHQtYXNwZWN0LXJhdGlvKTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nLXRvcDogMTMzJTtcblx0fVxufVxuXG4uaGFzLWFzcGVjdC1yYXRpby0tOS0xNiB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1kZWZhdWx0LWFzcGVjdC1yYXRpbyk7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0cGFkZGluZy10b3A6IDE3OCU7XG5cdH1cbn1cblxuLmhhcy1hc3BlY3QtcmF0aW8tLTEtMiB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1kZWZhdWx0LWFzcGVjdC1yYXRpbyk7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0cGFkZGluZy10b3A6IDIwMCU7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBDb2xvcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICMgQmFja2dyb3VuZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJnLWJlaWdlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmVpZ2UpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4uYmctYmxhY2sge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5iZy1ibHVlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5iZy1kYXJrLWdyYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrLWdyYXkpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uYmctZ3JheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXkpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4uYmctZ3JlZW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5iZy1saWdodC1ncmF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQtZ3JheSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5iZy1vcmFuZ2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4uYmctcmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cblxuLmJnLXNpbHZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNpbHZlcik7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5iZy15ZWxsb3cge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci15ZWxsb3cpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4uYmctd2hpdGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi8qXG4gIyBDb2xvclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNvbG9yLWJlaWdlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmVpZ2UpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXG5cdCY6OmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZWlnZSk7XG5cdH1cblxuXHQuYmctYmVpZ2UgJiB7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tZHJvcC1zaGFkb3ctZGFyayk7XG5cdH1cbn1cblxuLmNvbG9yLWJsYWNrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG5cdCY6OmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdH1cblxuXHQuYmctbGlnaHQtYmxhY2sgJiB7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tZHJvcC1zaGFkb3ctbGlnaHQpO1xuXHR9XG59XG5cbi5jb2xvci1ibHVlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHR9XG5cblx0LmJnLWJsdWUgJiB7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tZHJvcC1zaGFkb3ctbGlnaHQpO1xuXHR9XG59XG5cbi5jb2xvci1kYXJrLWdyYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrLWdyYXkpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG5cdCY6OmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrLWdyYXkpO1xuXHR9XG5cblx0LmJnLWxpZ2h0LWJsYWNrICYge1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLWRyb3Atc2hhZG93LWxpZ2h0KTtcblx0fVxufVxuXG4uY29sb3ItZ3JheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXkpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXG5cdCY6OmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcblx0fVxuXG5cdC5iZy1ncmF5ICYge1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLWRyb3Atc2hhZG93LWRhcmspO1xuXHR9XG59XG5cbi5jb2xvci1ncmVlbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblxuXHQmOjphZnRlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHR9XG5cblx0LmJnLWdyZWVuICYge1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLWRyb3Atc2hhZG93LWxpZ2h0KTtcblx0fVxufVxuXG4uY29sb3ItbGlnaHQtZ3JheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXG5cdCY6OmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcblx0fVxuXG5cdC5iZy1saWdodC1ncmF5ICYge1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLWRyb3Atc2hhZG93LWRhcmspO1xuXHR9XG59XG5cbi5jb2xvci1vcmFuZ2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXG5cdCY6OmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHR9XG5cblx0LmJnLW9yYW5nZSAmIHtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1kcm9wLXNoYWRvdy1kYXJrKTtcblx0fVxufVxuXG4uY29sb3ItcmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblxuXHQmOjphZnRlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcblx0fVxuXG5cdC5iZy1yZWQgJiB7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tZHJvcC1zaGFkb3ctZGFyayk7XG5cdH1cbn1cblxuLmNvbG9yLXNpbHZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNpbHZlcik7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNpbHZlcik7XG5cdH1cblxuXHQuYmctc2lsdmVyICYge1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLWRyb3Atc2hhZG93LWRhcmspO1xuXHR9XG59XG5cbi5jb2xvci15ZWxsb3cge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci15ZWxsb3cpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXG5cdCY6OmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci15ZWxsb3cpO1xuXHR9XG5cblx0LmJnLXllbGxvdyAmIHtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1kcm9wLXNoYWRvdy1kYXJrKTtcblx0fVxufVxuXG4uY29sb3Itd2hpdGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0fVxuXG5cdC5iZy1saWdodC13aGl0ZSAmIHtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1kcm9wLXNoYWRvdy1kYXJrKTtcblx0fVxufVxuXG4vKlxuICMgQnV0dG9uLWNvbG9yXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnV0dG9uLWJlaWdlIHtcblx0LS1jLWJ1dHRvbi1iZzogdmFyKC0tY29sb3ItYmVpZ2UpO1xuXHQtLWMtYnV0dG9uLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5idXR0b24tYmxhY2sge1xuXHQtLWMtYnV0dG9uLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdC0tYy1idXR0b24tY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmJ1dHRvbi1ibHVlIHtcblx0LS1jLWJ1dHRvbi1iZzogdmFyKC0tY29sb3ItYmx1ZSk7XG5cdC0tYy1idXR0b24tY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmJ1dHRvbi1kYXJrLWdyYXkge1xuXHQtLWMtYnV0dG9uLWJnOiB2YXIoLS1jb2xvci1kYXJrLWdyYXkpO1xuXHQtLWMtYnV0dG9uLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5idXR0b24tZ3JheSB7XG5cdC0tYy1idXR0b24tYmc6IHZhcigtLWNvbG9yLWdyYXkpO1xuXHQtLWMtYnV0dG9uLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5idXR0b24tZ3JlZW4ge1xuXHQtLWMtYnV0dG9uLWJnOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdC0tYy1idXR0b24tY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmJ1dHRvbi1saWdodC1ncmF5IHtcblx0LS1jLWJ1dHRvbi1iZzogdmFyKC0tY29sb3ItbGlnaHQtZ3JheSk7XG5cdC0tYy1idXR0b24tY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cblxuLmJ1dHRvbi1vcmFuZ2Uge1xuXHQtLWMtYnV0dG9uLWJnOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHQtLWMtYnV0dG9uLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5idXR0b24tcmVkIHtcblx0LS1jLWJ1dHRvbi1iZzogdmFyKC0tY29sb3ItcmVkKTtcblx0LS1jLWJ1dHRvbi1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4uYnV0dG9uLXNpbHZlciB7XG5cdC0tYy1idXR0b24tYmc6IHZhcigtLWNvbG9yLXNpbHZlcik7XG5cdC0tYy1idXR0b24tY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cblxuLmJ1dHRvbi15ZWxsb3cge1xuXHQtLWMtYnV0dG9uLWJnOiB2YXIoLS1jb2xvci15ZWxsb3cpO1xuXHQtLWMtYnV0dG9uLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5idXR0b24td2hpdGUge1xuXHQtLWMtYnV0dG9uLWJnOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdC0tYy1idXR0b24tY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cblxuLypcbiAjIENhcmRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNhcmQge1xuXHQvKlxuXHQgIyBTdGFuZGFyZC1jb2xvclxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cdC5jYXJkLWJlaWdlICYge1xuXHRcdC0tYy1jYXJkLWJnOiB2YXIoLS1jb2xvci1iZWlnZSk7XG5cdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0fVxuXG5cdC5jYXJkLWJsYWNrICYge1xuXHRcdC0tYy1jYXJkLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0fVxuXG5cdC5jYXJkLWJsdWUgJiB7XG5cdFx0LS1jLWNhcmQtYmc6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHRcdC0tYy1jYXJkLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdH1cblxuXHQuY2FyZC1kYXJrLWdyYXkgJiB7XG5cdFx0LS1jLWNhcmQtYmc6IHZhcigtLWNvbG9yLWRhcmstZ3JheSk7XG5cdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0fVxuXG5cdC5jYXJkLWdyYXkgJiB7XG5cdFx0LS1jLWNhcmQtYmc6IHZhcigtLWNvbG9yLWdyYXkpO1xuXHRcdC0tYy1jYXJkLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdH1cblxuXHQuY2FyZC1ncmVlbiAmIHtcblx0XHQtLWMtY2FyZC1iZzogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRcdC0tYy1jYXJkLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdH1cblxuXHQuY2FyZC1saWdodC1ncmF5ICYge1xuXHRcdC0tYy1jYXJkLWJnOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcblx0XHQtLWMtY2FyZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHR9XG5cblx0LmNhcmQtb3JhbmdlICYge1xuXHRcdC0tYy1jYXJkLWJnOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRcdC0tYy1jYXJkLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdH1cblxuXHQuY2FyZC1yZWQgJiB7XG5cdFx0LS1jLWNhcmQtYmc6IHZhcigtLWNvbG9yLXJlZCk7XG5cdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0fVxuXG5cdC5jYXJkLXNpbHZlciAmIHtcblx0XHQtLWMtY2FyZC1iZzogdmFyKC0tY29sb3Itc2lsdmVyKTtcblx0XHQtLWMtY2FyZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHR9XG5cblx0LmNhcmQteWVsbG93ICYge1xuXHRcdC0tYy1jYXJkLWJnOiB2YXIoLS1jb2xvci15ZWxsb3cpO1xuXHRcdC0tYy1jYXJkLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdH1cblxuXHQuY2FyZC13aGl0ZSAmIHtcblx0XHQtLWMtY2FyZC1iZzogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdC0tYy1jYXJkLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdH1cblxuXHQvKiBBZGQgZGFyay1zaGFkb3cgaWYgY29sb3IgYW5kIGJhY2tncm91bmQtY29sb3IgYXJlIHRoZSBzYW1lLiAqL1xuXHQuYmctYmVpZ2UuY2FyZC1iZWlnZSAmLFxuXHQuYmctZ3JheS5jYXJkLWdyYXkgJixcblx0LmJnLWxpZ2h0LWdyYXkuY2FyZC1saWdodC1ncmF5ICYsXG5cdC5iZy1vcmFuZ2UuY2FyZC1vcmFuZ2UgJixcblx0LmJnLXJlZC5jYXJkLXJlZCAmLFxuXHQuYmctc2lsdmVyLmNhcmQtc2lsdmVyICYsXG5cdC5iZy15ZWxsb3cuY2FyZC15ZWxsb3cgJixcblx0LmJnLXdoaXRlLmNhcmQtd2hpdGUgJiB7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tZHJvcC1zaGFkb3ctZGFyayk7XG5cdH1cblxuXHQvKiBBZGQgbGlnaHQtc2hhZG93IGlmIGNvbG9yIGFuZCBiYWNrZ3JvdW5kLWNvbG9yIGFyZSB0aGUgc2FtZS4gKi9cblx0LmJnLWJsdWUuY2FyZC1ibHVlICYsXG5cdC5iZy1ncmVlbi5jYXJkLWdyZWVuICYsXG5cdC5iZy1ibGFjay5jYXJkLWJsYWNrICYsXG5cdC5iZy1kYXJrLWdyYXkuY2FyZC1kYXJrLWdyYXkgJiB7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tZHJvcC1zaGFkb3ctbGlnaHQpO1xuXHR9XG5cblx0Lypcblx0ICMgSG92ZXItY29sb3IgKENhcmQpXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cdC5jYXJkLWhvdmVyLWJlaWdlICYge1xuXHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci1iZWlnZSk7XG5cdFx0LS1jLWNhcmQtbGFiZWwtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHQtLWMtY2FyZC1iZzogdmFyKC0tY29sb3ItYmVpZ2UpO1xuXHRcdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWhvdmVyLWJsYWNrICYge1xuXHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0LS1jLWNhcmQtbGFiZWwtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHQtLWMtY2FyZC1iZzogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWhvdmVyLWJsdWUgJiB7XG5cdFx0LS1jLWNhcmQtbGFiZWwtYmc6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHRcdC0tYy1jYXJkLWxhYmVsLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0LS1jLWNhcmQtYmc6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHRcdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWhvdmVyLWRhcmstZ3JheSAmIHtcblx0XHQtLWMtY2FyZC1sYWJlbC1iZzogdmFyKC0tY29sb3ItZGFyay1ncmF5KTtcblx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdC0tYy1jYXJkLWJnOiB2YXIoLS1jb2xvci1kYXJrLWdyYXkpO1xuXHRcdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWhvdmVyLWdyYXkgJiB7XG5cdFx0LS1jLWNhcmQtbGFiZWwtYmc6IHZhcigtLWNvbG9yLWdyYXkpO1xuXHRcdC0tYy1jYXJkLWxhYmVsLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0LS1jLWNhcmQtYmc6IHZhcigtLWNvbG9yLWdyYXkpO1xuXHRcdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWhvdmVyLWdyZWVuICYge1xuXHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdFx0LS1jLWNhcmQtbGFiZWwtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHQtLWMtY2FyZC1iZzogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRcdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWhvdmVyLWxpZ2h0LWdyYXkgJiB7XG5cdFx0LS1jLWNhcmQtbGFiZWwtYmc6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHRcdC0tYy1jYXJkLWxhYmVsLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0LS1jLWNhcmQtYmc6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHRcdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWhvdmVyLW9yYW5nZSAmIHtcblx0XHQtLWMtY2FyZC1sYWJlbC1iZzogdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdC0tYy1jYXJkLWJnOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRcdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWhvdmVyLXJlZCAmIHtcblx0XHQtLWMtY2FyZC1sYWJlbC1iZzogdmFyKC0tY29sb3ItcmVkKTtcblx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdC0tYy1jYXJkLWJnOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRcdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWhvdmVyLXNpbHZlciAmIHtcblx0XHQtLWMtY2FyZC1sYWJlbC1iZzogdmFyKC0tY29sb3Itc2lsdmVyKTtcblx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdC0tYy1jYXJkLWJnOiB2YXIoLS1jb2xvci1zaWx2ZXIpO1xuXHRcdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWhvdmVyLXllbGxvdyAmIHtcblx0XHQtLWMtY2FyZC1sYWJlbC1iZzogdmFyKC0tY29sb3IteWVsbG93KTtcblx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdC0tYy1jYXJkLWJnOiB2YXIoLS1jb2xvci15ZWxsb3cpO1xuXHRcdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWhvdmVyLXdoaXRlICYge1xuXHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0LS1jLWNhcmQtbGFiZWwtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHQtLWMtY2FyZC1iZzogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdFx0LS1jLWNhcmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRcdC0tYy1jYXJkLWxhYmVsLWJnOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0XHQtLWMtY2FyZC1sYWJlbC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdH1cblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdC8qIEFkZCBkYXJrLXNoYWRvdyBvbiBob3ZlciBpZiBjb2xvciBhbmQgYmFja2dyb3VuZC1jb2xvciBhcmUgdGhlIHNhbWUuICovXG5cdFx0LmJnLWJlaWdlLmNhcmQtaG92ZXItYmVpZ2UgJixcblx0XHQuYmctZ3JheS5jYXJkLWhvdmVyLWdyYXkgJixcblx0XHQuYmctbGlnaHQtZ3JheS5jYXJkLWhvdmVyLWxpZ2h0LWdyYXkgJixcblx0XHQuYmctb3JhbmdlLmNhcmQtaG92ZXItb3JhbmdlICYsXG5cdFx0LmJnLXJlZC5jYXJkLWhvdmVyLXJlZCAmLFxuXHRcdC5iZy1zaWx2ZXIuY2FyZC1ob3Zlci1zaWx2ZXIgJixcblx0XHQuYmcteWVsbG93LmNhcmQtaG92ZXIteWVsbG93ICYsXG5cdFx0LmJnLXdoaXRlLmNhcmQtaG92ZXItd2hpdGUgJiB7XG5cdFx0XHRib3gtc2hhZG93OiB2YXIoLS1kcm9wLXNoYWRvdy1kYXJrKTtcblx0XHR9XG5cblx0XHQvKiBBZGQgbGlnaHQtc2hhZG93IG9uIGhvdmVyIGlmIGNvbG9yIGFuZCBiYWNrZ3JvdW5kLWNvbG9yIGFyZSB0aGUgc2FtZS4gKi9cblx0XHQuYmctYmx1ZS5jYXJkLWhvdmVyLWJsdWUgJixcblx0XHQuYmctZ3JlZW4uY2FyZC1ob3Zlci1ncmVlbiAmLFxuXHRcdC5iZy1kYXJrLWdyYXkuY2FyZC1ob3Zlci1kYXJrLWdyYXkgJixcblx0XHQuYmctYmxhY2suY2FyZC1ob3Zlci1ibGFjayB7XG5cdFx0XHRib3gtc2hhZG93OiB2YXIoLS1kcm9wLXNoYWRvdy1saWdodCk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgTGF6eWxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmgtbGF6eWxvYWQge1xuXHQubm8tanMgJiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIE9FbWJlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogRWFzeSByZXNwb25zaXZlIGVtYmVkc1xuICpcbiAqIFVzZSBjbGFzcyBcImgtb2VtYmVkXCIgb24gY29udGFpbmVyIGFyb3VuZCB0aGUgZW1iZWQvaWZyYW1lL29iamVjdFxuICovXG5cbi5oLW9lbWJlZCB7XG5cdGhlaWdodDogYXV0bztcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JiBpZnJhbWUsXG5cdCYgb2JqZWN0LFxuXHQmIGVtYmVkIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bGVmdDogMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuXHQtLW1vYmlsZS1wYWRkaW5nOiB2YXIoLS1nYXAtbGFyZ2UpO1xuXHQtLWRlc2t0b3AtcGFkZGluZzogdmFyKC0tZ2FwLWxhcmdlKTtcbn1cblxuLypcbiAjIE1vYmlsZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1vYmlsZS1wYWRkaW5nLW5vbmUge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcblx0cGFkZGluZy10b3A6IDA7XG59XG5cbi5tb2JpbGUtcGFkZGluZy10b3Age1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcblx0cGFkZGluZy10b3A6IHZhcigtLW1vYmlsZS1wYWRkaW5nKTtcbn1cblxuLm1vYmlsZS1wYWRkaW5nLWJvdHRvbSB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1tb2JpbGUtcGFkZGluZyk7XG5cdHBhZGRpbmctdG9wOiAwO1xufVxuXG4ubW9iaWxlLXBhZGRpbmctdG9wLWJvdHRvbSB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1tb2JpbGUtcGFkZGluZyk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1tb2JpbGUtcGFkZGluZyk7XG59XG5cbi8qXG4gIyBEZXNrdG9wXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZGVza3RvcC1wYWRkaW5nLW5vbmUge1xuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxufVxuXG4uZGVza3RvcC1wYWRkaW5nLXRvcCB7XG5cdCYuZGVza3RvcC1wYWRkaW5nLXRvcCB7XG5cdFx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdHBhZGRpbmctdG9wOiB2YXIoLS1kZXNrdG9wLXBhZGRpbmcpO1xuXHRcdH1cblxuXHRcdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0cGFkZGluZy10b3A6IHZhcigtLWRlc2t0b3AtcGFkZGluZyk7XG5cdFx0fVxuXHR9XG59XG5cbi5kZXNrdG9wLXBhZGRpbmctYm90dG9tIHtcblx0Ji5kZXNrdG9wLXBhZGRpbmctYm90dG9tIHtcblx0XHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1kZXNrdG9wLXBhZGRpbmcpO1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0fVxuXG5cdFx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWRlc2t0b3AtcGFkZGluZyk7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cdH1cbn1cblxuLmRlc2t0b3AtcGFkZGluZy10b3AtYm90dG9tIHtcblx0Ji5kZXNrdG9wLXBhZGRpbmctdG9wLWJvdHRvbSB7XG5cdFx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWRlc2t0b3AtcGFkZGluZyk7XG5cdFx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZGVza3RvcC1wYWRkaW5nKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBSYWRpdXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucmFkaXVzLW5vbmUge1xuXHRib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ucmFkaXVzLXRvcCB7XG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuXG4ucmFkaXVzLWJvdHRvbSB7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuXG4ucmFkaXVzLXRvcC1ib3R0b20ge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUNUQTs7O0FBR0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QURyQ0E7O0FBRUE7QUFDQTtBRWRBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBY0E7O0FBRUE7QUFDQTtBQ3hCQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXNEQTtBQUNBO0FBckRBO0FBQ0E7QUFuREE7QUFtREE7QUFDQTtBQWtEQTtBQWpEQTtBQUNBO0FBdERBO0FBQ0E7QUFzREE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBc0NBO0FBQ0E7QUFyQ0E7QUFDQTtBQW5FQTtBQW1FQTtBQUNBO0FBa0NBO0FBakNBO0FBQ0E7QUF0RUE7QUFDQTtBQXNFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUE1RkE7QUE0RkE7QUFVQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBaEdBO0FBZ0dBO0FBTUE7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQXBHQTtBQW9HQTtBQUVBO0FBREE7QUFDQTtBQzFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQzNDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNuQkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7OztBQVVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBZEE7QUFjQTtBQUFBO0FBTUE7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQWxCQTtBQWtCQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7OztBQU1BO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTjdDQTs7QUFFQTtBQUNBO0FPdkJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWFBO0FBQ0E7QUFaQTtBQUNBO0FBSkE7QUFJQTtBQVVBO0FBVEE7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQVFBO0FBTUE7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQVpBO0FBWUE7QUFFQTtBQURBO0FBQ0E7QUFnQkE7QUFDQTtBQUtBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUJBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBVUE7OztBQUdBO0FBQ0E7QUFRQTs7Ozs7O0FBTUE7QUFDQTtBQUlBOztBQUVBO0FBQ0E7QUFLQTs7QUFFQTtBQUNBO0FBd0JBOztBQUVBO0FBQ0E7QUF3QkE7O0FBRUE7QUFDQTtBQWlCQTs7QUFFQTtBQUNBO0FQL0pBOztBQUVBO0FBQ0E7QVE1QkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFBQTs7O0FBR0E7QUFDQTtBQUNBO0FDakJBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQ25CQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBTkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUNkQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOzs7O0FBSUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUFPQTtBQUNBO0FDMUNBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7O0FBU0E7QUFDQTtBQUNBOztBQUVBO0FBQUE7QUFDQTtBQUFBO0FBbVBBO0FBQ0E7QUFsUEE7QUFDQTtBQU1BO0FBQ0E7QUFMQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUFNQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7Ozs7Ozs7O0FBTUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7Ozs7OztBQUtBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQVBBO0FBT0E7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBK0NBO0FBQ0E7QUE5Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFwREE7QUFvREE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFJQTs7Ozs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFOQTs7OztBQU1BO0FBdUJBO0FBQ0E7QUF0QkE7QUFDQTtBQUFBO0FBQ0E7QUFrQkE7QUFDQTtBQWpCQTs7Ozs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBUUE7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FDcFFBOzs7O0FBSUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FiTEE7O0FBRUE7QUFDQTtBY2pDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXNCQTtBQUNBO0FBckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBWEE7QUFXQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQVBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBVEE7QUFTQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFVQTtBQUNBO0FBVEE7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FQWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQU5BOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FPWkE7QUFDQTtBQVBBO0FBT0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQ3pIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBT0E7QUFDQTtBQU5BOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QVJPQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBUVRBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QVI4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QVFsREE7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QVJ1REE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QVF4REE7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQVJBO0FBQ0E7QUFSQTs7QVJ1REE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QVE3Q0E7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQVpBOztBUnVEQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBUTdDQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBQUlBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QVIrQkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QVFqQ0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQVJBO0FBQ0E7QUFQQTtBUitCQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBUXRCQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7QVIrQkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QVF0QkE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFkQTtBQWNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQVdBO0FBQ0E7QUFWQTtBQUNBO0FBTEE7QUFLQTtBQVFBO0FBUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBO0FBZUE7QUFDQTtBQWRBOzs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7OztBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBV0E7QUFDQTtBQVZBO0FBQ0E7QUFYQTtBQVdBO0FBUUE7QUFQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBSkE7QUFJQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQzFLQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBOzs7QUFHQTtBQUhBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBd0JBO0FBQ0E7QUF2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF2Q0E7O0FBdUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTs7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFMQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQWdDQTtBQUNBO0FBL0JBOzs7O0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFRQTtBQUNBO0FBUEE7Ozs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF0Q0E7O0FBc0NBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUNoSUE7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7Ozs7O0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQVJBO0FBUUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFUQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFkQTtBQWNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQVBBO0FBT0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBU0E7QUFDQTtBVkxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBVXBCQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWlCQTtBQUNBO0FBaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFyQkE7QUFxQkE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBRkE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBQVdBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUZBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7QUFXQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDamZBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUNoQkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBaUJBO0FBQ0E7QUFoQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFjQTtBQUNBO0FBYkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBaUJBO0FBQ0E7QUFoQkE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQzFLQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUMzQkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUFQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FkUEE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QWNLQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFOQTtBQU1BO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBWEE7QUFXQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBaUJBO0FBQ0E7QUFoQkE7QUFDQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFqQkE7QUFpQkE7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUM1RUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FDL0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBbUJBO0FBQ0E7QUFsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBakJBO0FBaUJBO0FBQ0E7QUFXQTtBQVZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUM5REE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3hDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVdBO0FBQ0E7QUFWQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVhBO0FBV0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQVJBO0FBUUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFZQTtBQUNBO0FBWEE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBQUlBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUN0RkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQVBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDdENBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBQVVBO0FBRUE7QUFEQTtBQUNBO0FDcEJBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFOQTtBQUNBO0FBSkE7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBNkNBO0FBQ0E7QUE1Q0E7QUFDQTtBQUxBO0FBS0E7QUFBQTtBQTBDQTtBQXpDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckI0R0E7QXFCMUdBO0FBQ0E7QXJCMkdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FxQjVIQTtBQUNBO0FBQ0E7QUFDQTtBQW5CQTtBQUNBO0FBbUJBO0FBMkJBO0FBQ0E7QUEzQkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBRkE7OztBQWtCQTtBQUNBO0FBZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF2QkE7QUF1QkE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFtQ0E7QUFDQTtBQWxDQTtBckJtREE7QXFCakRBO0FBQ0E7QXJCa0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FxQm5FQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZEE7QUFDQTtBQWNBO0FBcUJBO0FBQ0E7QUFwQkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFVQTtBQUNBO0FBVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFhQTtBQUNBO0FBWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckJJQTtBcUJGQTtBQUNBO0FyQkdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FxQnBCQTtBQUNBO0FBQ0E7QUFDQTtBQzdJQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQVdBO0FBQ0E7QUFWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBeEJBO0FBd0JBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QXRCYkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBc0JXQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQVRBO0FBU0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXRCeENBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FzQnNDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDaEZBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3RDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDeEJBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7O0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFSQTtBQVFBO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQVJBO0FBUUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUM3REE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUZBOztBQUVBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0ExQkNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0EwQkhBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBUEE7QUFPQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFTQTtBQUNBO0ExQjhEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBTkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QTBCMUZBO0FBQ0E7QUFUQTtBQVNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU9BO0FBQ0E7QUFOQTtBQUNBO0FBUkE7QUFRQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUM5REE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQ2ZBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQVBBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQzFCQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUMzQkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUFQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBZUE7QUFDQTtBQWRBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FyQ3BDQTs7QUFFQTtBQUNBO0FzQ3RDQTs7QUFFQTtBQUNBO0FBQ0E7QS9Ca0NBO0FBQUE7QUFDQTtBQUFBO0ErQmpDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9CYUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUE0RUE7QUFDQTtBK0IzRkE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFSQTtBQVFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQVBBO0FBT0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0EvQmtDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBK0I3QkE7QUFDQTtBQVRBO0FBQ0E7QUFKQTtBQUlBO0FBT0E7QUFOQTtBQUNBO0FBQ0E7QUFDQTtBQVJBO0FBUUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0EvQm1DQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBK0JyQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBd0JBO0FBQ0E7QUF2QkE7QS9Cb0ZBO0ErQmxGQTtBQUNBO0EvQm1GQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBK0JwR0E7QUFDQTtBQWJBO0FBYUE7QUFDQTtBQUNBO0FBZUE7QUFkQTtBQUNBO0FBQ0E7QUFDQTtBQW5CQTtBQW1CQTtBQUNBO0FBQUE7QUFVQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBeEJBO0FBd0JBO0FBQUE7QUFNQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDakdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBZ0RBO0FBQ0E7QUEvQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRkE7QUFFQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFPQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0FBRUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFGQTtBQUVBO0FBRUE7QUFEQTtBQUNBO0FBR0E7QWhDckNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FnQ21DQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFUQTtBQVNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUxBO0FBS0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVZBO0FBVUE7QUFNQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBZEE7QUFjQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZDckZBOztBQUVBO0FBQ0E7QXdDM0NBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QWpDOEJBO0FBQUE7QUFDQTtBQUFBO0FpQ3pCQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FqQ09BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FpQ1RBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBTkE7QUFNQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBT0E7QUFDQTtBQUxBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FqQ2pDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBaUN1Q0E7QUFDQTtBQVJBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUdBOzs7Ozs7QUFNQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0FBRUE7QUFBQTtBQU1BO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQU1BO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBRkE7QUFFQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBR0E7QUFDQTtBQUZBO0FBRUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQ2hHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FsQzhCQTtBQUFBO0FBQ0E7QUFBQTtBa0M3QkE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUxBO0FBS0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FsQ01BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FrQ1JBO0FBQ0E7QUFDQTtBbEM4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QWtDbERBO0FBQ0E7QUFDQTtBbEN3REE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QWtDMURBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0FsQ21EQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBa0MzQ0E7QUFUQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FsQ21EQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBa0MzQ0E7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQVZBO0FsQ21EQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBa0MzQ0E7QUFEQTtBQUNBO0FBR0E7QUFDQTtBQUZBO0FsQ3FDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBa0NyQ0E7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FDcERBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QW5DOEJBO0FBQUE7QUFDQTtBQUFBO0FtQ3pCQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FuQ09BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FtQ0RBO0FBQ0E7QUFSQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBQUlBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFHQTs7QUFFQTtBQUNBO0FBRUE7QW5DVkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW1DUUE7QUFDQTtBQUNBO0FuQzhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBbUNsQ0E7QUFDQTtBQUNBO0FuQ3dDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBbUMxQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRkE7QW5DbUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FtQzNCQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QW5DbUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FtQzNCQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QW5DbUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FtQzNCQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBRkE7QW5DcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FtQ3JCQTtBQURBO0FBQ0E7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7OztBQU1BO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRkE7QUFFQTtBQUFBO0FBTUE7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBTUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFGQTtBQUVBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBRkE7QUFFQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FDN0dBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QXBDOEJBO0FBQUE7QUFDQTtBQUFBO0FvQzdCQTtBQUNBO0FBQ0E7QXBDV0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW9DYkE7QUFDQTtBQUNBO0FwQ21EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBb0N2REE7QUFDQTtBQUNBO0FwQzZEQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBb0MvREE7QUFBQTtBQVVBO0FBQ0E7QUFUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFUQTtBcEM2REE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QW9DdkRBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUN0Q0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBckM4QkE7QUFBQTtBQUNBO0FBQUE7QXFDekJBO0FBQ0E7QUFKQTtBQUNBO0FBSkE7QUFJQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QXJDT0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXFDVEE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUxBO0FBS0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBT0E7QUFDQTtBQUxBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QXJDOUJBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FxQ29DQTtBQUNBO0FBUkE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBSkE7QUFJQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBR0E7Ozs7O0FBS0E7QUFDQTtBQUVBO0FBQ0E7QUFGQTtBQUVBO0FBQUE7QUFNQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFNQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBR0E7QUFDQTtBQUZBO0FBRUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFGQTtBQUVBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUM1RkE7QUFDQTtBQ0RBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QXZDOEJBO0FBQUE7QUFDQTtBQUFBO0F1QzdCQTtBQUNBO0FBQ0E7QXZDV0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXVDYkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQ3ZCQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0F4QzhCQTtBQUFBO0FBQ0E7QUFBQTtBd0M3QkE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBeENPQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBd0NUQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBY0E7QUFDQTtBQWJBO0FBQ0E7QUFMQTs7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBU0E7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQVhBOzs7QUFZQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFOQTtBQU1BO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQVNBO0FBQ0E7QXhDOEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBd0MxREE7QUFDQTtBQVJBO0FBUUE7QUFBQTtBQU1BO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQVBBO0FBT0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQ2pIQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBd0NBO0FBQ0E7QUF2Q0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBTkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFwQ0E7QUFvQ0E7QUFBQTtBQUNBO0FBQUE7QUFVQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUdBO0F6Q2xDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBeUNnQ0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQVJBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFWQTtBQVVBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBY0E7QUFDQTtBQWJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQVJBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDNUlBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQU5BO0ExQ1dBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0EwQ1BBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFOQTtBQUNBO0FBTEE7QUFLQTtBQUNBO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFVQTtBQUNBO0ExQ2lIQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBQVdBO0FBRUE7QUFEQTtBQUNBO0EwQ3ZJQTtBQUNBO0FBWEE7QUFXQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBVkE7QUFVQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFRQTtBQUNBO0FBUEE7QUFDQTtBQVJBO0FBUUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBc0JBO0FBQ0E7QUFyQkE7QUFDQTtBQU5BO0FBTUE7QUFBQTtBQUNBO0FBa0JBO0FBakJBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBZUE7QUFDQTtBQWRBO0FBQ0E7QUFMQTtBQUtBO0FBQUE7QUFDQTtBQVdBO0FBVkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWRBO0FBY0E7QUFDQTtBQUVBO0FBREE7QUFDQTtBQ3hKQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFrQ0E7QUFDQTtBQWpDQTtBQUNBO0FBSkE7QTNDTUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTJDTEE7QUFBQTtBQUNBO0FBQUE7QUE2QkE7QUFDQTtBQTVCQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQWhDQTtBQWdDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFGQTtBM0NhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBMkNoQkE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQWlCQTtBQUNBO0EzQzZFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBQVdBO0FBRUE7QUFEQTtBQUNBO0EyQzNHQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBQUlBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQWxCQTtBM0NtQkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QTJDSkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBTEE7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFQQTtBQU9BO0FBQ0E7QTNDdENBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQURBO0EyQ3FDQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFjQTtBQUNBO0FBYkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ2pKQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTVDV0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTRDYkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDM0JBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QTdDOEJBO0FBQUE7QUFDQTtBQUFBO0E2QzdCQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBTEE7QUFLQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QTdDTUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTZDUkE7QUFDQTtBQUNBO0E3QzhDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBNkNsREE7QUFDQTtBQUNBO0E3Q3dEQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBNkMxREE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0E3QytDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBNkN2Q0E7QUFUQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0E3QytDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBNkN2Q0E7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQVZBO0E3QytDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBNkN2Q0E7QUFEQTtBQUNBO0FBR0E7QUFDQTtBQUZBO0E3Q2lDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBNkNqQ0E7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUN6REE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QTlDV0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QThDYkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFOQTtBQU1BO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQUxBO0FBS0E7QUFBQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QTlDNkNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0E4Qy9DQTtBQUNBO0FBQ0E7QUF1QkE7QUFDQTtBQXZCQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFRQTtBQUNBO0FBUkE7QUFDQTtBQVZBO0E5Q3dDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBOENqQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBeEJBO0E5QzZDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBOEN4QkE7QUFFQTtBQURBO0FBQ0E7QUMvREE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QS9Da0xBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBK0M3TUE7QUFDQTtBQUZBO0EvQ1dBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0ErQ05BO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQU1BO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQTJCQTtBQUNBO0FBMUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWZBO0FBZUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBZ0JBO0FBZkE7QUFDQTtBQUNBO0FBQ0E7QUF2QkE7QUF1QkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQVVBO0FBVEE7QUFDQTtBQUNBO0FBQ0E7QUE3QkE7QUE2QkE7QUFBQTtBQU1BO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFqQ0E7QUFpQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBL0NzQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQU5BOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0ErQ3pEQTtBQUNBO0FBQUE7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE0QkE7QUFDQTtBQTNCQTtBQUNBO0FBTEE7QUFLQTtBQXlCQTtBQXhCQTtBQUNBO0FBQ0E7QUFDQTtBQVRBO0FBU0E7QUFDQTtBQW9CQTtBQW5CQTtBQUNBO0FBQ0E7QUFDQTtBQWRBO0FBY0E7QUFDQTtBQWVBO0FBZEE7QUFDQTtBQUNBO0FBQ0E7QUFVQTtBQUNBO0FBVEE7QUFDQTtBQUpBO0FBSUE7QUFDQTtBQU1BO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFUQTtBQVNBO0FBRUE7QUFEQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFXQTtBQUNBO0FBVkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVpBO0FBWUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFXQTtBQUNBO0FBVkE7QUFDQTtBQUpBO0FBSUE7QUFBQTtBQVFBO0FBUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQWtCQTtBQUNBO0FBakJBO0FBQ0E7QUFOQTtBQU1BO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFhQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU9BO0FBQ0E7QUFOQTtBQUNBO0FBTEE7QUFLQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQzNLQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FoRDhCQTtBQUFBO0FBQ0E7QUFBQTtBZ0Q3QkE7QUFDQTtBQUNBO0FoRFdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FnRGJBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBUEE7QUFPQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QWhEMkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FnRC9DQTtBQUNBO0FBQ0E7QWhEcURBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FnRDNCQTtBQUNBO0FBNUJBO0FBQ0E7QUFKQTtBaERxREE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QWdEM0JBO0FBekJBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFRQTtBQUNBO0FBQ0E7QUFvQkE7QUFuQkE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFhQTtBQUNBO0FBWkE7QUFDQTtBQVRBO0FBU0E7QUFVQTtBQUNBO0FBVEE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FoRGFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBZ0RyQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBY0E7QUFDQTtBQVhBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQVBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBa0JBO0FBQ0E7QUFqQkE7QUFDQTtBQU5BO0FBTUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQWFBO0FBWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFMQTtBQUtBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FDMUpBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FqRGlMQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QWlENU1BO0FBQ0E7QUFGQTtBakRVQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBaURMQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFNQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUEyQkE7QUFDQTtBQTFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFmQTtBQWVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQWdCQTtBQWZBO0FBQ0E7QUFDQTtBQUNBO0FBdkJBO0FBdUJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFVQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBN0JBO0FBNkJBO0FBQUE7QUFNQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBakNBO0FBaUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQVNBO0FBQ0E7QWpENkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBaUR6REE7QUFDQTtBQVJBO0FBUUE7QUFBQTtBQU1BO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQWNBO0FBQ0E7QUFYQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBNEJBO0FBQ0E7QUEzQkE7QUFDQTtBQUxBO0FBS0E7QUF5QkE7QUF4QkE7QUFDQTtBQUNBO0FBQ0E7QUFUQTtBQVNBO0FBQ0E7QUFvQkE7QUFuQkE7QUFDQTtBQUNBO0FBQ0E7QUFkQTtBQWNBO0FBQ0E7QUFlQTtBQWRBO0FBQ0E7QUFDQTtBQUNBO0FBVUE7QUFDQTtBQVRBO0FBQ0E7QUFKQTtBQUlBO0FBQ0E7QUFNQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBVEE7QUFTQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBV0E7QUFDQTtBQVZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFaQTtBQVlBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQTBCQTtBQUNBO0FBekJBO0FBQ0E7QUFOQTtBQU1BO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQW9CQTtBQW5CQTtBQUNBO0FBQ0E7QUFDQTtBQWJBO0FBYUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQWNBO0FBYkE7QUFDQTtBQUVBO0FBQ0E7QUFGQTtBQUVBO0FBQ0E7QUFBQTtBQU9BO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQU9BO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQzFMQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FsRDhCQTtBQUFBO0FBQ0E7QUFBQTtBa0Q3QkE7QUFDQTtBQUNBO0FsRFdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FrRGJBO0FBQ0E7QUFDQTtBbERtREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QWtEdkRBO0FBQ0E7QUFDQTtBbEQ2REE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QWtEL0RBO0FBQUE7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQUxBO0FsRDZEQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBa0R0REE7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQVRBO0FsRDZEQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBa0R0REE7QUFEQTtBQUNBO0FDL0JBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QW5EOEJBO0FBQUE7QUFDQTtBQUFBO0FtRDdCQTtBQUNBO0FBQ0E7QUFDQTtBbkRVQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBbURaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBV0E7QUFDQTtBQVZBO0FBQ0E7QUFMQTtBbkRnRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QW1EOURBO0FBT0E7QUFOQTtBQUNBO0FBQ0E7QUFDQTtBQVZBO0FuRGdFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBbUR6REE7QUFFQTtBQURBO0FBQ0E7QUM5QkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFOQTtBQU1BO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWUE7QUFDQTtBQVhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBcEQzQkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW9EeUJBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDMURBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QXJEOEJBO0FBQUE7QUFDQTtBQUFBO0FxRDdCQTtBQUNBO0FBQ0E7QXJEV0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXFEYkE7QUFDQTtBQUNBO0FyRG1EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBcUR2REE7QUFDQTtBQUNBO0FyRDZEQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBcUQvREE7QUFBQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBTEE7QXJENkRBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FxRHREQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBVEE7QXJENkRBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FxRHREQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBTEE7QUFLQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQ3JEQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTs7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQTBCQTtBQUNBO0FBMUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVRBO0FBU0E7QUFBQTtBQW9CQTtBQW5CQTtBQUNBO0FBQ0E7QUFDQTtBQWJBO0F0RE9BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FzREdBO0FBQUE7QUFDQTtBQUFBO0FBY0E7QUFDQTtBQWJBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBRkE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQVVBO0FBQ0E7QUFUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQVJBO0FBUUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBdEQxREE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXNEd0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQStCQTtBQUNBO0FBOUJBO0FBQ0E7QUFYQTtBQVdBO0FBQUE7QUFDQTtBQUFBO0FBMkJBO0FBMUJBO0FBQ0E7QUFDQTtBQUNBO0FBaEJBO0FBZ0JBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQW9CQTtBQUNBO0FBbkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUZBO0FBRUE7QUFjQTtBQUNBO0FBYkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVVBO0FBQ0E7QUFUQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFhQTtBQUNBO0FBWEE7QUFDQTtBQUZBO0FBRUE7QUFDQTtBQUFBO0FBT0E7QUFOQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBT0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUxBO0FBS0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQWRBO0FBQ0E7QUFMQTtBQUtBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVNBO0FBUkE7QUFDQTtBQUNBO0FBQ0E7QUFaQTtBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWdCQTtBQUNBO0FBZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFyQkE7QUFxQkE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQzNPQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZEV0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXVEYkE7QUFDQTtBQUNBO0F2RG1EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBdUR2REE7QUFDQTtBQUNBO0F2RDZEQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBdUQvREE7QUFBQTtBQVVBO0FBQ0E7QUFUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFUQTtBdkQ2REE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QXVEdkRBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QXZEMEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBdUR4RkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFKQTtBQUtBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FDekVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeERXQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBd0RiQTtBQUNBO0FBQ0E7QS9ENkJBOztBQUVBO0FBQ0E7QWdFaERBOztBQUVBO0FBQ0E7QUFDQTtBekRtQkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXlEckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUNuQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqRXFDQTtBQUNBO0FrRW5EQTtBQUNBO0FBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QWxFbEVBOztBQUVBO0FBQ0E7QW1FeERBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFvQkE7QUFDQTtBQW5CQTtBQUNBOzs7Ozs7Ozs7Ozs7QUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUNsRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUxBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVdBO0FBQ0E7QUFWQTtBQUNBO0FBTEE7QUFLQTtBQVFBO0FBUEE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUxBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVdBO0FBQ0E7QUFWQTtBQUNBO0FBTEE7QUFLQTtBQVFBO0FBUEE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQU5BOzs7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFZQTtBQUNBO0FBWEE7QUFDQTtBQUxBO0FBS0E7QUFTQTtBQVJBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBRkE7QUFFQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNuSkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBb0JBO0FBQ0E7QUFuQkE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF0QkE7QUFzQkE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUNoR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBU0E7QUFDQTtBQVJBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBU0E7QUFDQTtBQVJBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBU0E7QUFDQTtBQVJBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBU0E7QUFDQTtBQVJBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOzs7Ozs7OztBQVFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOzs7O0FBSUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQVJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFSQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQVJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFSQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQVJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFSQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQVJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFSQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0FBUUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7Ozs7Ozs7O0FBSUE7QUFBQTtBQUNBO0FBQ0E7QUNqakJBOztBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQ1JBOztBQUVBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFXQTtBQUNBO0FBVkE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDMUJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRkE7QUFFQTtBQUNBO0FBT0E7QUFOQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBT0E7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUlBO0FBQ0E7QUFGQTtBQUVBO0FBQ0E7QUFBQTtBQU9BO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQU9BO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUtBO0FBQ0E7QUFGQTtBQUVBO0FBQUE7QUFDQTtBQU9BO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQU9BO0FBQUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUtBO0FBQ0E7QUFGQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FDbkZBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0ExRXFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWdCQTtBQUNBO0FBZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFwQkE7QUFvQkE7QUFDQTtBQU9BO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUF6QkE7QUF5QkE7QUFDQTtBQUVBO0FBREE7OyIsInNvdXJjZVJvb3QiOiIifQ==*/