/*!*******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/modern-normalize/modern-normalize.css ***!
  \*******************************************************************************************************************************************/
/*! modern-normalize v2.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */

/*
Document
========
*/

/**
Use a better box model (opinionated).
*/

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

html {
	/* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */
	font-family:
		system-ui,
		'Segoe UI',
		Roboto,
		Helvetica,
		Arial,
		sans-serif,
		'Apple Color Emoji',
		'Segoe UI Emoji';
	line-height: 1.15; /* 1. Correct the line height in all browsers. */
	-webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */
	-moz-tab-size: 4; /* 3. Use a more readable tab size (opinionated). */
	tab-size: 4; /* 3 */
}

/*
Sections
========
*/

body {
	margin: 0; /* Remove the margin in all browsers. */
}

/*
Grouping content
================
*/

/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/

hr {
	height: 0; /* 1 */
	color: inherit; /* 2 */
}

/*
Text-level semantics
====================
*/

/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr[title] {
	text-decoration: underline dotted;
}

/**
Add the correct font weight in Edge and Safari.
*/

b,
strong {
	font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
	font-family:
		ui-monospace,
		SFMono-Regular,
		Consolas,
		'Liberation Mono',
		Menlo,
		monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/

small {
	font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/*
Tabular data
============
*/

/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/

table {
	text-indent: 0; /* 1 */
	border-color: inherit; /* 2 */
}

/*
Forms
=====
*/

/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
	text-transform: none;
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button;
}

/**
Remove the inner border and padding in Firefox.
*/

::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
Restore the focus styles unset by the previous rule.
*/

:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/

:-moz-ui-invalid {
	box-shadow: none;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/

legend {
	padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
	vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/*
Interactive
===========
*/

/*
Add the correct display in Chrome and Safari.
*/

summary {
	display: list-item;
}

/*!*****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/pikaday/css/pikaday.css ***!
  \*****************************************************************************************************************************/
@charset "UTF-8";

/*!
 * Pikaday
 * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/
 */

.pika-single {
    z-index: 9999;
    display: block;
    position: relative;
    color: #333;
    background: #fff;
    border: 1px solid #ccc;
    border-bottom-color: #bbb;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/*
clear child float (pika-lendar), using the famous micro clearfix hack
http://nicolasgallagher.com/micro-clearfix-hack/
*/
.pika-single:before,
.pika-single:after {
    content: " ";
    display: table;
}
.pika-single:after { clear: both }

.pika-single.is-hidden {
    display: none;
}

.pika-single.is-bound {
    position: absolute;
    box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);
}

.pika-lendar {
    float: left;
    width: 240px;
    margin: 8px;
}

.pika-title {
    position: relative;
    text-align: center;
}

.pika-label {
    display: inline-block;
    position: relative;
    z-index: 9999;
    overflow: hidden;
    margin: 0;
    padding: 5px 3px;
    font-size: 14px;
    line-height: 20px;
    font-weight: bold;
    background-color: #fff;
}
.pika-title select {
    cursor: pointer;
    position: absolute;
    z-index: 9998;
    margin: 0;
    left: 0;
    top: 5px;
    opacity: 0;
}

.pika-prev,
.pika-next {
    display: block;
    cursor: pointer;
    position: relative;
    outline: none;
    border: 0;
    padding: 0;
    width: 20px;
    height: 30px;
    /* hide text using text-indent trick, using width value (it's enough) */
    text-indent: 20px;
    white-space: nowrap;
    overflow: hidden;
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 75% 75%;
    opacity: .5;
}

.pika-prev:hover,
.pika-next:hover {
    opacity: 1;
}

.pika-prev,
.is-rtl .pika-next {
    float: left;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==);
}

.pika-next,
.is-rtl .pika-prev {
    float: right;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=);
}

.pika-prev.is-disabled,
.pika-next.is-disabled {
    cursor: default;
    opacity: .2;
}

.pika-select {
    display: inline-block;
}

.pika-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
}

.pika-table th,
.pika-table td {
    width: 14.285714285714286%;
    padding: 0;
}

.pika-table th {
    color: #999;
    font-size: 12px;
    line-height: 25px;
    font-weight: bold;
    text-align: center;
}

.pika-button {
    cursor: pointer;
    display: block;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    outline: none;
    border: 0;
    margin: 0;
    width: 100%;
    padding: 5px;
    color: #666;
    font-size: 12px;
    line-height: 15px;
    text-align: right;
    background: #f5f5f5;
    height: initial;
}

.pika-week {
    font-size: 11px;
    color: #999;
}

.is-today .pika-button {
    color: #33aaff;
    font-weight: bold;
}

.is-selected .pika-button,
.has-event .pika-button {
    color: #fff;
    font-weight: bold;
    background: #33aaff;
    box-shadow: inset 0 1px 3px #178fe5;
    border-radius: 3px;
}

.has-event .pika-button {
    background: #005da9;
    box-shadow: inset 0 1px 3px #0076c9;
}

.is-disabled .pika-button,
.is-inrange .pika-button {
    background: #D5E9F7;
}

.is-startrange .pika-button {
    color: #fff;
    background: #6CB31D;
    box-shadow: none;
    border-radius: 3px;
}

.is-endrange .pika-button {
    color: #fff;
    background: #33aaff;
    box-shadow: none;
    border-radius: 3px;
}

.is-disabled .pika-button {
    pointer-events: none;
    cursor: default;
    color: #999;
    opacity: .3;
}

.is-outside-current-month .pika-button {
    color: #999;
    opacity: .3;
}

.is-selection-disabled {
    pointer-events: none;
    cursor: default;
}

.pika-button:hover,
.pika-row.pick-whole-week:hover .pika-button {
    color: #fff;
    background: #ff8000;
    box-shadow: none;
    border-radius: 3px;
}

/* styling for abbr */
.pika-table abbr {
    border-bottom: none;
    cursor: help;
}

/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/app.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
:root {
  --font-sans: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --text: #25435c;
  --muted: #6a7d90;
  --line: #c5cbd3;
  --bg: #fff;
  --bg-header: #f0f4f8;
  --white: #fff;
  --less-white: #eff7ff;
  --blue-800: #266099;
  --blue-700: #1e5ea9; /* active main */
  --blue-600: #2f6fb9;
  --blue-500: #3f82ca;
  --green-500: #43f7a3;
  --green-600: #1ea567; /* active sub */
  --green-700: #129157;
  --green-800: #0e7847;
  --green-900: #1a806f;
  --callout-main: #2b74c8; /* hover underline for menu */
  --callout-sub: #129157;
  --side-w: 220px;
  --side-w-collapsed: 56px;
  /* layout dimensions */
  --footer-h: 52px;
}

/* Base */
html,
body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.4;
  color: var(--text);
}

body {
  background: var(--bg);
  margin: 0;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow: hidden auto;
}

/* Ensure SPA shell can push footer to bottom on short pages */
#react-root {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

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

/* Badge (used across main, sub and side menus) */
.badge {
  background: #ff6c00;
  color: #fff;
  font-size: 12px;
  padding: 2px 5px;
  border-radius: 5px;
  line-height: 1;
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  cursor: pointer;
  border: 1px solid transparent;
  justify-content: center;
}
.btn .ico {
  display: inline-flex;
  width: 1.1em;
  height: 1.1em;
  align-items: center;
  justify-content: center;
}
.btn .label {
  white-space: nowrap;
}
.btn.ghost {
  background: var(--white);
  color: var(--blue-700);
  border-bottom: 2px solid var(--blue-600);
}
.btn.primary {
  background: var(--blue-700);
  color: var(--white);
  border-bottom: 2px solid #fff;
}
.btn.success {
  background: var(--green-600);
  color: var(--white);
  border-bottom: 2px solid #fff;
}

/* Fonts-loading overlay and spinner */
.cm-fonts-overlay {
  position: fixed;
  inset: 0;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.cm-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid rgba(0, 0, 0, 0.1);
  border-top-color: var(--blue-600);
  border-radius: 50%;
  animation: cm-spin 0.8s linear infinite;
}

/* Header */
.cm-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: var(--bg-header);
  border-bottom: 1px solid var(--line);
  min-height: 80px;
  box-sizing: border-box;
  padding: 0 16px;
}
.cm-header-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 80px;
}
.cm-header .cm-logo {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cm-header .cm-logo .logo-img {
  height: clamp(34px, 8vw, 50px);
  display: block;
  width: auto;
}
.cm-header .cm-logo .letters text,
.cm-header .cm-logo .letters rect {
  transition: fill 2s ease;
  /* restore = slower */
}
.cm-header .cm-logo .letters text:hover,
.cm-header .cm-logo .letters rect:hover {
  fill: var(--green-600);
  transition: fill 0.2s ease;
}
.cm-header .cm-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 12px;
}

.cm-header.is-auth {
  border-bottom: 0;
}

.cm-header:not(.is-auth) .cm-subbar {
  border-top: 1px solid var(--line);
}

.cm-header.is-auth .cm-subbar {
  border-bottom: 1px solid var(--line);
}

/* Toggle (hamburger) */
.cm-toggle {
  width: 56px;
  height: 56px;
  border: 0;
  background: transparent;
  display: none;
  align-items: center;
  justify-content: center;
  margin-left: -16px;
  cursor: pointer;
}
.cm-toggle span,
.cm-toggle span::before,
.cm-toggle span::after {
  content: "";
  display: block;
  width: 18px;
  height: 1px;
  background: #3a556a;
  position: relative;
}
.cm-toggle span::before {
  position: absolute;
  top: -5px;
}
.cm-toggle span::after {
  position: absolute;
  top: 5px;
}

/* Desktop horizontal menus */
.cm-mainbar,
.cm-subbar {
  display: none;
  margin: 0 -16px;
}
.cm-mainbar ul,
.cm-subbar ul {
  list-style: none;
  margin: 0;
  padding: 0 12px;
  display: flex;
  flex-wrap: wrap;
  /* allow multi-line when width is tight */
  gap: 3px;
}

.cm-mainbar {
  position: relative;
  z-index: 2; /* ensure subbar drops behind */
  background: var(--bg-header); /* solid surface to occlude subbar while overlapping */
  margin-top: 0; /* no overlap with header */
  font-size: clamp(14px, 1.05vw, 16px); /* fluid text */
  border-bottom: 1px solid #ccc;
}
.cm-mainbar ul {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}
.cm-mainbar ul li a {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 clamp(6px, 0.8vw, 14px); /* fluid padding */
  position: relative;
  background: #fff;
  border-bottom: 1px solid var(--blue-500);
}
.cm-mainbar ul li.is-active a,
.cm-mainbar ul li a.is-active {
  background: var(--blue-700);
  color: var(--white) !important;
}
.cm-mainbar .ico {
  display: inline-flex;
  width: 1.125em;
  height: 1.125em;
  align-items: center;
  justify-content: center;
}
.cm-mainbar .label {
  white-space: nowrap;
}
.cm-mainbar li.is-active a,
.cm-mainbar a.is-active,
.cm-mainbar li:not(.is-active) a:hover,
.cm-mainbar a:not(.is-active):hover {
  color: var(--blue-500);
}
.cm-mainbar li.is-active a::after,
.cm-mainbar a.is-active::after,
.cm-mainbar li:not(.is-active) a:hover::after,
.cm-mainbar a:not(.is-active):hover::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--blue-500);
}

.cm-subbar {
  position: relative;
  z-index: 1;
  font-size: clamp(13px, 0.95vw, 15px); /* fluid text size to mirror mainbar */
  background-color: #e3edf5;
  overflow: hidden; /* clip sliding sublist during swap */
  margin-bottom: -1px;
  /* animated sublist swapping */
}
.cm-subbar .sublist {
  will-change: transform;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}
.cm-subbar .sublist.is-swap-out {
  animation: cm-sublist-out 140ms ease forwards;
}
.cm-subbar .sublist.is-swap-in {
  animation: cm-sublist-in 160ms ease forwards;
}
.cm-subbar.is-enter {
  animation: cm-subbar-drop 220ms ease-out both;
  transform-origin: top;
  will-change: transform, opacity;
}
.cm-subbar.is-hidden {
  display: none;
}
.cm-subbar li a {
  background: #d7e2ed;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 clamp(6px, 0.7vw, 12px); /* fluid padding */
  line-height: 36px;
  position: relative;
}
.cm-subbar li.is-active a,
.cm-subbar li a.is-active {
  background: var(--green-600);
  color: var(--white) !important;
}
.cm-subbar .ico {
  display: inline-flex;
  width: 1.1em;
  height: 1.1em;
  align-items: center;
  justify-content: center;
}
.cm-subbar .label {
  white-space: nowrap;
}
.cm-subbar li.is-active a,
.cm-subbar a.is-active,
.cm-subbar li:not(.is-active) a:hover,
.cm-subbar a:not(.is-active):hover {
  color: var(--green-800);
}
.cm-subbar li.is-active a::after,
.cm-subbar a.is-active::after,
.cm-subbar li:not(.is-active) a:hover::after,
.cm-subbar a:not(.is-active):hover::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--green-700);
}

/* Side menu (tablet + mobile) */
.cm-side {
  max-width: 320px;
  position: fixed;
  top: 80px;
  left: 0;
  /* do not overlap footer: constrain height to viewport minus header and footer */
  bottom: auto;
  width: var(--side-w);
  background: #f0f4f8;
  border-right: 1px solid var(--line);
  display: none;
  z-index: 40;
  transform: translateX(0);
  transition: transform 0.25s ease, width 0.2s ease;
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  padding-bottom: var(--footer-h);
}
.cm-side-head {
  display: flex;
  align-items: center;
  height: 44px;
  padding: 0 12px;
  background: var(--blue-700);
  color: #fff;
}
.cm-side-title {
  font-weight: 700;
  margin-left: 6px;
}
.cm-side .cm-collapse {
  border: 0;
  background: transparent;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: #fff;
  cursor: pointer;
}
.cm-side .cm-collapse .chev {
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(225deg);
  transition: transform 0.2s ease;
}
.cm-side .cm-collapse.is-collapsed .chev {
  transform: rotate(45deg);
}

/* Unified side list (main + subgroups) */
.cm-side-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cm-side-list .nav {
  height: 42px;
  box-sizing: border-box;
  padding: 10px 12px 10px 14px;
  color: #244b6b;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.cm-side-list .nav .ico {
  display: inline-flex;
  width: 18px;
  height: 18px;
  margin-right: 6px;
  flex: 0 0 18px;
}
.cm-side-list .nav .label {
  flex: 1 1 auto;
  font-size: 13px;
  white-space: nowrap;
}
.cm-side-list .nav.main {
  font-size: 14px;
}
.cm-side-list .nav.sub {
  font-size: 13px;
}
.cm-side-list .nav.main.is-active {
  background: var(--blue-700);
  color: #fff;
}
.cm-side-list .nav.sub.is-active {
  background: var(--green-600);
  color: #fff;
}
.cm-side-list .nav.main.is-active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  bottom: 1px;
  width: 3px;
  background: var(--blue-500);
}
.cm-side-list .nav.sub.is-active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  bottom: 1px;
  width: 3px;
  background: var(--green-700);
}
.cm-side-list .nav.main:not(.is-active):hover {
  color: var(--callout-main);
}
.cm-side-list .nav.sub:not(.is-active):hover {
  color: var(--callout-sub);
}
.cm-side-list .nav.main:not(.is-active):hover::before, .cm-side-list .nav.sub:not(.is-active):hover::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  bottom: 1px;
  width: 3px;
  background: currentColor;
}
.cm-side-list {
  /* Submenu wrapper: slightly indented */
}
.cm-side-list .subwrap {
  background-color: #e3edf5;
  padding-left: 10px;
  border-left: 1px solid #e3edf5; /* accordion behavior */
  max-height: 0;
  overflow: hidden;
  will-change: max-height;
  transition: max-height 240ms ease;
}
.cm-side-list .subwrap.is-open {
  max-height: 1000px;
  border-bottom: 1px solid #ccc; /* large enough for expected items */
}

/* Tablet collapsed: only icons; remove indent and hide overflow */
@media (max-width: 1024px) {
  body.cm-side-collapsed .cm-side {
    overflow: hidden;
  }
  body.cm-side-collapsed .cm-side-list .subwrap {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
  }
  body.cm-side-collapsed .cm-side-list .nav {
    justify-content: center;
    padding: 10px;
  }
  body.cm-side-collapsed .cm-side-list .nav .label, body.cm-side-collapsed .cm-side-list .nav .badge {
    display: none;
  }
  body.cm-side-collapsed .cm-side-list .nav .ico {
    margin-right: 0;
  }
}
/* Backdrop for overlay (tablet + mobile) */
.cm-backdrop {
  position: fixed;
  inset: 80px 0 0 0;
  background: rgba(0, 0, 0, 0.25);
  display: none;
  z-index: 35;
}

.cm-menu-open .cm-backdrop {
  display: block;
}

/* Sliding diagonal background used by the title band */
@keyframes cm-title-slide {
  0% {
    transform: translateX(-25%);
  }
  100% {
    transform: translateX(25%);
  }
}
/* Subbar drop-down */
@keyframes cm-subbar-drop {
  0% {
    opacity: 0;
    transform: translateY(-8px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Sublist swap */
@keyframes cm-sublist-out {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-120%);
  }
}
@keyframes cm-sublist-in {
  from {
    transform: translateX(120%);
  }
  to {
    transform: translateX(0);
  }
}
/* Title band color cycling (non-home pages) */
@keyframes cm-title-band {
  0% {
    background-color: var(--blue-700);
  }
  40% {
    background-color: var(--blue-700);
  }
  50% {
    background-color: var(--green-900);
  }
  90% {
    background-color: var(--green-900);
  }
  100% {
    background-color: var(--blue-700);
  }
}
/* Generic spinner */
@keyframes cm-spin {
  to {
    transform: rotate(360deg);
  }
}
.cm-content {
  padding: 20px;
  flex: 1 0 auto;
}
.cm-content h2 {
  color: var(--green-600);
}
.cm-content a:not([class]),
.cm-content a[class=""] {
  color: var(--blue-500);
}

/* Constrain and center main page content */
.cm-content > .page {
  max-width: 1404px;
  /* = 1440 - 2*16 */
  margin-left: auto;
  margin-right: auto;
}

/* Shared CTA Cards (pages copy sections) */
.cm-content > .page .copy .ctas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 50px;
}
.cm-content > .page .copy .ctas .cta-link {
  --accent: var(--blue-600);
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  background: #fff;
  transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease, background-color 120ms ease;
}
.cm-content > .page .copy .ctas .cta-link .ico {
  width: 1.3em;
  height: 1.3em;
  display: inline-flex;
  color: var(--accent);
  margin-top: 2px;
}
.cm-content > .page .copy .ctas .cta-link .text {
  display: grid;
  gap: 4px;
}
.cm-content > .page .copy .ctas .cta-link .label {
  font-weight: 700;
}
.cm-content > .page .copy .ctas .cta-link .desc {
  color: var(--muted);
  font-size: 0.95em;
  line-height: 1.35;
}
.cm-content > .page .copy .ctas .cta-link:hover {
  transform: translateY(-1px);
  border-color: var(--accent);
  background: var(--less-white);
}

/* Shared panels and facts lists */
.page .panel {
  background: #fff;
  border: 1px solid var(--line);
  padding: 16px;
  margin: 24px 0;
}
.page .panel > header {
  font-weight: 800;
  color: #2e6da4;
  margin-bottom: 8px;
}
.page .facts {
  list-style: none;
  margin: 0;
  padding: 0;
}
.page .facts li {
  padding: 6px 0;
}
.page .facts li span {
  display: inline-block;
  min-width: 220px;
  color: var(--muted);
}

/* Title band styles (shared across pages) */
.cm-content > div > h1 {
  color: white;
  margin: -20px;
  padding: 20px;
  margin-bottom: 50px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  /* keep pseudo-elements behind text */
  background: none;
  /* background via pseudo-elements */
}
.cm-content {
  /* Animated diagonal gradient layers behind H1 */
}
.cm-content > div > h1::before,
.cm-content > div > h1::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50%;
  right: -50%;
  z-index: -1;
  opacity: 1;
  background-image: linear-gradient(-60deg, var(--green-900) 50%, var(--blue-700) 50%);
  transform: translateX(-25%);
  animation: cm-title-slide 30s ease-in-out infinite alternate;
  will-change: transform;
}
.cm-content {
  /* Second layer for parallax feel */
}
.cm-content > div > h1::after {
  opacity: 0.6;
  background-image: linear-gradient(-60deg, var(--green-800) 50%, var(--blue-800) 50%);
  animation-duration: 45s;
  animation-direction: alternate-reverse;
}

/* Full-bleed band at desktop widths */
@media (min-width: 1025px) {
  .cm-content > div > h1 {
    margin: -20px calc((100% - 100vw) / 2);
    padding: 20px calc((100vw - 100%) / 2);
    width: 100vw;
    margin-bottom: 50px;
  }
}
/* Reduced motion: fall back to static band */
@media (prefers-reduced-motion: reduce) {
  .cm-content > div > h1 {
    animation: none !important;
    background-color: var(--blue-700);
  }
  .cm-content > div > h1::before,
  .cm-content > div > h1::after {
    animation: none !important;
    transform: none !important;
    background-image: linear-gradient(-60deg, var(--green-900) 50%, var(--blue-700) 50%);
  }
}
/* Two-up panel layout for Home */
.page .panel.panel-flex {
  display: flex;
  gap: 24px;
  align-items: stretch;
  flex-wrap: wrap;
  background: none;
  border: none;
  padding: 0;
}

.page .panel.panel-flex .panel-block {
  flex: 1 1 320px;
  min-width: 280px;
  background: #fff;
  border: 1px solid var(--line);
  padding: 16px;
  margin: 0;
}

/* Onde estamos block */
.page .onde-estamos h2 {
  margin-top: 0;
  margin-bottom: 10px;
}

.page .onde-estamos .onde-estamos-content {
  display: flex;
  gap: 10px;
  align-items: start;
  justify-content: space-evenly;
  flex-wrap: wrap;
}

.page .onde-estamos .onde-estamos-content p {
  flex: 1;
}

.page .onde-estamos .onde-estamos-list {
  list-style: none;
  padding: 0;
  margin: 10px 0;
  display: flex;
  gap: 20px;
}

.page .onde-estamos .onde-estamos-list li {
  position: relative;
  padding-left: 28px;
  margin: 10px 0;
  color: #1d3b53;
}

.page .onde-estamos .onde-estamos-list li::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 2px;
  position: absolute;
  left: 0;
  top: 0.2em;
}

/* Specific colors matching mapa.svg */
.page .onde-estamos .onde-estamos-list li.porto::before {
  background: #378CBE;
}

.page .onde-estamos .onde-estamos-list li.matosinhos::before {
  background: #65915E;
}

.page .onde-estamos .onde-estamos-list li.maia::before {
  background: #FFC34A;
}

/* Map image sizing */
.page .onde-estamos .mapa {
  width: clamp(120px, 40%, 180px);
  height: auto;
  display: block;
  margin-top: -35px;
}

/* Stack neatly on smaller screens */
/* Fair Policy layout */
.cm-content > .page.fair-policy .policy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
}
.cm-content > .page.fair-policy .policy-card {
  display: grid;
  grid-template-columns: 160px 1fr;
  align-items: start;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--line);
  padding: 16px;
  border-left: 4px solid var(--accent, var(--blue-600));
}
.cm-content > .page.fair-policy .policy-card .media {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8fbff;
  border: 1px solid #e2ebf5;
  width: 100%;
  aspect-ratio: 1/1;
  height: auto;
}
.cm-content > .page.fair-policy .policy-card .media .thumb {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 160px;
  object-fit: cover;
}
.cm-content > .page.fair-policy .policy-card h2 {
  margin-top: 0;
  margin-bottom: 6px;
}
.cm-content > .page.fair-policy .policy-card p {
  margin-top: 6px;
}
.cm-content > .page.fair-policy .copy .ctas .cta-link:nth-child(1) {
  --accent: var(--green-600);
}
.cm-content > .page.fair-policy .copy .ctas .cta-link:nth-child(2) {
  --accent: var(--callout-main);
}
@media (max-width: 1024px) {
  .cm-content > .page.fair-policy .policy-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .cm-content > .page.fair-policy .policy-card {
    grid-template-columns: 1fr;
  }
  .cm-content > .page.fair-policy .policy-card .media {
    width: 100%;
    aspect-ratio: auto;
    margin: 0 auto 8px;
  }
  .cm-content > .page.fair-policy .policy-card .media .thumb {
    height: auto;
    max-height: 200px;
  }
}
.cm-content > .page.fair-policy {
  /* Tablet: stack media above text when side menu is open */
}
@media (min-width: 641px) and (max-width: 1024px) {
  body:not(.cm-side-collapsed) .cm-content > .page.fair-policy .policy-card {
    grid-template-columns: 1fr;
  }
  body:not(.cm-side-collapsed) .cm-content > .page.fair-policy .policy-card .media {
    width: 100%;
    margin: 0 auto 8px;
    aspect-ratio: auto;
  }
}
.cm-content > .page.fair-policy {
  /* Tablet ≥801px: with side menu open, return to side-by-side */
}
@media (min-width: 801px) and (max-width: 1024px) {
  body:not(.cm-side-collapsed) .cm-content > .page.fair-policy .policy-card {
    grid-template-columns: 160px 1fr;
  }
  body:not(.cm-side-collapsed) .cm-content > .page.fair-policy .policy-card .media {
    margin: 0;
    aspect-ratio: 1/1;
  }
}
.cm-content > .page.fair-policy {
  /* Accents per card for variety */
}
.cm-content > .page.fair-policy .policy-grid > .policy-card:nth-child(1) {
  --accent: #C4CEBC;
}
.cm-content > .page.fair-policy { /* soft sage */ }
.cm-content > .page.fair-policy .policy-grid > .policy-card:nth-child(2) {
  --accent: #D0D8DD;
}
.cm-content > .page.fair-policy { /* cool light gray-blue */ }
.cm-content > .page.fair-policy .policy-grid > .policy-card:nth-child(3) {
  --accent: #E6D8C3;
}
.cm-content > .page.fair-policy { /* pale sand */ }
.cm-content > .page.fair-policy .policy-grid > .policy-card:nth-child(4) {
  --accent: #D9C2A9;
}
.cm-content > .page.fair-policy { /* light earthy brown */ }
.cm-content > .page.fair-policy .policy-grid > .policy-card:nth-child(5) {
  --accent: #A8E5D0;
}
.cm-content > .page.fair-policy { /* very light teal */ }
.cm-content > .page.fair-policy .policy-grid > .policy-card:nth-child(6) {
  --accent: #6FD0B0;
}
.cm-content > .page.fair-policy { /* light teal */ }
.cm-content > .page.fair-policy .policy-grid > .policy-card:nth-child(7) {
  --accent: #B3D7F2;
}
.cm-content > .page.fair-policy { /* light sky blue */ }
.cm-content > .page.fair-policy .policy-grid > .policy-card:nth-child(8) {
  --accent: #3380CC;
}
.cm-content > .page.fair-policy { /* brand blue */ }
.cm-content > .page.fair-policy .policy-grid > .policy-card:nth-child(9) {
  --accent: #266099;
}

/* A Condomista page: automatic no-scroll layout using flex-wrap. */
.cm-content > .page.condomista .inner {
  display: flex;
  flex-wrap: wrap-reverse;
  gap: 24px;
  align-items: flex-start;
}
.cm-content > .page.condomista .copy {
  order: 1;
  flex: 1 1 40ch;
  min-width: 28ch;
  font-size: 1.05rem;
  line-height: 1.6;
  align-self: start;
}
.cm-content > .page.condomista .copy p {
  margin: 0 0 1em;
}
.cm-content > .page.condomista .media {
  order: 2;
  flex: 0 1 300px;
  min-width: 260px;
  display: flex;
  justify-content: center;
  align-self: start;
  margin: 0 auto;
}
.cm-content > .page.condomista .media img {
  max-width: 300px;
  width: 100%;
  height: auto;
  display: block;
}
.cm-content > .page.condomista .copy .ctas .cta-link:nth-child(1) {
  --accent: var(--green-600);
}
.cm-content > .page.condomista .copy .ctas .cta-link:nth-child(2) {
  --accent: var(--callout-main);
}

@media (min-width: 1025px) {
  .cm-content > .page.condomista .media {
    flex: 0 1 420px;
  }
  .cm-content > .page.condomista .media img {
    max-width: 420px;
  }
}
/* Contas organizadas page: same responsive two-column layout as Condomista */
.cm-content > .page.organized-accounts .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: flex-start;
}
.cm-content > .page.organized-accounts .copy {
  order: 1;
  flex: 1 1 40ch;
  min-width: 28ch;
  font-size: 1.05rem;
  line-height: 1.6;
  align-self: start;
}
.cm-content > .page.organized-accounts .copy p {
  margin: 0 0 1em;
}
.cm-content > .page.organized-accounts .media {
  order: 2;
  flex: 0 1 300px;
  min-width: 260px;
  display: flex;
  justify-content: center;
  align-self: start;
  margin: 0 auto;
}
.cm-content > .page.organized-accounts .media img {
  max-width: 300px;
  width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 1025px) {
  .cm-content > .page.organized-accounts .media {
    flex: 0 1 420px;
  }
  .cm-content > .page.organized-accounts .media img {
    max-width: 420px;
  }
}
.cm-content > .page.organized-accounts {
  /* Accents per card (overrides shared defaults) */
}
.cm-content > .page.organized-accounts .copy .ctas .cta-link:nth-child(1) {
  --accent: var(--green-600);
}
.cm-content > .page.organized-accounts .copy .ctas .cta-link:nth-child(2) {
  --accent: var(--callout-main);
}

/* Atenção e Qualidade page */
.cm-content > .page.attention-quality .section {
  margin: 30px 0 50px;
  display: grid;
  grid-template-columns: minmax(260px, 300px) 1fr;
  grid-template-areas: "media title" "media copy";
  column-gap: 24px;
  row-gap: 12px;
  align-items: start;
}
.cm-content > .page.attention-quality .section .inner {
  display: contents;
}
.cm-content > .page.attention-quality .section > h2 {
  grid-area: title;
  margin: 0 0 8px;
}
.cm-content > .page.attention-quality .section .copy {
  grid-area: copy;
  font-size: 1.05rem;
  line-height: 1.6;
}
.cm-content > .page.attention-quality .section .media {
  grid-area: media;
  display: flex;
  justify-content: center;
  align-self: start;
}
.cm-content > .page.attention-quality .section .media img {
  max-width: 300px;
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 1024px) {
  .cm-content > .page.attention-quality .section {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "media" "copy";
  }
}
.cm-content > .page.attention-quality .section {
  --accent: var(--blue-600);
}
.cm-content > .page.attention-quality .section.problem {
  --accent: #e1675a;
}
.cm-content > .page.attention-quality .section.value {
  --accent: var(--green-600);
}
.cm-content > .page.attention-quality .section .copy ul {
  list-style: none;
  margin: 0 0 1.2em;
  padding: 0;
  display: grid;
  gap: 14px;
}
.cm-content > .page.attention-quality .section .copy ul li {
  position: relative;
  padding-left: 40px;
  line-height: 1.55;
}
.cm-content > .page.attention-quality .section .copy ul li::before {
  content: "➜";
  position: absolute;
  left: 6px;
  top: 0.2em;
  font-size: 1.1em;
  line-height: 1;
  color: var(--accent);
}
.cm-content > .page.attention-quality .copy .ctas .cta-link:nth-child(1) {
  --accent: var(--green-600);
}
.cm-content > .page.attention-quality .copy .ctas .cta-link:nth-child(2) {
  --accent: var(--callout-main);
}

/* Contact page: info + map grid */
.cm-content > .page.contact .panel {
  border: 0;
  padding: 0;
  margin: 0;
}
.cm-content > .page.contact .contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
  margin-top: 20px;
}
.cm-content > .page.contact .contact-grid .left {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.cm-content > .page.contact .contact-info .field {
  margin: 0 0 8px;
}
.cm-content > .page.contact .contact-cta .ctas {
  margin-top: 0;
}
.cm-content > .page.contact .contact-cta .actions {
  margin-top: 12px;
}
.cm-content > .page.contact .contact-map .map-embed {
  width: 100%;
  min-height: 260px;
  background: #f8fbff;
  border: 1px solid #e2ebf5;
}
@media (max-width: 1024px) {
  .cm-content > .page.contact .contact-grid {
    grid-template-columns: 1fr;
  }
}

/* Quiz (Precisa mudar?) */
.page.quiz .quiz-intro {
  max-width: 840px;
  margin: 20px auto 0;
  display: grid;
  gap: 14px;
  text-align: center;
}
.page.quiz .quiz-progress {
  margin: 10px 0 20px;
}
.page.quiz .quiz-progress .bar {
  height: 8px;
  background: #e6eef6;
  border-radius: 6px;
  overflow: hidden;
}
.page.quiz .quiz-progress .bar span {
  display: block;
  height: 100%;
  width: 0;
  background: var(--blue-700);
  transition: width 0.25s ease;
}
.page.quiz .quiz-progress .lean {
  height: 6px;
  background: #e6eef6;
  border-radius: 6px;
  overflow: hidden;
}
.page.quiz .quiz-progress .lean span {
  display: block;
  height: 100%;
  width: 0;
  background: var(--blue-700);
  transition: width 0.25s ease;
}
.page.quiz .question {
  font-weight: 800;
  margin: 8px 0;
}
.page.quiz .options {
  display: grid;
  gap: 8px;
  margin: 10px 0 18px;
}
.page.quiz .options .btn {
  justify-content: center;
}
.page.quiz .summary {
  margin-top: 20px;
}
.page.quiz .summary .bar {
  height: 8px;
  background: #e6eef6;
  border-radius: 6px;
  overflow: hidden;
}
.page.quiz .summary .bar span {
  display: block;
  height: 100%;
  width: 0;
  background: var(--green-600);
  transition: width 0.25s ease;
}
.page.quiz .quiz-progress .lean {
  position: relative;
  height: 10px;
  background: #e6eef6;
  border-radius: 6px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
}
.page.quiz .quiz-progress .lean .half {
  position: relative;
  width: 100%;
  height: 100%;
}
.page.quiz .quiz-progress .lean .half.left .fill {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 0;
  transition: width 0.25s ease;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.page.quiz .quiz-progress .lean .half.right .fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0;
  transition: width 0.25s ease;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
.page.quiz .quiz-progress .lean .center-marker {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #c5cbd3;
  transform: translateX(-1px);
  pointer-events: none;
}
.page.quiz .quiz-progress .lean .fill.ok {
  background: var(--green-600);
}
.page.quiz .quiz-progress .lean .fill.warn {
  background: #ffb347;
}
.page.quiz .quiz-progress .lean .fill.critical {
  background: #d64545;
}
.page.quiz .quiz-progress .meta {
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.95em;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}
.page.quiz .quiz-progress .meta .side {
  color: inherit;
}
.page.quiz .quiz-progress .meta .center {
  margin-left: auto;
  margin-right: auto;
  font-weight: 600;
  color: #647b8c;
}
.page.quiz .quiz-progress .meta .left {
  order: 1;
  left: 0;
  position: absolute;
}
.page.quiz .quiz-progress .meta .center {
  order: 2;
}
.page.quiz .quiz-progress .meta .right {
  order: 3;
  right: 0;
  position: absolute;
}
.page.quiz .quiz-progress .meta .remaining {
  order: 4;
}
.page.quiz .quiz-step {
  max-width: 840px;
  margin: 0 auto;
}
.page.quiz .quiz-step .q {
  margin: 0 0 16px 0;
  color: var(--blue-700);
  font-size: clamp(20px, 3.3vw, 28px);
}
.page.quiz .quiz-step .q-help {
  margin: -10px 0 14px 0;
  color: var(--muted);
  font-size: 0.95em;
}
.page.quiz .quiz-step .quiz-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, max-content));
  gap: 10px;
}
.page.quiz .quiz-step .remaining-bottom {
  margin-top: 12px;
  color: var(--muted);
  font-size: 0.95em;
  display: flex;
  align-items: center;
  gap: 8px;
}
.page.quiz .quiz-step .almost-done {
  color: var(--green-700);
  font-weight: 600;
}
.page.quiz .quiz-result {
  max-width: 840px;
  margin: 10px auto 0;
  display: grid;
  gap: 0;
}
.page.quiz .quiz-result .final-advices li {
  margin-bottom: 5px;
}
.page.quiz .quiz-result p {
  margin: 5px;
}
.page.quiz .quiz-result h2 {
  margin-top: 0;
}
.page.quiz .quiz-result .verdict-tag {
  display: inline-block;
  padding: 15px;
  font-weight: 700;
  margin-bottom: 10px;
}
.page.quiz .quiz-result .verdict-tag.ok {
  background: #e7f6ed;
  color: #136f3a;
}
.page.quiz .quiz-result .verdict-tag.warn {
  background: #fff6e6;
  color: #8a5700;
}
.page.quiz .quiz-result .verdict-tag.critical {
  background: #ffe6e6;
  color: #8a0000;
}
.page.quiz .quiz-result .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 30px auto 0 auto;
}

/* Pedir proposta (wizard) */
.page.request-proposal .wizard, .page.request-proposal .quiz-progress {
  max-width: 980px;
  margin: 0 auto;
}
.page.request-proposal .wizard-step {
  margin-top: 16px;
}
.page.request-proposal .wizard-step > h2 {
  color: var(--blue-700);
  margin: 0 0 12px 0;
}
.page.request-proposal .field-row {
  display: grid;
  gap: 6px;
  margin: 10px 0;
}
.page.request-proposal .field-row label {
  font-weight: 700;
}
.page.request-proposal .field-row .help {
  color: var(--muted);
  font-size: 0.95em;
  margin-top: 4px;
}
.page.request-proposal .field-error {
  color: #b3261e;
  font-size: 0.95em;
  margin-top: 4px;
}
.page.request-proposal .grid-2 {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  align-items: flex-start;
}
.page.request-proposal .date-input-wrap {
  position: relative;
}
.page.request-proposal .date-input-wrap input[type=text]#data-asm {
  padding-right: 38px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2718%27 height=%2718%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23577aa5%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Crect x=%273%27 y=%274%27 width=%2718%27 height=%2718%27 rx=%272%27 ry=%272%27/%3E%3Cline x1=%2716%27 y1=%272%27 x2=%2716%27 y2=%276%27/%3E%3Cline x1=%278%27 y1=%272%27 x2=%278%27 y2=%276%27/%3E%3Cline x1=%273%27 y1=%2710%27 x2=%2721%27 y2=%2710%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
}
.page.request-proposal .align-end {
  align-items: end;
}
.page.request-proposal input[type=text], .page.request-proposal input[type=email], .page.request-proposal input[type=tel], .page.request-proposal input[type=number], .page.request-proposal input[type=date], .page.request-proposal select {
  appearance: none;
  border: 1px solid var(--line);
  padding: 10px 12px;
  background: #fff;
  border-radius: 6px;
  font: inherit;
}
.page.request-proposal .is-invalid {
  border-color: #b3261e !important;
  box-shadow: 0 0 0 2px rgba(179, 38, 30, 0.12) inset;
}
.page.request-proposal input:disabled, .page.request-proposal select:disabled {
  color: var(--muted);
  background: #f5f7fa;
  border-color: #dfe6ee;
}
.page.request-proposal {
  /* Radio/checkbox options as pills */
}
.page.request-proposal .options-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, max-content));
  gap: 10px;
}
.page.request-proposal .opt {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  padding: 10px 12px;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  user-select: none;
}
.page.request-proposal .opt input {
  display: none;
}
.page.request-proposal .opt.is-active {
  outline: 2px solid var(--blue-600);
  background: var(--less-white);
}
.page.request-proposal {
  /* Checkbox grid for installations */
}
.page.request-proposal .checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 8px;
}
.page.request-proposal .chk {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  padding: 10px 12px;
  border-radius: 6px;
  background: #fff;
}
.page.request-proposal .chk input {
  accent-color: var(--blue-700);
}
.page.request-proposal .chk.is-active {
  background: var(--less-white);
}
.page.request-proposal .chk-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.page.request-proposal {
  /* Availability grid */
}
.page.request-proposal .availability {
  margin-top: 16px;
}
.page.request-proposal .availability > header {
  font-weight: 800;
  color: var(--green-700);
}
.page.request-proposal .availability .chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 12px;
}
.page.request-proposal .availability .chip {
  border: 1px solid var(--line);
  background: #fff;
  padding: 6px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.95em;
}
.page.request-proposal .availability .chip:hover {
  background: var(--less-white);
}
.page.request-proposal .availability .chip.clear {
  color: #8a0000;
  border-color: #f0c4c4;
  background: #fff5f5;
}
.page.request-proposal .grid-av {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  align-items: center;
  user-select: none;
  touch-action: none;
  margin-top: 30px;
}
.page.request-proposal .grid-av .head {
  color: var(--muted); /*font-weight: 700;*/
  text-align: center;
}
.page.request-proposal .grid-av .day {
  padding: 8px 6px;
}
.page.request-proposal .grid-av .cell {
  display: grid;
  place-items: center;
  background: #fff;
  border: 2px solid var(--white);
  padding: 8px;
  cursor: crosshair;
}
.page.request-proposal .grid-av .cell:not(.is-on):hover {
  background: #e5effb;
}
.page.request-proposal .grid-av .cell.is-on {
  background: #e9fbe5;
}
.page.request-proposal .grid-av input[type=checkbox] {
  width: 18px;
  height: 18px;
  accent-color: var(--blue-700);
}
.page.request-proposal {
  /* Overlay to catch pointer drags across cells */
}
.page.request-proposal .paint-overlay {
  position: relative;
  grid-column: 1/-1;
}
.page.request-proposal .availability {
  position: relative;
}
.page.request-proposal .availability .paint-overlay {
  position: absolute;
  inset: 68px 0 0 0;
}
.page.request-proposal { /* roughly from below headers; fine for our grid spacing */ }
.page.request-proposal .wizard-actions {
  display: flex;
  gap: 10px;
  margin: 20px 0;
}
.page.request-proposal .step-error {
  margin-top: 6px;
  color: #b3261e;
}
.page.request-proposal .summary .panel div strong {
  display: inline-block;
  margin: 2px;
}

/* Homepage hero slideshow: span the content area (cancel cm-content padding) */
.cm-content > .page.home .home-hero {
  margin-left: -20px;
  margin-right: -20px;
  margin-top: -50px;
}

/* Desktop: make the home hero truly full-bleed again */
@media (min-width: 1025px) {
  .cm-content > .page.home .home-hero {
    width: 100vw;
    margin-left: calc((100% - 100vw) / 2);
    margin-right: calc((100% - 100vw) / 2);
  }
}
.hero-slideshow {
  position: relative;
  width: 100%;
  background: #000;
  overflow: hidden;
  --bullet: #ffffffdd;
  max-height: 60vh;
  min-height: 560px;
}

.hero-slideshow .slide.base {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: saturate(1.02);
  z-index: 0;
}

.hero-slideshow .tiles {
  position: absolute;
  inset: 0;
  display: grid;
  perspective: 800px;
  -webkit-perspective: 800px;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  z-index: 1;
}

.hero-slideshow .tile {
  background-repeat: no-repeat;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: rotateX(90deg);
  -webkit-transform: rotateX(90deg);
  will-change: transform, opacity;
  opacity: 0;
  transform-origin: center center;
}

.hero-slideshow .tile.is-b {
  transform: rotateY(90deg);
  -webkit-transform: rotateY(90deg);
}

.hero-slideshow .tile.is-flipping {
  transition: transform 700ms ease-in, opacity 600ms ease;
  transition-delay: var(--d, 0ms);
  transform: rotateX(0deg);
  -webkit-transform: rotateX(0deg);
  opacity: 1;
}

.hero-slideshow .tile.is-flipping.is-b {
  transform: rotateY(0deg);
  -webkit-transform: rotateY(0deg);
}

.hero-slideshow .bullets {
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}

.hero-slideshow .bullets span {
  width: 8px;
  height: 8px;
  border-radius: 10px;
  background: var(--bullet);
  opacity: 0.4;
  transition: opacity 0.2s ease, width 0.2s ease;
}

.hero-slideshow .bullets span.is-active {
  opacity: 1;
  width: 18px;
}

/* Overlay vs below CTA toggles */
/* Default: show overlay CTAs inside shouts, hide below block */
.home-hero .cta-below {
  display: none;
}

.shouts > div .cta.cta-overlay {
  display: flex;
}

@media (max-width: 1025px) {
  .shouts > div .cta.cta-overlay {
    display: none !important;
  }
  .home-hero .cta-below {
    display: block;
  }
}
/* Styling for the below CTA block */
.home-hero .cta-below {
  max-width: 1440px;
  margin: 30px auto 0;
  padding: 0 20px 10px;
  pointer-events: auto;
}

.home-hero .cta-below .ctas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  align-items: start;
}

.home-hero .cta-below .ctas .cta-link {
  --accent: var(--callout-main);
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  background: #fff;
  transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease, background-color 120ms ease;
}

.home-hero .cta-below .ctas .cta-link .ico {
  width: 1.3em;
  height: 1.3em;
  display: inline-flex;
  color: var(--accent);
  margin-top: 2px;
}

.home-hero .cta-below .ctas .cta-link .text {
  display: grid;
  gap: 4px;
}

.home-hero .cta-below .ctas .cta-link .label {
  font-weight: 800;
  color: #1d3b53;
}

.home-hero .cta-below .ctas .cta-link .desc {
  color: #365e7a;
  font-size: 0.95em;
  line-height: 1.35;
}

.home-hero .cta-below .ctas .cta-link:hover {
  transform: translateY(-1px);
  border-color: var(--accent);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

.home-hero .cta-below .ctas .cta-link:nth-child(1) {
  --accent: var(--green-600);
}

.home-hero .cta-below .ctas .cta-link:nth-child(2) {
  --accent: var(--callout-main);
}

.home-hero .cta-below .ctas .cta-link:nth-child(3) {
  --accent: var(--blue-700);
}

.shouts {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  pointer-events: none;
}

.shouts > div {
  max-width: 1440px;
  padding: 20px;
  margin: 0 auto;
}

.shouts > div h1, .shouts > div h3 {
  color: #fff;
  text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.8);
  font-weight: 800;
  letter-spacing: 0.3px;
  line-height: 1.2;
  max-width: 800px;
  width: 100%;
}

.shouts > div h1 strong, .shouts > div h3 strong {
  color: var(--green-500);
}

.shouts > div h1 {
  font-size: clamp(28px, 6vw, 48px);
  opacity: 1;
  transition: opacity 260ms ease;
  margin: 30px 0;
}

.shouts > div h1.is-fading {
  opacity: 0;
}

.shouts > div h3 {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  background: rgba(0, 0, 0, 0.3);
  display: inline;
  padding: 5px 10px;
}

.shouts > div p {
  color: #fff;
  background: rgba(36, 179, 131, 0.9);
  max-width: 800px;
  padding: 15px;
  letter-spacing: 0.3px;
  transition: transform 260ms ease;
  will-change: transform;
  text-align: justify;
}

.shouts > div p em {
  margin-top: 10px;
  display: block;
  font-style: normal;
  font-size: 1.3em;
}

.shouts > div .cta {
  display: flex;
  gap: 0 10px;
  margin-top: 0;
  pointer-events: auto;
  transition: transform 260ms ease;
  will-change: transform;
  padding: 0;
}

.shouts > div .cta p {
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7);
  position: absolute;
  margin-top: -75px;
  background: none;
  text-align: right;
}

.shouts > div .cta .ctas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(auto, 220px));
  justify-content: start;
  align-items: start;
  grid-auto-rows: max-content;
  gap: 12px;
  margin-top: 8px;
  max-width: 800px;
  width: fit-content;
}

.shouts > div .cta .ctas .cta-link {
  --accent: var(--callout-main);
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  background: rgba(255, 255, 255, 0.95);
  transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease, background-color 120ms ease;
  align-self: start;
  max-width: 380px;
}

.shouts > div .cta .ctas .ico {
  width: 1.3em;
  height: 1.3em;
  display: inline-flex;
  color: var(--accent);
  margin-top: 2px;
}

.shouts > div .cta .ctas .text {
  display: grid;
  gap: 4px;
}

.shouts > div .cta .ctas .label {
  font-weight: 800;
  color: #1d3b53;
}

.shouts > div .cta .ctas .desc {
  color: #365e7a;
  font-size: 0.95em;
  line-height: 1.35;
}

.shouts > div .cta .ctas .cta-link:hover {
  transform: translateY(-1px);
  border-color: var(--accent);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
  background: #fff;
}

.shouts > div .cta .ctas .cta-link:nth-child(1) {
  --accent: var(--green-600);
}

.shouts > div .cta .ctas .cta-link:nth-child(2) {
  --accent: var(--callout-main);
}

.shouts > div .cta .ctas .cta-link:nth-child(3) {
  --accent: var(--blue-700);
}

@media (min-width: 1025px) {
  .shouts > div {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "h3  cta" "h1  cta" "p   cta";
    column-gap: 24px;
    align-items: center;
    grid-auto-rows: min-content;
  }
  .shouts > div .cta {
    grid-area: cta;
    align-self: start;
    margin-top: 75px;
  }
  .shouts > div .cta .ctas {
    grid-template-columns: max-content;
    justify-content: start;
    align-items: start;
    width: auto;
  }
  .shouts > div h3 {
    grid-area: h3;
    justify-self: start;
    display: inline-block;
    width: fit-content;
  }
  .shouts > div h1 {
    grid-area: h1;
  }
  .shouts > div p {
    grid-area: p;
  }
}
.shouts .ctas .text {
  margin: 0;
}

@media (max-width: 1024px) {
  .shouts > div .cta {
    display: block;
  }
  .shouts > div > p {
    margin: 0 -20px;
    max-width: none;
  }
  .shouts > div .cta .ctas {
    grid-template-columns: repeat(auto-fit, minmax(220px, max-content));
    justify-content: center;
    align-items: start;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .shouts > div .cta p {
    grid-column: 1/-1;
    position: static;
    margin: 0 0 6px 0;
    text-align: center;
    background: none;
  }
}
/* Hero min-height tuning by breakpoints and side menu state */
@media (min-width: 1025px) and (max-width: 1150px) {
  .hero-slideshow {
    min-height: 540px;
  }
}
@media (min-width: 1151px) {
  .hero-slideshow {
    min-height: 500px;
  }
}
/* Tablet range (641px–1024px): conditional hero min-height by side menu state */
@media (min-width: 641px) and (max-width: 1024px) {
  body:not(.cm-side-collapsed) .hero-slideshow {
    min-height: 600px;
  }
  body.cm-side-collapsed .hero-slideshow {
    min-height: 480px;
  }
}
/* Tablet mid-range >840px: adjust hero min-height */
@media (min-width: 841px) and (max-width: 1024px) {
  body:not(.cm-side-collapsed) .hero-slideshow {
    min-height: 600px;
  }
  body.cm-side-collapsed .hero-slideshow {
    min-height: 480px;
  }
}
/* Mobile baseline */
@media (max-width: 640px) {
  .hero-slideshow {
    min-height: 480px;
  }
}
/* Footer */
.site-footer {
  min-height: var(--footer-h);
  margin-top: 50px;
  /* stick to bottom when content is short */
  background: var(--bg-header);
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 14px;
  position: relative;
  /* not sticky; stays in flow */
  z-index: 50;
  /* ensures footer draws above fixed side */
}
.site-footer .inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.site-footer .inner .left {
  display: flex;
  gap: 10px;
  align-items: center;
  text-align: center;
  flex: 9;
}
.site-footer .inner .right {
  flex: 8;
  text-align: end;
}
.site-footer a {
  color: inherit;
}
.site-footer .links {
  display: flex;
  gap: 16px;
  align-items: center;
}

@media (max-width: 1280px) {
  .cm-mainbar {
    margin-top: 0;
  }
}
@media (min-width: 1025px) {
  .cm-toggle {
    display: none;
  }
  .cm-mainbar,
  .cm-subbar {
    display: flex;
  }
  /* Ensure hidden state overrides desktop display */
  .cm-subbar.is-hidden {
    display: none !important;
  }
  /* Public header: inline mainbar next to logo */
  .cm-header-inner {
    gap: 16px;
    max-width: 1440px;
    margin: 0 auto;
  }
  .cm-header-inner .cm-mainbar.is-inline {
    display: flex;
    align-items: flex-end;
    /* align menu to bottom of header */
    flex: 1 1 auto;
    /* take remaining horizontal space */
    background: transparent;
    border-bottom: 0;
    padding-left: 36px;
  }
  .cm-header-inner .cm-mainbar.is-inline ul {
    display: flex;
    gap: 2px;
    padding: 0;
    margin: 0;
  }
}
/* Tablet: fixed rail + collapsible width (no overlay) */
@media (max-width: 1024px) {
  .cm-header {
    height: 80px;
  }
  .cm-header-inner {
    height: 80px;
    gap: 0;
  }
  .cm-toggle {
    display: flex;
  }
  body.cm-nav-disabled .cm-toggle {
    display: none !important;
  }
  .cm-mainbar, .cm-subbar {
    display: none;
  }
  .cm-side {
    display: block;
    position: fixed;
    top: 80px;
    left: 0;
    bottom: 0;
    width: var(--side-w);
    background: #f0f4f8;
    box-shadow: none;
    transform: translateX(0);
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
    padding-bottom: var(--footer-h);
  }
  .cm-content {
    margin-left: var(--side-w);
    transition: margin-left 0.2s ease;
  }
  body.cm-nav-disabled .cm-side {
    display: none !important;
  }
  body.cm-nav-disabled .cm-content {
    margin-left: 0 !important;
  }
  body.cm-side-collapsed .cm-side {
    width: var(--side-w-collapsed);
  }
  body.cm-side-collapsed .cm-content {
    margin-left: var(--side-w-collapsed);
  }
  /* Hover labels when collapsed */
  body.cm-side-collapsed .cm-side:hover {
    overflow: visible;
  }
  body.cm-side-collapsed .cm-side-list .nav {
    position: relative;
  }
  body.cm-side-collapsed .cm-side-list .nav:hover::after {
    content: attr(data-label);
    position: absolute;
    left: calc(100% + 8px);
    top: 50%;
    transform: translateY(-50%);
    background: var(--white);
    border: 1px solid var(--line);
    color: var(--text);
    padding: 6px 8px;
    white-space: nowrap;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
    z-index: 60;
    pointer-events: none;
  }
  body.cm-side-collapsed .cm-side-list .subwrap {
    overflow: hidden;
  }
  body.cm-side-collapsed .cm-side-list .subwrap:hover, body.cm-side-collapsed .cm-side-list .subwrap:has(.nav.sub:hover) {
    overflow: visible;
  }
}
/* Mobile: persistent collapsed rail; overlay when open */
@media (max-width: 640px) {
  .cm-header-inner {
    display: grid;
    grid-template-columns: 56px 1fr 56px;
    align-items: center;
    position: relative;
    gap: 0;
  }
  .cm-header .cm-logo {
    justify-self: center;
  }
  .cm-header .cm-right {
    justify-self: end;
  }
  .cm-header .cm-right .user-meta {
    display: none;
  }
  .cm-side {
    position: fixed;
    top: 80px;
    left: 0;
    bottom: 0;
    width: var(--side-w-collapsed);
    height: calc(100vh - 80px);
    background: #f0f4f8;
    box-shadow: none;
    transform: none;
    box-sizing: border-box;
    padding-bottom: var(--footer-h);
  }
  .cm-side.is-open {
    width: var(--side-w);
    background: rgba(240, 244, 248, 0.9607843137);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  }
  body.cm-nav-disabled .cm-toggle {
    display: none !important;
  }
  body.cm-nav-disabled .cm-side {
    display: none !important;
  }
  body.cm-nav-disabled .cm-content {
    margin-left: 0 !important;
  }
  body.cm-side-collapsed .cm-side.is-open {
    width: var(--side-w);
  }
  .cm-content {
    margin-left: var(--side-w-collapsed);
  }
  /* icons-only state when not open */
  .cm-side:not(.is-open):hover {
    overflow: visible;
  }
  .cm-side:not(.is-open) .cm-side-list .subwrap {
    overflow: hidden;
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
  }
  .cm-side:not(.is-open) .cm-side-list .subwrap:hover, .cm-side:not(.is-open) .cm-side-list .subwrap:has(.nav.sub:hover) {
    overflow: visible;
  }
  .cm-side:not(.is-open) .cm-side-list .nav {
    justify-content: center;
    padding: 10px;
  }
  .cm-side:not(.is-open) .cm-side-list .nav .label,
  .cm-side:not(.is-open) .cm-side-list .nav .badge {
    display: none;
  }
  .cm-side:not(.is-open) .cm-side-list .nav .ico {
    margin-right: 0;
  }
  .cm-side:not(.is-open) .cm-side-list .nav {
    position: relative;
  }
  .cm-side:not(.is-open) .cm-side-list .nav:hover::after {
    content: attr(data-label);
    position: absolute;
    left: calc(100% + 8px);
    top: 50%;
    transform: translateY(-50%);
    background: var(--white);
    border: 1px solid var(--line);
    color: var(--text);
    padding: 6px 8px;
    white-space: nowrap;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
    z-index: 60;
    pointer-events: none;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmU1MDRlNTJjLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSw4RkFBOEY7O0FBRTlGOzs7Q0FHQzs7QUFFRDs7Q0FFQzs7QUFFRDs7O0NBR0Msc0JBQXNCO0FBQ3ZCOztBQUVBO0NBQ0Msc0hBQXNIO0NBQ3RIOzs7Ozs7OztrQkFRaUI7Q0FDakIsaUJBQWlCLEVBQUUsZ0RBQWdEO0NBQ25FLDhCQUE4QixFQUFFLDBFQUEwRTtDQUMxRyxnQkFBZ0IsRUFBRSxtREFBbUQ7Q0FDckUsV0FBVyxFQUFFLE1BQU07QUFDcEI7O0FBRUE7OztDQUdDOztBQUVEO0NBQ0MsU0FBUyxFQUFFLHVDQUF1QztBQUNuRDs7QUFFQTs7O0NBR0M7O0FBRUQ7OztDQUdDOztBQUVEO0NBQ0MsU0FBUyxFQUFFLE1BQU07Q0FDakIsY0FBYyxFQUFFLE1BQU07QUFDdkI7O0FBRUE7OztDQUdDOztBQUVEOztDQUVDOztBQUVEO0NBQ0MsaUNBQWlDO0FBQ2xDOztBQUVBOztDQUVDOztBQUVEOztDQUVDLG1CQUFtQjtBQUNwQjs7QUFFQTs7O0NBR0M7O0FBRUQ7Ozs7Q0FJQzs7Ozs7O1dBTVUsRUFBRSxNQUFNO0NBQ2xCLGNBQWMsRUFBRSxNQUFNO0FBQ3ZCOztBQUVBOztDQUVDOztBQUVEO0NBQ0MsY0FBYztBQUNmOztBQUVBOztDQUVDOztBQUVEOztDQUVDLGNBQWM7Q0FDZCxjQUFjO0NBQ2Qsa0JBQWtCO0NBQ2xCLHdCQUF3QjtBQUN6Qjs7QUFFQTtDQUNDLGVBQWU7QUFDaEI7O0FBRUE7Q0FDQyxXQUFXO0FBQ1o7O0FBRUE7OztDQUdDOztBQUVEOzs7Q0FHQzs7QUFFRDtDQUNDLGNBQWMsRUFBRSxNQUFNO0NBQ3RCLHFCQUFxQixFQUFFLE1BQU07QUFDOUI7O0FBRUE7OztDQUdDOztBQUVEOzs7Q0FHQzs7QUFFRDs7Ozs7Q0FLQyxvQkFBb0IsRUFBRSxNQUFNO0NBQzVCLGVBQWUsRUFBRSxNQUFNO0NBQ3ZCLGlCQUFpQixFQUFFLE1BQU07Q0FDekIsU0FBUyxFQUFFLE1BQU07QUFDbEI7O0FBRUE7O0NBRUM7O0FBRUQ7O0NBRUMsb0JBQW9CO0FBQ3JCOztBQUVBOztDQUVDOztBQUVEOzs7O0NBSUMsMEJBQTBCO0FBQzNCOztBQUVBOztDQUVDOztBQUVEO0NBQ0Msa0JBQWtCO0NBQ2xCLFVBQVU7QUFDWDs7QUFFQTs7Q0FFQzs7QUFFRDtDQUNDLDhCQUE4QjtBQUMvQjs7QUFFQTs7O0NBR0M7O0FBRUQ7Q0FDQyxnQkFBZ0I7QUFDakI7O0FBRUE7O0NBRUM7O0FBRUQ7Q0FDQyxVQUFVO0FBQ1g7O0FBRUE7O0NBRUM7O0FBRUQ7Q0FDQyx3QkFBd0I7QUFDekI7O0FBRUE7O0NBRUM7O0FBRUQ7O0NBRUMsWUFBWTtBQUNiOztBQUVBOzs7Q0FHQzs7QUFFRDtDQUNDLDZCQUE2QixFQUFFLE1BQU07Q0FDckMsb0JBQW9CLEVBQUUsTUFBTTtBQUM3Qjs7QUFFQTs7Q0FFQzs7QUFFRDtDQUNDLHdCQUF3QjtBQUN6Qjs7QUFFQTs7O0NBR0M7O0FBRUQ7Q0FDQywwQkFBMEIsRUFBRSxNQUFNO0NBQ2xDLGFBQWEsRUFBRSxNQUFNO0FBQ3RCOztBQUVBOzs7Q0FHQzs7QUFFRDs7Q0FFQzs7QUFFRDtDQUNDLGtCQUFrQjtBQUNuQjs7Ozs7QUNqUkEsZ0JBQWdCOztBQUVoQjs7O0VBR0U7O0FBRUY7SUFDSSxhQUFhO0lBQ2IsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLHNCQUFzQjtJQUN0Qix5QkFBeUI7SUFDekIsMkRBQTJEO0FBQy9EOztBQUVBOzs7Q0FHQztBQUNEOztJQUVJLFlBQVk7SUFDWixjQUFjO0FBQ2xCO0FBQ0EscUJBQXFCLFlBQVk7O0FBRWpDO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQiwwQ0FBMEM7QUFDOUM7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsU0FBUztJQUNULGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixzQkFBc0I7QUFDMUI7QUFDQTtJQUNJLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLFNBQVM7SUFDVCxPQUFPO0lBQ1AsUUFBUTtJQUNSLFVBQVU7QUFDZDs7QUFFQTs7SUFFSSxjQUFjO0lBQ2QsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsU0FBUztJQUNULFVBQVU7SUFDVixXQUFXO0lBQ1gsWUFBWTtJQUNaLHVFQUF1RTtJQUN2RSxpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQiw2QkFBNkI7SUFDN0Isa0NBQWtDO0lBQ2xDLDRCQUE0QjtJQUM1Qix3QkFBd0I7SUFDeEIsV0FBVztBQUNmOztBQUVBOztJQUVJLFVBQVU7QUFDZDs7QUFFQTs7SUFFSSxXQUFXO0lBQ1gseURBQTJPO0FBQy9POztBQUVBOztJQUVJLFlBQVk7SUFDWix5REFBMk87QUFDL087O0FBRUE7O0lBRUksZUFBZTtJQUNmLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCx5QkFBeUI7SUFDekIsaUJBQWlCO0lBQ2pCLFNBQVM7QUFDYjs7QUFFQTs7SUFFSSwwQkFBMEI7SUFDMUIsVUFBVTtBQUNkOztBQUVBO0lBQ0ksV0FBVztJQUNYLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixjQUFjO0lBQ2Qsc0JBQXNCO0lBQ3RCLDJCQUEyQjtJQUMzQixhQUFhO0lBQ2IsU0FBUztJQUNULFNBQVM7SUFDVCxXQUFXO0lBQ1gsWUFBWTtJQUNaLFdBQVc7SUFDWCxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0FBQ3JCOztBQUVBOztJQUVJLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLG1DQUFtQztJQUNuQyxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsbUNBQW1DO0FBQ3ZDOztBQUVBOztJQUVJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0lBQ2YsV0FBVztJQUNYLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIsZUFBZTtBQUNuQjs7QUFFQTs7SUFFSSxXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUEscUJBQXFCO0FBQ3JCO0lBQ0ksbUJBQW1CO0lBQ25CLFlBQVk7QUFDaEI7Ozs7O0FDdE9BLGdCQUFnQjtBQ0NoQjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7QURGRjs7QUUzQkE7QUFDQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBRjhCRjs7QUUzQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUY4QkY7O0FFM0JBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QUY4QkY7O0FFM0JBO0VBQUk7RUFBZ0I7QUZnQ3BCOztBRTlCQTtBQUNBO0VBQVM7RUFBcUI7RUFBYTtFQUFpQjtFQUFrQjtFQUFvQjtBRnVDbEc7O0FFckNBO0FBQ0E7RUFDRTtFQUFzQjtFQUFxQjtFQUFVO0VBQW1CO0VBQWlCO0VBQStCO0FGOEMxSDtBRTdDRTtFQUFPO0VBQXNCO0VBQWM7RUFBZTtFQUFxQjtBRm9EakY7QUVuREU7RUFBUztBRnNEWDtBRXJERTtFQUFVO0VBQTBCO0VBQXdCO0FGMEQ5RDtBRXpERTtFQUFZO0VBQTZCO0VBQXFCO0FGOERoRTtBRTdERTtFQUFZO0VBQThCO0VBQXFCO0FGa0VqRTs7QUd2R0E7QUFDQTtFQUFvQjtFQUFpQjtFQUFVO0VBQXVCO0VBQWU7RUFBcUI7RUFBeUI7QUhpSG5JOztBR2hIQTtFQUFjO0VBQWE7RUFBYztFQUFzQztFQUFtQztFQUFvQjtBSHlIdEk7O0FJM0hBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKOEhGO0FJNUhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUo4SEo7QUkzSEU7RUFDRTtFQUNBO0VBQ0E7QUo2SEo7QUkzSEk7RUFDRTtFQUNBO0VBQ0E7QUo2SE47QUkxSEk7O0VBRUU7RUFDQTtBSjRITjtBSTFITTs7RUFDRTtFQUNBO0FKNkhSO0FJeEhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUowSEo7O0FJckhBO0VBQXFCO0FKeUhyQjs7QUl4SEE7RUFBc0M7QUo0SHRDOztBSTNIQTtFQUFnQztBSitIaEM7O0FJN0hBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUpnSUY7QUk5SEU7OztFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSmdJSjtBSTdIRTtFQUFlO0VBQW9CO0FKaUlyQztBSWhJRTtFQUFjO0VBQW9CO0FKb0lwQzs7QUtsTkE7QUFDQTs7RUFFRTtFQUNBO0FMcU5GO0FLbk5FOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMc05KOztBTW5PQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTnNPRjtBTXBPRTtFQUNFO0VBQ0E7RUFDQTtBTnNPSjtBTW5PTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5xT1I7QU1sT007O0VBRUU7RUFDQTtBTm9PUjtBTS9ORTtFQUFPO0VBQXNCO0VBQWdCO0VBQWlCO0VBQXFCO0FOc09yRjtBTXJPRTtFQUFTO0FOd09YO0FPeFFFOzs7O0VBSUU7QVAwUUo7QU94UUk7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSwyQkRxQnFCO0FOd1AzQjs7QVE1UkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBUjhSRjtBUTdSRTtFQUFXO0VBQXdCO0VBQWE7RUFBbUI7QVJtU3JFO0FRbFNFO0VBQXVCO0FScVN6QjtBUXBTRTtFQUFzQjtBUnVTeEI7QVFyU0U7RUFBYTtFQUErQztFQUF1QjtBUjBTckY7QVF6U0U7RUFBYztBUjRTaEI7QVF6U0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSMlNOO0FReFNJOztFQUNjO0VBQThCO0FSNFNoRDtBUXpTRTtFQUFPO0VBQXNCO0VBQWM7RUFBZTtFQUFxQjtBUmdUakY7QVEvU0U7RUFBUztBUmtUWDtBT2pWRTs7OztFQUlFO0FQbVZKO0FPalZJOzs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNEJDb0JxQjtBUmtVM0I7O0FTcldBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVR3V0Y7QVNwV0U7RUFBUztFQUFlO0VBQXFCO0VBQWM7RUFBaUI7RUFBNkI7QVQ0VzNHO0FTM1dFO0VBQVU7RUFBa0I7QVQrVzlCO0FTN1dFO0VBQ0U7RUFBVztFQUF5QjtFQUFhO0VBQWM7RUFBZTtFQUFxQjtFQUFhO0FUc1hwSDtBU3JYSTtFQUFRO0VBQVk7RUFBYTtFQUFzQztFQUF1QztFQUEyQjtBVDZYN0k7QVM1WEk7RUFBdUI7QVQrWDNCOztBUzNYQTtBQUNBO0VBQ0U7RUFBZTtFQUF3QjtBVGdZekM7QVM5WEU7RUFDRTtFQUFjO0VBQXdCO0VBQThCO0VBQWdCO0VBQW9CO0VBQWU7RUFBcUI7RUFBZ0M7QVR3WWhMO0FTdllJO0VBQU87RUFBc0I7RUFBYTtFQUFjO0VBQW1CO0FUOFkvRTtBUzdZSTtFQUFTO0VBQWdCO0VBQWlCO0FUa1o5QztBU2paSTtFQUFTO0FUb1piO0FTblpJO0VBQVE7QVRzWlo7QVNyWkk7RUFBbUI7RUFBNkI7QVR5WnBEO0FTeFpJO0VBQWtCO0VBQThCO0FUNFpwRDtBUzNaSTtFQUEyQjtFQUFhO0VBQW9CO0VBQVM7RUFBVTtFQUFhO0VBQVk7QVRvYTVHO0FTbmFJO0VBQTBCO0VBQWE7RUFBb0I7RUFBUztFQUFVO0VBQWE7RUFBWTtBVDRhM0c7QVMzYUk7RUFBK0I7QVQ4YW5DO0FTN2FJO0VBQThCO0FUZ2JsQztBUy9hSTtFQUNzQztFQUFhO0VBQW9CO0VBQVM7RUFBVTtFQUFhO0VBQVk7QVR1YnZIO0FTdmNBO0VBbUJFO0FUdWJGO0FTdGJFO0VBQ0U7RUFBMkI7RUFBb0I7RUFBeUQ7RUFBZTtFQUFrQjtFQUF5QjtBVDhidEs7QVM3Ykk7RUFBWTtFQUFvQjtBVGljcEM7O0FTN2JBO0FBQ0E7RUFFSTtJQUFXO0VUZ2NiO0VTOWJJO0lBQVc7SUFBZ0I7SUFBaUI7RVRtY2hEO0VTbGNJO0lBQU87SUFBeUI7RVRzY3BDO0VTdGNtRDtJQUFpQjtFVHljcEU7RVN6Y3FGO0lBQU87RVQ0YzVGO0FBQ0Y7QVN4Y0E7QUFDQTtFQUFlO0VBQWlCO0VBQW1CO0VBQThCO0VBQWU7QVQrY2hHOztBUzljQTtFQUE2QjtBVGtkN0I7O0FVM2hCQTtBQUNBO0VBQ0U7SUFBSztFVitoQkw7RVU5aEJBO0lBQU87RVZpaUJQO0FBQ0Y7QVUvaEJBO0FBQ0E7RUFDRTtJQUFLO0lBQVk7RVZtaUJqQjtFVWxpQkE7SUFBTztJQUFZO0VWc2lCbkI7QUFDRjtBVXBpQkE7QUFDQTtFQUE0QjtJQUFPO0VWd2lCakM7RVV4aUI2RDtJQUFLO0VWMmlCbEU7QUFDRjtBVTNpQkE7RUFBMkI7SUFBTztFVitpQmhDO0VVL2lCK0Q7SUFBSztFVmtqQnBFO0FBQ0Y7QVVqakJBO0FBQ0E7RUFDRTtJQUFLO0VWb2pCTDtFVW5qQkE7SUFBTTtFVnNqQk47RVVyakJBO0lBQU07RVZ3akJOO0VVdmpCQTtJQUFNO0VWMGpCTjtFVXpqQkE7SUFBTztFVjRqQlA7QUFDRjtBVTFqQkE7QUFDQTtFQUFxQjtJQUFLO0VWOGpCeEI7QUFDRjtBV3psQkE7RUFDRTtFQUNBO0FYMmxCRjtBV3psQkU7RUFDRTtBWDJsQko7QVd4bEJFOztFQUVFO0FYMGxCSjs7QVd0bEJBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBWHlsQkY7O0FXdGxCQTtBQUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVh3bEJKO0FXcmxCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHVsQko7QVdwbEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHNsQko7QVdubEJFO0VBQ0U7RUFDQTtBWHFsQko7QVdsbEJFO0VBQ0U7QVhvbEJKO0FXamxCRTtFQUNFO0VBQ0E7RUFDQTtBWG1sQko7QVdobEJFO0VBQ0U7RUFDQTtFQUNBO0FYa2xCSjs7QVc5a0JBO0FBRUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBWGdsQko7QVc5a0JJO0VBQ0U7RUFDQTtFQUNBO0FYZ2xCTjtBVzVrQkU7RUFDRTtFQUNBO0VBQ0E7QVg4a0JKO0FXNWtCSTtFQUNFO0FYOGtCTjtBVzNrQkk7RUFDRTtFQUNBO0VBQ0E7QVg2a0JOOztBV3hrQkE7QUFFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYMGtCSjtBV3JsQkE7RUFjRTtBWDBrQkY7QVd6a0JFOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWDJrQko7QVd2bUJBO0VBK0JFO0FYMmtCRjtBVzFrQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBWDRrQko7O0FXeGtCQTtBQUNBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFWDJrQkY7QUFDRjtBV3hrQkE7QUFDQTtFQUNFO0lBQ0U7SUFDQTtFWDBrQkY7RVd2a0JBOztJQUVFO0lBQ0E7SUFDQTtFWHlrQkY7QUFDRjtBWWp2QkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FabXZCSjs7QVlodkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FabXZCSjs7QVlodkJBO0FBQ0E7RUFDSTtFQUNBO0FabXZCSjs7QVlodkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWm12Qko7O0FZaHZCQTtFQUNJO0FabXZCSjs7QVlodkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWm12Qko7O0FZaHZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FabXZCSjs7QVlodkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVptdkJKOztBWWh2QkE7QUFDQTtFQUNJO0FabXZCSjs7QVlodkJBO0VBQ0k7QVptdkJKOztBWWh2QkE7RUFDSTtBWm12Qko7O0FZaHZCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVptdkJKOztBWWh2QkE7QUNwRkE7QUFFRTtFQUFlO0VBQWU7RUFBa0Q7RUFBVztBYjIwQjdGO0FhejBCRTtFQUNFO0VBQWU7RUFBa0M7RUFBb0I7RUFDckU7RUFBa0I7RUFBK0I7RUFBZTtBYmkxQnBFO0FhOTBCRTtFQUFzQjtFQUFlO0VBQXFCO0VBQXlCO0VBQXFCO0VBQTJCO0VBQWE7RUFBcUI7QWJ3MUJ2SztBYXYxQkU7RUFBNkI7RUFBZ0I7RUFBYTtFQUFjO0VBQW1CO0FiODFCN0Y7QWE3MUJFO0VBQWtCO0VBQWU7QWJpMkJuQztBYWgyQkU7RUFBaUI7QWJtMkJuQjtBYWoyQkU7RUFBcUM7QWJvMkJ2QztBYW4yQkU7RUFBcUM7QWJzMkJ2QztBYXAyQkU7RUFBcUM7SUFBZTtFYncyQnBEO0FBQ0Y7QWF2MkJFO0VBQ0U7SUFBZTtFYjAyQmpCO0VhejJCRTtJQUFzQjtJQUFhO0lBQW9CO0ViODJCekQ7RWE3MkJFO0lBQTZCO0lBQWM7RWJpM0I3QztBQUNGO0FhdjRCQTtFQXdCRTtBYmszQkY7QWFqM0JFO0VBRUk7SUFBZTtFYm0zQm5CO0VhbDNCSTtJQUFzQjtJQUFhO0lBQW9CO0VidTNCM0Q7QUFDRjtBYXA1QkE7RUFnQ0U7QWJ1M0JGO0FhdDNCRTtFQUVJO0lBQWU7RWJ3M0JuQjtFYXYzQkk7SUFBc0I7SUFBVztFYjIzQnJDO0FBQ0Y7QWFoNkJBO0VBd0NFO0FiMjNCRjtBYTEzQkU7RUFBeUM7QWI2M0IzQztBYXQ2QkEsa0NBeUNnRTtBQUM5RDtFQUF5QztBYmc0QjNDO0FhMTZCQSxrQ0EwQ2dFO0FBQzlEO0VBQXlDO0FibTRCM0M7QWE5NkJBLGtDQTJDZ0U7QUFDOUQ7RUFBeUM7QWJzNEIzQztBYWw3QkEsa0NBNENnRTtBQUM5RDtFQUF5QztBYnk0QjNDO0FhdDdCQSxrQ0E2Q2dFO0FBQzlEO0VBQXlDO0FiNDRCM0M7QWExN0JBLGtDQThDZ0U7QUFDOUQ7RUFBeUM7QWIrNEIzQztBYTk3QkEsa0NBK0NnRTtBQUM5RDtFQUF5QztBYms1QjNDO0FhbDhCQSxrQ0FnRGdFO0FBQzlEO0VBQXlDO0FicTVCM0M7O0FjdjhCQTtBQUVFO0VBQVM7RUFBZTtFQUF5QjtFQUFXO0FkNjhCOUQ7QWM1OEJFO0VBQVE7RUFBVTtFQUFnQjtFQUFpQjtFQUFvQjtFQUFrQjtBZG85QjNGO0FjbjlCRTtFQUFVO0FkczlCWjtBY3I5QkU7RUFBUztFQUFVO0VBQWlCO0VBQWtCO0VBQWU7RUFBeUI7RUFBbUI7QWQ4OUJuSDtBYzc5QkU7RUFBYTtFQUFrQjtFQUFhO0VBQWM7QWRtK0I1RDtBY2orQkU7RUFBcUM7QWRvK0J2QztBY24rQkU7RUFBcUM7QWRzK0J2Qzs7QWNuK0JBO0VBRUk7SUFBUztFZHMrQlg7RWNyK0JFO0lBQWE7RWR3K0JmO0FBQ0Y7QWV4L0JBO0FBRUU7RUFBUztFQUFlO0VBQWlCO0VBQVc7QWY2L0J0RDtBZTUvQkU7RUFBUTtFQUFVO0VBQWdCO0VBQWlCO0VBQW9CO0VBQWtCO0Fmb2dDM0Y7QWVuZ0NFO0VBQVU7QWZzZ0NaO0FlcmdDRTtFQUFTO0VBQVU7RUFBaUI7RUFBa0I7RUFBZTtFQUF5QjtFQUFtQjtBZjhnQ25IO0FlN2dDRTtFQUFhO0VBQWtCO0VBQWE7RUFBYztBZm1oQzVEO0FlamhDRTtFQUNFO0lBQVM7RWZvaENYO0VlbmhDRTtJQUFhO0Vmc2hDZjtBQUNGO0FlaGlDQTtFQVlFO0FmdWhDRjtBZXRoQ0U7RUFBcUM7QWZ5aEN2QztBZXhoQ0U7RUFBcUM7QWYyaEN2Qzs7QWdCMWlDQTtBQUVFO0VBQVc7RUFBcUI7RUFBZTtFQUFpRDtFQUFpRDtFQUFrQjtFQUFlO0FoQm1qQ3BMO0FnQmxqQ0U7RUFBa0I7QWhCcWpDcEI7QWdCcGpDRTtFQUFjO0VBQWtCO0FoQndqQ2xDO0FnQnZqQ0U7RUFBaUI7RUFBaUI7RUFBb0I7QWhCNGpDeEQ7QWdCM2pDRTtFQUFrQjtFQUFrQjtFQUFlO0VBQXlCO0FoQmlrQzlFO0FnQmhrQ0U7RUFBc0I7RUFBa0I7RUFBYTtFQUFjO0FoQnNrQ3JFO0FnQnBrQ0U7RUFDRTtJQUFXO0lBQTRCO0VoQndrQ3pDO0FBQ0Y7QWdCdGtDRTtFQUFXO0FoQnlrQ2I7QWdCeGtDRTtFQUFtQjtBaEIya0NyQjtBZ0Ixa0NFO0VBQWlCO0FoQjZrQ25CO0FnQjNrQ0U7RUFBb0I7RUFBa0I7RUFBbUI7RUFBWTtFQUFlO0FoQmtsQ3RGO0FnQmpsQ0U7RUFBdUI7RUFBb0I7RUFBb0I7QWhCc2xDakU7QWdCcmxDRTtFQUErQjtFQUFjO0VBQW9CO0VBQVc7RUFBWTtFQUFrQjtFQUFnQjtBaEI4bEM1SDtBZ0I1bENFO0VBQXFDO0FoQitsQ3ZDO0FnQjlsQ0U7RUFBcUM7QWhCaW1DdkM7O0FpQnZuQ0E7QUFFRTtFQUFTO0VBQVc7RUFBWTtBakI0bkNsQztBaUIzbkNFO0VBQWdCO0VBQWU7RUFBZ0M7RUFBVztFQUFvQjtBakJrb0NoRztBaUJqb0NFO0VBQXNCO0VBQWU7RUFBNEI7QWpCc29DbkU7QWlCcm9DRTtFQUF1QjtBakJ3b0N6QjtBaUJ2b0NFO0VBQXFCO0FqQjBvQ3ZCO0FpQnpvQ0U7RUFBd0I7QWpCNG9DMUI7QWlCM29DRTtFQUEwQjtFQUFhO0VBQW1CO0VBQXFCO0FqQmlwQ2pGO0FpQmhwQ0U7RUFBcUM7SUFBZ0I7RWpCb3BDckQ7QUFDRjs7QWtCOXBDQTtBQUVFO0VBQWM7RUFBa0I7RUFBcUI7RUFBZTtFQUFXO0FsQnFxQ2pGO0FrQm5xQ0U7RUFBaUI7QWxCc3FDbkI7QWtCcnFDRTtFQUFzQjtFQUFhO0VBQXFCO0VBQW9CO0FsQjJxQzlFO0FrQjFxQ0U7RUFBMkI7RUFBZ0I7RUFBYztFQUFVO0VBQTZCO0FsQmlyQ2xHO0FrQmhyQ0U7RUFBdUI7RUFBYTtFQUFxQjtFQUFvQjtBbEJzckMvRTtBa0JyckNFO0VBQTRCO0VBQWdCO0VBQWM7RUFBVTtFQUE2QjtBbEI0ckNuRztBa0IxckNFO0VBQVk7RUFBa0I7QWxCOHJDaEM7QWtCN3JDRTtFQUFXO0VBQWU7RUFBVTtBbEJrc0N0QztBa0Jqc0NFO0VBQWdCO0FsQm9zQ2xCO0FrQmxzQ0U7RUFBVztBbEJxc0NiO0FrQnBzQ0U7RUFBZ0I7RUFBYTtFQUFxQjtFQUFvQjtBbEIwc0N4RTtBa0J6c0NFO0VBQXFCO0VBQWdCO0VBQWM7RUFBVTtFQUE4QjtBbEJndEM3RjtBa0I1c0NJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCOHNDTjtBa0Izc0NJO0VBQ0U7RUFDQTtFQUNBO0FsQjZzQ047QWtCMXNDSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCNHNDTjtBa0J6c0NJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEIyc0NOO0FrQnhzQ0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQjBzQ047QWtCdnNDSTtFQUNFO0FsQnlzQ047QWtCdHNDSTtFQUNFO0FsQndzQ047QWtCcnNDSTtFQUNFO0FsQnVzQ047QWtCcHNDSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQnNzQ047QWtCcHNDTTtFQUNFO0FsQnNzQ1I7QWtCbnNDTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsQnFzQ1I7QWtCbHNDTTtFQUNFO0VBQ0E7RUFDQTtBbEJvc0NSO0FrQmpzQ007RUFDRTtBbEJtc0NSO0FrQmhzQ007RUFDRTtFQUNBO0VBQ0E7QWxCa3NDUjtBa0IvckNNO0VBQ0U7QWxCaXNDUjtBa0I1ckNFO0VBQ0U7RUFDQTtBbEI4ckNKO0FrQjVyQ0k7RUFDRTtFQUNBO0VBQ0E7QWxCOHJDTjtBa0IzckNJO0VBQ0U7RUFDQTtFQUNBO0FsQjZyQ047QWtCMXJDSTtFQUNFO0VBQ0E7RUFDQTtBbEI0ckNOO0FrQnpyQ0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCMnJDTjtBa0J4ckNJO0VBQ0U7RUFDQTtBbEIwckNOO0FrQnRyQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEJ3ckNKO0FrQnJyQ007RUFDRTtBbEJ1ckNSO0FrQm5yQ0k7RUFDRTtBbEJxckNOO0FrQmxyQ0k7RUFDRTtBbEJvckNOO0FrQmpyQ0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEJtckNOO0FrQmpyQ007RUFDRTtFQUNBO0FsQm1yQ1I7QWtCaHJDTTtFQUNFO0VBQ0E7QWxCa3JDUjtBa0IvcUNNO0VBQ0U7RUFDQTtBbEJpckNSO0FrQjdxQ0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEIrcUNOOztBbUI3M0NBO0FBRUU7RUFBMEI7RUFBa0I7QW5CaTRDOUM7QW1CLzNDRTtFQUFlO0FuQms0Q2pCO0FtQmo0Q0U7RUFBb0I7RUFBd0I7QW5CcTRDOUM7QW1CbjRDRTtFQUFhO0VBQWU7RUFBVTtBbkJ3NEN4QztBbUJ2NENFO0VBQW1CO0FuQjA0Q3JCO0FtQno0Q0U7RUFBbUI7RUFBcUI7RUFBa0I7QW5CODRDNUQ7QW1CNzRDRTtFQUFlO0VBQWdCO0VBQWtCO0FuQms1Q25EO0FtQmg1Q0U7RUFBVTtFQUFlO0VBQVc7RUFBNkQ7QW5CczVDbkc7QW1CcjVDRTtFQUFtQjtBbkJ3NUNyQjtBbUJ2NUNFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5CeTVDSjtBbUJ2NUNFO0VBQWE7QW5CMDVDZjtBbUJ4NUNFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQjA1Q0o7QW1CeDVDRTtFQUFjO0VBQWtDO0FuQjQ1Q2xEO0FtQjM1Q0U7RUFDRTtFQUNBO0VBQ0E7QW5CNjVDSjtBbUI5N0NBO0VBb0NFO0FuQjY1Q0Y7QW1CNTVDRTtFQUFlO0VBQWU7RUFBcUU7QW5CaTZDckc7QW1CaDZDRTtFQUFPO0VBQXNCO0VBQXFCO0VBQVU7RUFDMUQ7RUFBb0I7RUFBb0I7RUFBa0I7RUFBaUI7QW5CMDZDL0U7QW1CejZDRTtFQUFhO0FuQjQ2Q2Y7QW1CMzZDRTtFQUFpQjtFQUFvQztBbkIrNkN2RDtBbUJ4OUNBO0VBMkNFO0FuQmc3Q0Y7QW1CLzZDRTtFQUFpQjtFQUFlO0VBQTZEO0FuQm83Qy9GO0FtQm43Q0U7RUFBTztFQUFzQjtFQUFxQjtFQUFVO0VBQStCO0VBQW9CO0VBQW9CO0FuQjQ3Q3JJO0FtQjM3Q0U7RUFBYTtBbkI4N0NmO0FtQjc3Q0U7RUFBaUI7QW5CZzhDbkI7QW1CLzdDRTtFQUFjO0VBQXNCO0VBQXFCO0FuQm84QzNEO0FtQnAvQ0E7RUFrREU7QW5CcThDRjtBbUJwOENFO0VBQWdCO0FuQnU4Q2xCO0FtQnQ4Q0U7RUFBeUI7RUFBa0I7QW5CMDhDN0M7QW1CejhDRTtFQUF1QjtFQUFlO0VBQWlCO0VBQVU7QW5CKzhDbkU7QW1COThDRTtFQUFzQjtFQUErQjtFQUFrQjtFQUFtQjtFQUFzQjtFQUFpQjtBbkJzOUNuSTtBbUJyOUNFO0VBQTRCO0FuQnc5QzlCO0FtQnY5Q0U7RUFBNEI7RUFBZ0I7RUFBdUI7QW5CNDlDckU7QW1CMzlDRTtFQUFXO0VBQWU7RUFBNkM7RUFBcUI7RUFBbUI7RUFBb0I7QW5CbStDckk7QW1CbCtDRTtFQUFpQjtFQUEyQztBbkJzK0M5RDtBbUJyK0NFO0VBQWdCO0FuQncrQ2xCO0FtQnYrQ0U7RUFBaUI7RUFBZTtFQUFxQjtFQUFrQjtFQUFnQztFQUFjO0FuQisrQ3ZIO0FtQjkrQ0U7RUFBbUM7QW5CaS9DckM7QW1CaC9DRTtFQUF1QjtBbkJtL0N6QjtBbUJsL0NFO0VBQWtDO0VBQWE7RUFBYztBbkJ1L0MvRDtBbUJ0akRBO0VBaUVFO0FuQncvQ0Y7QW1Cdi9DRTtFQUFpQjtFQUFvQjtBbkIyL0N2QztBbUIxL0NFO0VBQWdCO0FuQjYvQ2xCO0FtQjUvQ0U7RUFBK0I7RUFBb0I7QW5CZ2dEckQ7QW1CcGtEQSx5QkFvRTBFO0FBRXhFO0VBQWtCO0VBQWU7RUFBVztBbkJvZ0Q5QztBbUJsZ0RFO0VBQWM7RUFBaUI7QW5Cc2dEakM7QW1CbGdETTtFQUNFO0VBQ0E7QW5Cb2dEUjs7QW9CbmxEQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0FwQnNsREY7O0FvQm5sREE7QUFDQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0VwQnNsREY7QUFDRjtBb0JubERBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCcWxERjs7QW9CbGxEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJxbERGOztBb0JsbERBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJxbERGOztBb0JsbERBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJxbERGOztBb0JsbERBO0VBQ0U7RUFDQTtBcEJxbERGOztBb0JsbERBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJxbERGOztBb0JsbERBO0VBQ0U7RUFDQTtBcEJxbERGOztBb0JsbERBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnFsREY7O0FvQmxsREE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCcWxERjs7QW9CbGxEQTtFQUNFO0VBQ0E7QXBCcWxERjs7QW9CbGxEQTtBQUNBO0FBQ0E7RUFBd0I7QXBCc2xEeEI7O0FvQnJsREE7RUFBK0I7QXBCeWxEL0I7O0FvQnZsREE7RUFDRTtJQUErQjtFcEIybEQvQjtFb0IxbERBO0lBQXdCO0VwQjZsRHhCO0FBQ0Y7QW9CM2xEQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXBCNmxERjs7QW9CM2xEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwQjhsREY7O0FvQjVsREE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCK2xERjs7QW9CN2xEQTtFQUE2QztFQUFjO0VBQWU7RUFBc0I7RUFBc0I7QXBCcW1EdEg7O0FvQnBtREE7RUFBOEM7RUFBZTtBcEJ5bUQ3RDs7QW9CeG1EQTtFQUErQztFQUFrQjtBcEI2bURqRTs7QW9CNW1EQTtFQUE4QztFQUFnQjtFQUFrQjtBcEJrbkRoRjs7QW9Cam5EQTtFQUE4QztFQUE2QjtFQUE2QjtBcEJ1bkR4Rzs7QW9CdG5EQTtFQUFxRDtBcEIwbkRyRDs7QW9Cem5EQTtFQUFxRDtBcEI2bkRyRDs7QW9CNW5EQTtFQUFxRDtBcEJnb0RyRDs7QW9COW5EQTtFQUFVO0VBQW9CO0VBQVE7RUFBUztFQUFhO0VBQWE7QXBCdW9EekU7O0FvQnRvREE7RUFBYztFQUFtQjtFQUFlO0FwQjRvRGhEOztBb0Izb0RBO0VBQWlDO0VBQWE7RUFBeUM7RUFBa0I7RUFBc0I7RUFBa0I7RUFBa0I7QXBCcXBEbks7O0FvQnBwREE7RUFBK0M7QXBCd3BEL0M7O0FvQnZwREE7RUFBaUI7RUFBbUM7RUFBWTtFQUFnQztBcEI4cERoRzs7QW9CN3BEQTtFQUEyQjtBcEJpcUQzQjs7QW9CaHFEQTtFQUFpQjtFQUF1QztFQUE0QjtFQUFpQjtBcEJ1cURyRzs7QW9CdHFEQTtFQUFnQjtFQUFhO0VBQWlDO0VBQWtCO0VBQWU7RUFBc0I7RUFBa0M7RUFBd0I7QXBCaXJEL0s7O0FvQmhyREE7RUFBbUI7RUFBa0I7RUFBZ0I7RUFBb0I7QXBCdXJEekU7O0FvQnJyREE7RUFBbUI7RUFBZTtFQUFhO0VBQWU7RUFBc0I7RUFBa0M7RUFBd0I7QXBCK3JEOUk7O0FvQjlyREE7RUFBcUI7RUFBeUM7RUFBb0I7RUFBbUI7RUFBa0I7QXBCc3NEdkg7O0FvQnJzREE7RUFBeUI7RUFBZTtFQUE4RDtFQUF3QjtFQUFvQjtFQUE2QjtFQUFXO0VBQWlCO0VBQWtCO0FwQml0RDdOOztBb0JodERBO0VBQW1DO0VBQStCO0VBQWU7RUFBeUI7RUFBVztFQUFvQjtFQUErQjtFQUFzQztFQUFtQztFQUErRztFQUFtQjtBcEI4dERuWDs7QW9CN3REQTtFQUE4QjtFQUFjO0VBQWU7RUFBc0I7RUFBc0I7QXBCcXVEdkc7O0FvQnB1REE7RUFBK0I7RUFBZTtBcEJ5dUQ5Qzs7QW9CeHVEQTtFQUFnQztFQUFrQjtBcEI2dURsRDs7QW9CNXVEQTtFQUErQjtFQUFnQjtFQUFrQjtBcEJrdkRqRTs7QW9CanZEQTtFQUF5QztFQUE2QjtFQUE2QjtFQUF3QztBcEJ3dkQzSTs7QW9CdnZEQTtFQUFnRDtBcEIydkRoRDs7QW9CMXZEQTtFQUFnRDtBcEI4dkRoRDs7QW9CN3ZEQTtFQUFnRDtBcEJpd0RoRDs7QW9CL3ZEQTtFQUNFO0lBQWM7SUFBZTtJQUFpQztJQUFvRDtJQUFrQjtJQUFxQjtFcEJ3d0R6SjtFb0J2d0RBO0lBQW1CO0lBQWdCO0lBQW1CO0VwQjR3RHREO0VvQjN3REE7SUFBeUI7SUFBb0M7SUFBd0I7SUFBb0I7RXBCaXhEekc7RW9CaHhEQTtJQUFpQjtJQUFlO0lBQXFCO0lBQXVCO0VwQnN4RDVFO0VvQnJ4REE7SUFBaUI7RXBCd3hEakI7RW9CdnhEQTtJQUFnQjtFcEIweERoQjtBQUNGO0FvQnh4REE7RUFBc0I7QXBCMnhEdEI7O0FvQnp4REE7RUFDRTtJQUFtQjtFcEI2eERuQjtFb0I1eERBO0lBQWdCO0lBQWlCO0VwQmd5RGpDO0VvQi94REE7SUFBeUI7SUFBcUU7SUFBeUI7SUFBb0I7SUFBYTtJQUFtQjtFcEJ1eUQzSztFb0J0eURBO0lBQXFCO0lBQXFCO0lBQWtCO0lBQW1CO0lBQW9CO0VwQjZ5RG5HO0FBQ0Y7QW9CM3lEQTtBQUNBO0VBQ0U7SUFBa0I7RXBCOHlEbEI7QUFDRjtBb0I1eURBO0VBQ0U7SUFBa0I7RXBCK3lEbEI7QUFDRjtBb0I3eURBO0FBQ0E7RUFDRTtJQUErQztFcEJnekQvQztFb0IveURBO0lBQXlDO0VwQmt6RHpDO0FBQ0Y7QW9CaHpEQTtBQUNBO0VBQ0U7SUFBK0M7RXBCbXpEL0M7RW9CbHpEQTtJQUF5QztFcEJxekR6QztBQUNGO0FvQm56REE7QUFDQTtFQUNFO0lBQWtCO0VwQnN6RGxCO0FBQ0Y7QXFCcGdFQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckJzZ0VGO0FxQnBnRUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckJzZ0VKO0FxQnBnRUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQnNnRU47QXFCbmdFSTtFQUNFO0VBQ0E7QXJCcWdFTjtBcUJqZ0VFO0VBQ0U7QXJCbWdFSjtBcUJoZ0VFO0VBQ0U7RUFDQTtFQUNBO0FyQmtnRUo7O0FzQjlpRUE7RUFDRTtJQUNFO0V0QmlqRUY7QUFDRjtBc0I5aUVBO0VBQ0U7SUFDRTtFdEJnakVGO0VzQjdpRUE7O0lBRUU7RXRCK2lFRjtFc0I1aUVBO0VBQ0E7SUFDRTtFdEI4aUVGO0VzQjNpRUE7RUFDQTtJQUNFO0lBQ0E7SUFDQTtFdEI2aUVGO0VzQjFpRUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V0QjRpRUY7RXNCemlFQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0V0QjJpRUY7QUFDRjtBc0J2aUVBO0FBQ0E7RUFDRTtJQUFhO0V0QjBpRWI7RXNCemlFQTtJQUFtQjtJQUFjO0V0QjZpRWpDO0VzQjVpRUE7SUFBYTtFdEIraUViO0VzQjlpRUE7SUFBa0M7RXRCaWpFbEM7RXNCaGpFQTtJQUEwQjtFdEJtakUxQjtFc0JqakVBO0lBQ0U7SUFBZ0I7SUFBaUI7SUFBVztJQUFTO0lBQVc7SUFBc0I7SUFBcUI7SUFDM0c7SUFBMEI7SUFBZ0M7SUFBa0I7SUFBb0I7SUFBd0I7RXRCK2pFMUg7RXNCNWpFQTtJQUFjO0lBQTRCO0V0QmdrRTFDO0VzQjdqRUU7SUFBVztFdEJna0ViO0VzQi9qRUU7SUFBYztFdEJra0VoQjtFc0I5akVFO0lBQVc7RXRCaWtFYjtFc0Joa0VFO0lBQWM7RXRCbWtFaEI7RXNCaGtFQTtFQUVFO0lBQWlCO0V0QmtrRW5CO0VzQmhrRUk7SUFBTztFdEJta0VYO0VzQmxrRUk7SUFBb0I7SUFBMkI7SUFBb0I7SUFBd0I7SUFBVTtJQUE2QjtJQUEwQjtJQUErQjtJQUFvQjtJQUFrQjtJQUFxQjtJQUF3QztJQUFhO0V0QmlsRS9TO0VzQmhsRUk7SUFBVztFdEJtbEVmO0VzQmxsRUk7SUFBK0M7RXRCcWxFbkQ7QUFDRjtBc0JqbEVBO0FBQ0E7RUFDRTtJQUFtQjtJQUFlO0lBQXNDO0lBQXFCO0lBQW9CO0V0QndsRWpIO0VzQnZsRUE7SUFBc0I7RXRCMGxFdEI7RXNCemxFQTtJQUF1QjtFdEI0bEV2QjtFc0IzbEVBO0lBQWtDO0V0QjhsRWxDO0VzQjVsRUE7SUFBVztJQUFpQjtJQUFXO0lBQVM7SUFBVztJQUFnQztJQUE0QjtJQUFxQjtJQUFrQjtJQUFpQjtJQUF3QjtFdEJ5bUV2TTtFc0J4bUVBO0lBQW1CO0lBQXNCO0lBQXVCO0V0QjZtRWhFO0VzQjNtRUE7SUFBa0M7RXRCOG1FbEM7RXNCN21FQTtJQUFnQztFdEJnbkVoQztFc0IvbUVBO0lBQW1DO0V0QmtuRW5DO0VzQmhuRUE7SUFBMEM7RXRCbW5FMUM7RXNCbG5FQTtJQUFjO0V0QnFuRWQ7RXNCbm5FQTtFQUNBO0lBQStCO0V0QnNuRS9CO0VzQnJuRUE7SUFBZ0Q7SUFBa0I7SUFBZ0I7SUFBaUI7RXRCMm5Fbkc7RXNCem5FQTtJQUF5SDtFdEI0bkV6SDtFc0IxbkVBO0lBQ0U7SUFDQTtFdEI0bkVGO0VzQjFuRUU7O0lBRUU7RXRCNG5FSjtFc0J6bkVFO0lBQ0U7RXRCMm5FSjtFc0Jyb0VBO0lBY0U7RXRCMG5FRjtFc0J4bkVFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXRCMG5FSjtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW9kZXJuLW5vcm1hbGl6ZS9tb2Rlcm4tbm9ybWFsaXplLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcGlrYWRheS9jc3MvcGlrYWRheS5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvcmUvX3Rva2Vucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYmFzZS9fYmFzZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYmFzZS9fb3ZlcmxheXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2xheW91dC9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9sYXlvdXQvX21lbnVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9sYXlvdXQvX21haW5iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvcmUvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbGF5b3V0L19zdWJiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2xheW91dC9fc2lkZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYW5pbWF0aW9ucy9fa2V5ZnJhbWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYWdlcy9fc2hhcmVkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYWdlcy9faG9tZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFnZXMvX2ZhaXItcG9saWN5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYWdlcy9fY29uZG9taXN0YS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFnZXMvX29yZ2FuaXplZC1hY2NvdW50cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFnZXMvX2F0dGVudGlvbi1xdWFsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYWdlcy9fY29udGFjdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFnZXMvX3F1aXouc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3BhZ2VzL19yZXF1ZXN0LXByb3Bvc2FsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19oZXJvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9sYXlvdXQvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbGF5b3V0L19yZXNwb25zaXZlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyohIG1vZGVybi1ub3JtYWxpemUgdjIuMC4wIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL21vZGVybi1ub3JtYWxpemUgKi9cblxuLypcbkRvY3VtZW50XG49PT09PT09PVxuKi9cblxuLyoqXG5Vc2UgYSBiZXR0ZXIgYm94IG1vZGVsIChvcGluaW9uYXRlZCkuXG4qL1xuXG4qLFxuOjpiZWZvcmUsXG46OmFmdGVyIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCB7XG5cdC8qIEltcHJvdmUgY29uc2lzdGVuY3kgb2YgZGVmYXVsdCBmb250cyBpbiBhbGwgYnJvd3NlcnMuIChodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL21vZGVybi1ub3JtYWxpemUvaXNzdWVzLzMpICovXG5cdGZvbnQtZmFtaWx5OlxuXHRcdHN5c3RlbS11aSxcblx0XHQnU2Vnb2UgVUknLFxuXHRcdFJvYm90byxcblx0XHRIZWx2ZXRpY2EsXG5cdFx0QXJpYWwsXG5cdFx0c2Fucy1zZXJpZixcblx0XHQnQXBwbGUgQ29sb3IgRW1vamknLFxuXHRcdCdTZWdvZSBVSSBFbW9qaSc7XG5cdGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuICovXG5cdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuICovXG5cdC1tb3otdGFiLXNpemU6IDQ7IC8qIDMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUgKG9waW5pb25hdGVkKS4gKi9cblx0dGFiLXNpemU6IDQ7IC8qIDMgKi9cbn1cblxuLypcblNlY3Rpb25zXG49PT09PT09PVxuKi9cblxuYm9keSB7XG5cdG1hcmdpbjogMDsgLyogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLiAqL1xufVxuXG4vKlxuR3JvdXBpbmcgY29udGVudFxuPT09PT09PT09PT09PT09PVxuKi9cblxuLyoqXG4xLiBBZGQgdGhlIGNvcnJlY3QgaGVpZ2h0IGluIEZpcmVmb3guXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcbiovXG5cbmhyIHtcblx0aGVpZ2h0OiAwOyAvKiAxICovXG5cdGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qXG5UZXh0LWxldmVsIHNlbWFudGljc1xuPT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8qKlxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4qL1xuXG5hYmJyW3RpdGxlXSB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbn1cblxuLyoqXG5BZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gRWRnZSBhbmQgU2FmYXJpLlxuKi9cblxuYixcbnN0cm9uZyB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuMS4gSW1wcm92ZSBjb25zaXN0ZW5jeSBvZiBkZWZhdWx0IGZvbnRzIGluIGFsbCBicm93c2Vycy4gKGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbW9kZXJuLW5vcm1hbGl6ZS9pc3N1ZXMvMylcbjIuIENvcnJlY3QgdGhlIG9kZCAnZW0nIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiovXG5cbmNvZGUsXG5rYmQsXG5zYW1wLFxucHJlIHtcblx0Zm9udC1mYW1pbHk6XG5cdFx0dWktbW9ub3NwYWNlLFxuXHRcdFNGTW9uby1SZWd1bGFyLFxuXHRcdENvbnNvbGFzLFxuXHRcdCdMaWJlcmF0aW9uIE1vbm8nLFxuXHRcdE1lbmxvLFxuXHRcdG1vbm9zcGFjZTsgLyogMSAqL1xuXHRmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxuc21hbGwge1xuXHRmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG5QcmV2ZW50ICdzdWInIGFuZCAnc3VwJyBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxuc3ViLFxuc3VwIHtcblx0Zm9udC1zaXplOiA3NSU7XG5cdGxpbmUtaGVpZ2h0OiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcblx0Ym90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuXHR0b3A6IC0wLjVlbTtcbn1cblxuLypcblRhYnVsYXIgZGF0YVxuPT09PT09PT09PT09XG4qL1xuXG4vKipcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTkzNTcyOSwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcbiovXG5cbnRhYmxlIHtcblx0dGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cblx0Ym9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qXG5Gb3Jtc1xuPT09PT1cbiovXG5cbi8qKlxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4qL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuXHRmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cblx0bGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cblx0bWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxuKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiovXG5cbmJ1dHRvbixcblt0eXBlPSdidXR0b24nXSxcblt0eXBlPSdyZXNldCddLFxuW3R5cGU9J3N1Ym1pdCddIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiovXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdGJvcmRlci1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLyoqXG5SZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4qL1xuXG46LW1vei1mb2N1c3Jpbmcge1xuXHRvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsICc6aW52YWxpZCcgc3R5bGVzIGluIEZpcmVmb3guXG5TZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3XG4qL1xuXG46LW1vei11aS1pbnZhbGlkIHtcblx0Ym94LXNoYWRvdzogbm9uZTtcbn1cblxuLyoqXG5SZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0ICdmaWVsZHNldCcgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxubGVnZW5kIHtcblx0cGFkZGluZzogMDtcbn1cblxuLyoqXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cbiovXG5cbnByb2dyZXNzIHtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cbiovXG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuKi9cblxuW3R5cGU9J3NlYXJjaCddIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cblx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4qL1xuXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbjIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gJ2luaGVyaXQnIGluIFNhZmFyaS5cbiovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuXHRmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qXG5JbnRlcmFjdGl2ZVxuPT09PT09PT09PT1cbiovXG5cbi8qXG5BZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiovXG5cbnN1bW1hcnkge1xuXHRkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8qIVxuICogUGlrYWRheVxuICogQ29weXJpZ2h0IMKpIDIwMTQgRGF2aWQgQnVzaGVsbCB8IEJTRCAmIE1JVCBsaWNlbnNlIHwgaHR0cHM6Ly9kYnVzaGVsbC5jb20vXG4gKi9cblxuLnBpa2Etc2luZ2xlIHtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzMzMztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2JiYjtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4vKlxuY2xlYXIgY2hpbGQgZmxvYXQgKHBpa2EtbGVuZGFyKSwgdXNpbmcgdGhlIGZhbW91cyBtaWNybyBjbGVhcmZpeCBoYWNrXG5odHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cbiovXG4ucGlrYS1zaW5nbGU6YmVmb3JlLFxuLnBpa2Etc2luZ2xlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5waWthLXNpbmdsZTphZnRlciB7IGNsZWFyOiBib3RoIH1cblxuLnBpa2Etc2luZ2xlLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBpa2Etc2luZ2xlLmlzLWJvdW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMTVweCAtNXB4IHJnYmEoMCwwLDAsLjUpO1xufVxuXG4ucGlrYS1sZW5kYXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBtYXJnaW46IDhweDtcbn1cblxuLnBpa2EtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5waWthLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4IDNweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5waWthLXRpdGxlIHNlbGVjdCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA5OTk4O1xuICAgIG1hcmdpbjogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNXB4O1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5waWthLXByZXYsXG4ucGlrYS1uZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIC8qIGhpZGUgdGV4dCB1c2luZyB0ZXh0LWluZGVudCB0cmljaywgdXNpbmcgd2lkdGggdmFsdWUgKGl0J3MgZW5vdWdoKSAqL1xuICAgIHRleHQtaW5kZW50OiAyMHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3NSUgNzUlO1xuICAgIG9wYWNpdHk6IC41O1xufVxuXG4ucGlrYS1wcmV2OmhvdmVyLFxuLnBpa2EtbmV4dDpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnBpa2EtcHJldixcbi5pcy1ydGwgLnBpa2EtbmV4dCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJRQUFBQWVDQVlBQUFBc0VqNXJBQUFBVWtsRVFWUjQydTNWTVFvQUlCQURRZjhQZ2orT0Q5aEcyQ3RPTkpCMnltUWtLZTBIYndBUDB4dWNEaVFXQVJJVElERUJFbk1nTVE4UzgrQXFCSWw2a0tnSGlYcVFxQWVKZXBCby96MzhKL1UwdUFIbGFCa0JsOUk0R3dBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbn1cblxuLnBpa2EtbmV4dCxcbi5pcy1ydGwgLnBpa2EtcHJldiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFlQ0FZQUFBQXNFajVyQUFBQVUwbEVRVlI0MnUzVk93b0FNQWdFMGR3ZkFuTmpVMjZiWWtCQ0ZHd2ZpTDlWVldvTytCSjRHZjNndHNFS0tvRkJOVENvQ0FZVndhQWlHTlFHTVVITWtqR2JnamsybUlPTnVYbzBuQzhYbkNmMUpYZ0FyVklaQVFoNVRLWUFBQUFBU1VWT1JLNUNZSUk9Jyk7XG59XG5cbi5waWthLXByZXYuaXMtZGlzYWJsZWQsXG4ucGlrYS1uZXh0LmlzLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogLjI7XG59XG5cbi5waWthLXNlbGVjdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucGlrYS10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5waWthLXRhYmxlIHRoLFxuLnBpa2EtdGFibGUgdGQge1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3MTQyODYlO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5waWthLXRhYmxlIHRoIHtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucGlrYS1idXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIGhlaWdodDogaW5pdGlhbDtcbn1cblxuLnBpa2Etd2VlayB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjOTk5O1xufVxuXG4uaXMtdG9kYXkgLnBpa2EtYnV0dG9uIHtcbiAgICBjb2xvcjogIzMzYWFmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmlzLXNlbGVjdGVkIC5waWthLWJ1dHRvbixcbi5oYXMtZXZlbnQgLnBpa2EtYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBiYWNrZ3JvdW5kOiAjMzNhYWZmO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCAjMTc4ZmU1O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLmhhcy1ldmVudCAucGlrYS1idXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICMwMDVkYTk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4ICMwMDc2Yzk7XG59XG5cbi5pcy1kaXNhYmxlZCAucGlrYS1idXR0b24sXG4uaXMtaW5yYW5nZSAucGlrYS1idXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICNENUU5Rjc7XG59XG5cbi5pcy1zdGFydHJhbmdlIC5waWthLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogIzZDQjMxRDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLmlzLWVuZHJhbmdlIC5waWthLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogIzMzYWFmZjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLmlzLWRpc2FibGVkIC5waWthLWJ1dHRvbiB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIG9wYWNpdHk6IC4zO1xufVxuXG4uaXMtb3V0c2lkZS1jdXJyZW50LW1vbnRoIC5waWthLWJ1dHRvbiB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgb3BhY2l0eTogLjM7XG59XG5cbi5pcy1zZWxlY3Rpb24tZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnBpa2EtYnV0dG9uOmhvdmVyLFxuLnBpa2Etcm93LnBpY2std2hvbGUtd2Vlazpob3ZlciAucGlrYS1idXR0b24ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNmZjgwMDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi8qIHN0eWxpbmcgZm9yIGFiYnIgKi9cbi5waWthLXRhYmxlIGFiYnIge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xufVxuIiwiQGltcG9ydCAnfm1vZGVybi1ub3JtYWxpemUvbW9kZXJuLW5vcm1hbGl6ZS5jc3MnO1xuQGltcG9ydCAnfnBpa2FkYXkvY3NzL3Bpa2FkYXkuY3NzJztcblxuQGltcG9ydCAnY29yZS9icmVha3BvaW50cyc7XG5AaW1wb3J0ICdjb3JlL3Rva2Vucyc7XG5AaW1wb3J0ICdjb3JlL21peGlucyc7XG5cbkBpbXBvcnQgJ2Jhc2UvYmFzZSc7XG5AaW1wb3J0ICdiYXNlL292ZXJsYXlzJztcblxuQGltcG9ydCAnbGF5b3V0L2hlYWRlcic7XG5AaW1wb3J0ICdsYXlvdXQvbWVudXMnO1xuQGltcG9ydCAnbGF5b3V0L21haW5iYXInO1xuQGltcG9ydCAnbGF5b3V0L3N1YmJhcic7XG5AaW1wb3J0ICdsYXlvdXQvc2lkZSc7XG5cbkBpbXBvcnQgJ2FuaW1hdGlvbnMva2V5ZnJhbWVzJztcblxuQGltcG9ydCAncGFnZXMvc2hhcmVkJztcbkBpbXBvcnQgJ3BhZ2VzL2hvbWUnO1xuQGltcG9ydCAncGFnZXMvZmFpci1wb2xpY3knO1xuQGltcG9ydCAncGFnZXMvY29uZG9taXN0YSc7XG5AaW1wb3J0ICdwYWdlcy9vcmdhbml6ZWQtYWNjb3VudHMnO1xuQGltcG9ydCAncGFnZXMvYXR0ZW50aW9uLXF1YWxpdHknO1xuQGltcG9ydCAncGFnZXMvY29udGFjdCc7XG5AaW1wb3J0ICdwYWdlcy9xdWl6JztcbkBpbXBvcnQgJ3BhZ2VzL3JlcXVlc3QtcHJvcG9zYWwnO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL2hlcm8nO1xuXG5AaW1wb3J0ICdsYXlvdXQvZm9vdGVyJztcbkBpbXBvcnQgJ2xheW91dC9yZXNwb25zaXZlJztcbiIsIi8vIENTUyBjdXN0b20gcHJvcGVydGllcyAocnVudGltZSB0aGVtaW5nIHRva2Vucylcbjpyb290IHtcbiAgLS1mb250LXNhbnM6ICdPcGVuIFNhbnMnLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLXRleHQ6ICMyNTQzNWM7XG4gIC0tbXV0ZWQ6ICM2YTdkOTA7XG4gIC0tbGluZTogI2M1Y2JkMztcbiAgLS1iZzogI2ZmZjtcbiAgLS1iZy1oZWFkZXI6ICNmMGY0Zjg7XG4gIC0td2hpdGU6ICNmZmY7XG4gIC0tbGVzcy13aGl0ZTogI2VmZjdmZjtcblxuICAtLWJsdWUtODAwOiAjMjY2MDk5O1xuICAtLWJsdWUtNzAwOiAjMWU1ZWE5OyAvKiBhY3RpdmUgbWFpbiAqL1xuICAtLWJsdWUtNjAwOiAjMmY2ZmI5O1xuICAtLWJsdWUtNTAwOiAjM2Y4MmNhO1xuXG4gIC0tZ3JlZW4tNTAwOiAjNDNmN2EzO1xuICAtLWdyZWVuLTYwMDogIzFlYTU2NzsgLyogYWN0aXZlIHN1YiAqL1xuICAtLWdyZWVuLTcwMDogIzEyOTE1NztcbiAgLS1ncmVlbi04MDA6ICMwZTc4NDc7XG4gIC0tZ3JlZW4tOTAwOiAjMWE4MDZmO1xuXG4gIC0tY2FsbG91dC1tYWluOiAjMmI3NGM4OyAvKiBob3ZlciB1bmRlcmxpbmUgZm9yIG1lbnUgKi9cbiAgLS1jYWxsb3V0LXN1YjogIzEyOTE1NztcblxuICAtLXNpZGUtdzogMjIwcHg7XG4gIC0tc2lkZS13LWNvbGxhcHNlZDogNTZweDtcblxuICAvKiBsYXlvdXQgZGltZW5zaW9ucyAqL1xuICAtLWZvb3Rlci1oOiA1MnB4O1xufVxuXG4iLCIvKiBCYXNlICovXG5odG1sLFxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiB2YXIoLS10ZXh0KTtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnKTtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiBhdXRvO1xufVxuXG4vKiBFbnN1cmUgU1BBIHNoZWxsIGNhbiBwdXNoIGZvb3RlciB0byBib3R0b20gb24gc2hvcnQgcGFnZXMgKi9cbiNyZWFjdC1yb290IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbmEgeyBjb2xvcjogaW5oZXJpdDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIEJhZGdlICh1c2VkIGFjcm9zcyBtYWluLCBzdWIgYW5kIHNpZGUgbWVudXMpICovXG4uYmFkZ2UgeyBiYWNrZ3JvdW5kOiAjZmY2YzAwOyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAxMnB4OyBwYWRkaW5nOiAycHggNXB4OyBib3JkZXItcmFkaXVzOiA1cHg7IGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi8qIEJ1dHRvbnMgKi9cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IHBhZGRpbmc6IDhweCAxMnB4OyBjdXJzb3I6IHBvaW50ZXI7IGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLmljbyB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB3aWR0aDogMS4xZW07IGhlaWdodDogMS4xZW07IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5sYWJlbCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgJi5naG9zdCB7IGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTsgY29sb3I6IHZhcigtLWJsdWUtNzAwKTsgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWJsdWUtNjAwKTsgfVxuICAmLnByaW1hcnkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1ibHVlLTcwMCk7IGNvbG9yOiB2YXIoLS13aGl0ZSk7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmOyB9XG4gICYuc3VjY2VzcyB7IGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLTYwMCk7IGNvbG9yOiB2YXIoLS13aGl0ZSk7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmOyB9XG59XG4iLCIvKiBGb250cy1sb2FkaW5nIG92ZXJsYXkgYW5kIHNwaW5uZXIgKi9cbi5jbS1mb250cy1vdmVybGF5IHsgcG9zaXRpb246IGZpeGVkOyBpbnNldDogMDsgYmFja2dyb3VuZDogdmFyKC0tYmcpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgei1pbmRleDogMTAwMDsgfVxuLmNtLXNwaW5uZXIgeyB3aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4OyBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IGJvcmRlci10b3AtY29sb3I6IHZhcigtLWJsdWUtNjAwKTsgYm9yZGVyLXJhZGl1czogNTAlOyBhbmltYXRpb246IGNtLXNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7IH1cblxuIiwiLyogSGVhZGVyICovXG4uY20taGVhZGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAzMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctaGVhZGVyKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBtaW4taGVpZ2h0OiA4MHB4OyAvLyBhbGxvdyBoZWFkZXIgdG8gZ3JvdyB0byBmaXQgbWFpbmJhci9zdWJiYXJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCAxNnB4O1xuXG4gICYtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgaGVpZ2h0OiA4MHB4OyAvLyBrZWVwIHRoZSB0b3Agcm93IGZpeGVkOyBoZWFkZXIgb3ZlcmFsbCBjYW4gZ3Jvd1xuICB9XG5cbiAgLmNtLWxvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG5cbiAgICAubG9nby1pbWcge1xuICAgICAgaGVpZ2h0OiBjbGFtcCgzNHB4LCA4dncsIDUwcHgpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAubGV0dGVycyB0ZXh0LFxuICAgIC5sZXR0ZXJzIHJlY3Qge1xuICAgICAgdHJhbnNpdGlvbjogZmlsbCAycyBlYXNlO1xuICAgICAgLyogcmVzdG9yZSA9IHNsb3dlciAqL1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgZmlsbDogdmFyKC0tZ3JlZW4tNjAwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAuMnMgZWFzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY20tcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gIH1cbn1cblxuLy8gV2hlbiBhdXRoZW50aWNhdGVkLCByZW1vdmUgaGVhZGVyIGJvdHRvbSBib3JkZXJcbi5jbS1oZWFkZXIuaXMtYXV0aCB7IGJvcmRlci1ib3R0b206IDA7IH1cbi5jbS1oZWFkZXI6bm90KC5pcy1hdXRoKSAuY20tc3ViYmFyIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyB9XG4uY20taGVhZGVyLmlzLWF1dGggLmNtLXN1YmJhciB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgfVxuXG4vKiBUb2dnbGUgKGhhbWJ1cmdlcikgKi9cbi5jbS10b2dnbGUge1xuICB3aWR0aDogNTZweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgc3BhbixcbiAgc3Bhbjo6YmVmb3JlLFxuICBzcGFuOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogIzNhNTU2YTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBzcGFuOjpiZWZvcmUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTVweDsgfVxuICBzcGFuOjphZnRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1cHg7IH1cbn1cblxuIiwiLyogRGVza3RvcCBob3Jpem9udGFsIG1lbnVzICovXG4uY20tbWFpbmJhcixcbi5jbS1zdWJiYXIge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDAgLTE2cHg7XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiBhbGxvdyBtdWx0aS1saW5lIHdoZW4gd2lkdGggaXMgdGlnaHQgKi9cbiAgICBnYXA6IDNweDtcbiAgfVxufVxuXG4iLCIuY20tbWFpbmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgLyogZW5zdXJlIHN1YmJhciBkcm9wcyBiZWhpbmQgKi9cbiAgYmFja2dyb3VuZDogdmFyKC0tYmctaGVhZGVyKTsgLyogc29saWQgc3VyZmFjZSB0byBvY2NsdWRlIHN1YmJhciB3aGlsZSBvdmVybGFwcGluZyAqL1xuICBtYXJnaW4tdG9wOiAwOyAvKiBubyBvdmVybGFwIHdpdGggaGVhZGVyICovXG4gIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgMS4wNXZ3LCAxNnB4KTsgLyogZmx1aWQgdGV4dCAqL1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcblxuICB1bCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBsaSB7XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgcGFkZGluZzogMCBjbGFtcCg2cHgsIDAuOHZ3LCAxNHB4KTsgLyogZmx1aWQgcGFkZGluZyAqL1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ibHVlLTUwMCk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtYWN0aXZlIGEsXG4gICAgICBhLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJsdWUtNzAwKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pY28geyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgd2lkdGg6IDEuMTI1ZW07IGhlaWdodDogMS4xMjVlbTsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmxhYmVsIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLXVuZGVybGluZSh2YXIoLS1ibHVlLTUwMCkpO1xufVxuXG4iLCIvLyBSZXVzYWJsZSBtaXhpbnNcbkBtaXhpbiBob3Zlci11bmRlcmxpbmUoJGNvbG9yLCAkdGV4dDogbnVsbCkge1xuICBsaS5pcy1hY3RpdmUgYSxcbiAgYS5pcy1hY3RpdmUsXG4gIGxpOm5vdCguaXMtYWN0aXZlKSBhOmhvdmVyLFxuICBhOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG4gICAgY29sb3I6ICR0ZXh0IG9yICRjb2xvcjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbiIsIi5jbS1zdWJiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTNweCwgMC45NXZ3LCAxNXB4KTsgLyogZmx1aWQgdGV4dCBzaXplIHRvIG1pcnJvciBtYWluYmFyICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNlM2VkZjU7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8qIGNsaXAgc2xpZGluZyBzdWJsaXN0IGR1cmluZyBzd2FwICovXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgLyogYW5pbWF0ZWQgc3VibGlzdCBzd2FwcGluZyAqL1xuICAuc3VibGlzdCB7IHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDE0NDBweDsgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnN1Ymxpc3QuaXMtc3dhcC1vdXQgeyBhbmltYXRpb246IGNtLXN1Ymxpc3Qtb3V0IDE0MG1zIGVhc2UgZm9yd2FyZHM7IH1cbiAgLnN1Ymxpc3QuaXMtc3dhcC1pbiB7IGFuaW1hdGlvbjogY20tc3VibGlzdC1pbiAxNjBtcyBlYXNlIGZvcndhcmRzOyB9XG5cbiAgJi5pcy1lbnRlciB7IGFuaW1hdGlvbjogY20tc3ViYmFyLWRyb3AgMjIwbXMgZWFzZS1vdXQgYm90aDsgdHJhbnNmb3JtLW9yaWdpbjogdG9wOyB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5OyB9XG4gICYuaXMtaGlkZGVuIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gIGxpIHtcbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkN2UyZWQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogOHB4O1xuICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgcGFkZGluZzogMCBjbGFtcCg2cHgsIDAuN3Z3LCAxMnB4KTsgLyogZmx1aWQgcGFkZGluZyAqL1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUgYSxcbiAgICBhLmlzLWFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLTYwMCk7IGNvbG9yOiB2YXIoLS13aGl0ZSkgIWltcG9ydGFudDsgfVxuICB9XG5cbiAgLmljbyB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB3aWR0aDogMS4xZW07IGhlaWdodDogMS4xZW07IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5sYWJlbCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuICBAaW5jbHVkZSBob3Zlci11bmRlcmxpbmUodmFyKC0tZ3JlZW4tNzAwKSwgdmFyKC0tZ3JlZW4tODAwKSk7XG59XG5cbiIsIi8qIFNpZGUgbWVudSAodGFibGV0ICsgbW9iaWxlKSAqL1xuLmNtLXNpZGUge1xuICBtYXgtd2lkdGg6IDMyMHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogODBweDtcbiAgbGVmdDogMDtcbiAgLyogZG8gbm90IG92ZXJsYXAgZm9vdGVyOiBjb25zdHJhaW4gaGVpZ2h0IHRvIHZpZXdwb3J0IG1pbnVzIGhlYWRlciBhbmQgZm9vdGVyICovXG4gIGJvdHRvbTogYXV0bztcbiAgd2lkdGg6IHZhcigtLXNpZGUtdyk7XG4gIGJhY2tncm91bmQ6ICNmMGY0Zjg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiA0MDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZSwgd2lkdGggMC4ycyBlYXNlO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gODBweCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWZvb3Rlci1oKTtcblxuICAuYmFkZ2Uge31cblxuICAmLWhlYWQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBoZWlnaHQ6IDQ0cHg7IHBhZGRpbmc6IDAgMTJweDsgYmFja2dyb3VuZDogdmFyKC0tYmx1ZS03MDApOyBjb2xvcjogI2ZmZjsgfVxuICAmLXRpdGxlIHsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLWxlZnQ6IDZweDsgfVxuXG4gIC5jbS1jb2xsYXBzZSB7XG4gICAgYm9yZGVyOiAwOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgd2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDsgZGlzcGxheTogZ3JpZDsgcGxhY2UtaXRlbXM6IGNlbnRlcjsgY29sb3I6ICNmZmY7IGN1cnNvcjogcG9pbnRlcjtcbiAgICAuY2hldiB7IHdpZHRoOiA4cHg7IGhlaWdodDogOHB4OyBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7IHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7IH1cbiAgICAmLmlzLWNvbGxhcHNlZCAuY2hldiB7IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICB9XG59XG5cbi8qIFVuaWZpZWQgc2lkZSBsaXN0IChtYWluICsgc3ViZ3JvdXBzKSAqL1xuLmNtLXNpZGUtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMnB4O1xuXG4gIC5uYXYge1xuICAgIGhlaWdodDogNDJweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgcGFkZGluZzogMTBweCAxMnB4IDEwcHggMTRweDsgY29sb3I6ICMyNDRiNmI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IDEwcHg7XG4gICAgLmljbyB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB3aWR0aDogMThweDsgaGVpZ2h0OiAxOHB4OyBtYXJnaW4tcmlnaHQ6IDZweDsgZmxleDogMCAwIDE4cHg7IH1cbiAgICAubGFiZWwgeyBmbGV4OiAxIDEgYXV0bzsgZm9udC1zaXplOiAxM3B4OyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgJi5tYWluIHsgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgJi5zdWIgeyBmb250LXNpemU6IDEzcHg7IH1cbiAgICAmLm1haW4uaXMtYWN0aXZlIHsgYmFja2dyb3VuZDogdmFyKC0tYmx1ZS03MDApOyBjb2xvcjogI2ZmZjsgfVxuICAgICYuc3ViLmlzLWFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLTYwMCk7IGNvbG9yOiAjZmZmOyB9XG4gICAgJi5tYWluLmlzLWFjdGl2ZTo6YmVmb3JlIHsgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAxcHg7IGJvdHRvbTogMXB4OyB3aWR0aDogM3B4OyBiYWNrZ3JvdW5kOiB2YXIoLS1ibHVlLTUwMCk7IH1cbiAgICAmLnN1Yi5pcy1hY3RpdmU6OmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMXB4OyBib3R0b206IDFweDsgd2lkdGg6IDNweDsgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4tNzAwKTsgfVxuICAgICYubWFpbjpub3QoLmlzLWFjdGl2ZSk6aG92ZXIgeyBjb2xvcjogdmFyKC0tY2FsbG91dC1tYWluKTsgfVxuICAgICYuc3ViOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7IGNvbG9yOiB2YXIoLS1jYWxsb3V0LXN1Yik7IH1cbiAgICAmLm1haW46bm90KC5pcy1hY3RpdmUpOmhvdmVyOjpiZWZvcmUsXG4gICAgJi5zdWI6bm90KC5pcy1hY3RpdmUpOmhvdmVyOjpiZWZvcmUgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDFweDsgYm90dG9tOiAxcHg7IHdpZHRoOiAzcHg7IGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsgfVxuICB9XG5cbiAgLyogU3VibWVudSB3cmFwcGVyOiBzbGlnaHRseSBpbmRlbnRlZCAqL1xuICAuc3Vid3JhcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UzZWRmNTsgcGFkZGluZy1sZWZ0OiAxMHB4OyBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlM2VkZjU7IC8qIGFjY29yZGlvbiBiZWhhdmlvciAqLyBtYXgtaGVpZ2h0OiAwOyBvdmVyZmxvdzogaGlkZGVuOyB3aWxsLWNoYW5nZTogbWF4LWhlaWdodDsgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAyNDBtcyBlYXNlO1xuICAgICYuaXMtb3BlbiB7IG1heC1oZWlnaHQ6IDEwMDBweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7IC8qIGxhcmdlIGVub3VnaCBmb3IgZXhwZWN0ZWQgaXRlbXMgKi8gfVxuICB9XG59XG5cbi8qIFRhYmxldCBjb2xsYXBzZWQ6IG9ubHkgaWNvbnM7IHJlbW92ZSBpbmRlbnQgYW5kIGhpZGUgb3ZlcmZsb3cgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnAtdGFibGV0LW1heCkge1xuICBib2R5LmNtLXNpZGUtY29sbGFwc2VkIHtcbiAgICAuY20tc2lkZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY20tc2lkZS1saXN0IHtcbiAgICAgIC5zdWJ3cmFwIHsgbWFyZ2luLWxlZnQ6IDA7IHBhZGRpbmctbGVmdDogMDsgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIC5uYXYgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcGFkZGluZzogMTBweDsgLmxhYmVsLCAuYmFkZ2UgeyBkaXNwbGF5OiBub25lOyB9IC5pY28geyBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIH1cbiAgfVxufVxuXG4vKiBCYWNrZHJvcCBmb3Igb3ZlcmxheSAodGFibGV0ICsgbW9iaWxlKSAqL1xuLmNtLWJhY2tkcm9wIHsgcG9zaXRpb246IGZpeGVkOyBpbnNldDogODBweCAwIDAgMDsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjI1KTsgZGlzcGxheTogbm9uZTsgei1pbmRleDogMzU7IH1cbi5jbS1tZW51LW9wZW4gLmNtLWJhY2tkcm9wIHsgZGlzcGxheTogYmxvY2s7IH1cblxuIiwiLyogU2xpZGluZyBkaWFnb25hbCBiYWNrZ3JvdW5kIHVzZWQgYnkgdGhlIHRpdGxlIGJhbmQgKi9cbkBrZXlmcmFtZXMgY20tdGl0bGUtc2xpZGUge1xuICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1JSk7IH1cbn1cblxuLyogU3ViYmFyIGRyb3AtZG93biAqL1xuQGtleWZyYW1lcyBjbS1zdWJiYXItZHJvcCB7XG4gIDAlIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLyogU3VibGlzdCBzd2FwICovXG5Aa2V5ZnJhbWVzIGNtLXN1Ymxpc3Qtb3V0IHsgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTIwJSk7IH0gfVxuQGtleWZyYW1lcyBjbS1zdWJsaXN0LWluIHsgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMjAlKTsgfSB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi8qIFRpdGxlIGJhbmQgY29sb3IgY3ljbGluZyAobm9uLWhvbWUgcGFnZXMpICovXG5Aa2V5ZnJhbWVzIGNtLXRpdGxlLWJhbmQge1xuICAwJSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsdWUtNzAwKTsgfVxuICA0MCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlLTcwMCk7IH1cbiAgNTAlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JlZW4tOTAwKTsgfVxuICA5MCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbi05MDApOyB9XG4gIDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlLTcwMCk7IH1cbn1cblxuLyogR2VuZXJpYyBzcGlubmVyICovXG5Aa2V5ZnJhbWVzIGNtLXNwaW4geyB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuIiwiLmNtLWNvbnRlbnQge1xuICBwYWRkaW5nOiAyMHB4O1xuICBmbGV4OiAxIDAgYXV0bztcblxuICBoMiB7XG4gICAgY29sb3I6IHZhcigtLWdyZWVuLTYwMCk7XG4gIH1cblxuICBhOm5vdChbY2xhc3NdKSxcbiAgYVtjbGFzcz1cIlwiXSB7XG4gICAgY29sb3I6IHZhcigtLWJsdWUtNTAwKTtcbiAgfVxufVxuXG4vKiBDb25zdHJhaW4gYW5kIGNlbnRlciBtYWluIHBhZ2UgY29udGVudCAqL1xuLmNtLWNvbnRlbnQ+LnBhZ2Uge1xuICBtYXgtd2lkdGg6IDE0MDRweDtcbiAgLyogPSAxNDQwIC0gMioxNiAqL1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vKiBTaGFyZWQgQ1RBIENhcmRzIChwYWdlcyBjb3B5IHNlY3Rpb25zKSAqL1xuLmNtLWNvbnRlbnQ+LnBhZ2Uge1xuICAuY29weSAuY3RhcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCAxZnIpKTtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgfVxuXG4gIC5jb3B5IC5jdGFzIC5jdGEtbGluayB7XG4gICAgLS1hY2NlbnQ6IHZhcigtLWJsdWUtNjAwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIGVhc2UsIGJveC1zaGFkb3cgMTIwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZTtcbiAgfVxuXG4gIC5jb3B5IC5jdGFzIC5jdGEtbGluayAuaWNvIHtcbiAgICB3aWR0aDogMS4zZW07XG4gICAgaGVpZ2h0OiAxLjNlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gIH1cblxuICAuY29weSAuY3RhcyAuY3RhLWxpbmsgLnRleHQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiA0cHg7XG4gIH1cblxuICAuY29weSAuY3RhcyAuY3RhLWxpbmsgLmxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgLmNvcHkgLmN0YXMgLmN0YS1saW5rIC5kZXNjIHtcbiAgICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogLjk1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gIH1cblxuICAuY29weSAuY3RhcyAuY3RhLWxpbms6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbGVzcy13aGl0ZSk7XG4gIH1cbn1cblxuLyogU2hhcmVkIHBhbmVscyBhbmQgZmFjdHMgbGlzdHMgKi9cbi5wYWdlIHtcbiAgLnBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgbWFyZ2luOiAyNHB4IDA7XG5cbiAgICA+aGVhZGVyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBjb2xvcjogIzJlNmRhNDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG4gIH1cblxuICAuZmFjdHMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiA2cHggMDtcbiAgICB9XG5cbiAgICBsaSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBUaXRsZSBiYW5kIHN0eWxlcyAoc2hhcmVkIGFjcm9zcyBwYWdlcykgKi9cbi5jbS1jb250ZW50IHtcbiAgPmRpdj5oMSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbjogLTIwcHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAvKiBrZWVwIHBzZXVkby1lbGVtZW50cyBiZWhpbmQgdGV4dCAqL1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogYmFja2dyb3VuZCB2aWEgcHNldWRvLWVsZW1lbnRzICovXG4gIH1cblxuICAvKiBBbmltYXRlZCBkaWFnb25hbCBncmFkaWVudCBsYXllcnMgYmVoaW5kIEgxICovXG4gID5kaXY+aDE6OmJlZm9yZSxcbiAgPmRpdj5oMTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IC01MCU7XG4gICAgcmlnaHQ6IC01MCU7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTYwZGVnLCB2YXIoLS1ncmVlbi05MDApIDUwJSwgdmFyKC0tYmx1ZS03MDApIDUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpO1xuICAgIGFuaW1hdGlvbjogY20tdGl0bGUtc2xpZGUgMzBzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB9XG5cbiAgLyogU2Vjb25kIGxheWVyIGZvciBwYXJhbGxheCBmZWVsICovXG4gID5kaXY+aDE6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAuNjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTYwZGVnLCB2YXIoLS1ncmVlbi04MDApIDUwJSwgdmFyKC0tYmx1ZS04MDApIDUwJSk7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA0NXM7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlLXJldmVyc2U7XG4gIH1cbn1cblxuLyogRnVsbC1ibGVlZCBiYW5kIGF0IGRlc2t0b3Agd2lkdGhzICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHtcbiAgLmNtLWNvbnRlbnQ+ZGl2PmgxIHtcbiAgICBtYXJnaW46IC0yMHB4IGNhbGMoKDEwMCUgLSAxMDB2dykgLyAyKTtcbiAgICBwYWRkaW5nOiAyMHB4IGNhbGMoKDEwMHZ3IC0gMTAwJSkgLyAyKTtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuXG4vKiBSZWR1Y2VkIG1vdGlvbjogZmFsbCBiYWNrIHRvIHN0YXRpYyBiYW5kICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuY20tY29udGVudD5kaXY+aDEge1xuICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsdWUtNzAwKTtcbiAgfVxuXG4gIC5jbS1jb250ZW50PmRpdj5oMTo6YmVmb3JlLFxuICAuY20tY29udGVudD5kaXY+aDE6OmFmdGVyIHtcbiAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTYwZGVnLCB2YXIoLS1ncmVlbi05MDApIDUwJSwgdmFyKC0tYmx1ZS03MDApIDUwJSk7XG4gIH1cbn0iLCIvKiBUd28tdXAgcGFuZWwgbGF5b3V0IGZvciBIb21lICovXG4ucGFnZSAucGFuZWwucGFuZWwtZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDI0cHg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5wYWdlIC5wYW5lbC5wYW5lbC1mbGV4IC5wYW5lbC1ibG9jayB7XG4gICAgZmxleDogMSAxIDMyMHB4O1xuICAgIG1pbi13aWR0aDogMjgwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogT25kZSBlc3RhbW9zIGJsb2NrICovXG4ucGFnZSAub25kZS1lc3RhbW9zIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5wYWdlIC5vbmRlLWVzdGFtb3MgLm9uZGUtZXN0YW1vcy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ucGFnZSAub25kZS1lc3RhbW9zIC5vbmRlLWVzdGFtb3MtY29udGVudCBwIHtcbiAgICBmbGV4OiAxO1xufVxuXG4ucGFnZSAub25kZS1lc3RhbW9zIC5vbmRlLWVzdGFtb3MtbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAyMHB4O1xufVxuXG4ucGFnZSAub25kZS1lc3RhbW9zIC5vbmRlLWVzdGFtb3MtbGlzdCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMjhweDtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBjb2xvcjogIzFkM2I1Mztcbn1cblxuLnBhZ2UgLm9uZGUtZXN0YW1vcyAub25kZS1lc3RhbW9zLWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDAuMmVtO1xufVxuXG4vKiBTcGVjaWZpYyBjb2xvcnMgbWF0Y2hpbmcgbWFwYS5zdmcgKi9cbi5wYWdlIC5vbmRlLWVzdGFtb3MgLm9uZGUtZXN0YW1vcy1saXN0IGxpLnBvcnRvOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICMzNzhDQkU7XG59XG5cbi5wYWdlIC5vbmRlLWVzdGFtb3MgLm9uZGUtZXN0YW1vcy1saXN0IGxpLm1hdG9zaW5ob3M6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogIzY1OTE1RTtcbn1cblxuLnBhZ2UgLm9uZGUtZXN0YW1vcyAub25kZS1lc3RhbW9zLWxpc3QgbGkubWFpYTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZDMzRBO1xufVxuXG4vKiBNYXAgaW1hZ2Ugc2l6aW5nICovXG4ucGFnZSAub25kZS1lc3RhbW9zIC5tYXBhIHtcbiAgICB3aWR0aDogY2xhbXAoMTIwcHgsIDQwJSwgMTgwcHgpO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAtMzVweDtcbn1cblxuLyogU3RhY2sgbmVhdGx5IG9uIHNtYWxsZXIgc2NyZWVucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLnBhZ2UgLm9uZGUtZXN0YW1vcyAub25kZS1lc3RhbW9zLWNvbnRlbnQge1xuICAgICAgICAvL2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLnBhZ2UgLm9uZGUtZXN0YW1vcyAubWFwYSB7XG4gICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vbWF4LXdpZHRoOiA0MjBweDtcbiAgICB9XG59IiwiLyogRmFpciBQb2xpY3kgbGF5b3V0ICovXG4uY20tY29udGVudD4ucGFnZS5mYWlyLXBvbGljeSB7XG4gIC5wb2xpY3ktZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgZ2FwOiAxNnB4OyBtYXJnaW4tdG9wOiAyOHB4OyB9XG5cbiAgLnBvbGljeS1jYXJkIHtcbiAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE2MHB4IDFmcjsgYWxpZ24taXRlbXM6IHN0YXJ0OyBnYXA6IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IHBhZGRpbmc6IDE2cHg7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tYWNjZW50LCB2YXIoLS1ibHVlLTYwMCkpO1xuICB9XG5cbiAgLnBvbGljeS1jYXJkIC5tZWRpYSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBiYWNrZ3JvdW5kOiAjZjhmYmZmOyBib3JkZXI6IDFweCBzb2xpZCAjZTJlYmY1OyB3aWR0aDogMTAwJTsgYXNwZWN0LXJhdGlvOiAxIC8gMTsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5wb2xpY3ktY2FyZCAubWVkaWEgLnRodW1iIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG1heC1oZWlnaHQ6IDE2MHB4OyBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAucG9saWN5LWNhcmQgaDIgeyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiA2cHg7IH1cbiAgLnBvbGljeS1jYXJkIHAgeyBtYXJnaW4tdG9wOiA2cHg7IH1cblxuICAuY29weSAuY3RhcyAuY3RhLWxpbms6bnRoLWNoaWxkKDEpIHsgLS1hY2NlbnQ6IHZhcigtLWdyZWVuLTYwMCk7IH1cbiAgLmNvcHkgLmN0YXMgLmN0YS1saW5rOm50aC1jaGlsZCgyKSB7IC0tYWNjZW50OiB2YXIoLS1jYWxsb3V0LW1haW4pOyB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC10YWJsZXQtbWF4KSB7IC5wb2xpY3ktZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLW1vYmlsZS1tYXgpIHtcbiAgICAucG9saWN5LWNhcmQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAgIC5wb2xpY3ktY2FyZCAubWVkaWEgeyB3aWR0aDogMTAwJTsgYXNwZWN0LXJhdGlvOiBhdXRvOyBtYXJnaW46IDAgYXV0byA4cHg7IH1cbiAgICAucG9saWN5LWNhcmQgLm1lZGlhIC50aHVtYiB7IGhlaWdodDogYXV0bzsgbWF4LWhlaWdodDogMjAwcHg7IH1cbiAgfVxuXG4gIC8qIFRhYmxldDogc3RhY2sgbWVkaWEgYWJvdmUgdGV4dCB3aGVuIHNpZGUgbWVudSBpcyBvcGVuICovXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbW9iaWxlLW1heCArIDEpIGFuZCAobWF4LXdpZHRoOiAkYnAtdGFibGV0LW1heCkge1xuICAgIGJvZHk6bm90KC5jbS1zaWRlLWNvbGxhcHNlZCkgJiB7XG4gICAgICAucG9saWN5LWNhcmQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAgICAgLnBvbGljeS1jYXJkIC5tZWRpYSB7IHdpZHRoOiAxMDAlOyBtYXJnaW46IDAgYXV0byA4cHg7IGFzcGVjdC1yYXRpbzogYXV0bzsgfVxuICAgIH1cbiAgfVxuXG4gIC8qIFRhYmxldCDiiaU4MDFweDogd2l0aCBzaWRlIG1lbnUgb3BlbiwgcmV0dXJuIHRvIHNpZGUtYnktc2lkZSAqL1xuICBAbWVkaWEgKG1pbi13aWR0aDogODAxcHgpIGFuZCAobWF4LXdpZHRoOiAkYnAtdGFibGV0LW1heCkge1xuICAgIGJvZHk6bm90KC5jbS1zaWRlLWNvbGxhcHNlZCkgJiB7XG4gICAgICAucG9saWN5LWNhcmQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE2MHB4IDFmcjsgfVxuICAgICAgLnBvbGljeS1jYXJkIC5tZWRpYSB7IG1hcmdpbjogMDsgYXNwZWN0LXJhdGlvOiAxIC8gMTsgfVxuICAgIH1cbiAgfVxuXG4gIC8qIEFjY2VudHMgcGVyIGNhcmQgZm9yIHZhcmlldHkgKi9cbiAgLnBvbGljeS1ncmlkPi5wb2xpY3ktY2FyZDpudGgtY2hpbGQoMSkgeyAtLWFjY2VudDogI0M0Q0VCQzsgfSAvKiBzb2Z0IHNhZ2UgKi9cbiAgLnBvbGljeS1ncmlkPi5wb2xpY3ktY2FyZDpudGgtY2hpbGQoMikgeyAtLWFjY2VudDogI0QwRDhERDsgfSAvKiBjb29sIGxpZ2h0IGdyYXktYmx1ZSAqL1xuICAucG9saWN5LWdyaWQ+LnBvbGljeS1jYXJkOm50aC1jaGlsZCgzKSB7IC0tYWNjZW50OiAjRTZEOEMzOyB9IC8qIHBhbGUgc2FuZCAqL1xuICAucG9saWN5LWdyaWQ+LnBvbGljeS1jYXJkOm50aC1jaGlsZCg0KSB7IC0tYWNjZW50OiAjRDlDMkE5OyB9IC8qIGxpZ2h0IGVhcnRoeSBicm93biAqL1xuICAucG9saWN5LWdyaWQ+LnBvbGljeS1jYXJkOm50aC1jaGlsZCg1KSB7IC0tYWNjZW50OiAjQThFNUQwOyB9IC8qIHZlcnkgbGlnaHQgdGVhbCAqL1xuICAucG9saWN5LWdyaWQ+LnBvbGljeS1jYXJkOm50aC1jaGlsZCg2KSB7IC0tYWNjZW50OiAjNkZEMEIwOyB9IC8qIGxpZ2h0IHRlYWwgKi9cbiAgLnBvbGljeS1ncmlkPi5wb2xpY3ktY2FyZDpudGgtY2hpbGQoNykgeyAtLWFjY2VudDogI0IzRDdGMjsgfSAvKiBsaWdodCBza3kgYmx1ZSAqL1xuICAucG9saWN5LWdyaWQ+LnBvbGljeS1jYXJkOm50aC1jaGlsZCg4KSB7IC0tYWNjZW50OiAjMzM4MENDOyB9IC8qIGJyYW5kIGJsdWUgKi9cbiAgLnBvbGljeS1ncmlkPi5wb2xpY3ktY2FyZDpudGgtY2hpbGQoOSkgeyAtLWFjY2VudDogIzI2NjA5OTsgfVxufVxuXG4iLCIvKiBBIENvbmRvbWlzdGEgcGFnZTogYXV0b21hdGljIG5vLXNjcm9sbCBsYXlvdXQgdXNpbmcgZmxleC13cmFwLiAqL1xuLmNtLWNvbnRlbnQ+LnBhZ2UuY29uZG9taXN0YSB7XG4gIC5pbm5lciB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOyBnYXA6IDI0cHg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5jb3B5IHsgb3JkZXI6IDE7IGZsZXg6IDEgMSA0MGNoOyBtaW4td2lkdGg6IDI4Y2g7IGZvbnQtc2l6ZTogMS4wNXJlbTsgbGluZS1oZWlnaHQ6IDEuNjsgYWxpZ24tc2VsZjogc3RhcnQ7IH1cbiAgLmNvcHkgcCB7IG1hcmdpbjogMCAwIDFlbTsgfVxuICAubWVkaWEgeyBvcmRlcjogMjsgZmxleDogMCAxIDMwMHB4OyBtaW4td2lkdGg6IDI2MHB4OyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24tc2VsZjogc3RhcnQ7IG1hcmdpbjogMCBhdXRvOyB9XG4gIC5tZWRpYSBpbWcgeyBtYXgtd2lkdGg6IDMwMHB4OyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyBkaXNwbGF5OiBibG9jazsgfVxuXG4gIC5jb3B5IC5jdGFzIC5jdGEtbGluazpudGgtY2hpbGQoMSkgeyAtLWFjY2VudDogdmFyKC0tZ3JlZW4tNjAwKTsgfVxuICAuY29weSAuY3RhcyAuY3RhLWxpbms6bnRoLWNoaWxkKDIpIHsgLS1hY2NlbnQ6IHZhcigtLWNhbGxvdXQtbWFpbik7IH1cbn1cblxuQG1lZGlhKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHtcbiAgLmNtLWNvbnRlbnQ+LnBhZ2UuY29uZG9taXN0YSB7XG4gICAgLm1lZGlhIHsgZmxleDogMCAxIDQyMHB4OyB9XG4gICAgLm1lZGlhIGltZyB7IG1heC13aWR0aDogNDIwcHg7IH1cbiAgfVxufVxuIiwiLyogQ29udGFzIG9yZ2FuaXphZGFzIHBhZ2U6IHNhbWUgcmVzcG9uc2l2ZSB0d28tY29sdW1uIGxheW91dCBhcyBDb25kb21pc3RhICovXG4uY20tY29udGVudD4ucGFnZS5vcmdhbml6ZWQtYWNjb3VudHMge1xuICAuaW5uZXIgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogMjRweDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmNvcHkgeyBvcmRlcjogMTsgZmxleDogMSAxIDQwY2g7IG1pbi13aWR0aDogMjhjaDsgZm9udC1zaXplOiAxLjA1cmVtOyBsaW5lLWhlaWdodDogMS42OyBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICAuY29weSBwIHsgbWFyZ2luOiAwIDAgMWVtOyB9XG4gIC5tZWRpYSB7IG9yZGVyOiAyOyBmbGV4OiAwIDEgMzAwcHg7IG1pbi13aWR0aDogMjYwcHg7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1zZWxmOiBzdGFydDsgbWFyZ2luOiAwIGF1dG87IH1cbiAgLm1lZGlhIGltZyB7IG1heC13aWR0aDogMzAwcHg7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XG4gICAgLm1lZGlhIHsgZmxleDogMCAxIDQyMHB4OyB9XG4gICAgLm1lZGlhIGltZyB7IG1heC13aWR0aDogNDIwcHg7IH1cbiAgfVxuXG4gIC8qIEFjY2VudHMgcGVyIGNhcmQgKG92ZXJyaWRlcyBzaGFyZWQgZGVmYXVsdHMpICovXG4gIC5jb3B5IC5jdGFzIC5jdGEtbGluazpudGgtY2hpbGQoMSkgeyAtLWFjY2VudDogdmFyKC0tZ3JlZW4tNjAwKTsgfVxuICAuY29weSAuY3RhcyAuY3RhLWxpbms6bnRoLWNoaWxkKDIpIHsgLS1hY2NlbnQ6IHZhcigtLWNhbGxvdXQtbWFpbik7IH1cbn1cblxuIiwiLyogQXRlbsOnw6NvIGUgUXVhbGlkYWRlIHBhZ2UgKi9cbi5jbS1jb250ZW50Pi5wYWdlLmF0dGVudGlvbi1xdWFsaXR5IHtcbiAgLnNlY3Rpb24geyBtYXJnaW46IDMwcHggMCA1MHB4OyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgyNjBweCwgMzAwcHgpIDFmcjsgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJ21lZGlhIHRpdGxlJyAnbWVkaWEgY29weSc7IGNvbHVtbi1nYXA6IDI0cHg7IHJvdy1nYXA6IDEycHg7IGFsaWduLWl0ZW1zOiBzdGFydDsgfVxuICAuc2VjdGlvbiAuaW5uZXIgeyBkaXNwbGF5OiBjb250ZW50czsgfVxuICAuc2VjdGlvbj5oMiB7IGdyaWQtYXJlYTogdGl0bGU7IG1hcmdpbjogMCAwIDhweDsgfVxuICAuc2VjdGlvbiAuY29weSB7IGdyaWQtYXJlYTogY29weTsgZm9udC1zaXplOiAxLjA1cmVtOyBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5zZWN0aW9uIC5tZWRpYSB7IGdyaWQtYXJlYTogbWVkaWE7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICAuc2VjdGlvbiAubWVkaWEgaW1nIHsgbWF4LXdpZHRoOiAzMDBweDsgd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgZGlzcGxheTogYmxvY2s7IH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLXRhYmxldC1tYXgpIHtcbiAgICAuc2VjdGlvbiB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBncmlkLXRlbXBsYXRlLWFyZWFzOiAndGl0bGUnICdtZWRpYScgJ2NvcHknOyB9XG4gIH1cblxuICAuc2VjdGlvbiB7IC0tYWNjZW50OiB2YXIoLS1ibHVlLTYwMCk7IH1cbiAgLnNlY3Rpb24ucHJvYmxlbSB7IC0tYWNjZW50OiAjZTE2NzVhOyB9XG4gIC5zZWN0aW9uLnZhbHVlIHsgLS1hY2NlbnQ6IHZhcigtLWdyZWVuLTYwMCk7IH1cblxuICAuc2VjdGlvbiAuY29weSB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbjogMCAwIDEuMmVtOyBwYWRkaW5nOiAwOyBkaXNwbGF5OiBncmlkOyBnYXA6IDE0cHg7IH1cbiAgLnNlY3Rpb24gLmNvcHkgdWwgbGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctbGVmdDogNDBweDsgbGluZS1oZWlnaHQ6IDEuNTU7IH1cbiAgLnNlY3Rpb24gLmNvcHkgdWwgbGk6OmJlZm9yZSB7IGNvbnRlbnQ6ICfinpwnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDZweDsgdG9wOiAwLjJlbTsgZm9udC1zaXplOiAxLjFlbTsgbGluZS1oZWlnaHQ6IDE7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9XG5cbiAgLmNvcHkgLmN0YXMgLmN0YS1saW5rOm50aC1jaGlsZCgxKSB7IC0tYWNjZW50OiB2YXIoLS1ncmVlbi02MDApOyB9XG4gIC5jb3B5IC5jdGFzIC5jdGEtbGluazpudGgtY2hpbGQoMikgeyAtLWFjY2VudDogdmFyKC0tY2FsbG91dC1tYWluKTsgfVxufVxuXG4iLCIvKiBDb250YWN0IHBhZ2U6IGluZm8gKyBtYXAgZ3JpZCAqL1xuLmNtLWNvbnRlbnQ+LnBhZ2UuY29udGFjdCB7XG4gIC5wYW5lbCB7IGJvcmRlcjogMDsgcGFkZGluZzogMDsgbWFyZ2luOiAwOyB9XG4gIC5jb250YWN0LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMTZweDsgYWxpZ24taXRlbXM6IHN0YXJ0OyBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5jb250YWN0LWdyaWQgLmxlZnQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiAxNnB4OyB9XG4gIC5jb250YWN0LWluZm8gLmZpZWxkIHsgbWFyZ2luOiAwIDAgOHB4OyB9XG4gIC5jb250YWN0LWN0YSAuY3RhcyB7IG1hcmdpbi10b3A6IDA7IH1cbiAgLmNvbnRhY3QtY3RhIC5hY3Rpb25zIHsgbWFyZ2luLXRvcDogMTJweDsgfVxuICAuY29udGFjdC1tYXAgLm1hcC1lbWJlZCB7IHdpZHRoOiAxMDAlOyBtaW4taGVpZ2h0OiAyNjBweDsgYmFja2dyb3VuZDogI2Y4ZmJmZjsgYm9yZGVyOiAxcHggc29saWQgI2UyZWJmNTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLXRhYmxldC1tYXgpIHsgLmNvbnRhY3QtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH1cbn1cblxuIiwiLyogUXVpeiAoUHJlY2lzYSBtdWRhcj8pICovXG4ucGFnZS5xdWl6IHtcbiAgLnF1aXotaW50cm8geyBtYXgtd2lkdGg6IDg0MHB4OyBtYXJnaW46IDIwcHggYXV0byAwOyBkaXNwbGF5OiBncmlkOyBnYXA6IDE0cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4gIC5xdWl6LXByb2dyZXNzIHsgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAucXVpei1wcm9ncmVzcyAuYmFyIHsgaGVpZ2h0OiA4cHg7IGJhY2tncm91bmQ6ICNlNmVlZjY7IGJvcmRlci1yYWRpdXM6IDZweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucXVpei1wcm9ncmVzcyAuYmFyIHNwYW4geyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMDsgYmFja2dyb3VuZDogdmFyKC0tYmx1ZS03MDApOyB0cmFuc2l0aW9uOiB3aWR0aCAuMjVzIGVhc2U7IH1cbiAgLnF1aXotcHJvZ3Jlc3MgLmxlYW4geyBoZWlnaHQ6IDZweDsgYmFja2dyb3VuZDogI2U2ZWVmNjsgYm9yZGVyLXJhZGl1czogNnB4OyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5xdWl6LXByb2dyZXNzIC5sZWFuIHNwYW4geyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMDsgYmFja2dyb3VuZDogdmFyKC0tYmx1ZS03MDApOyB0cmFuc2l0aW9uOiB3aWR0aCAuMjVzIGVhc2U7IH1cblxuICAucXVlc3Rpb24geyBmb250LXdlaWdodDogODAwOyBtYXJnaW46IDhweCAwOyB9XG4gIC5vcHRpb25zIHsgZGlzcGxheTogZ3JpZDsgZ2FwOiA4cHg7IG1hcmdpbjogMTBweCAwIDE4cHg7IH1cbiAgLm9wdGlvbnMgLmJ0biB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbiAgLnN1bW1hcnkgeyBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5zdW1tYXJ5IC5iYXIgeyBoZWlnaHQ6IDhweDsgYmFja2dyb3VuZDogI2U2ZWVmNjsgYm9yZGVyLXJhZGl1czogNnB4OyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5zdW1tYXJ5IC5iYXIgc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAwOyBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbi02MDApOyB0cmFuc2l0aW9uOiB3aWR0aCAuMjVzIGVhc2U7IH1cblxuICAucXVpei1wcm9ncmVzcyB7XG5cbiAgICAubGVhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlZWY2O1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmxlYW4gLmhhbGYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmxlYW4gLmhhbGYubGVmdCAuZmlsbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjI1cyBlYXNlO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xuICAgIH1cblxuICAgIC5sZWFuIC5oYWxmLnJpZ2h0IC5maWxsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4yNXMgZWFzZTtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgIH1cblxuICAgIC5sZWFuIC5jZW50ZXItbWFya2VyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjYzVjYmQzO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLmxlYW4gLmZpbGwub2sge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4tNjAwKTtcbiAgICB9XG5cbiAgICAubGVhbiAuZmlsbC53YXJuIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmIzNDc7XG4gICAgfVxuXG4gICAgLmxlYW4gLmZpbGwuY3JpdGljYWwge1xuICAgICAgYmFja2dyb3VuZDogI2Q2NDU0NTtcbiAgICB9XG5cbiAgICAubWV0YSB7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICAgICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogOHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAuc2lkZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAuY2VudGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICM2NDdiOGM7XG4gICAgICB9XG5cbiAgICAgIC5sZWZ0IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cblxuICAgICAgLmNlbnRlciB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuXG4gICAgICAucmlnaHQge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cblxuICAgICAgLnJlbWFpbmluZyB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5xdWl6LXN0ZXAge1xuICAgIG1heC13aWR0aDogODQwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAucSB7XG4gICAgICBtYXJnaW46IDAgMCAxNnB4IDA7XG4gICAgICBjb2xvcjogdmFyKC0tYmx1ZS03MDApO1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCAzLjN2dywgMjhweCk7XG4gICAgfVxuXG4gICAgLnEtaGVscCB7XG4gICAgICBtYXJnaW46IC0xMHB4IDAgMTRweCAwO1xuICAgICAgY29sb3I6IHZhcigtLW11dGVkKTtcbiAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xuICAgIH1cblxuICAgIC5xdWl6LW9wdGlvbnMge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTgwcHgsIG1heC1jb250ZW50KSk7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgfVxuXG4gICAgLnJlbWFpbmluZy1ib3R0b20ge1xuICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gICAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgfVxuXG4gICAgLmFsbW9zdC1kb25lIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbi03MDApO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gIH1cblxuICAucXVpei1yZXN1bHQge1xuICAgIG1heC13aWR0aDogODQwcHg7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMDtcblxuICAgIC5maW5hbC1hZHZpY2VzIHtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luOiA1cHg7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAudmVyZGljdC10YWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAmLm9rIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2U3ZjZlZDtcbiAgICAgICAgY29sb3I6ICMxMzZmM2E7XG4gICAgICB9XG5cbiAgICAgICYud2FybiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY2ZTY7XG4gICAgICAgIGNvbG9yOiAjOGE1NzAwO1xuICAgICAgfVxuXG4gICAgICAmLmNyaXRpY2FsIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZTZlNjtcbiAgICAgICAgY29sb3I6ICM4YTAwMDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIG1hcmdpbjogMzBweCBhdXRvIDAgYXV0bztcbiAgICB9XG4gIH1cbn0iLCIvKiBQZWRpciBwcm9wb3N0YSAod2l6YXJkKSAqL1xuLnBhZ2UucmVxdWVzdC1wcm9wb3NhbCB7XG4gIC53aXphcmQsIC5xdWl6LXByb2dyZXNzIHsgbWF4LXdpZHRoOiA5ODBweDsgbWFyZ2luOiAwIGF1dG87IH1cblxuICAud2l6YXJkLXN0ZXAgeyBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIC53aXphcmQtc3RlcCA+IGgyIHsgY29sb3I6IHZhcigtLWJsdWUtNzAwKTsgbWFyZ2luOiAwIDAgMTJweCAwOyB9XG5cbiAgLmZpZWxkLXJvdyB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogNnB4OyBtYXJnaW46IDEwcHggMDsgfVxuICAuZmllbGQtcm93IGxhYmVsIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZmllbGQtcm93IC5oZWxwIHsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC1zaXplOiAuOTVlbTsgbWFyZ2luLXRvcDogNHB4OyB9XG4gIC5maWVsZC1lcnJvciB7IGNvbG9yOiAjYjMyNjFlOyBmb250LXNpemU6IC45NWVtOyBtYXJnaW4tdG9wOiA0cHg7IH1cblxuICAuZ3JpZC0yIHsgZGlzcGxheTogZ3JpZDsgZ2FwOiAxMnB4OyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCAxZnIpKTsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmRhdGUtaW5wdXQtd3JhcCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZGF0ZS1pbnB1dC13cmFwIGlucHV0W3R5cGU9XCJ0ZXh0XCJdI2RhdGEtYXNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzOHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM1NzdhYTUnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3JlY3QgeD0nMycgeT0nNCcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyByeD0nMicgcnk9JzInLyUzRSUzQ2xpbmUgeDE9JzE2JyB5MT0nMicgeDI9JzE2JyB5Mj0nNicvJTNFJTNDbGluZSB4MT0nOCcgeTE9JzInIHgyPSc4JyB5Mj0nNicvJTNFJTNDbGluZSB4MT0nMycgeTE9JzEwJyB4Mj0nMjEnIHkyPScxMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggY2VudGVyO1xuICB9XG4gIC5hbGlnbi1lbmQgeyBhbGlnbi1pdGVtczogZW5kOyB9XG5cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgaW5wdXRbdHlwZT1cImRhdGVcIl0sIHNlbGVjdCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgfVxuICAuaXMtaW52YWxpZCB7IGJvcmRlci1jb2xvcjogI2IzMjYxZSAhaW1wb3J0YW50OyBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgxNzksIDM4LCAzMCwgMC4xMikgaW5zZXQ7IH1cbiAgaW5wdXQ6ZGlzYWJsZWQsIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLW11dGVkKTtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmN2ZhO1xuICAgIGJvcmRlci1jb2xvcjogI2RmZTZlZTtcbiAgfVxuXG4gIC8qIFJhZGlvL2NoZWNrYm94IG9wdGlvbnMgYXMgcGlsbHMgKi9cbiAgLm9wdGlvbnMtcm93IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgbWF4LWNvbnRlbnQpKTsgZ2FwOiAxMHB4OyB9XG4gIC5vcHQgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDsgYm9yZGVyLXJhZGl1czogNnB4OyBiYWNrZ3JvdW5kOiAjZmZmOyBjdXJzb3I6IHBvaW50ZXI7IHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vcHQgaW5wdXQgeyBkaXNwbGF5OiBub25lOyB9XG4gIC5vcHQuaXMtYWN0aXZlIHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWJsdWUtNjAwKTsgYmFja2dyb3VuZDogdmFyKC0tbGVzcy13aGl0ZSk7IH1cblxuICAvKiBDaGVja2JveCBncmlkIGZvciBpbnN0YWxsYXRpb25zICovXG4gIC5jaGVja2JveC1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNDBweCwgMWZyKSk7IGdhcDogOHB4OyB9XG4gIC5jaGsgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBwYWRkaW5nOiAxMHB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDZweDsgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAuY2hrIGlucHV0IHsgYWNjZW50LWNvbG9yOiB2YXIoLS1ibHVlLTcwMCk7IH1cbiAgLmNoay5pcy1hY3RpdmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1sZXNzLXdoaXRlKTsgfVxuICAuY2hrLWlubGluZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgfVxuXG4gIC8qIEF2YWlsYWJpbGl0eSBncmlkICovXG4gIC5hdmFpbGFiaWxpdHkgeyBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIC5hdmFpbGFiaWxpdHkgPiBoZWFkZXIgeyBmb250LXdlaWdodDogODAwOyBjb2xvcjogdmFyKC0tZ3JlZW4tNzAwKTsgfVxuICAuYXZhaWxhYmlsaXR5IC5jaGlwcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA4cHg7IG1hcmdpbjogMjBweCAwIDEycHg7IH1cbiAgLmF2YWlsYWJpbGl0eSAuY2hpcCB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBiYWNrZ3JvdW5kOiAjZmZmOyBwYWRkaW5nOiA2cHggMTBweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAuOTVlbTsgfVxuICAuYXZhaWxhYmlsaXR5IC5jaGlwOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tbGVzcy13aGl0ZSk7IH1cbiAgLmF2YWlsYWJpbGl0eSAuY2hpcC5jbGVhciB7IGNvbG9yOiAjOGEwMDAwOyBib3JkZXItY29sb3I6ICNmMGM0YzQ7IGJhY2tncm91bmQ6ICNmZmY1ZjU7IH1cbiAgLmdyaWQtYXYgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNWZyIHJlcGVhdCgzLCAxZnIpOyBhbGlnbi1pdGVtczogY2VudGVyOyB1c2VyLXNlbGVjdDogbm9uZTsgdG91Y2gtYWN0aW9uOiBub25lOyBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5ncmlkLWF2IC5oZWFkIHsgY29sb3I6IHZhcigtLW11dGVkKTsgLypmb250LXdlaWdodDogNzAwOyovIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZ3JpZC1hdiAuZGF5IHsgcGFkZGluZzogOHB4IDZweDsgfVxuICAuZ3JpZC1hdiAuY2VsbCB7IGRpc3BsYXk6IGdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXdoaXRlKTsgcGFkZGluZzogOHB4OyBjdXJzb3I6IGNyb3NzaGFpcjsgfVxuICAuZ3JpZC1hdiAuY2VsbDpub3QoLmlzLW9uKTpob3ZlciB7IGJhY2tncm91bmQ6ICNlNWVmZmI7IH1cbiAgLmdyaWQtYXYgLmNlbGwuaXMtb24geyBiYWNrZ3JvdW5kOiAjZTlmYmU1OyB9XG4gIC5ncmlkLWF2IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7IHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IGFjY2VudC1jb2xvcjogdmFyKC0tYmx1ZS03MDApOyB9XG5cbiAgLyogT3ZlcmxheSB0byBjYXRjaCBwb2ludGVyIGRyYWdzIGFjcm9zcyBjZWxscyAqL1xuICAucGFpbnQtb3ZlcmxheSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgfVxuICAuYXZhaWxhYmlsaXR5IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hdmFpbGFiaWxpdHkgLnBhaW50LW92ZXJsYXkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiA2OHB4IDAgMCAwOyB9IC8qIHJvdWdobHkgZnJvbSBiZWxvdyBoZWFkZXJzOyBmaW5lIGZvciBvdXIgZ3JpZCBzcGFjaW5nICovXG5cbiAgLndpemFyZC1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxMHB4OyBtYXJnaW46IDIwcHggMDsgfVxuXG4gIC5zdGVwLWVycm9yIHsgbWFyZ2luLXRvcDogNnB4OyBjb2xvcjogI2IzMjYxZTsgfVxuXG4gIC5zdW1tYXJ5IC5wYW5lbCB7XG4gICAgZGl2IHtcbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBIb21lcGFnZSBoZXJvIHNsaWRlc2hvdzogc3BhbiB0aGUgY29udGVudCBhcmVhIChjYW5jZWwgY20tY29udGVudCBwYWRkaW5nKSAqL1xuLmNtLWNvbnRlbnQ+LnBhZ2UuaG9tZSAuaG9tZS1oZXJvIHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICBtYXJnaW4tdG9wOiAtNTBweDtcbn1cblxuLyogRGVza3RvcDogbWFrZSB0aGUgaG9tZSBoZXJvIHRydWx5IGZ1bGwtYmxlZWQgYWdhaW4gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkge1xuICAuY20tY29udGVudD4ucGFnZS5ob21lIC5ob21lLWhlcm8ge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtIDEwMHZ3KSAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygoMTAwJSAtIDEwMHZ3KSAvIDIpO1xuICB9XG59XG5cbi5oZXJvLXNsaWRlc2hvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC0tYnVsbGV0OiAjZmZmZmZmZGQ7XG4gIG1heC1oZWlnaHQ6IDYwdmg7XG4gIG1pbi1oZWlnaHQ6IDU2MHB4O1xufVxuXG4uaGVyby1zbGlkZXNob3cgLnNsaWRlLmJhc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGZpbHRlcjogc2F0dXJhdGUoMS4wMik7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5oZXJvLXNsaWRlc2hvdyAudGlsZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBwZXJzcGVjdGl2ZTogODAwcHg7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDgwMHB4O1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5oZXJvLXNsaWRlc2hvdyAudGlsZSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDkwZGVnKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLmhlcm8tc2xpZGVzaG93IC50aWxlLmlzLWIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSg5MGRlZyk7XG59XG5cbi5oZXJvLXNsaWRlc2hvdyAudGlsZS5pcy1mbGlwcGluZyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA3MDBtcyBlYXNlLWluLCBvcGFjaXR5IDYwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb24tZGVsYXk6IHZhcigtLWQsIDBtcyk7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oZXJvLXNsaWRlc2hvdyAudGlsZS5pcy1mbGlwcGluZy5pcy1iIHtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTtcbn1cblxuLmhlcm8tc2xpZGVzaG93IC5idWxsZXRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE0cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbn1cblxuLmhlcm8tc2xpZGVzaG93IC5idWxsZXRzIHNwYW4ge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnVsbGV0KTtcbiAgb3BhY2l0eTogLjQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UsIHdpZHRoIC4ycyBlYXNlO1xufVxuXG4uaGVyby1zbGlkZXNob3cgLmJ1bGxldHMgc3Bhbi5pcy1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogMThweDtcbn1cblxuLyogT3ZlcmxheSB2cyBiZWxvdyBDVEEgdG9nZ2xlcyAqL1xuLyogRGVmYXVsdDogc2hvdyBvdmVybGF5IENUQXMgaW5zaWRlIHNob3V0cywgaGlkZSBiZWxvdyBibG9jayAqL1xuLmhvbWUtaGVybyAuY3RhLWJlbG93IHsgZGlzcGxheTogbm9uZTsgfVxuLnNob3V0cz5kaXYgLmN0YS5jdGEtb3ZlcmxheSB7IGRpc3BsYXk6IGZsZXg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRicC1kZXNrdG9wKSB7XG4gIC5zaG91dHM+ZGl2IC5jdGEuY3RhLW92ZXJsYXkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmhvbWUtaGVybyAuY3RhLWJlbG93IHsgZGlzcGxheTogYmxvY2s7IH1cbn1cblxuLyogU3R5bGluZyBmb3IgdGhlIGJlbG93IENUQSBibG9jayAqL1xuLmhvbWUtaGVybyAuY3RhLWJlbG93IHtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMzBweCBhdXRvIDA7XG4gIHBhZGRpbmc6IDAgMjBweCAxMHB4O1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5ob21lLWhlcm8gLmN0YS1iZWxvdyAuY3RhcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjIwcHgsIDFmcikpO1xuICBnYXA6IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cbi5ob21lLWhlcm8gLmN0YS1iZWxvdyAuY3RhcyAuY3RhLWxpbmsge1xuICAtLWFjY2VudDogdmFyKC0tY2FsbG91dC1tYWluKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZzogMTJweCAxNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwbXMgZWFzZSwgYm94LXNoYWRvdyAxMjBtcyBlYXNlLCBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlO1xufVxuLmhvbWUtaGVybyAuY3RhLWJlbG93IC5jdGFzIC5jdGEtbGluayAuaWNvIHsgd2lkdGg6IDEuM2VtOyBoZWlnaHQ6IDEuM2VtOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgY29sb3I6IHZhcigtLWFjY2VudCk7IG1hcmdpbi10b3A6IDJweDsgfVxuLmhvbWUtaGVybyAuY3RhLWJlbG93IC5jdGFzIC5jdGEtbGluayAudGV4dCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogNHB4OyB9XG4uaG9tZS1oZXJvIC5jdGEtYmVsb3cgLmN0YXMgLmN0YS1saW5rIC5sYWJlbCB7IGZvbnQtd2VpZ2h0OiA4MDA7IGNvbG9yOiAjMWQzYjUzOyB9XG4uaG9tZS1oZXJvIC5jdGEtYmVsb3cgLmN0YXMgLmN0YS1saW5rIC5kZXNjIHsgY29sb3I6ICMzNjVlN2E7IGZvbnQtc2l6ZTogLjk1ZW07IGxpbmUtaGVpZ2h0OiAxLjM1OyB9XG4uaG9tZS1oZXJvIC5jdGEtYmVsb3cgLmN0YXMgLmN0YS1saW5rOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgwLDAsMCwuMTIpOyB9XG4uaG9tZS1oZXJvIC5jdGEtYmVsb3cgLmN0YXMgLmN0YS1saW5rOm50aC1jaGlsZCgxKSB7IC0tYWNjZW50OiB2YXIoLS1ncmVlbi02MDApOyB9XG4uaG9tZS1oZXJvIC5jdGEtYmVsb3cgLmN0YXMgLmN0YS1saW5rOm50aC1jaGlsZCgyKSB7IC0tYWNjZW50OiB2YXIoLS1jYWxsb3V0LW1haW4pOyB9XG4uaG9tZS1oZXJvIC5jdGEtYmVsb3cgLmN0YXMgLmN0YS1saW5rOm50aC1jaGlsZCgzKSB7IC0tYWNjZW50OiB2YXIoLS1ibHVlLTcwMCk7IH1cblxuLnNob3V0cyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgei1pbmRleDogMTA7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4uc2hvdXRzPmRpdiB7IG1heC13aWR0aDogMTQ0MHB4OyBwYWRkaW5nOiAyMHB4OyBtYXJnaW46IDAgYXV0bzsgfVxuLnNob3V0cz5kaXYgaDEsIC5zaG91dHM+ZGl2IGgzIHsgY29sb3I6ICNmZmY7IHRleHQtc2hhZG93OiAxcHggMnB4IDFweCByZ2JhKDAsMCwwLC44KTsgZm9udC13ZWlnaHQ6IDgwMDsgbGV0dGVyLXNwYWNpbmc6IC4zcHg7IGxpbmUtaGVpZ2h0OiAxLjI7IG1heC13aWR0aDogODAwcHg7IHdpZHRoOiAxMDAlOyB9XG4uc2hvdXRzPmRpdiBoMSBzdHJvbmcsIC5zaG91dHM+ZGl2IGgzIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1ncmVlbi01MDApOyB9XG4uc2hvdXRzPmRpdiBoMSB7IGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgNnZ3LCA0OHB4KTsgb3BhY2l0eTogMTsgdHJhbnNpdGlvbjogb3BhY2l0eSAyNjBtcyBlYXNlOyBtYXJnaW46IDMwcHggMDsgfVxuLnNob3V0cz5kaXYgaDEuaXMtZmFkaW5nIHsgb3BhY2l0eTogMDsgfVxuLnNob3V0cz5kaXYgaDMgeyB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwwLDAsLjUpOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4zKTsgZGlzcGxheTogaW5saW5lOyBwYWRkaW5nOiA1cHggMTBweDsgfVxuLnNob3V0cz5kaXYgcCB7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiByZ2JhKDM2LDE3OSwxMzEsLjkpOyBtYXgtd2lkdGg6IDgwMHB4OyBwYWRkaW5nOiAxNXB4OyBsZXR0ZXItc3BhY2luZzogLjNweDsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI2MG1zIGVhc2U7IHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbi5zaG91dHM+ZGl2IHAgZW0geyBtYXJnaW4tdG9wOiAxMHB4OyBkaXNwbGF5OiBibG9jazsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXNpemU6IDEuM2VtOyB9XG5cbi5zaG91dHM+ZGl2IC5jdGEgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDAgMTBweDsgbWFyZ2luLXRvcDogMDsgcG9pbnRlci1ldmVudHM6IGF1dG87IHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNjBtcyBlYXNlOyB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyBwYWRkaW5nOiAwOyB9XG4uc2hvdXRzPmRpdiAuY3RhIHAgeyB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgwLDAsMCwuNyk7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbWFyZ2luLXRvcDogLTc1cHg7IGJhY2tncm91bmQ6IG5vbmU7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4uc2hvdXRzPmRpdiAuY3RhIC5jdGFzIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChhdXRvLCAyMjBweCkpOyBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyBhbGlnbi1pdGVtczogc3RhcnQ7IGdyaWQtYXV0by1yb3dzOiBtYXgtY29udGVudDsgZ2FwOiAxMnB4OyBtYXJnaW4tdG9wOiA4cHg7IG1heC13aWR0aDogODAwcHg7IHdpZHRoOiBmaXQtY29udGVudDsgfVxuLnNob3V0cz5kaXYgLmN0YSAuY3RhcyAuY3RhLWxpbmsgeyAtLWFjY2VudDogdmFyKC0tY2FsbG91dC1tYWluKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogMTBweDsgcGFkZGluZzogMTJweCAxNHB4OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1hY2NlbnQpOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC45NSk7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjBtcyBlYXNlLCBib3gtc2hhZG93IDEyMG1zIGVhc2UsIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2U7IGFsaWduLXNlbGY6IHN0YXJ0OyBtYXgtd2lkdGg6IDM4MHB4OyB9XG4uc2hvdXRzPmRpdiAuY3RhIC5jdGFzIC5pY28geyB3aWR0aDogMS4zZW07IGhlaWdodDogMS4zZW07IGRpc3BsYXk6IGlubGluZS1mbGV4OyBjb2xvcjogdmFyKC0tYWNjZW50KTsgbWFyZ2luLXRvcDogMnB4OyB9XG4uc2hvdXRzPmRpdiAuY3RhIC5jdGFzIC50ZXh0IHsgZGlzcGxheTogZ3JpZDsgZ2FwOiA0cHg7IH1cbi5zaG91dHM+ZGl2IC5jdGEgLmN0YXMgLmxhYmVsIHsgZm9udC13ZWlnaHQ6IDgwMDsgY29sb3I6ICMxZDNiNTM7IH1cbi5zaG91dHM+ZGl2IC5jdGEgLmN0YXMgLmRlc2MgeyBjb2xvcjogIzM2NWU3YTsgZm9udC1zaXplOiAuOTVlbTsgbGluZS1oZWlnaHQ6IDEuMzU7IH1cbi5zaG91dHM+ZGl2IC5jdGEgLmN0YXMgLmN0YS1saW5rOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgwLDAsMCwuMTIpOyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4uc2hvdXRzPmRpdiAuY3RhIC5jdGFzIC5jdGEtbGluazpudGgtY2hpbGQoMSkgeyAtLWFjY2VudDogdmFyKC0tZ3JlZW4tNjAwKTsgfVxuLnNob3V0cz5kaXYgLmN0YSAuY3RhcyAuY3RhLWxpbms6bnRoLWNoaWxkKDIpIHsgLS1hY2NlbnQ6IHZhcigtLWNhbGxvdXQtbWFpbik7IH1cbi5zaG91dHM+ZGl2IC5jdGEgLmN0YXMgLmN0YS1saW5rOm50aC1jaGlsZCgzKSB7IC0tYWNjZW50OiB2YXIoLS1ibHVlLTcwMCk7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XG4gIC5zaG91dHM+ZGl2IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bzsgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJ2gzICBjdGEnICdoMSAgY3RhJyAncCAgIGN0YSc7IGNvbHVtbi1nYXA6IDI0cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdyaWQtYXV0by1yb3dzOiBtaW4tY29udGVudDsgfVxuICAuc2hvdXRzPmRpdiAuY3RhIHsgZ3JpZC1hcmVhOiBjdGE7IGFsaWduLXNlbGY6IHN0YXJ0OyBtYXJnaW4tdG9wOiA3NXB4OyB9XG4gIC5zaG91dHM+ZGl2IC5jdGEgLmN0YXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1heC1jb250ZW50OyBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyBhbGlnbi1pdGVtczogc3RhcnQ7IHdpZHRoOiBhdXRvOyB9XG4gIC5zaG91dHM+ZGl2IGgzIHsgZ3JpZC1hcmVhOiBoMzsganVzdGlmeS1zZWxmOiBzdGFydDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgLnNob3V0cz5kaXYgaDEgeyBncmlkLWFyZWE6IGgxOyB9XG4gIC5zaG91dHM+ZGl2IHAgeyBncmlkLWFyZWE6IHA7IH1cbn1cblxuLnNob3V0cyAuY3RhcyAudGV4dCB7IG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogJGJwLXRhYmxldC1tYXgpIHtcbiAgLnNob3V0cz5kaXYgLmN0YSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zaG91dHM+ZGl2PnAgeyBtYXJnaW46IDAgLTIwcHg7IG1heC13aWR0aDogbm9uZTsgfVxuICAuc2hvdXRzPmRpdiAuY3RhIC5jdGFzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgbWF4LWNvbnRlbnQpKTsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBzdGFydDsgd2lkdGg6IDEwMCU7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNob3V0cz5kaXYgLmN0YSBwIHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgcG9zaXRpb246IHN0YXRpYzsgbWFyZ2luOiAwIDAgNnB4IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgYmFja2dyb3VuZDogbm9uZTsgfVxufVxuXG4vKiBIZXJvIG1pbi1oZWlnaHQgdHVuaW5nIGJ5IGJyZWFrcG9pbnRzIGFuZCBzaWRlIG1lbnUgc3RhdGUgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkgYW5kIChtYXgtd2lkdGg6IDExNTBweCkge1xuICAuaGVyby1zbGlkZXNob3cgeyBtaW4taGVpZ2h0OiA1NDBweDsgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTE1MXB4KSB7XG4gIC5oZXJvLXNsaWRlc2hvdyB7IG1pbi1oZWlnaHQ6IDUwMHB4OyB9XG59XG5cbi8qIFRhYmxldCByYW5nZSAoNjQxcHjigJMxMDI0cHgpOiBjb25kaXRpb25hbCBoZXJvIG1pbi1oZWlnaHQgYnkgc2lkZSBtZW51IHN0YXRlICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJwLW1vYmlsZS1tYXggKyAxKSBhbmQgKG1heC13aWR0aDogJGJwLXRhYmxldC1tYXgpIHtcbiAgYm9keTpub3QoLmNtLXNpZGUtY29sbGFwc2VkKSAuaGVyby1zbGlkZXNob3cgeyBtaW4taGVpZ2h0OiA2MDBweDsgfVxuICBib2R5LmNtLXNpZGUtY29sbGFwc2VkIC5oZXJvLXNsaWRlc2hvdyB7IG1pbi1oZWlnaHQ6IDQ4MHB4OyB9XG59XG5cbi8qIFRhYmxldCBtaWQtcmFuZ2UgPjg0MHB4OiBhZGp1c3QgaGVybyBtaW4taGVpZ2h0ICovXG5AbWVkaWEgKG1pbi13aWR0aDogODQxcHgpIGFuZCAobWF4LXdpZHRoOiAkYnAtdGFibGV0LW1heCkge1xuICBib2R5Om5vdCguY20tc2lkZS1jb2xsYXBzZWQpIC5oZXJvLXNsaWRlc2hvdyB7IG1pbi1oZWlnaHQ6IDYwMHB4OyB9XG4gIGJvZHkuY20tc2lkZS1jb2xsYXBzZWQgLmhlcm8tc2xpZGVzaG93IHsgbWluLWhlaWdodDogNDgwcHg7IH1cbn1cblxuLyogTW9iaWxlIGJhc2VsaW5lICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJwLW1vYmlsZS1tYXgpIHtcbiAgLmhlcm8tc2xpZGVzaG93IHsgbWluLWhlaWdodDogNDgwcHg7IH1cbn1cbiIsIi8qIEZvb3RlciAqL1xuLnNpdGUtZm9vdGVyIHtcbiAgbWluLWhlaWdodDogdmFyKC0tZm9vdGVyLWgpO1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICAvKiBzdGljayB0byBib3R0b20gd2hlbiBjb250ZW50IGlzIHNob3J0ICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWhlYWRlcik7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgY29sb3I6IHZhcigtLW11dGVkKTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIG5vdCBzdGlja3k7IHN0YXlzIGluIGZsb3cgKi9cbiAgei1pbmRleDogNTA7XG4gIC8qIGVuc3VyZXMgZm9vdGVyIGRyYXdzIGFib3ZlIGZpeGVkIHNpZGUgKi9cblxuICAuaW5uZXIge1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTJweDtcblxuICAgIC5sZWZ0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZmxleDogOTtcbiAgICB9XG5cbiAgICAucmlnaHQge1xuICAgICAgZmxleDogODtcbiAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC5saW5rcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE2cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufSIsIkBtZWRpYSAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgLmNtLW1haW5iYXIge1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIGRyb3AgbmVnYXRpdmUgbWFyZ2luIHRvIGF2b2lkIG92ZXJsYXAgd2l0aCBsb2dvXG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XG4gIC5jbS10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuY20tbWFpbmJhcixcbiAgLmNtLXN1YmJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC8qIEVuc3VyZSBoaWRkZW4gc3RhdGUgb3ZlcnJpZGVzIGRlc2t0b3AgZGlzcGxheSAqL1xuICAuY20tc3ViYmFyLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogUHVibGljIGhlYWRlcjogaW5saW5lIG1haW5iYXIgbmV4dCB0byBsb2dvICovXG4gIC5jbS1oZWFkZXItaW5uZXIge1xuICAgIGdhcDogMTZweDtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIC5jbS1oZWFkZXItaW5uZXIgLmNtLW1haW5iYXIuaXMtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAvKiBhbGlnbiBtZW51IHRvIGJvdHRvbSBvZiBoZWFkZXIgKi9cbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAvKiB0YWtlIHJlbWFpbmluZyBob3Jpem9udGFsIHNwYWNlICovXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7XG4gIH1cblxuICAuY20taGVhZGVyLWlubmVyIC5jbS1tYWluYmFyLmlzLWlubGluZSB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDJweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG59XG5cbi8qIFRhYmxldDogZml4ZWQgcmFpbCArIGNvbGxhcHNpYmxlIHdpZHRoIChubyBvdmVybGF5KSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicC10YWJsZXQtbWF4KSB7XG4gIC5jbS1oZWFkZXIgeyBoZWlnaHQ6IDgwcHg7IH1cbiAgLmNtLWhlYWRlci1pbm5lciB7IGhlaWdodDogODBweDsgZ2FwOiAwOyB9XG4gIC5jbS10b2dnbGUgeyBkaXNwbGF5OiBmbGV4OyB9XG4gIGJvZHkuY20tbmF2LWRpc2FibGVkIC5jbS10b2dnbGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNtLW1haW5iYXIsIC5jbS1zdWJiYXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgLmNtLXNpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogODBweDsgbGVmdDogMDsgYm90dG9tOiAwOyB3aWR0aDogdmFyKC0tc2lkZS13KTsgYmFja2dyb3VuZDogI2YwZjRmODsgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA4MHB4KTsgb3ZlcmZsb3cteTogYXV0bzsgb3ZlcmZsb3cteDogaGlkZGVuOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZm9vdGVyLWgpO1xuICB9XG5cbiAgLmNtLWNvbnRlbnQgeyBtYXJnaW4tbGVmdDogdmFyKC0tc2lkZS13KTsgdHJhbnNpdGlvbjogbWFyZ2luLWxlZnQgMC4ycyBlYXNlOyB9XG5cbiAgYm9keS5jbS1uYXYtZGlzYWJsZWQge1xuICAgIC5jbS1zaWRlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmNtLWNvbnRlbnQgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIH1cblxuICBib2R5LmNtLXNpZGUtY29sbGFwc2VkIHtcbiAgICAuY20tc2lkZSB7IHdpZHRoOiB2YXIoLS1zaWRlLXctY29sbGFwc2VkKTsgfVxuICAgIC5jbS1jb250ZW50IHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNpZGUtdy1jb2xsYXBzZWQpOyB9XG4gIH1cblxuICAvKiBIb3ZlciBsYWJlbHMgd2hlbiBjb2xsYXBzZWQgKi9cbiAgYm9keS5jbS1zaWRlLWNvbGxhcHNlZCB7XG4gICAgLmNtLXNpZGU6aG92ZXIgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgIC5jbS1zaWRlLWxpc3Qge1xuICAgICAgLm5hdiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLm5hdjpob3Zlcjo6YWZ0ZXIgeyBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IGNhbGMoMTAwJSArIDhweCk7IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGNvbG9yOiB2YXIoLS10ZXh0KTsgcGFkZGluZzogNnB4IDhweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDAsMCwwLC4xMik7IHotaW5kZXg6IDYwOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgLnN1YndyYXAgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuc3Vid3JhcDpob3ZlciwgLnN1YndyYXA6aGFzKC5uYXYuc3ViOmhvdmVyKSB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgfVxuICB9XG59XG5cbi8qIE1vYmlsZTogcGVyc2lzdGVudCBjb2xsYXBzZWQgcmFpbDsgb3ZlcmxheSB3aGVuIG9wZW4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnAtbW9iaWxlLW1heCkge1xuICAuY20taGVhZGVyLWlubmVyIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1NnB4IDFmciA1NnB4OyBhbGlnbi1pdGVtczogY2VudGVyOyBwb3NpdGlvbjogcmVsYXRpdmU7IGdhcDogMDsgfVxuICAuY20taGVhZGVyIC5jbS1sb2dvIHsganVzdGlmeS1zZWxmOiBjZW50ZXI7IH1cbiAgLmNtLWhlYWRlciAuY20tcmlnaHQgeyBqdXN0aWZ5LXNlbGY6IGVuZDsgfVxuICAuY20taGVhZGVyIC5jbS1yaWdodCAudXNlci1tZXRhIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gIC5jbS1zaWRlIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDgwcHg7IGxlZnQ6IDA7IGJvdHRvbTogMDsgd2lkdGg6IHZhcigtLXNpZGUtdy1jb2xsYXBzZWQpOyBoZWlnaHQ6IGNhbGMoMTAwdmggLSA4MHB4KTsgYmFja2dyb3VuZDogI2YwZjRmODsgYm94LXNoYWRvdzogbm9uZTsgdHJhbnNmb3JtOiBub25lOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZm9vdGVyLWgpOyB9XG4gIC5jbS1zaWRlLmlzLW9wZW4geyB3aWR0aDogdmFyKC0tc2lkZS13KTsgYmFja2dyb3VuZDogI2YwZjRmOGY1OyBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsMCwwLC4xNSk7IH1cblxuICBib2R5LmNtLW5hdi1kaXNhYmxlZCAuY20tdG9nZ2xlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGJvZHkuY20tbmF2LWRpc2FibGVkIC5jbS1zaWRlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGJvZHkuY20tbmF2LWRpc2FibGVkIC5jbS1jb250ZW50IHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4gIGJvZHkuY20tc2lkZS1jb2xsYXBzZWQgLmNtLXNpZGUuaXMtb3BlbiB7IHdpZHRoOiB2YXIoLS1zaWRlLXcpOyB9XG4gIC5jbS1jb250ZW50IHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNpZGUtdy1jb2xsYXBzZWQpOyB9XG5cbiAgLyogaWNvbnMtb25seSBzdGF0ZSB3aGVuIG5vdCBvcGVuICovXG4gIC5jbS1zaWRlOm5vdCguaXMtb3Blbik6aG92ZXIgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAuY20tc2lkZTpub3QoLmlzLW9wZW4pIC5jbS1zaWRlLWxpc3QgLnN1YndyYXAgeyBvdmVyZmxvdzogaGlkZGVuOyBtYXJnaW4tbGVmdDogMDsgcGFkZGluZy1sZWZ0OiAwOyBib3JkZXItbGVmdDogMDsgfVxuXG4gIC5jbS1zaWRlOm5vdCguaXMtb3BlbikgLmNtLXNpZGUtbGlzdCAuc3Vid3JhcDpob3ZlciwgLmNtLXNpZGU6bm90KC5pcy1vcGVuKSAuY20tc2lkZS1saXN0IC5zdWJ3cmFwOmhhcygubmF2LnN1Yjpob3ZlcikgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4gIC5jbS1zaWRlOm5vdCguaXMtb3BlbikgLmNtLXNpZGUtbGlzdCAubmF2IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgLmxhYmVsLFxuICAgIC5iYWRnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5pY28ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8vIEhvdmVyIGxhYmVscyBpbiBjb2xsYXBzZWQgbW9iaWxlIHJhaWxcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogY2FsYygxMDAlICsgOHB4KTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gICAgICBjb2xvcjogdmFyKC0tdGV4dCk7XG4gICAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgIHotaW5kZXg6IDYwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/