/*!
Theme Name: funke-2020
Theme URI: https://www.huishu-agentur.de/
Author: HUisHU
Author URI: https://www.huishu-agentur.de/
Description: Das WordPress Theme Ihres Unternehmens. Speziell für Sie entwickelt.
Version: 1.5.5
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: funke-2020

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

This theme is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/* Variablen */
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}
/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: 600;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
small {
  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;
}
/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}
/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}
/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}
/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}
/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
  color: #fff;
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 21px;
  line-height: 30px;
  font-weight: 300;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  color: #fff;
  font-family: 'Titillium Web', sans-serif;
}
p {
  margin-bottom: 1.5em;
}
dfn,
cite,
em,
i {
  font-style: italic;
}
blockquote {
  margin: 0 1.5em;
}
address {
  margin: 0 0 1.5em;
}
pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}
code,
kbd,
tt,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
}
abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}
big {
  font-size: 125%;
}
/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
}
*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}
body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */
}
hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-top: 70px;
  margin-bottom: 70px;
}
.site-content ul,
.site-content ol {
  margin: -30px 0 20px 0;
  padding: 0;
}
.site-content ul ul,
.site-content ol ol {
  margin-top: 0;
  margin-bottom: 0;
}
ul {
  list-style: disc;
}
ol {
  list-style: decimal;
}
li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}
dt {
  font-weight: bold;
}
dd {
  margin: 0 1.5em 1.5em;
}
img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
}
figure,
.wp-block-image {
  margin: 0;
  line-height: 0;
  /* Extra wide images within figure tags don't overflow the content area. */
}
table {
  margin: 0 0 1.5em;
  width: 100%;
}
/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: none;
  border-radius: 0;
  background: #cd051e;
  color: #FFF;
  line-height: 1;
  padding: 0;
  width: 100%;
  cursor: pointer;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  background: #FFF;
  color: #cd051e;
}
button:disabled,
input[type="button"]:disabled,
input[type="reset"]:disabled,
input[type="submit"]:disabled {
  background: #79595d;
  color: #FFF;
  cursor: not-allowed;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #fff;
  border: 1px solid #fff;
  border-radius: 0;
  padding: 0 10px;
  width: 100%;
}
span.wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  margin-bottom: 20px;
}
select {
  border: 1px solid #fff;
}
select.wpcf7-form-control.wpcf7-select,
span.styleselect select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid #fff;
  width: 100%;
  height: 50px;
  padding-left: 10px;
  background: #FFF;
  color: #fff;
  outline: none;
  cursor: pointer;
}
.wpcf7-form-control-wrap.styleselect:before,
span.styleselect:before {
  content: '﹀';
  font-size: 18px;
  position: absolute;
  right: 15px;
  top: 20px;
  color: #fff;
  pointer-events: none;
}
select.wpcf7-form-control-wrap.wpcf7-select:focus::-ms-value {
  background-color: transparent;
}
select.wpcf7-form-control-wrap.wpcf7-select::-ms-expand {
  display: none;
}
span.wpcf7-list-item {
  display: block;
  margin-left: 0;
}
.wpcf7 .wpcf7-checkbox.stylecheckbox .wpcf7-list-item label input + span,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item label input + span,
.suchleiste input.stylecheckbox + label {
  position: relative;
  padding-left: 26px;
  margin-right: 20px;
  display: block;
  line-height: 25px;
}
.wpcf7 .wpcf7-checkbox.stylecheckbox .wpcf7-list-item label input,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item label input,
.suchleiste input.stylecheckbox {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  top: 5px;
  width: 16px;
  height: 16px;
}
.wpcf7 .wpcf7-checkbox.stylecheckbox .wpcf7-list-item label input + span:before,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item label input + span:before,
.suchleiste input.stylecheckbox + label:before {
  display: block;
  position: absolute;
  left: 0;
  width: 16px;
  height: 16px;
  background: #FFF;
  content: "";
  border-radius: 3px;
  margin-right: 10px;
  color: #cd051e;
  top: 5px;
  line-height: 16px;
  text-align: center;
  font-size: 11px;
}
.wpcf7 .wpcf7-checkbox.stylecheckbox .wpcf7-list-item label input:checked + span:before,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item label input:checked + span:before,
.suchleiste input.stylecheckbox:checked + label:before {
  background: #FFF;
  content: '✓';
}
textarea {
  height: 150px;
}
span.wpcf7-not-valid-tip {
  display: none;
}
input.wpcf7-not-valid,
select.wpcf7-not-valid,
textarea.wpcf7-not-valid {
  background: #cd051e;
  color: #FFF;
}
/*--------------------------------------------------------------
# Default Element Styles
--------------------------------------------------------------*/
.wrapper {
  max-width: 1240px;
  margin: 0 auto;
  position: relative;
}
/*--------------------------------------------------------------
# List Styles
--------------------------------------------------------------*/
.site-content ul li,
.site-content ul li,
.site-content ol li,
.site-content ol li {
  padding-left: 28px;
}
.site-content ul li,
.site-content ul li {
  list-style: none;
  position: relative;
}
.site-content ul li:before,
.site-content ul li:before {
  display: block;
  left: 0;
  content: "●";
  color: #fff;
  position: absolute;
  font-size: 9px;
  top: 1px;
}
/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
  color: #cd051e;
  text-decoration: none;
  transition: color 0.2s ease-in-out 0s;
}
a:hover,
a:focus,
a:active {
  color: #ff0000;
}
.huishu_blue_design a {
  color: #0072bd;
}
.huishu_blue_design a:hover,
.huishu_blue_design a:focus,
.huishu_blue_design a:active {
  color: #0089ff;
}
a:focus {
  outline: none;
}
a:hover,
a:active {
  outline: none;
}
/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
  clear: both;
  display: block;
  float: right;
  font-family: 'Titillium Web', sans-serif;
  padding: 38px 0 0;
  font-weight: 600;
  letter-spacing: 0.75px;
}
.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation ul ul {
  float: left;
  position: absolute;
  top: 100%;
  left: -30px;
  z-index: 99999;
  background: rgba(0, 0, 0, 0.8);
  padding: 10px 0 0;
  opacity: 0;
  transition: 0.2s ease-in-out 0s;
  visibility: hidden;
}
.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}
.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  left: 100%;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  opacity: 1;
  visibility: visible;
}
.main-navigation li {
  float: left;
  position: relative;
  margin-left: 50px;
  padding-bottom: 30px;
}
.main-navigation li:after,
.main-navigation li li a:after {
  display: block;
  content: "";
  background: #cd051e;
  width: 0;
  position: absolute;
  height: 6px;
  transform: skewX(-15deg);
  margin-top: 6px;
  transition: width 0.2s ease-in-out 0s;
}
.main-navigation li.mobile-only {
  display: none;
}
.huishu_blue_design .main-navigation li:after,
.huishu_blue_design .main-navigation li li a:after {
  background: #0072bd;
}
.main-navigation li:hover:after,
.main-navigation li.current-menu-item:after,
.main-navigation li.current-menu-ancestor:after,
.single-referenzen .main-navigation li.menu-item-object-referenzen:after,
.main-navigation li li:hover a:after,
.main-navigation li li.current-menu-item a:after,
.main-navigation li li.current-menu-ancestor a:after {
  width: 100%;
}
.main-navigation li li:hover:after,
.main-navigation li li.current-menu-item:after,
.main-navigation li li.current-menu-ancestor:after {
  display: none;
}
.main-navigation ul ul li {
  margin: 0 0 28px;
  padding: 0 80px 0 30px;
}
.main-navigation a {
  display: block;
  text-decoration: none;
  color: #fff;
  text-transform: uppercase;
  position: relative;
}
.menu-toggle {
  display: none;
}
.main-navigation ul {
  display: block;
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}
.dropdown-navigation {
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  height: 50px;
}
.dropdown-navigation > div {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, #cd051e, #cd051e 20%, transparent 20%, transparent 40%, #cd051e 40%, #cd051e 60%, transparent 60%, transparent 80%, #cd051e 80%, #cd051e 100%);
}
#page_id {
  opacity: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}
/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}
/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}
.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}
.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after,
.wrapper:after,
.gallery:after {
  content: "";
  display: table;
  table-layout: fixed;
}
.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after,
.wrapper:after,
.gallery:after {
  clear: both;
}
/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget select {
  max-width: 100%;
}
/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
body .wp-block-columns {
  flex-wrap: nowrap;
}
body .wp-block-columns:last-child {
  margin-bottom: 0;
}
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
  display: block;
}
.hentry {
  margin: 0 0 0;
}
.updated:not(.published) {
  display: none;
}
.page-content,
.entry-content,
.entry-summary {
  margin: 0;
}
.page-links {
  clear: both;
  margin: 0;
}
/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word;
}
.bypostauthor {
  display: block;
}
/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}
/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}
/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}
/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}
/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}
.entry-content .wp-block-video video,
.entry-content .wp-block-video video[poster] {
  object-fit: contain;
}
/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}
.wp-caption-text {
  text-align: center;
}
/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 20px;
}
.gallery-item {
  display: block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}
.gallery-columns-2 .gallery-item,
.gallery-columns-3 .gallery-item,
.gallery-columns-4 .gallery-item,
.gallery-columns-5 .gallery-item,
.gallery-columns-6 .gallery-item {
  float: left;
  margin: 0 0 20px 20px;
}
.gallery-columns-2 .gallery-item:nth-child(2n+1),
.gallery-columns-3 .gallery-item:nth-child(3n+1),
.gallery-columns-4 .gallery-item:nth-child(4n+1),
.gallery-columns-5 .gallery-item:nth-child(5n+1),
.gallery-columns-6 .gallery-item:nth-child(6n+1) {
  clear: both;
  margin-left: 0;
}
.gallery-columns-2 .gallery-item {
  width: calc((100% -  (1 * 20px) + 1px ) / 2);
}
.gallery-columns-3 .gallery-item {
  width: calc((100% -  (2 * 20px) + 1px ) / 3);
}
.gallery-columns-4 .gallery-item {
  width: calc((100% -  (3 * 20px) + 1px ) / 4);
}
.gallery-columns-5 .gallery-item {
  width: calc((100% -  (4 * 20px) + 1px ) / 5);
}
.gallery-columns-6 .gallery-item {
  width: calc((100% -  (5 * 20px) + 1px ) / 6);
}
.gallery-caption {
  display: block;
}
/*--------------------------------------------------------------
## Gutenberg
--------------------------------------------------------------*/
.entry-content > *,
.entry-content > div.wpcf7 {
  max-width: 1240px;
  margin: 0 auto;
}
.entry-header {
  max-width: 1240px;
  margin: 0 auto;
}
.entry-content > .alignfull,
.entry-header > .alignfull {
  max-width: none;
}
#main ul.wp-block-gallery {
  list-style: none;
}
#main ul.wp-block-gallery li {
  padding: 0;
}
#main ul.wp-block-gallery li:before {
  display: none;
}
table {
  border-collapse: collapse;
}
table td {
  border: 1px solid #FFF;
  padding: 3px 5px;
}
table tr:nth-child(odd) td {
  background: transparent;
}
/*--------------------------------------------------------------
## Gutenberg Media & Text Block Fallback for IE11
--------------------------------------------------------------*/
.wp-block-media-text:after {
  display: table;
  content: "";
  clear: both;
}
.wp-block-media-text figure {
  float: left;
  width: 50%;
}
.wp-block-media-text .wp-block-media-text__content {
  float: right;
  width: 50%;
}
.wp-block-media-text.has-media-on-the-right figure {
  float: right;
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
  float: left;
}
@supports (display: grid) {
  .wp-block-media-text figure {
    float: none;
    width: inherit;
  }
  .wp-block-media-text .wp-block-media-text__content {
    float: none;
    width: inherit;
  }
  .wp-block-media-text.has-media-on-the-right figure {
    float: none;
  }
  .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    float: none;
  }
}
/*--------------------------------------------------------------
--------------------------------------------------------------*/
#masthead {
  /*display: none;*/
}
#page {
  padding-top: 100px;
  background: #000;
  min-width: 300px;
  overflow: hidden;
}
h1,
h2 {
  font-size: 50px;
  line-height: 62px;
  margin: 0 0 35px;
  letter-spacing: 0.6px;
}
h1 {
  text-transform: uppercase;
}
.single h1 {
  margin: 115px 0 47px;
}
.site-content h2 {
  font-weight: 300;
}
h3 {
  font-size: 30px;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 36px;
  margin: 0 0 30px;
}
h4 {
  margin: 0 0 35px;
  text-transform: uppercase;
  font-size: 23px;
}
p {
  margin: 0 0 30px;
}
p:last-child {
  margin-bottom: 0;
}
.site-header {
  background: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
  padding: 0 20px;
}
.custom-logo-link {
  margin: 24px 0 0;
  max-width: calc(100% - 75px);
}
.header_img_container .wrapper {
  z-index: 30;
}
.header_img_container {
  position: relative;
  width: 100%;
  height: calc(100vh - 100px);
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  overflow: hidden;
}
.parallax_layer {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center bottom;
  transition: transform 0.05s linear;
}
.headerContent {
  position: absolute;
  left: 0;
  bottom: 104px;
  width: calc(50% + 94px);
  z-index: 9;
  background: rgba(0, 0, 0, 0.8);
  border-top: 15px solid #cd051e;
  clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc(100% - 102px) 100%);
  padding: 46px 100px 50px 0;
}
.headerContent-inner {
  width: calc(100% - (100vw - 1240px) / 2);
  float: right;
}
.headerContent h2 {
  font-size: 50px;
  line-height: normal;
  margin-bottom: 10px;
  text-transform: none;
}
.headerButton,
.anfrageButton {
  display: block;
  float: left;
  background: #cd051e;
  height: 50px;
  margin-top: 52px;
  color: #fff;
  text-transform: uppercase;
  line-height: 50px;
  font-size: 21px;
  /*width: 270px;*/
  font-weight: 600;
  margin-left: 12px;
  position: relative;
  padding: 1px 56px 0 56px;
  font-family: 'Titillium Web', sans-serif;
  cursor: pointer;
  transition: background 0.2s ease-in-out 0s;
  clip-path: polygon(13% 0, 100% 0%, 87% 100%, 0 100%);
}
.wp-block-columns .wp-block-column:nth-child(2) .headerButton,
.wp-block-columns .wp-block-column:nth-child(2) .anfrageButton {
  width: 100%;
  text-align: center;
}
.huishu_blue_design .headerButton,
.huishu_blue_design .anfrageButton {
  background: #0072bd;
}
.headerButton:hover,
.anfrageButton:hover {
  background: #ff0000;
}
.huishu_blue_design .headerButton:hover,
.huishu_blue_design .anfrageButton:hover {
  background: #0089ff;
}
.huishu_blue_design .headerButton:before,
.huishu_blue_design .headerButton:after,
.huishu_blue_design .anfrageButton:before,
.huishu_blue_design .anfrageButton:after {
  border-bottom-color: #0072bd;
}
.headerButton:after,
.anfrageButton:after {
  border-bottom: none;
  border-left: none;
  border-top: 50px solid #cd051e;
  border-right: 12px solid transparent;
  left: auto;
  right: -12px;
}
.huishu_blue_design .headerButton:after,
.huishu_blue_design .anfrageButton:after {
  border-top-color: #0072bd;
}
.headerButton:hover:before,
.anfrageButton:hover:before {
  border-bottom-color: #ff0000;
}
.huishu_blue_design .headerButton:hover:before,
.huishu_blue_design .anfrageButton:hover:before {
  border-bottom-color: #0089ff;
}
.headerButton:hover:after,
.anfrageButton:hover:after {
  border-top-color: #ff0000;
}
.huishu_blue_design .headerButton:hover:after,
.huishu_blue_design .anfrageButton:hover:after {
  border-top-color: #0089ff;
}
.wp-block-group.details .anfrageButton {
  margin-left: -50px;
}
.headerButton > span,
.anfrageButton > span {
  font-size: 28px;
  margin-right: 18px;
}
.wp-block-buttons .wp-block-button {
  background: #cd051e;
  clip-path: polygon(13% 0, 100% 0%, 87% 100%, 0 100%);
  margin-top: 52px;
  transition: background 0.2s ease-in-out 0s;
}
.wp-block-buttons .wp-block-button .wp-block-button__link {
  padding: 0;
  border-radius: 0;
  background: transparent;
  display: block;
  height: 52px;
  line-height: 52px;
  font-size: 21px;
  text-transform: uppercase;
  font-weight: 600;
  padding: 1px 34px 0 34px;
}
.wp-block-buttons .wp-block-button:hover {
  background: #ff0000;
}
.wp-block-buttons .wp-block-button.bewerben_button .wp-block-button__link:before {
  display: block;
  content: "\e900";
  float: left;
  margin: 16px 10px 0 0;
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  font-size: 18px;
}
.site-content {
  position: relative;
  z-index: 2;
}
body.single-referenzen .site-content {
  padding: 0 20px;
}
.wp-block-group {
  padding: 125px 0;
}
.wp-block-group:last-child {
  padding-bottom: 0;
}
.single-referenzen .wp-block-group.details {
  margin-top: 107px;
  padding: 0 40px;
}
.single .wp-block-group:first-child {
  padding-top: 0;
}
.wp-block-group.pipes {
  background: url('img/rohre.jpg') no-repeat right bottom -200px;
  transition: background 1s ease-in-out 0s;
}
.wp-block-group.pipes.js-animate {
  background: url('img/rohre.jpg') no-repeat right bottom -20px;
}
.wp-block-group + .wp-block-group {
  padding-top: 0;
}
.wp-block-cover {
  height: 500px;
  left: calc((100vW - 1240px) / 2 * -1);
  width: calc((100vW - 1240px) / 2 + 924px);
  clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc((100vW - 1240px) / 2 + 805px) 100%);
  justify-content: normal;
  align-items: center;
}
.wp-block-group__inner-container {
  position: relative;
}
.wp-block-group.leistungen .wp-block-group__inner-container {
  height: 500px;
}
.wp-block-group.leistungen .wp-block-cover {
  align-items: center;
  text-align: center;
  background-size: 100%;
  transition: background-size 1s ease-in-out 0s;
}
.wp-block-group.leistungen .wp-block-cover:hover {
  background-size: 110%;
}
.wp-block-group.leistungen .wp-block-cover:first-child {
  position: absolute;
  width: calc((100vW - 1240px) / 2 + 681px);
  clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc((100vW - 1240px) / 2 + 560px) 100%);
}
.wp-block-group.leistungen .wp-block-cover:last-child {
  position: absolute;
  left: auto;
  right: calc((100vW - 1240px) / 2 * -1);
  width: calc((100vW - 1240px) / 2 + 681px);
  clip-path: polygon(0% 100%, calc(100% - ((100vW - 1240px) / 2 + 560px)) 0%, 100% 0%, 100% 100%);
}
.wp-block-group.leistungen .wp-block-cover .wp-block-cover__inner-container {
  padding: 0;
}
.wp-block-group.leistungen .wp-block-cover .wp-block-buttons {
  margin-top: 60px;
}
.wp-block-group.leistungen .wp-block-cover .wp-block-button {
  clip-path: polygon(13% 0, 100% 0%, 87% 100%, 0 100%);
  background: #fff;
  margin-top: 0;
  transition: color 0.2s ease-in-out 0s, background 0.2s ease-in-out 0s;
  border: 2px solid #fff;
}
.wp-block-group.leistungen .wp-block-cover .wp-block-button.planung:hover {
  background: #cd051e;
}
.wp-block-group.leistungen .wp-block-cover .wp-block-button.lueftung:hover {
  background: #0072bd;
}
.wp-block-group.leistungen .wp-block-cover .wp-block-button.planung:hover .wp-block-button__link,
.wp-block-group.leistungen .wp-block-cover .wp-block-button.lueftung:hover .wp-block-button__link {
  color: #fff;
}
.wp-block-cover .wp-block-cover__inner-container {
  width: 100%;
  padding-left: calc((100vw - 1240px) / 2);
  text-transform: uppercase;
  padding-right: 330px;
}
.wp-block-cover .wp-block-cover__inner-container p {
  margin: 10px 0 0;
}
.wp-block-cover .wp-block-cover__inner-container blockquote {
  text-align: left;
  margin: 0;
  font-size: 30px;
  line-height: 40px;
  text-transform: none;
  font-family: 'Titillium Web', sans-serif;
}
.wp-block-cover + .wp-block-gallery,
.wp-block-cover + .wp-block-gallery .blocks-gallery-grid {
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 459px;
  margin: 0;
}
.wp-block-cover + .wp-block-gallery li.blocks-gallery-item {
  width: auto;
  display: block;
  padding: 0;
  margin: 0 0 9px 0;
  transform: skew(-13deg);
  overflow: hidden;
}
.wp-block-cover + .wp-block-gallery li.blocks-gallery-item:nth-child(1) {
  left: 0;
}
.wp-block-cover + .wp-block-gallery li.blocks-gallery-item:nth-child(2) {
  left: -30px;
}
.wp-block-cover + .wp-block-gallery li.blocks-gallery-item:nth-child(3) {
  left: -60px;
}
.wp-block-cover + .wp-block-gallery li.blocks-gallery-item:nth-child(4) {
  left: -90px;
}
ul.blocks-gallery-grid li:before {
  display: none;
}
.wp-block-cover + .wp-block-gallery li.blocks-gallery-item figure {
  transform: skew(13deg);
  width: calc(100% + 30px);
  margin-left: -15px;
  height: 118px;
}
.wp-block-cover + .wp-block-gallery.has-nested-images {
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 918px;
  margin: 0;
}
.wp-block-cover + figure.wp-block-gallery.has-nested-images > figure.wp-block-image {
  display: block;
  transform: skew(13deg);
  width: calc(100% + 30px);
  height: 118px;
  padding: 0;
  margin: 0 0 9px !important;
  transform: skew(-13deg);
  overflow: hidden;
}
.wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(1) {
  left: 0;
}
.wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(2) {
  left: -30px;
}
.wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(3) {
  left: -60px;
}
.wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(4) {
  left: -90px;
}
.wp-block-column {
  position: relative;
}
.wp-block-column:after {
  display: block;
  content: "";
  clear: both;
}
.wp-block-column:first-child .wp-block-image.alignwide {
  width: calc((100vw - 1240px) / 2 + 100%);
  left: calc((100vw - 1240px) / 2 * -1);
  position: absolute;
  min-width: 100%;
}
.wp-block-column:last-child .wp-block-image.alignwide {
  width: calc((100vw - 1240px) / 2 + 100%);
  right: calc((100vw - 1240px) / 2 * -1);
  position: absolute;
  min-width: 100%;
}
.wp-block-group.details .wp-block-column {
  padding-left: 105px;
}
.wp-block-group.details .wp-block-image,
.wp-block-group.details .lottie_icon_wrapper {
  width: 120px;
  margin-left: -105px;
  margin-bottom: 10px;
}
.headerImageOuter {
  overflow: hidden;
  width: 100%;
  height: 100vh;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}
.headerImage {
  position: absolute;
  right: 0;
  top: 98px;
  width: calc((100% - 1240px) / 2 + 820px);
  height: 875px;
  clip-path: polygon(100% 0%, 0 0, 100% 100%);
  transition: top 2s ease-in-out 0s, right 2s ease-in-out 0s, opacity 1s ease-in-out 0s;
  opacity: 0;
}
.headerImage.active {
  opacity: 1;
}
.headerImage--referenzheader {
  width: 100%;
  height: calc(100vh - 98px);
  position: absolute;
  z-index: 0;
}
.headerImage--referenzheader::after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  opacity: 0.85;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
}
.headerImage-shape {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  clip-path: polygon(0% 100%, 0% 0%, 100% 0%, 100% 20%, 82% 0%);
}
.wp-block-group:first-child .wp-block-image:first-child {
  margin: 25px 0 35px;
}
.refDetails {
  z-index: 2;
  position: relative;
  margin-top: 122px;
}
.refDetails h2 {
  text-transform: uppercase;
}
.refDetails-detail {
  float: left;
  width: 410px;
}
.refDetails-detail.details {
  padding-left: 35px;
}
.refDetails-detail .refDetails-detail-image {
  float: left;
  height: 100px;
}
.refDetails-detail.umfang .refDetails-detail-image {
  background: url('img/icon-referenz-details.svg') no-repeat;
  background-size: 100%;
  width: 55px;
}
.refDetails-detail.details .refDetails-detail-image {
  background: url('img/icon-referenz-umfang.svg') no-repeat;
  background-size: 100%;
  width: 50px;
}
.refDetails-detail.bauzeit .refDetails-detail-image {
  background: url('img/icon-referenz-bauzeit.svg') no-repeat;
  background-size: 100%;
  width: 70px;
}
.refDetails-detail-text {
  padding-left: 30px;
  margin-top: 20px;
  padding-right: 50px;
  float: left;
  width: calc(100% - 70px);
}
.refDetails-detail.details .refDetails-detail-text {
  padding-left: 40px;
}
.refDetails-detail-text h2 {
  margin-bottom: 50px;
}
.similarProject {
  text-align: center;
  font-size: 50px;
  line-height: 60px;
  margin: 125px auto 0;
  font-family: 'Titillium Web', sans-serif;
}
.similarProject .anfrageButton {
  margin: 49px auto 0;
  width: fit-content;
  text-align: left;
  padding-left: 45px;
  float: none;
}
.similarProject .anfrageButton > span {
  margin-right: 20px;
}
.referenzenWrapper {
  margin-top: 121px;
}
.referenzenWrapper h2 {
  font-size: 41px;
  margin-left: 10px;
  margin-bottom: 31px;
  text-transform: uppercase;
}
.referenzenWrapper h2 span {
  font-weight: 300;
}
.referenzenWrapper-referez {
  width: 295px;
  float: left;
  margin: 0 0 80px 20px;
  position: relative;
}
.referenzenWrapper-referez:nth-child(4n+1) {
  margin-left: 0;
  clear: left;
}
.referenzenWrapper-referez a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.referenzenWrapper-referez:last-child {
  margin-right: 0;
  width: 294px;
}
.referenzenWrapper-referez:nth-last-child(1),
.referenzenWrapper-referez:nth-last-child(2),
.referenzenWrapper-referez:nth-last-child(3),
.referenzenWrapper-referez:nth-last-child(4) {
  margin-bottom: 0;
}
.referenzenWrapper-referez-image {
  margin-bottom: 27px;
  margin-left: 27px;
  height: 217px;
  transform: skew(-14deg);
  width: 283px;
  overflow: hidden;
}
.referenzenWrapper-referez-image-inner {
  height: 100%;
  transform: skew(14deg);
  width: 340px;
  margin-left: -30px;
}
.referenzenWrapper-referez-active {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
}
.referenzenWrapper-referez-image-inner span {
  position: absolute;
  background: rgba(205, 5, 30, 0.9);
  color: #fff;
  width: 100%;
  height: 92px;
  padding: 42px 0 0 57px;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 23px;
  font-family: 'Titillium Web', sans-serif;
  letter-spacing: 0.6px;
  clip-path: polygon(0% 100%, 0% 35%, 27% 0, 100% 56%, 100% 100%);
  bottom: -100px;
  transition: bottom 0.5s ease-in-out 0s, opacity 0.5s ease-in-out 0s;
  opacity: 0;
}
sup.job-genders {
  font-weight: 100;
  font-size: 14px;
  top: -0.7em;
}
.huishu_blue_design .referenzenWrapper-referez-image-inner span {
  background: rgba(0, 114, 189, 0.9);
}
.referenzenWrapper-referez:hover .referenzenWrapper-referez-image-inner span {
  bottom: 0;
  opacity: 1;
}
.referenzenWrapper-referez h3 {
  margin-bottom: 8px;
}
.referenzenWrapper-referez-kategorien {
  text-transform: uppercase;
  font-size: 21px;
}
.referenzenWrapper-referez-kategorien span.lueftung,
.referenzenWrapper-referez-kategorien span.werther {
  color: #0072bd;
}
.referenzenWrapper-referez-kategorien span.planung,
.referenzenWrapper-referez-kategorien span.krefeld {
  color: #cd051e;
}
.navWrapper {
  margin-top: 80px;
}
.navWrapper .nav-previous a,
.navWrapper .nav-next a {
  display: block;
  background: #cd051e;
  height: 50px;
  color: #fff;
  text-transform: uppercase;
  line-height: 50px;
  font-size: 21px;
  width: 290px;
  font-weight: 600;
  position: relative;
  padding: 1px 0 0 0;
  font-family: 'Titillium Web', sans-serif;
  cursor: pointer;
  transition: background 0.2s ease-in-out 0s;
  text-align: center;
  transform: skew(-13deg);
  margin: 0;
  float: right;
}
.navWrapper .nav-previous a {
  float: left;
}
.navWrapper .nav-previous a:hover,
.navWrapper .nav-next a:hover {
  background: #ff0000;
}
.navWrapper .nav-previous a span,
.navWrapper .nav-next a span {
  transform: skew(13deg);
  display: block;
}
.prefooter .wrapper {
  height: 180px;
  background: url('img/footer-logo.svg') no-repeat bottom -1px right / 400px;
}
.kontaktmensch {
  width: 80px;
  height: 80px;
  border-radius: 200px;
  border: 4px solid #fff;
  position: fixed;
  right: -110px;
  bottom: 50px;
  z-index: 99;
  cursor: pointer;
  transition: right 0.2s ease-in-out 5s;
}
.kontaktmensch.active {
  right: 50px;
}
.kontaktmensch-spruch {
  position: absolute;
  right: 0;
  top: -85px;
  width: 303px;
  background: #cd051e;
  padding: 10px 27px 10px;
  transform: skew(-13deg);
  font-weight: 600;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s ease-in-out 0s;
}
.huishu_blue_design .kontaktmensch-spruch {
  background: #0072bd;
}
.kontaktmensch-spruch::after {
  display: block;
  content: "";
  position: absolute;
  right: 7px;
  border-top: 25px solid #cd051e;
  border-left: 23px solid transparent;
  border-right: 23px solid transparent;
  top: 100%;
  transform: skew(13deg);
}
.huishu_blue_design .kontaktmensch-spruch::after {
  border-top-color: #0072bd;
}
.kontaktmensch-spruch span {
  transform: skew(13deg);
  display: block;
}
.kontaktmensch:hover .kontaktmensch-spruch {
  opacity: 1;
  visibility: visible;
}
.site-footer a {
  color: #fff;
}
.site-footer a:hover {
  color: #cd051e;
}
.site-footer .footerWhite {
  background: #191919;
  color: #fff;
  padding: 65px 0 60px;
  font-weight: 400;
}
.site-footer .footerWhite .widget {
  float: left;
}
.site-footer .footerWhite .widget:first-child img {
  width: 207px;
  margin-bottom: 17px;
}
.site-footer .footerWhite .widget:first-child p {
  margin: 0;
}
.spacer {
  display: inline-block;
  width: 20px;
}
.site-footer .footerWhite .widget:first-child {
  width: calc(100% - 550px);
}
.site-footer .footerWhite .widget:nth-child(2) {
  float: right;
}
.site-footer .footerWhite .widget h3 {
  margin: 5px 0 19px;
  color: #000;
}
.site-footer ul.menu {
  list-style: none;
  margin: 0;
  padding: 0;
  font-weight: 300;
}
.site-footer ul.menu li {
  margin-left: 20px !important;
  float: left;
}
.site-footer ul.menu li:nth-child(3n+1) {
  margin-left: 0;
}
#colophon.site-footer ul.menu li:before {
  display: none;
}
.site-footer .footerBlack {
  color: rgba(255, 255, 255, 0.35);
  padding: 14px 0 16px;
  font-size: 20px;
}
.site-footer .footerBlack a {
  color: rgba(255, 255, 255, 0.35);
}
.site-footer .footerBlack a:hover {
  color: #ffffff;
}
.lightbox_outer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.65);
  z-index: 9999;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s ease-in-out 0s, visibility 0.5s ease-in-out 0s;
}
.lightbox_outer.active {
  visibility: visible;
  opacity: 1;
}
.lightbox_inner {
  width: 1028px;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #000;
  border: 1px solid #cd051e;
  padding: 58px 82px 0;
  transform: translateY(-50%);
  max-width: calc(100% - 20px);
  max-height: calc(100% - 20px);
  overflow: auto;
}
.huishu_blue_design .lightbox_inner {
  border-color: #0072bd;
}
.lightbox_outer.imagebox .lightbox_inner {
  line-height: 0;
  padding-bottom: 52px;
  border: none;
  padding: 0;
  overflow: hidden;
  background: transparent;
}
.lightbox_outer.imagebox .lightbox_inner img {
  max-height: calc(100vh - 20px);
  margin: 0 auto;
  display: block;
}
.lightbox_close {
  position: absolute;
  top: 35px;
  right: 39px;
  font-size: 22px;
  cursor: pointer;
}
.lightbox_header h2 {
  font-weight: 300;
  margin-bottom: 47px;
}
.lightbox_body {
  margin-bottom: 52px;
}
.lightbox_body:after {
  display: block;
  content: "";
  clear: both;
}
.form_wrapper::after {
  display: block;
  content: "";
  clear: both;
}
.lightbox_body .anfragetext {
  margin-bottom: 50px;
}
.form_left {
  float: left;
  width: calc(50% - 30px);
}
.form_right {
  float: right;
  width: calc(50% - 30px);
}
.field_wapper {
  margin-bottom: 20px;
}
.field_wapper:last-child {
  margin-bottom: 0;
}
.field_wapper .wpcf7-form-control-wrap {
  margin: 0;
}
.field_wapper input {
  background: transparent;
  border: none;
  border-bottom: 1px solid #cd051e;
  padding-left: 6px;
}
.huishu_blue_design .field_wapper input {
  border-color: #0072bd;
}
.field_wapper .wpcf7-form-control-wrap.your-nachricht {
  line-height: 0;
}
.field_wapper input:focus,
.field_wapper textarea:focus {
  outline: none;
}
.field_wapper textarea {
  background: transparent;
  border: none;
  border-bottom: 1px solid #cd051e;
  resize: none;
  height: 193px;
  padding: 0 0 0 5px;
}
.huishu_blue_design .field_wapper textarea {
  border-color: #0072bd;
}
.field_description {
  font-size: 13px;
  margin: 0 0 0 6px;
  display: block;
  line-height: 30px;
}
.wpcf7-form-control-wrap.image-captcha {
  margin-top: 44px;
  width: 371px;
  max-width: 100%;
}
.field_wapper .captcha-image .choices {
  background: transparent;
  border: 1px solid #cd051e;
  padding: 10px 33px 7px 36px;
}
.huishu_blue_design .field_wapper .captcha-image .choices {
  border-color: #0072bd;
}
.field_wapper .captcha-image i {
  font-size: 35px;
  transition: color 0.2s ease-in-out 0s;
}
.field_wapper .captcha-image label > input:checked + i,
.field_wapper .captcha-image label:hover > input + i {
  color: #cd051e;
}
.huishu_blue_design .field_wapper .captcha-image label > input:checked + i,
.huishu_blue_design .field_wapper .captcha-image label:hover > input + i {
  color: #0072bd;
}
.cf7ic_instructions {
  font-size: 14px;
  line-height: 20px;
  margin: 5px 0 0;
}
.field_wapper .wpcf7-form-control-wrap.acceptance-dsgvo {
  margin: 44px 0 0;
}
.field_wapper .wpcf7-acceptance .wpcf7-list-item label input + span {
  padding-left: 55px;
  padding-right: 20px;
  line-height: 30px;
}
.field_wapper .wpcf7-acceptance .wpcf7-list-item label input + span:before {
  border: 1px solid #cd051e;
  background: transparent;
  border-radius: 0;
  width: 35px;
  height: 35px;
  margin: 7px 0 0;
  color: transparent;
  font-family: 'icomoon';
  font-size: 16px;
  line-height: 34px;
  transition: background 0.2s ease-in-out 0s, color 0.2s ease-in-out 0s;
}
.huishu_blue_design .field_wapper .wpcf7-acceptance .wpcf7-list-item label input + span:before {
  border-color: #0072bd;
}
.field_wapper .wpcf7-acceptance .wpcf7-list-item label input:checked + span:before {
  background: #cd051e;
  color: #fff;
  content: '\e90d';
}
.huishu_blue_design .field_wapper .wpcf7-acceptance .wpcf7-list-item label input:checked + span:before {
  background-color: #0072bd;
}
.field_wapper .wpcf7-acceptance .wpcf7-list-item label input + span a {
  font-weight: 600;
}
.submit_wrapper {
  margin-top: 36px;
  width: 186px;
  float: right;
  background: #cd051e;
  position: relative;
  margin-right: 13px;
  opacity: background 0.2s ease-in-out 0s;
}
.huishu_blue_design .submit_wrapper {
  background: #0072bd;
}
.submit_wrapper:hover {
  background: #ff0000;
}
.huishu_blue_design .submit_wrapper:hover {
  background: #0089ff;
}
.submit_wrapper:before {
  display: block;
  content: "";
  border-bottom: 50px solid #cd051e;
  border-left: 12px solid transparent;
  position: absolute;
  left: -12px;
  bottom: 0;
  opacity: border-bottom 0.2s ease-in-out 0s;
}
.huishu_blue_design .submit_wrapper:before {
  border-bottom-color: #0072bd;
}
.submit_wrapper:hover:before {
  border-bottom-color: #ff0000;
}
.huishu_blue_design .submit_wrapper:hover:before {
  border-bottom-color: #0089ff;
}
.submit_wrapper:after {
  display: block;
  content: "";
  border-top: 50px solid #cd051e;
  border-right: 12px solid transparent;
  position: absolute;
  right: -12px;
  bottom: 0;
  opacity: border-top 0.2s ease-in-out 0s;
}
.huishu_blue_design .submit_wrapper:after {
  border-top-color: #0072bd;
}
.submit_wrapper:hover:after {
  border-top-color: #ff0000;
}
.huishu_blue_design .submit_wrapper:hover:after {
  border-top-color: #0089ff;
}
.submit_wrapper input {
  height: 50px;
  font-size: 23px;
  font-weight: 600;
  text-transform: uppercase;
  font-family: 'Titillium Web', sans-serif;
  text-align: left;
  padding: 0 0 0 48px;
}
.submit_wrapper input:hover {
  color: #fff;
  background: transparent;
}
div.wpcf7 .wpcf7-submit:disabled,
div.wpcf7 .wpcf7-submit:disabled:hover {
  background: transparent;
  color: #fff;
}
body div.wpcf7 .ajax-loader {
  display: none;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  border: 1px solid #cd051e;
  margin: 40px 0 0;
  padding: 5px 10px;
}
.huishu_blue_design .wpcf7 form.invalid .wpcf7-response-output,
.huishu_blue_design .wpcf7 form.unaccepted .wpcf7-response-output {
  border-color: #0072bd;
}
.site-footer .footerBlack a.slideup {
  position: absolute;
  right: -11px;
  bottom: -16px;
  background: #cd051e;
  display: block;
  color: #fff;
  width: 100px;
  height: 90px;
  transform: skew(-13deg);
  text-align: center;
  line-height: 90px;
  display: inline-block;
  transition: background 0.2s ease-in-out 0s;
}
.huishu_blue_design .site-footer .footerBlack a.slideup {
  background: #0072bd;
}
.site-footer .footerBlack a.slideup:hover,
.site-footer .footerBlack a.slideup:active,
.site-footer .footerBlack a.slideup:focus {
  color: #fff;
  background: #ff0000;
}
.huishu_blue_design .site-footer .footerBlack a.slideup:hover,
.huishu_blue_design .site-footer .footerBlack a.slideup:active,
.huishu_blue_design .site-footer .footerBlack a.slideup:focus {
  background: #0089ff;
}
.site-footer .footerBlack a.slideup .icon-scrollup {
  transform: skew(13deg);
  display: inline-block;
  font-size: 26px;
}
.logoWrapper {
  margin: 64px 0 0;
  padding-bottom: 150px;
  position: relative;
  width: 90%;
  max-width: 600px;
}
.logoBig {
  margin-left: 17px;
  line-height: 0;
  width: 100%;
  position: relative;
  z-index: 2;
}
.logoSmallWrapper {
  position: absolute;
  width: 50%;
  line-height: 0;
  z-index: 1;
}
.logoSmallWrapper.funkePlanungLogo {
  top: 0;
  left: 23px;
  transition: top 0.5s ease-in-out 0s, left 0.5s ease-in-out 0s;
}
.logoWrapper.js-animate .logoSmallWrapper.funkePlanungLogo {
  top: 112px;
  left: -3px;
}
.logoSmallWrapper.funkeLueftungLogo {
  top: 0;
  right: -17px;
  transition: top 0.5s ease-in-out 0.5s, right 0.5s ease-in-out 0.5s;
}
.logoWrapper.js-animate .logoSmallWrapper.funkeLueftungLogo {
  top: 112px;
  right: 8px;
  left: auto;
}
.logoSmallWrapper .logoSmall {
  opacity: 1;
  transition: opacity 0.2s ease-in-out 0s;
  z-index: 2;
  position: relative;
}
.logoSmallWrapper:hover .logoSmall {
  opacity: 0;
}
.logoSmallHover {
  position: absolute;
  width: 100%;
  top: 0;
  z-index: 1;
}
.logoSmallWrapper a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}
.kontaktmap_wrapper {
  transform: skew(-14deg);
  overflow: hidden;
}
.gmap.is-loaded {
  width: 120%;
  height: 350px;
  left: -10%;
  transform: skew(14deg);
}
.nav-burger {
  display: none;
}
#colophon {
  position: relative;
  z-index: 2;
}
.wpcf7-spinner {
  position: absolute;
}
.wp-block-button a {
  color: #fff;
}
a.wp-block-button__link.has-funke-blue-background-color.has-background.wp-element-button {
  background: #0072bd;
}
a.wp-block-button__link.has-funke-blue-background-color.has-background.wp-element-button:hover {
  background: #0089ff;
  color: #fff;
}
a.wp-block-button__link.has-funke-red-background-color.has-background.wp-element-button {
  background: #cd051e;
}
a.wp-block-button__link.has-funke-red-background-color.has-background.wp-element-button:hover {
  background: #ff0000;
}
.has-funke-blue-color {
  color: #0072bd;
}
.has-funke-red-color {
  color: #cd051e;
}
.wp-block-button.is-style-outline-button {
  background-color: #fff !important;
  padding: 0 2px;
}
.wp-block-button.is-style-outline-button a {
  clip-path: polygon(12.5% 0, 100% 0%, 87.5% 100%, 0 100%);
  color: #000;
  transition: color 0.2s ease-in-out 0s, background 0.5s ease-in-out 0s;
}
.wp-block-button.is-style-outline-button a:hover {
  color: #fff;
}
.wp-block-button.is-style-outline-button a.has-funke-red-background-color {
  background-color: #fff !important;
}
.wp-block-button.is-style-outline-button a.has-funke-red-background-color:hover {
  background-color: #cd051e !important;
}
.wp-block-button.is-style-outline-button a.has-funke-blue-background-color {
  background-color: #fff !important;
}
.wp-block-button.is-style-outline-button a.has-funke-blue-background-color:hover {
  background-color: #0072bd !important;
}
body .brlbs-cmpnt-container.brlbs-cmpnt-shortcode-element[data-borlabs-cookie-service-list] {
  height: auto;
}
body .brlbs-cmpnt-container.brlbs-cmpnt-shortcode-element .brlbs-cmpnt-description-list dt {
  text-wrap: nowrap;
}
@media screen and (max-width: 1380px) {
  body.home .wp-block-group.leistungen .wp-block-group__inner-container {
    height: 320px;
  }
  body.home .wp-block-cover {
    min-height: 0;
    height: 300px;
  }
}
@media screen and (max-width: 1280px) {
  .wp-block-cover {
    left: -20px;
    width: 945px;
    clip-path: polygon(0% 100%, 0% 0%, 100% 0%, 828px 100%);
  }
  .wp-block-cover .wp-block-cover__inner-container {
    padding-left: 20px;
  }
  .headerContent {
    width: 700px;
  }
  .headerContent-inner {
    width: calc(100% - 20px);
  }
  .wp-block-group {
    padding-left: 20px;
    padding-right: 20px;
  }
  .wp-block-group.leistungen .wp-block-cover:first-child {
    left: -20px;
  }
  .wp-block-group.leistungen .wp-block-cover:last-child {
    right: -20px;
  }
  .wp-block-group.leistungen .wp-block-cover .wp-block-cover__inner-container {
    position: absolute;
    width: 70%;
  }
  .wp-block-group.leistungen .wp-block-cover:first-child .wp-block-cover__inner-container {
    left: 20px;
  }
  .wp-block-group.leistungen .wp-block-cover:last-child .wp-block-cover__inner-container {
    right: 20px;
  }
  .referenzenWrapper h2 {
    margin-left: 20px;
  }
  .referenzenWrapper-referez,
  .referenzenWrapper-referez:last-child {
    float: right;
    margin-right: calc(10% + 40px);
  }
  .referenzenWrapper-referez:nth-child(2n+1) {
    clear: left;
    margin: 0 0 80px 10%;
    float: left;
  }
  .site-footer .footerWhite,
  .site-footer .footerBlack {
    padding-left: 20px;
    padding-right: 20px;
  }
  .wp-block-group {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .wp-block-cover + .wp-block-gallery,
  .wp-block-cover + .wp-block-gallery .blocks-gallery-grid {
    width: 100%;
    position: relative;
    left: auto;
    margin-top: 20px;
    margin-left: 10px;
  }
  .wp-block-cover + .wp-block-gallery .blocks-gallery-grid:after {
    display: block;
    content: "";
    clear: both;
  }
  .wp-block-cover + .wp-block-gallery li.blocks-gallery-item {
    width: calc((100% - 3*30px) / 4);
    float: left;
    margin-right: 20px;
  }
  .wp-block-gallery.has-nested-images {
    display: flex;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image {
    position: static;
  }
  .wp-block-cover + .wp-block-gallery li.blocks-gallery-item:nth-child(1),
  .wp-block-cover + .wp-block-gallery li.blocks-gallery-item:nth-child(2),
  .wp-block-cover + .wp-block-gallery li.blocks-gallery-item:nth-child(3),
  .wp-block-cover + .wp-block-gallery li.blocks-gallery-item:nth-child(4) {
    left: 0;
  }
  .wp-block-cover {
    min-height: 0;
    height: auto;
    padding: 20px 0;
  }
  .wp-block-cover .wp-block-cover__inner-container {
    padding-right: 20px;
  }
  .kontaktmap_wrapper {
    transform: skew(0);
  }
  .gmap.is-loaded {
    width: 100%;
    left: auto;
    transform: skew(0);
  }
  .refDetails {
    text-align: center;
  }
  .refDetails-inner {
    text-align: left;
    display: inline-block;
  }
  .refDetails-detail {
    width: 330px;
  }
  .refDetails-detail-text {
    padding-right: 0;
  }
  .logoWrapper {
    margin-top: 40px;
    padding-bottom: 100px;
    width: 340px;
  }
  .logoWrapper.js-animate .logoSmallWrapper.funkePlanungLogo {
    top: 70px;
    left: 3px;
  }
  .logoWrapper.js-animate .logoSmallWrapper.funkeLueftungLogo {
    top: 70px;
    right: 0;
  }
  .wp-block-cover + .wp-block-gallery.has-nested-images {
    display: flex;
    width: unset;
    position: unset;
    top: unset;
    left: unset;
    margin: 10px 0;
  }
}
@media screen and (max-width: 1000px) {
  .custom-logo-link {
    margin: 15px 0;
  }
  .main-navigation {
    position: fixed;
    left: -100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.8);
    padding: 30px 0 20px;
    transition: left 0.2s ease-in-out 0s;
  }
  .main-navigation.active {
    left: 0;
  }
  .main-navigation li {
    float: none;
    margin-left: 0;
    padding-left: 20px;
    padding-bottom: 10px;
  }
  .main-navigation li.mobile-only {
    display: block;
  }
  .main-navigation ul ul {
    position: relative;
    float: none;
    visibility: visible;
    display: block;
    opacity: 1;
    background: none;
    padding-top: 10px;
    top: 0;
    left: 0;
  }
  .main-navigation ul ul li {
    margin: 0 0 10px;
    padding: 0 0 0 20px;
  }
  .main-navigation ul ul li:last-child {
    margin-bottom: 0;
  }
  .main-navigation li:after,
  .main-navigation li li a:after {
    display: none;
  }
  .main-navigation li.light > a {
    font-weight: 300;
    color: rgba(255, 255, 255, 0.5);
  }
  .main-navigation li.desktop-only {
    padding: 0 0 10px;
  }
  .main-navigation li.desktop-only > a {
    display: none;
  }
  .main-navigation li > ul {
    padding-top: 0;
  }
  .nav-burger {
    display: block;
    position: absolute;
    height: 50px;
    width: 50px;
    top: 30px;
    right: 0;
    cursor: pointer;
  }
  .nav-burger .nav-burger-red,
  .nav-burger .nav-burger-blue {
    height: 1px;
    position: absolute;
    transition: transform 0.2s ease-in-out 0s, top 0.2s ease-in-out 0s;
  }
  .nav-burger .nav-burger-red {
    background: #cd051e;
    top: 20px;
    width: 30px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .nav-burger .nav-burger-blue {
    background: #0072bd;
    top: 30px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 30px;
  }
  .main-navigation.active + .nav-burger .nav-burger-red {
    top: 50%;
    transform: rotate(45deg);
  }
  .main-navigation.active + .nav-burger .nav-burger-blue {
    top: 50%;
    transform: rotate(-45deg);
  }
  .wp-block-cover {
    width: calc(100% + 40px);
    clip-path: none;
  }
  .form_left,
  .form_right {
    width: 100%;
    float: none;
  }
  .refDetails {
    padding: 0 0 0 30px;
    margin: 0 0 50px;
  }
  .refDetails-detail {
    margin-bottom: 40px;
  }
  .refDetails-detail.details {
    padding-left: 0;
  }
  .refDetails-detail.details .refDetails-detail-text {
    padding-left: 35px;
  }
  .refDetails-detail.bauzeit .refDetails-detail-image {
    margin-left: -13px;
    margin-right: 13px;
  }
  .refDetails-detail.bauzeit .refDetails-detail-text {
    padding-left: 15px;
  }
  .refDetails-detail .refDetails-detail-text h3 {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 820px) {
  .headerImageOuter {
    display: none;
  }
  body .wp-block-columns {
    display: block;
  }
  body .wp-block-columns .wp-block-column {
    margin-bottom: 20px;
  }
  body .wp-block-columns .wp-block-column:nth-child(2n) {
    margin-bottom: 0;
  }
  .wp-block-column:nth-child(2n) {
    margin-left: 0;
  }
  .wp-block-group {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .referenzenWrapper {
    margin-top: 30px;
  }
  .headerButton,
  .anfrageButton {
    margin-top: 30px;
    margin-bottom: 40px;
  }
  .wp-block-group.pipes,
  .wp-block-group.pipes.js-animate {
    background: none;
  }
  body.home .wp-block-group.leistungen .wp-block-group__inner-container,
  .wp-block-group.leistungen .wp-block-group__inner-container {
    height: auto;
    min-height: 500px;
  }
  .wp-block-group.leistungen .wp-block-cover:first-child,
  .wp-block-group.leistungen .wp-block-cover:last-child {
    width: calc(100% + 40px);
    clip-path: none;
    position: relative;
    left: -20px;
    padding: 0 20px;
  }
  .wp-block-group.leistungen .wp-block-cover .wp-block-cover__inner-container {
    position: relative;
    width: 100%;
  }
  .wp-block-group.leistungen .wp-block-cover:first-child .wp-block-cover__inner-container,
  .wp-block-group.leistungen .wp-block-cover:last-child .wp-block-cover__inner-container {
    left: auto;
    right: auto;
  }
  .wp-block-group.leistungen .wp-block-cover .wp-block-buttons {
    margin-top: 30px;
  }
  .referenzenWrapper-referez,
  .referenzenWrapper-referez:last-child {
    margin-right: 40px;
  }
  .referenzenWrapper-referez:nth-child(2n+1) {
    margin-left: 40px;
  }
  .site-footer .footerWhite .widget,
  .site-footer .footerWhite .widget:first-child {
    width: 100%;
    float: none;
  }
  .site-footer .footerBlack .widget_text {
    padding-right: 120px;
  }
  .similarProject {
    margin: 0 auto 80px;
    padding: 0 20px;
    font-size: 40px;
    line-height: 60px;
  }
  .lightbox_inner {
    padding: 20px 20px 0;
  }
}
@media screen and (max-width: 700px) {
  .header_img_container {
    height: auto;
  }
  .headerContent {
    padding-left: 20px;
  }
  .headerContent {
    bottom: 20px;
    clip-path: none;
    width: 100%;
    padding: 20px 20px 30px 0;
  }
  .referenzenWrapper {
    padding: 0 20px;
  }
  .referenzenWrapper-referez,
  .referenzenWrapper-referez:last-child {
    width: calc(50% - 10px);
  }
  .referenzenWrapper-referez-image {
    transform: skew(0);
    margin-left: 0;
    width: 100%;
    margin-bottom: 10px;
  }
  .referenzenWrapper-referez-image-inner {
    transform: skew(0);
    width: 100%;
    margin-left: 0;
  }
  .referenzenWrapper-referez-image-inner span {
    padding-left: 27px;
  }
  .referenzenWrapper-referez h3 {
    margin-bottom: 0;
  }
  .referenzenWrapper .referenzenWrapper-referez,
  .referenzenWrapper-referez:nth-child(2n+1),
  .referenzenWrapper-referez:last-child {
    margin: 0 0 40px;
  }
  .wp-block-cover + .wp-block-gallery,
  .wp-block-cover + .wp-block-gallery .blocks-gallery-grid {
    margin-left: 0;
  }
  .wp-block-cover + .wp-block-gallery li.blocks-gallery-item {
    transform: skew(0);
    margin-right: 20px;
  }
  .wp-block-cover + .wp-block-gallery li.blocks-gallery-item:last-child {
    margin-right: 0;
  }
  .wp-block-cover + .wp-block-gallery li.blocks-gallery-item figure {
    transform: skew(0);
    width: 100%;
    margin-left: 0;
  }
  .prefooter {
    display: none;
  }
  #colophon {
    margin-top: 20px;
  }
  .site-footer .footerWhite,
  .site-footer .footerBlack {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .site-footer .footerWhite .widget:first-child {
    margin-bottom: 20px;
  }
  .site-footer .footerWhite .widget h3 {
    display: none;
  }
  #colophon .spacer {
    display: block;
  }
  .header_img_container {
    height: auto;
  }
  .headerContent {
    position: relative;
    bottom: auto;
    padding-left: 20px;
    margin-top: 40px;
  }
  .headerContent-inner {
    float: none;
  }
  .anfrageButton {
    float: none;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 600px) {
  .headerButton,
  .anfrageButton {
    margin-bottom: 0;
    padding: 0 40px;
    font-size: 16px;
    white-space: nowrap;
  }
  .headerImage--referenzheader {
    height: 300px;
    position: relative;
  }
  .headerImage--referenzheader .headerImage-shape {
    display: none;
  }
  .single h1 {
    margin: 40px 0 20px;
    font-size: 40px;
    line-height: 55px;
  }
  .wp-block-cover + .wp-block-gallery li.blocks-gallery-item {
    width: calc((100% - 20px) / 2);
    margin-bottom: 20px;
  }
  .wp-block-cover + .wp-block-gallery li.blocks-gallery-item:nth-child(2n) {
    margin-right: 0;
  }
  .referenzenWrapper-referez,
  .referenzenWrapper-referez:last-child {
    width: 100%;
  }
}
@media screen and (max-height: 700px) {
  .header_img_container {
    height: auto;
  }
  .headerContent {
    position: relative;
    bottom: auto;
    padding-left: 20px;
    margin-top: 40px;
  }
  .headerContent-inner {
    float: none;
  }
  .anfrageButton {
    float: none;
    margin-bottom: 0;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3RUE7RUFDQyxpQkFBQTs7RUFDQSw4QkFBQTs7Ozs7Ozs7QUFVRDtFQUNDLFNBQUE7Ozs7OztBQVFEO0VBQ0MsY0FBQTtFQUNBLGdCQUFBOzs7Ozs7OztBQVdEO0VBQ0MsdUJBQUE7O0VBQ0EsU0FBQTs7RUFDQSxpQkFBQTs7Ozs7OztBQVFEO0VBQ0MsaUNBQUE7O0VBQ0EsY0FBQTs7Ozs7Ozs7QUFVRDtFQUNDLDZCQUFBOzs7Ozs7QUFRRCxJQUFJO0VBQ0gsbUJBQUE7O0VBQ0EsMEJBQUE7O0VBQ0EsaUNBQUE7Ozs7OztBQU9EO0FBQ0E7RUFDQyxnQkFBQTs7Ozs7O0FBUUQ7QUFDQTtBQUNBO0VBQ0MsaUNBQUE7O0VBQ0EsY0FBQTs7Ozs7O0FBT0Q7RUFDQyxjQUFBOzs7Ozs7QUFRRDtBQUNBO0VBQ0MsY0FBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLHdCQUFBOztBQUdEO0VBQ0MsZUFBQTs7QUFHRDtFQUNDLFdBQUE7Ozs7Ozs7QUFVRDtFQUNDLGtCQUFBOzs7Ozs7OztBQVdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQyxvQkFBQTs7RUFDQSxlQUFBOztFQUNBLGlCQUFBOztFQUNBLFNBQUE7Ozs7Ozs7QUFRRDtBQUNBOztFQUNDLGlCQUFBOzs7Ozs7QUFRRDtBQUNBOztFQUNDLG9CQUFBOzs7OztBQU9EO0FBQ0E7QUFDQTtBQUNBO0VBQ0MsMEJBQUE7Ozs7O0FBT0QsTUFBTTtBQUNOLGVBQWU7QUFDZixjQUFjO0FBQ2QsZUFBZTtFQUNkLGtCQUFBO0VBQ0EsVUFBQTs7Ozs7QUFPRCxNQUFNO0FBQ04sZUFBZTtBQUNmLGNBQWM7QUFDZCxlQUFlO0VBQ2QsOEJBQUE7Ozs7O0FBT0Q7RUFDQyw4QkFBQTs7Ozs7Ozs7QUFVRDtFQUNDLHNCQUFBOztFQUNBLGNBQUE7O0VBQ0EsY0FBQTs7RUFDQSxlQUFBOztFQUNBLFVBQUE7O0VBQ0EsbUJBQUE7Ozs7OztBQU9EO0VBQ0Msd0JBQUE7Ozs7O0FBT0Q7RUFDQyxjQUFBOzs7Ozs7QUFRRDtBQUNBO0VBQ0Msc0JBQUE7O0VBQ0EsVUFBQTs7Ozs7O0FBT0QsZUFBZTtBQUNmLGVBQWU7RUFDZCxZQUFBOzs7Ozs7QUFRRDtFQUNDLDZCQUFBOztFQUNBLG9CQUFBOzs7Ozs7QUFPRCxlQUFlO0VBQ2Qsd0JBQUE7Ozs7OztBQVFEO0VBQ0MsMEJBQUE7O0VBQ0EsYUFBQTs7Ozs7Ozs7QUFVRDtFQUNDLGNBQUE7Ozs7O0FBT0Q7RUFDQyxrQkFBQTs7Ozs7OztBQVVEO0VBQ0MsYUFBQTs7Ozs7QUFPRDtFQUNDLGFBQUE7Ozs7O0FBTUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0MsV0FBQTtFQUNBLGFBQWEsNkJBQWI7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTs7QUFHRDtBQUFJO0FBQUk7QUFBSTtBQUFJO0FBQUk7RUFDbkIsV0FBQTtFQUNBLFdBQUE7RUFDQSxhQUFhLDJCQUFiOztBQUdEO0VBQ0Msb0JBQUE7O0FBR0Q7QUFBSztBQUFNO0FBQUk7RUFDZCxrQkFBQTs7QUFHRDtFQUNDLGVBQUE7O0FBR0Q7RUFDQyxpQkFBQTs7QUFHRDtFQUNDLGdCQUFBO0VBQ0EsYUFBYSxzQ0FBYjtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBOztBQUdEO0FBQU07QUFBSztBQUFJO0VBQ2QsK0JBQStCLGVBQWUsNkJBQTlDO0VBQ0EsZUFBQTs7QUFHRDtBQUFNO0VBQ0wsOEJBQUE7RUFDQSxZQUFBOztBQVFEO0VBQ0MsZUFBQTs7Ozs7QUFNRDtFQUNDLHNCQUFBOztBQUdEO0FBQ0EsQ0FBQztBQUNELENBQUM7O0VBRUEsbUJBQUE7O0FBR0Q7RUFDQyxnQkFBQTs7O0FBSUQ7RUFDQyxzQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTs7QUFHRCxhQUFjO0FBQ2QsYUFBYztFQUNiLHNCQUFBO0VBQ0EsVUFBQTs7QUFFRCxhQUFjLEdBQUc7QUFDakIsYUFBYyxHQUFHO0VBQ2hCLGFBQUE7RUFDQSxnQkFBQTs7QUFHRDtFQUNDLGdCQUFBOztBQUdEO0VBQ0MsbUJBQUE7O0FBR0QsRUFBRztBQUNILEVBQUc7RUFDRixnQkFBQTtFQUNBLGtCQUFBOztBQUdEO0VBQ0MsaUJBQUE7O0FBR0Q7RUFDQyxxQkFBQTs7QUFHRDtFQUNDLFlBQUE7O0VBRUEsZUFBQTs7O0FBSUQ7QUFDQTtFQUNDLFNBQUE7RUFDQSxjQUFBOzs7QUFJRDtFQUNDLGlCQUFBO0VBQ0EsV0FBQTs7Ozs7QUFNRDtBQUNBLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztFQUNKLFlBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7O0FBR0QsTUFBTTtBQUNOLEtBQUssZUFBZTtBQUNwQixLQUFLLGNBQWM7QUFDbkIsS0FBSyxlQUFlO0VBQ25CLGdCQUFBO0VBQ0EsY0FBQTs7QUFHRCxNQUFNO0FBQ04sS0FBSyxlQUFlO0FBQ3BCLEtBQUssY0FBYztBQUNuQixLQUFLLGVBQWU7RUFDbkIsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7O0FBR0QsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0w7RUFDQyxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBOztBQUdELElBQUk7RUFDSCxjQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBOztBQUdEO0VBQ0Msc0JBQUE7O0FBSUQsTUFBTSxtQkFBbUI7QUFDekIsSUFBSSxZQUFhO0VBQ2hCLHFCQUFBO0VBQ0Esd0JBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7RUFDQSxlQUFBOztBQUdELHdCQUF3QixZQUFZO0FBQ3BDLElBQUksWUFBWTtFQUNmLFNBQVMsR0FBVDtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLG9CQUFBOztBQUdELE1BQU0sd0JBQXdCLGFBQWEsTUFBTTtFQUMvQyw2QkFBQTs7QUFHRixNQUFNLHdCQUF3QixhQUFhO0VBQ3pDLGFBQUE7O0FBR0YsSUFBSTtFQUNILGNBQUE7RUFDQSxjQUFBOztBQUdELE1BQU8sZ0JBQWUsY0FBZSxpQkFBaUIsTUFBTSxNQUFNO0FBQ2xFLE1BQU8sa0JBQWtCLGlCQUFpQixNQUFNLE1BQU07QUFDdEQsV0FBWSxNQUFLLGNBQWU7RUFDL0Isa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBOztBQUdELE1BQU8sZ0JBQWUsY0FBZSxpQkFBaUIsTUFBTTtBQUM1RCxNQUFPLGtCQUFrQixpQkFBaUIsTUFBTTtBQUNoRCxXQUFZLE1BQUs7RUFDaEIsa0JBQUE7RUFDQSxVQUFBO0VBQ0EsZUFBQTtFQUNBLFFBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTs7QUFHRCxNQUFPLGdCQUFlLGNBQWUsaUJBQWlCLE1BQU0sTUFBTSxPQUFNO0FBQ3hFLE1BQU8sa0JBQWtCLGlCQUFpQixNQUFNLE1BQU0sT0FBTTtBQUM1RCxXQUFZLE1BQUssY0FBZSxRQUFPO0VBQ3RDLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE9BQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsU0FBUyxFQUFUO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxRQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7O0FBR0QsTUFBTyxnQkFBZSxjQUFlLGlCQUFpQixNQUFNLE1BQUssUUFBUyxPQUFNO0FBQ2hGLE1BQU8sa0JBQWtCLGlCQUFpQixNQUFNLE1BQUssUUFBUyxPQUFNO0FBQ3BFLFdBQVksTUFBSyxjQUFjLFFBQVMsUUFBTztFQUM5QyxnQkFBQTtFQUNBLFNBQVMsR0FBVDs7QUFHRDtFQUNDLGFBQUE7O0FBSUQsSUFBSTtFQUNILGFBQUE7O0FBR0QsS0FBSztBQUNMLE1BQU07QUFDTixRQUFRO0VBQ1AsbUJBQUE7RUFDQSxXQUFBOzs7OztBQU9EO0VBQ0MsaUJBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7Ozs7O0FBUUQsYUFBYyxHQUFHO0FBQ2pCLGFBQWMsR0FBRztBQUNqQixhQUFjLEdBQUc7QUFDakIsYUFBYyxHQUFHO0VBQ2hCLGtCQUFBOztBQUdELGFBQWMsR0FBRztBQUNqQixhQUFjLEdBQUc7RUFDaEIsZ0JBQUE7RUFDQSxrQkFBQTs7QUFHRCxhQUFjLEdBQUcsR0FBRTtBQUNuQixhQUFjLEdBQUcsR0FBRTtFQUNsQixjQUFBO0VBQ0EsT0FBQTtFQUNBLFNBQVMsR0FBVDtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxRQUFBOzs7Ozs7OztBQVNEO0VBQ0MsY0FBQTtFQUNBLHFCQUFBO0VBQ0EscUNBQUE7O0FBRUQsQ0FBQztBQUNELENBQUM7QUFDRCxDQUFDO0VBQ0EsY0FBQTs7QUFFRCxtQkFBb0I7RUFDbkIsY0FBQTs7QUFFRCxtQkFBb0IsRUFBQztBQUNyQixtQkFBb0IsRUFBQztBQUNyQixtQkFBb0IsRUFBQztFQUNwQixjQUFBOztBQUdELENBQUM7RUFDQSxhQUFBOztBQUdELENBQUM7QUFBUSxDQUFDO0VBQ1QsYUFBQTs7Ozs7QUFNRDtFQUNDLFdBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQWEsMkJBQWI7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7O0FBR0QsZ0JBQWlCO0VBQ2hCLGFBQUE7RUFDQSxnQkFBQTtFQUNBLFNBQUE7RUFDQSxlQUFBOztBQUdELGdCQUFpQixHQUFHO0VBQ25CLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtFQUNBLDhCQUFBO0VBQ0EsaUJBQUE7RUFDQSxVQUFBO0VBQ0EsK0JBQUE7RUFDQSxrQkFBQTs7QUFHRCxnQkFBaUIsR0FBRyxHQUFHO0VBQ3RCLFlBQUE7RUFDQSxNQUFBOztBQUdELGdCQUFpQixHQUFHLEdBQUcsR0FBRSxNQUFPO0FBQ2hDLGdCQUFpQixHQUFHLEdBQUcsR0FBRSxNQUFPO0VBQy9CLFVBQUE7O0FBT0QsZ0JBQWlCLEdBQUcsR0FBRSxNQUFPO0FBQzdCLGdCQUFpQixHQUFHLEdBQUUsTUFBTztFQUM1QixVQUFBO0VBQ0EsbUJBQUE7O0FBR0QsZ0JBQWlCO0VBQ2hCLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7O0FBRUQsZ0JBQWlCLEdBQUU7QUFDbkIsZ0JBQWlCLEdBQUcsR0FBRyxFQUFDO0VBQ3ZCLGNBQUE7RUFDQSxTQUFTLEVBQVQ7RUFDQSxtQkFBQTtFQUNBLFFBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxXQUFXLGFBQVg7RUFDQSxlQUFBO0VBQ0EscUNBQUE7O0FBRUQsZ0JBQWlCLEdBQUU7RUFDbEIsYUFBQTs7QUFFRCxtQkFBb0IsaUJBQWlCLEdBQUU7QUFDdkMsbUJBQW9CLGlCQUFpQixHQUFHLEdBQUcsRUFBQztFQUMzQyxtQkFBQTs7QUFFRCxnQkFBaUIsR0FBRSxNQUFNO0FBQ3pCLGdCQUFpQixHQUFFLGtCQUFrQjtBQUNyQyxnQkFBaUIsR0FBRSxzQkFBc0I7QUFDekMsa0JBQW1CLGlCQUFpQixHQUFFLDRCQUE0QjtBQUNsRSxnQkFBaUIsR0FBRyxHQUFFLE1BQU8sRUFBQztBQUM5QixnQkFBaUIsR0FBRyxHQUFFLGtCQUFtQixFQUFDO0FBQzFDLGdCQUFpQixHQUFHLEdBQUUsc0JBQXVCLEVBQUM7RUFDN0MsV0FBQTs7QUFFRCxnQkFBaUIsR0FBRyxHQUFFLE1BQU07QUFDNUIsZ0JBQWlCLEdBQUcsR0FBRSxrQkFBa0I7QUFDeEMsZ0JBQWlCLEdBQUcsR0FBRSxzQkFBc0I7RUFDM0MsYUFBQTs7QUFHRCxnQkFBaUIsR0FBRyxHQUFHO0VBQ3RCLGdCQUFBO0VBQ0Esc0JBQUE7O0FBTUQsZ0JBQWlCO0VBQ2hCLGNBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBOztBQUdEO0VBQ0MsYUFBQTs7QUFFRCxnQkFBaUI7RUFDaEIsY0FBQTs7QUFRRCxtQkFBb0I7QUFDcEIsaUJBQWtCO0FBQ2xCLGdCQUFpQjtFQUNoQixXQUFBO0VBQ0EsVUFBQTs7QUFHRCxtQkFBb0I7QUFDcEIsaUJBQWtCO0FBQ2xCLGdCQUFpQjtFQUNoQixZQUFBO0VBQ0EsaUJBQUE7RUFDQSxVQUFBOztBQUdEO0VBQ0Msa0JBQUE7RUFDQSxRQUFBO0VBQ0EsTUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBOztBQUdELG9CQUFxQjtFQUNwQixXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxZQUFZLHlLQUFaOztBQVVEO0VBQ0MsVUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7Ozs7OztBQU9EO0VBQ0MsU0FBQTtFQUNBLE1BQU0sd0JBQU47RUFDQSxXQUFXLFVBQVg7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsVUFBQTtFQUNBLDZCQUFBO0VBQ0EsVUFBQTtFQUNBLDRCQUFBOzs7QUFHRCxtQkFBbUI7RUFDbEIseUJBQUE7RUFDQSxrQkFBQTtFQUNBLDBDQUFBO0VBQ0EscUJBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSxxQkFBQTtFQUNBLFFBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTs7OztBQUtELFFBQVEsZUFBZTtFQUN0QixVQUFBOzs7OztBQU1EO0VBQ0MsZUFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTs7QUFHRDtFQUNDLGVBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7O0FBR0Q7RUFDQyxXQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7Ozs7O0FBTUQsTUFBTTtBQUNOLE1BQU07QUFDTixjQUFjO0FBQ2QsY0FBYztBQUNkLGdCQUFnQjtBQUNoQixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLFlBQVk7QUFDWixhQUFhO0FBQ2IsYUFBYTtBQUNiLFlBQVk7QUFDWixZQUFZO0FBQ1osUUFBUTtBQUNSLFFBQVE7RUFDUCxTQUFTLEVBQVQ7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7O0FBR0QsTUFBTTtBQUNOLGNBQWM7QUFDZCxnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLGFBQWE7QUFDYixZQUFZO0FBQ1osUUFBUTtBQUNSLFFBQVE7RUFDUCxXQUFBOzs7OztBQU1ELE9BQVE7RUFDUCxlQUFBOzs7OztBQU9ELElBQUs7RUFDSixpQkFBQTs7QUFFRCxJQUFLLGtCQUFpQjtFQUNyQixnQkFBQTs7Ozs7QUFNRDtFQUNDLGNBQUE7O0FBR0Q7RUFDQyxhQUFBOztBQUdELFFBQVEsSUFBSTtFQUNYLGFBQUE7O0FBR0Q7QUFDQTtBQUNBO0VBQ0MsU0FBQTs7QUFHRDtFQUNDLFdBQUE7RUFDQSxTQUFBOzs7OztBQU1ELGdCQUFpQjtFQUNoQixxQkFBQTs7QUFHRDtFQUNDLGNBQUE7Ozs7OztBQU9ELGdCQUFpQjtBQUNqQixnQkFBZ0IsWUFBYTs7RUFFNUIsYUFBQTs7O0FBSUQsYUFBYSxZQUFhO0VBQ3pCLGNBQUE7Ozs7O0FBTUQsYUFBYztBQUNkLGNBQWU7QUFDZixnQkFBaUI7RUFDaEIsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLFVBQUE7OztBQUlEO0FBQ0E7QUFDQTtFQUNDLGVBQUE7OztBQUlEO0VBQ0MscUJBQUE7O0FBR0QsY0FBZSxnQkFBZ0I7QUFDL0IsY0FBZSxnQkFBZ0IsTUFBSztFQUNuQyxtQkFBQTs7Ozs7QUFNRDtFQUNDLG9CQUFBO0VBQ0EsZUFBQTs7QUFHRCxXQUFZLElBQUc7RUFDZCxjQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTs7QUFHRCxXQUFZO0VBQ1gsa0JBQUE7O0FBR0Q7RUFDQyxrQkFBQTs7Ozs7QUFRRDtFQUNDLG1CQUFBOztBQUdEO0VBQ0MsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBOztBQUdELGtCQUFtQjtBQUNuQixrQkFBbUI7QUFDbkIsa0JBQW1CO0FBQ25CLGtCQUFtQjtBQUNuQixrQkFBbUI7RUFDbEIsV0FBQTtFQUNBLHFCQUFBOztBQUdELGtCQUFtQixjQUFhLFVBQVU7QUFDMUMsa0JBQW1CLGNBQWEsVUFBVTtBQUMxQyxrQkFBbUIsY0FBYSxVQUFVO0FBQzFDLGtCQUFtQixjQUFhLFVBQVU7QUFDMUMsa0JBQW1CLGNBQWEsVUFBVTtFQUN6QyxXQUFBO0VBQ0EsY0FBQTs7QUFHRCxrQkFBbUI7RUFDbEIsT0FBTSxxQ0FBTjs7QUFHRCxrQkFBbUI7RUFDbEIsT0FBTSxxQ0FBTjs7QUFHRCxrQkFBbUI7RUFDbEIsT0FBTSxxQ0FBTjs7QUFHRCxrQkFBbUI7RUFDbEIsT0FBTSxxQ0FBTjs7QUFHRCxrQkFBbUI7RUFDbEIsT0FBTSxxQ0FBTjs7QUFHRDtFQUNDLGNBQUE7Ozs7O0FBT0QsY0FBZTtBQUNmLGNBQWUsTUFBSztFQUNuQixpQkFBQTtFQUNBLGNBQUE7O0FBR0Q7RUFDQyxpQkFBQTtFQUNBLGNBQUE7O0FBR0QsY0FBZTtBQUNmLGFBQWM7RUFDYixlQUFBOztBQUdELEtBQU0sR0FBRTtFQUNQLGdCQUFBOztBQUdELEtBQU0sR0FBRSxpQkFBa0I7RUFDekIsVUFBQTs7QUFHRCxLQUFNLEdBQUUsaUJBQWtCLEdBQUU7RUFDM0IsYUFBQTs7QUFHRDtFQUNDLHlCQUFBOztBQUdELEtBQU07RUFDTCxzQkFBQTtFQUNBLGdCQUFBOztBQUdELEtBQU0sR0FBRSxVQUFVLEtBQU07RUFDdkIsdUJBQUE7Ozs7O0FBT0Qsb0JBQW9CO0VBQ25CLGNBQUE7RUFDQSxTQUFTLEVBQVQ7RUFDQSxXQUFBOztBQUdELG9CQUFxQjtFQUNwQixXQUFBO0VBQ0EsVUFBQTs7QUFHRCxvQkFBcUI7RUFDcEIsWUFBQTtFQUNBLFVBQUE7O0FBR0Qsb0JBQW9CLHVCQUF3QjtFQUMzQyxZQUFBOztBQUVELG9CQUFvQix1QkFBd0I7RUFDM0MsV0FBQTs7QUFHRDtFQUNDLG9CQUFxQjtJQUNwQixXQUFBO0lBQ0EsY0FBQTs7RUFHRCxvQkFBcUI7SUFDcEIsV0FBQTtJQUNBLGNBQUE7O0VBR0Qsb0JBQW9CLHVCQUF3QjtJQUMzQyxXQUFBOztFQUVELG9CQUFvQix1QkFBd0I7SUFDM0MsV0FBQTs7Ozs7QUFPRjs7O0FBSUE7RUFDQyxrQkFBQTtFQUNBLGdCQUFBO0VBRUEsZ0JBQUE7RUFDQSxnQkFBQTs7QUFHRDtBQUNBO0VBQ0MsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTs7QUFFRDtFQUNDLHlCQUFBOztBQUVELE9BQVE7RUFDUCxvQkFBQTs7QUFFRCxhQUFjO0VBQ2IsZ0JBQUE7O0FBRUQ7RUFDQyxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7O0FBRUQ7RUFDQyxnQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZUFBQTs7QUFFRDtFQUNDLGdCQUFBOztBQUVELENBQUM7RUFDQSxnQkFBQTs7QUFHRDtFQUNDLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLE1BQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7O0FBRUQ7RUFDQyxnQkFBQTtFQUNBLFdBQVcsaUJBQVg7O0FBSUQscUJBQXNCO0VBQ3JCLFdBQUE7O0FBR0Q7RUFDQyxrQkFBQTtFQUNBLFdBQUE7RUFDQSxRQUFRLG1CQUFSO0VBQ0Esc0JBQUE7RUFDQSx3QkFBQTtFQUNBLDRCQUFBO0VBQ0EsZ0JBQUE7O0FBR0Q7RUFDQyxrQkFBQTtFQUNBLE9BQUE7RUFDQSxNQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxzQkFBQTtFQUNBLGtDQUFBO0VBQ0Esa0NBQUE7O0FBR0Q7RUFDQyxrQkFBQTtFQUNBLE9BQUE7RUFDQSxhQUFBO0VBQ0EsT0FBTyxnQkFBUDtFQUNBLFVBQUE7RUFDQSw4QkFBQTtFQUNBLDhCQUFBO0VBQ0EsV0FBVyxpQ0FBaUMsd0JBQTVDO0VBQ0EsMEJBQUE7O0FBRUQ7RUFDQyxPQUFPLGlDQUFQO0VBQ0EsWUFBQTs7QUFFRCxjQUFlO0VBQ2QsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTs7QUFFRDtBQUNBO0VBQ0MsY0FBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7RUFDQSx5QkFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTs7RUFFQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSx3QkFBQTtFQUNBLGFBQWEsMkJBQWI7RUFDQSxlQUFBO0VBQ0EsMENBQUE7RUFDQSxXQUFXLHlDQUFYOztBQUdELGlCQUFrQixpQkFBZ0IsVUFBVSxHQUFJO0FBQ2hELGlCQUFrQixpQkFBZ0IsVUFBVSxHQUFJO0VBQy9DLFdBQUE7RUFDQSxrQkFBQTs7QUFFRCxtQkFBb0I7QUFDcEIsbUJBQW9CO0VBQ25CLG1CQUFBOztBQUVELGFBQWE7QUFDYixjQUFjO0VBQ2IsbUJBQUE7O0FBRUQsbUJBQW9CLGNBQWE7QUFDakMsbUJBQW9CLGVBQWM7RUFDakMsbUJBQUE7O0FBaUJELG1CQUFvQixjQUFhO0FBQ2pDLG1CQUFvQixjQUFhO0FBQ2pDLG1CQUFvQixlQUFjO0FBQ2xDLG1CQUFvQixlQUFjO0VBQ2pDLDRCQUFBOztBQUVELGFBQWE7QUFDYixjQUFjO0VBQ2IsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLDhCQUFBO0VBQ0Esb0NBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTs7QUFFRCxtQkFBb0IsY0FBYTtBQUNqQyxtQkFBb0IsZUFBYztFQUNqQyx5QkFBQTs7QUFFRCxhQUFhLE1BQU07QUFDbkIsY0FBYyxNQUFNO0VBQ25CLDRCQUFBOztBQUVELG1CQUFvQixjQUFhLE1BQU07QUFDdkMsbUJBQW9CLGVBQWMsTUFBTTtFQUN2Qyw0QkFBQTs7QUFFRCxhQUFhLE1BQU07QUFDbkIsY0FBYyxNQUFNO0VBQ25CLHlCQUFBOztBQUVELG1CQUFvQixjQUFhLE1BQU07QUFDdkMsbUJBQW9CLGVBQWMsTUFBTTtFQUN2Qyx5QkFBQTs7QUFFRCxlQUFlLFFBQVM7RUFDdkIsa0JBQUE7O0FBRUQsYUFBYztBQUNkLGNBQWU7RUFDZCxlQUFBO0VBQ0Esa0JBQUE7O0FBR0QsaUJBQWtCO0VBQ2pCLG1CQUFBO0VBQ0EsV0FBVyx5Q0FBWDtFQUNBLGdCQUFBO0VBQ0EsMENBQUE7O0FBRUQsaUJBQWtCLGlCQUFpQjtFQUMvQixVQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLGNBQUE7RUFFQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7RUFDQSxnQkFBQTtFQUNBLHdCQUFBOztBQUVKLGlCQUFrQixpQkFBZ0I7RUFDakMsbUJBQUE7O0FBRUQsaUJBQWtCLGlCQUFnQixnQkFBaUIsdUJBQXNCO0VBQ3hFLGNBQUE7RUFDQSxTQUFTLE9BQVQ7RUFDQSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxhQUFhLFNBQWI7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFQUNBLGNBQUE7RUFDQSxrQ0FBQTtFQUNBLGVBQUE7O0FBR0Q7RUFDQyxrQkFBQTtFQUNBLFVBQUE7O0FBRUQsSUFBSSxrQkFBbUI7RUFDdEIsZUFBQTs7QUFFRDtFQUNDLGdCQUFBOztBQUVELGVBQWU7RUFDZCxpQkFBQTs7QUFFRCxrQkFBbUIsZ0JBQWU7RUFDakMsaUJBQUE7RUFDQSxlQUFBOztBQUVELE9BQVEsZ0JBQWU7RUFDdEIsY0FBQTs7QUFFRCxlQUFlO0VBQ2QsZ0JBQWdCLDhDQUFoQjtFQUNBLHdDQUFBOztBQUVELGVBQWUsTUFBTTtFQUNwQixnQkFBZ0IsNkNBQWhCOztBQUVELGVBQWdCO0VBQ2YsY0FBQTs7QUFFRDtFQUNDLGFBQUE7RUFDQSxNQUFNLCtCQUFOO0VBQ0EsT0FBTyxrQ0FBUDtFQUNBLFdBQVcsaUNBQWlDLHdDQUE1QztFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7O0FBRUQ7RUFDQyxrQkFBQTs7QUFFRCxlQUFlLFdBQVk7RUFDMUIsYUFBQTs7QUFFRCxlQUFlLFdBQVk7RUFDMUIsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsNkNBQUE7O0FBRUQsZUFBZSxXQUFZLGdCQUFlO0VBQ3pDLHFCQUFBOztBQUVELGVBQWUsV0FBWSxnQkFBZTtFQUN6QyxrQkFBQTtFQUNBLE9BQU8sa0NBQVA7RUFDQSxXQUFXLGlDQUFpQyx3Q0FBNUM7O0FBRUQsZUFBZSxXQUFZLGdCQUFlO0VBQ3pDLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLE9BQU8sK0JBQVA7RUFDQSxPQUFPLGtDQUFQO0VBQ0EsV0FBVyxpQkFBaUIsbUVBQTVCOztBQUVELGVBQWUsV0FBWSxnQkFBZ0I7RUFDMUMsVUFBQTs7QUFFRCxlQUFlLFdBQVksZ0JBQWdCO0VBQzFDLGdCQUFBOztBQUVELGVBQWUsV0FBWSxnQkFBZ0I7RUFDMUMsV0FBVyx5Q0FBWDtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLHFFQUFBO0VBQ0Esc0JBQUE7O0FBRUQsZUFBZSxXQUFZLGdCQUFnQixpQkFBZ0IsUUFBUTtFQUNsRSxtQkFBQTs7QUFFRCxlQUFlLFdBQVksZ0JBQWdCLGlCQUFnQixTQUFTO0VBQ25FLG1CQUFBOztBQVdELGVBQWUsV0FBWSxnQkFBZ0IsaUJBQWdCLFFBQVEsTUFBTztBQUMxRSxlQUFlLFdBQVksZ0JBQWdCLGlCQUFnQixTQUFTLE1BQU87RUFDMUUsV0FBQTs7QUFFRCxlQUFnQjtFQUNmLFdBQUE7RUFDQSxjQUFjLDBCQUFkO0VBQ0EseUJBQUE7RUFDQSxvQkFBQTs7QUFHRCxlQUFnQixpQ0FBaUM7RUFDaEQsZ0JBQUE7O0FBRUQsZUFBZ0IsaUNBQWlDO0VBQ2hELGdCQUFBO0VBQ0EsU0FBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EsYUFBYSwyQkFBYjs7QUFLRCxlQUFnQjtBQUNoQixlQUFnQixvQkFBb0I7RUFDbkMsY0FBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxXQUFBO0VBQ0EsU0FBQTs7QUFFRCxlQUFnQixvQkFBb0IsR0FBRTtFQUNyQyxXQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7RUFDQSxpQkFBQTtFQUNBLFdBQVcsWUFBWDtFQUNBLGdCQUFBOztBQUVELGVBQWdCLG9CQUFvQixHQUFFLG9CQUFvQixVQUFVO0VBQ25FLE9BQUE7O0FBRUQsZUFBZ0Isb0JBQW9CLEdBQUUsb0JBQW9CLFVBQVU7RUFDbkUsV0FBQTs7QUFFRCxlQUFnQixvQkFBb0IsR0FBRSxvQkFBb0IsVUFBVTtFQUNuRSxXQUFBOztBQUVELGVBQWdCLG9CQUFvQixHQUFFLG9CQUFvQixVQUFVO0VBQ25FLFdBQUE7O0FBRUQsRUFBRSxvQkFBcUIsR0FBRTtFQUN4QixhQUFBOztBQUVELGVBQWdCLG9CQUFvQixHQUFFLG9CQUFxQjtFQUMxRCxXQUFXLFdBQVg7RUFDQSxPQUFPLGlCQUFQO0VBQ0Esa0JBQUE7RUFDQSxhQUFBOztBQUtELGVBQWUsb0JBQWtCO0VBQ2hDLGNBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsV0FBQTtFQUNBLFNBQUE7O0FBYUQsZUFBZ0IsU0FBUSxpQkFBaUIsa0JBQW1CLFNBQVE7RUFDbkUsY0FBQTtFQUNBLFdBQVcsV0FBWDtFQUNHLE9BQU8saUJBQVA7RUFDQSxhQUFBO0VBQ0EsVUFBQTtFQUNBLDBCQUFBO0VBQ0EsV0FBVyxZQUFYO0VBQ0EsZ0JBQUE7O0FBR0osaUJBQWlCLGtCQUFtQixTQUFRLGVBQWUsVUFBVTtFQUNwRSxPQUFBOztBQUdELGlCQUFpQixrQkFBbUIsU0FBUSxlQUFlLFVBQVU7RUFDcEUsV0FBQTs7QUFHRCxpQkFBaUIsa0JBQW1CLFNBQVEsZUFBZSxVQUFVO0VBQ3BFLFdBQUE7O0FBR0QsaUJBQWlCLGtCQUFtQixTQUFRLGVBQWUsVUFBVTtFQUNwRSxXQUFBOztBQUtEO0VBQ0Msa0JBQUE7O0FBRUQsZ0JBQWdCO0VBQ2YsY0FBQTtFQUNBLFNBQVMsRUFBVDtFQUNBLFdBQUE7O0FBRUQsZ0JBQWdCLFlBQWEsZ0JBQWU7RUFDM0MsT0FBTyxpQ0FBUDtFQUNBLE1BQU0sK0JBQU47RUFDQSxrQkFBQTtFQUNBLGVBQUE7O0FBRUQsZ0JBQWdCLFdBQVksZ0JBQWU7RUFDMUMsT0FBTyxpQ0FBUDtFQUNBLE9BQU8sK0JBQVA7RUFDQSxrQkFBQTtFQUNBLGVBQUE7O0FBR0QsZUFBZSxRQUFTO0VBQ3ZCLG1CQUFBOztBQUVELGVBQWUsUUFBUztBQUN4QixlQUFlLFFBQVM7RUFDdkIsWUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7O0FBR0Q7RUFDQyxnQkFBQTtFQUNBLFdBQUE7RUFDQSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7O0FBRUQ7RUFDQyxrQkFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBTyxpQ0FBUDtFQUNBLGFBQUE7RUFDQSxXQUFXLGdDQUFYO0VBQ0EscUZBQUE7RUFDQSxVQUFBOztBQUVELFlBQVk7RUFDWCxVQUFBOztBQUVEO0VBQ0MsV0FBQTtFQUNBLFFBQVEsa0JBQVI7RUFDQSxrQkFBQTtFQUNBLFVBQUE7O0FBRUQsNEJBQTRCO0VBQzNCLGNBQUE7RUFDQSxTQUFTLEVBQVQ7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLGFBQUE7RUFDQSxrQkFBa0IsMERBQWxCOztBQUVEO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSw4QkFBQTtFQUNBLFdBQVcsa0RBQVg7O0FBR0QsZUFBZSxZQUFhLGdCQUFlO0VBQzFDLG1CQUFBOztBQUdEO0VBQ0MsVUFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7O0FBRUQsV0FBWTtFQUNYLHlCQUFBOztBQUVEO0VBQ0MsV0FBQTtFQUNBLFlBQUE7O0FBRUQsa0JBQWtCO0VBQ2pCLGtCQUFBOztBQUVELGtCQUFtQjtFQUNsQixXQUFBO0VBQ0EsYUFBQTs7QUFFRCxrQkFBa0IsT0FBUTtFQUl6QixnQkFBZ0IsMENBQWhCO0VBQ0EscUJBQUE7RUFDQSxXQUFBOztBQUVELGtCQUFrQixRQUFTO0VBSTFCLGdCQUFnQix5Q0FBaEI7RUFDQSxxQkFBQTtFQUNBLFdBQUE7O0FBRUQsa0JBQWtCLFFBQVM7RUFDMUIsZ0JBQWdCLDBDQUFoQjtFQUNBLHFCQUFBO0VBR0EsV0FBQTs7QUFFRDtFQU9DLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxPQUFPLGlCQUFQOztBQUVELGtCQUFrQixRQUFTO0VBQzFCLGtCQUFBOztBQUVELHVCQUF3QjtFQUN2QixtQkFBQTs7QUFHRDtFQUNDLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxhQUFhLDJCQUFiOztBQUVELGVBQWdCO0VBQ2YsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBOztBQUVELGVBQWdCLGVBQWU7RUFDOUIsa0JBQUE7O0FBR0Q7RUFDQyxpQkFBQTs7QUFFRCxrQkFBbUI7RUFDbEIsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QkFBQTs7QUFFRCxrQkFBbUIsR0FBRztFQUNyQixnQkFBQTs7QUFFRDtFQUNDLFlBQUE7RUFDQSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTs7QUFFRCwwQkFBMEIsVUFBVTtFQUNuQyxjQUFBO0VBQ0EsV0FBQTs7QUFFRCwwQkFBMkI7RUFDMUIsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFVBQUE7O0FBRUQsMEJBQTBCO0VBQ3pCLGVBQUE7RUFDQSxZQUFBOztBQUVELDBCQUEwQixlQUFlO0FBQ3pDLDBCQUEwQixlQUFlO0FBQ3pDLDBCQUEwQixlQUFlO0FBQ3pDLDBCQUEwQixlQUFlO0VBQ3hDLGdCQUFBOztBQUVEO0VBQ0MsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSxXQUFXLFlBQVg7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7O0FBRUQ7RUFDQyxZQUFBO0VBQ0EsV0FBVyxXQUFYO0VBQ0EsWUFBQTtFQUNBLGtCQUFBOztBQUVEO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSw4QkFBQTs7QUFFRCxzQ0FBdUM7RUFDbkMsa0JBQUE7RUFDQSxpQ0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkFBQTtFQUNBLGVBQUE7RUFDQSxhQUFhLDJCQUFiO0VBQ0EscUJBQUE7RUFDQSxXQUFXLG9EQUFYO0VBQ0gsY0FBQTtFQUNBLG1FQUFBO0VBQ0EsVUFBQTs7QUFHRCxHQUFHO0VBQ0MsZ0JBQUE7RUFDQSxlQUFBO0VBQ0gsV0FBQTs7QUFHRCxtQkFBb0IsdUNBQXVDO0VBQzFELGtDQUFBOztBQUVELDBCQUEwQixNQUFPLHVDQUF1QztFQUN2RSxTQUFBO0VBQ0EsVUFBQTs7QUFFRCwwQkFBMkI7RUFDdkIsa0JBQUE7O0FBRUo7RUFDSSx5QkFBQTtFQUNBLGVBQUE7O0FBRUoscUNBQXNDLEtBQUk7QUFDMUMscUNBQXNDLEtBQUk7RUFDdEMsY0FBQTs7QUFFSixxQ0FBc0MsS0FBSTtBQUMxQyxxQ0FBc0MsS0FBSTtFQUN6QyxjQUFBOztBQU1EO0VBQ0MsZ0JBQUE7O0FBRUQsV0FBWSxjQUFjO0FBQzFCLFdBQVksVUFBVTtFQUNyQixjQUFBO0VBQ0EsbUJBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLHlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQWEsMkJBQWI7RUFDQSxlQUFBO0VBQ0EsMENBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQVcsWUFBWDtFQUNBLFNBQUE7RUFDQSxZQUFBOztBQUVELFdBQVksY0FBYztFQUN6QixXQUFBOztBQUVELFdBQVksY0FBYyxFQUFDO0FBQzNCLFdBQVksVUFBVSxFQUFDO0VBQ3RCLG1CQUFBOztBQUVELFdBQVksY0FBYyxFQUFFO0FBQzVCLFdBQVksVUFBVSxFQUFFO0VBQ3ZCLFdBQVcsV0FBWDtFQUNBLGNBQUE7O0FBR0QsVUFBVztFQUNWLGFBQUE7RUFDQSxnQkFBZ0IsMERBQWhCOztBQUVEO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxxQ0FBQTs7QUFFRCxjQUFjO0VBQ2IsV0FBQTs7QUFFRDtFQUNDLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLFdBQVcsWUFBWDtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsdUNBQUE7O0FBRUQsbUJBQW9CO0VBQ25CLG1CQUFBOztBQUVELHFCQUFxQjtFQUNwQixjQUFBO0VBQ0EsU0FBUyxFQUFUO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsOEJBQUE7RUFDQSxtQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQVcsV0FBWDs7QUFFRCxtQkFBb0Isc0JBQXFCO0VBQ3hDLHlCQUFBOztBQUVELHFCQUFzQjtFQUNyQixXQUFXLFdBQVg7RUFDQSxjQUFBOztBQUVELGNBQWMsTUFBTztFQUNwQixVQUFBO0VBQ0EsbUJBQUE7O0FBR0QsWUFBYTtFQUNaLFdBQUE7O0FBRUQsWUFBYSxFQUFDO0VBQ2IsY0FBQTs7QUFFRCxZQUFhO0VBRVosbUJBQUE7RUFFQSxXQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQkFBQTs7QUFFRCxZQUFhLGFBQWE7RUFDekIsV0FBQTs7QUFFRCxZQUFhLGFBQWEsUUFBTyxZQUFhO0VBQzdDLFlBQUE7RUFDQSxtQkFBQTs7QUFFRCxZQUFhLGFBQWEsUUFBTyxZQUFhO0VBQzdDLFNBQUE7O0FBRUQ7RUFDQyxxQkFBQTtFQUNBLFdBQUE7O0FBRUQsWUFBYSxhQUFhLFFBQU87RUFDaEMsT0FBTyxrQkFBUDs7QUFFRCxZQUFhLGFBQWEsUUFBTyxVQUFVO0VBRTFDLFlBQUE7O0FBRUQsWUFBYSxhQUFhLFFBQVE7RUFFakMsa0JBQUE7RUFDQSxXQUFBOztBQUVELFlBQWEsR0FBRTtFQUNkLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTs7QUFFRCxZQUFhLEdBQUUsS0FBTTtFQUlwQiw0QkFBQTtFQUNBLFdBQUE7O0FBRUQsWUFBYSxHQUFFLEtBQU0sR0FBRSxVQUFVO0VBQ2hDLGNBQUE7O0FBR0QsU0FBUyxZQUFhLEdBQUUsS0FBTSxHQUFFO0VBQy9CLGFBQUE7O0FBRUQsWUFBYTtFQUNaLGdDQUFBO0VBQ0Esb0JBQUE7RUFDQSxlQUFBOztBQUVELFlBQWEsYUFBYTtFQUN6QixnQ0FBQTs7QUFFRCxZQUFhLGFBQWEsRUFBQztFQUMxQixjQUFBOztBQUdEO0VBQ0MsZUFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSwrQkFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7RUFDQSx1RUFBQTs7QUFFRCxlQUFlO0VBQ2QsbUJBQUE7RUFDQSxVQUFBOztBQUVEO0VBQ0MsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBQ0EseUJBQUE7RUFDQSxvQkFBQTtFQUNBLFdBQVcsZ0JBQVg7RUFDQSxXQUFXLGlCQUFYO0VBQ0EsWUFBWSxpQkFBWjtFQUNBLGNBQUE7O0FBRUQsbUJBQW9CO0VBQ25CLHFCQUFBOztBQUVELGVBQWUsU0FBVTtFQUN4QixjQUFBO0VBQ0Esb0JBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7O0FBRUQsZUFBZSxTQUFVLGdCQUFnQjtFQUN4QyxZQUFZLGtCQUFaO0VBQ0EsY0FBQTtFQUNBLGNBQUE7O0FBRUQ7RUFDQyxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGVBQUE7O0FBRUQsZ0JBQWlCO0VBQ2hCLGdCQUFBO0VBQ0EsbUJBQUE7O0FBRUQ7RUFDQyxtQkFBQTs7QUFFRCxjQUFjO0VBQ2IsY0FBQTtFQUNBLFNBQVMsRUFBVDtFQUNBLFdBQUE7O0FBRUQsYUFBYTtFQUNaLGNBQUE7RUFDQSxTQUFTLEVBQVQ7RUFDQSxXQUFBOztBQUVELGNBQWU7RUFDWCxtQkFBQTs7QUFFSjtFQUNDLFdBQUE7RUFDQSxPQUFPLGdCQUFQOztBQUVEO0VBQ0MsWUFBQTtFQUNBLE9BQU8sZ0JBQVA7O0FBRUQ7RUFDQyxtQkFBQTs7QUFFRCxhQUFhO0VBQ1osZ0JBQUE7O0FBRUQsYUFBYztFQUNiLFNBQUE7O0FBRUQsYUFBYztFQUNiLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLGdDQUFBO0VBQ0EsaUJBQUE7O0FBRUQsbUJBQW9CLGNBQWM7RUFDakMscUJBQUE7O0FBRUQsYUFBYyx5QkFBd0I7RUFDckMsY0FBQTs7QUFFRCxhQUFjLE1BQUs7QUFDbkIsYUFBYyxTQUFRO0VBQ3JCLGFBQUE7O0FBRUQsYUFBYztFQUNiLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLGdDQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTs7QUFFRCxtQkFBb0IsY0FBYztFQUNqQyxxQkFBQTs7QUFFRDtFQUNDLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTs7QUFFRCx3QkFBd0I7RUFDdkIsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTs7QUFFRCxhQUFjLGVBQWU7RUFDekIsdUJBQUE7RUFDQSx5QkFBQTtFQUNBLDJCQUFBOztBQUVKLG1CQUFvQixjQUFjLGVBQWU7RUFDaEQscUJBQUE7O0FBRUQsYUFBYyxlQUFlO0VBQzVCLGVBQUE7RUFDQSxxQ0FBQTs7QUFFRCxhQUFjLGVBQWUsTUFBTSxRQUFPLFFBQVM7QUFDbkQsYUFBYyxlQUFlLE1BQUssTUFBTyxRQUFRO0VBQ2hELGNBQUE7O0FBRUQsbUJBQW9CLGNBQWMsZUFBZSxNQUFNLFFBQU8sUUFBUztBQUN2RSxtQkFBb0IsY0FBYyxlQUFlLE1BQUssTUFBTyxRQUFRO0VBQ3BFLGNBQUE7O0FBRUQ7RUFDQyxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBOztBQUVELGFBQWMseUJBQXdCO0VBQ3JDLGdCQUFBOztBQUVELGFBQWMsa0JBQWtCLGlCQUFpQixNQUFNLE1BQU07RUFDNUQsa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBOztBQUVELGFBQWMsa0JBQWtCLGlCQUFpQixNQUFNLE1BQU0sT0FBTTtFQUNsRSx5QkFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQWEsU0FBYjtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFFQUFBOztBQUVELG1CQUFvQixjQUFjLGtCQUFrQixpQkFBaUIsTUFBTSxNQUFNLE9BQU07RUFDdEYscUJBQUE7O0FBRUQsYUFBYyxrQkFBa0IsaUJBQWlCLE1BQU0sTUFBSyxRQUFTLE9BQU07RUFDMUUsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBUyxPQUFUOztBQUVELG1CQUFvQixjQUFjLGtCQUFrQixpQkFBaUIsTUFBTSxNQUFLLFFBQVMsT0FBTTtFQUM5Rix5QkFBQTs7QUFFRCxhQUFjLGtCQUFrQixpQkFBaUIsTUFBTSxNQUFNLE9BQU87RUFDbkUsZ0JBQUE7O0FBRUQ7RUFDQyxnQkFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsdUNBQUE7O0FBRUQsbUJBQW9CO0VBQ25CLG1CQUFBOztBQUVELGVBQWU7RUFDZCxtQkFBQTs7QUFFRCxtQkFBb0IsZ0JBQWU7RUFDbEMsbUJBQUE7O0FBRUQsZUFBZTtFQUNkLGNBQUE7RUFDQSxTQUFTLEVBQVQ7RUFDQSxpQ0FBQTtFQUNBLG1DQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBQTtFQUNBLDBDQUFBOztBQUVELG1CQUFvQixnQkFBZTtFQUNsQyw0QkFBQTs7QUFFRCxlQUFlLE1BQU07RUFDcEIsNEJBQUE7O0FBRUQsbUJBQW9CLGdCQUFlLE1BQU07RUFDeEMsNEJBQUE7O0FBRUQsZUFBZTtFQUNkLGNBQUE7RUFDQSxTQUFTLEVBQVQ7RUFDQSw4QkFBQTtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsU0FBQTtFQUNBLHVDQUFBOztBQUVELG1CQUFvQixnQkFBZTtFQUNsQyx5QkFBQTs7QUFFRCxlQUFlLE1BQU07RUFDcEIseUJBQUE7O0FBRUQsbUJBQW9CLGdCQUFlLE1BQU07RUFDeEMseUJBQUE7O0FBRUQsZUFBZ0I7RUFDZixZQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EseUJBQUE7RUFDQSxhQUFhLDJCQUFiO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTs7QUFFRCxlQUFnQixNQUFLO0VBQ3BCLFdBQUE7RUFDQSx1QkFBQTs7QUFFRCxHQUFHLE1BQU8sY0FBYTtBQUN2QixHQUFHLE1BQU8sY0FBYSxTQUFTO0VBQy9CLHVCQUFBO0VBQ0EsV0FBQTs7QUFFRCxJQUFLLElBQUcsTUFBTztFQUNkLGFBQUE7O0FBRUQsTUFBTyxLQUFJLFFBQVM7QUFDcEIsTUFBTyxLQUFJLFdBQVk7RUFDdEIseUJBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBOztBQUVELG1CQUFvQixPQUFPLEtBQUksUUFBUztBQUN4QyxtQkFBb0IsT0FBTyxLQUFJLFdBQVk7RUFDMUMscUJBQUE7O0FBR0QsWUFBYSxhQUFhLEVBQUM7RUFDMUIsa0JBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQVcsWUFBWDtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLDBDQUFBOztBQUVELG1CQUFvQixhQUFhLGFBQWEsRUFBQztFQUM5QyxtQkFBQTs7QUFFRCxZQUFhLGFBQWEsRUFBQyxRQUFRO0FBQ25DLFlBQWEsYUFBYSxFQUFDLFFBQVE7QUFDbkMsWUFBYSxhQUFhLEVBQUMsUUFBUTtFQUNsQyxXQUFBO0VBQ0EsbUJBQUE7O0FBRUQsbUJBQW9CLGFBQWEsYUFBYSxFQUFDLFFBQVE7QUFDdkQsbUJBQW9CLGFBQWEsYUFBYSxFQUFDLFFBQVE7QUFDdkQsbUJBQW9CLGFBQWEsYUFBYSxFQUFDLFFBQVE7RUFDdEQsbUJBQUE7O0FBRUQsWUFBYSxhQUFhLEVBQUMsUUFBUztFQUNoQyxXQUFXLFdBQVg7RUFDQSxxQkFBQTtFQUNBLGVBQUE7O0FBSUo7RUFDQyxnQkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7O0FBRUQ7RUFDQyxpQkFBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBOztBQUVEO0VBQ0Msa0JBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7O0FBRUQsaUJBQWlCO0VBQ2hCLE1BQUE7RUFDQSxVQUFBO0VBQ0EsNkRBQUE7O0FBRUQsWUFBWSxXQUFZLGtCQUFpQjtFQUN4QyxVQUFBO0VBQ0EsVUFBQTs7QUFFRCxpQkFBaUI7RUFDaEIsTUFBQTtFQUNBLFlBQUE7RUFDQSxrRUFBQTs7QUFFRCxZQUFZLFdBQVksa0JBQWlCO0VBQ3hDLFVBQUE7RUFDQSxVQUFBO0VBQ0EsVUFBQTs7QUFFRCxpQkFBa0I7RUFDakIsVUFBQTtFQUNBLHVDQUFBO0VBQ0EsVUFBQTtFQUNBLGtCQUFBOztBQUVELGlCQUFpQixNQUFPO0VBQ3ZCLFVBQUE7O0FBRUQ7RUFDQyxrQkFBQTtFQUNBLFdBQUE7RUFDQSxNQUFBO0VBQ0EsVUFBQTs7QUFFRCxpQkFBa0I7RUFDakIsY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFVBQUE7O0FBR0Q7RUFDQyxXQUFXLFlBQVg7RUFDQSxnQkFBQTs7QUFFRCxLQUFLO0VBQ0osV0FBQTtFQUNBLGFBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBVyxXQUFYOztBQUdEO0VBQ0MsYUFBQTs7QUFHRDtFQUNDLGtCQUFBO0VBQ0EsVUFBQTs7QUFHRDtFQUNDLGtCQUFBOztBQUtELGdCQUNDO0VBQ0MsV0FBQTs7QUFJRixDQUFDLHNCQUFzQixnQ0FBZ0MsZUFBZTtFQUNsRSxtQkFBQTs7QUFFSCxDQUhBLHNCQUFzQixnQ0FBZ0MsZUFBZSxrQkFHcEU7RUFDQSxtQkFBQTtFQUNBLFdBQUE7O0FBSUYsQ0FBQyxzQkFBc0IsK0JBQStCLGVBQWU7RUFDcEUsbUJBQUE7O0FBRUEsQ0FIQSxzQkFBc0IsK0JBQStCLGVBQWUsa0JBR25FO0VBQ0EsbUJBQUE7O0FBTUY7RUFDQyxjQUFBOztBQUdEO0VBQ0MsY0FBQTs7QUFJRCxnQkFBZ0I7RUFDZixzQkFBQTtFQUNBLGNBQUE7O0FBRkQsZ0JBQWdCLHdCQUtmO0VBQ0MsV0FBVyw2Q0FBWDtFQUNBLFdBQUE7RUFDQSxxRUFBQTs7QUFFQSxnQkFWYyx3QkFLZixFQUtFO0VBQ0EsV0FBQTs7QUFYSCxnQkFBZ0Isd0JBZWYsRUFBQztFQUNBLHNCQUFBOztBQUVBLGdCQWxCYyx3QkFlZixFQUFDLCtCQUdDO0VBQ0EseUJBQUE7O0FBbkJILGdCQUFnQix3QkF1QmYsRUFBQztFQUNBLHNCQUFBOztBQUVBLGdCQTFCYyx3QkF1QmYsRUFBQyxnQ0FHQztFQUNBLHlCQUFBOztBQU1ILElBQUssdUJBQXNCLDhCQUE4QjtFQUN4RCxZQUFBOztBQUdELElBQUssdUJBQXNCLDhCQUErQiw4QkFBOEI7RUFDdkYsaUJBQUE7O0FBR0QsbUJBQW9DO0VBQ25DLElBQUksS0FBTSxnQkFBZSxXQUFZO0lBQ3BDLGFBQUE7O0VBRUQsSUFBSSxLQUFNO0lBQ1QsYUFBQTtJQUNBLGFBQUE7OztBQUdGLG1CQUFvQztFQUVuQztJQUNDLFdBQUE7SUFDQSxZQUFBO0lBQ0EsV0FBVyw0Q0FBWDs7RUFFRCxlQUFnQjtJQUNmLGtCQUFBOztFQUdEO0lBQ0MsWUFBQTs7RUFFRDtJQUNDLE9BQU8saUJBQVA7O0VBRUQ7SUFDQyxrQkFBQTtJQUNBLG1CQUFBOztFQUdELGVBQWUsV0FBWSxnQkFBZTtJQUN6QyxXQUFBOztFQUVELGVBQWUsV0FBWSxnQkFBZTtJQUN6QyxZQUFBOztFQUVELGVBQWUsV0FBWSxnQkFBZ0I7SUFDMUMsa0JBQUE7SUFDQSxVQUFBOztFQUVELGVBQWUsV0FBWSxnQkFBZSxZQUFhO0lBQ3RELFVBQUE7O0VBRUQsZUFBZSxXQUFZLGdCQUFlLFdBQVk7SUFDckQsV0FBQTs7RUFHRCxrQkFBbUI7SUFDbEIsaUJBQUE7O0VBRUQ7RUFDQSwwQkFBMEI7SUFDekIsWUFBQTtJQUNBLGNBQWMsZ0JBQWQ7O0VBRUQsMEJBQTBCLFVBQVU7SUFDbkMsV0FBQTtJQUNBLG9CQUFBO0lBQ0EsV0FBQTs7RUFHRCxZQUFhO0VBQ2IsWUFBYTtJQUNaLGtCQUFBO0lBQ0EsbUJBQUE7O0VBR0Q7SUFDQyxpQkFBQTtJQUNBLG9CQUFBOztFQUVELGVBQWdCO0VBQ2hCLGVBQWdCLG9CQUFvQjtJQUNuQyxXQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBO0lBQ0EsZ0JBQUE7SUFDQSxpQkFBQTs7RUFFRCxlQUFnQixvQkFBb0IscUJBQW9CO0lBQ3ZELGNBQUE7SUFDQSxTQUFTLEVBQVQ7SUFDQSxXQUFBOztFQUVELGVBQWdCLG9CQUFvQixHQUFFO0lBQ3JDLE9BQU8seUJBQVA7SUFDQSxXQUFBO0lBQ0Esa0JBQUE7O0VBR0QsaUJBQWlCO0lBQ2hCLGFBQUE7O0VBR0QsaUJBQWlCLGtCQUFtQixPQUFNO0lBQ3pDLGdCQUFBOztFQUdELGVBQWdCLG9CQUFvQixHQUFFLG9CQUFvQixVQUFVO0VBQ3BFLGVBQWdCLG9CQUFvQixHQUFFLG9CQUFvQixVQUFVO0VBQ3BFLGVBQWdCLG9CQUFvQixHQUFFLG9CQUFvQixVQUFVO0VBQ3BFLGVBQWdCLG9CQUFvQixHQUFFLG9CQUFvQixVQUFVO0lBQ25FLE9BQUE7O0VBR0Q7SUFDQyxhQUFBO0lBQ0EsWUFBQTtJQUNBLGVBQUE7O0VBRUQsZUFBZ0I7SUFDZixtQkFBQTs7RUFHRDtJQUNDLFdBQVcsT0FBWDs7RUFFRCxLQUFLO0lBQ0osV0FBQTtJQUNBLFVBQUE7SUFDQSxXQUFXLE9BQVg7O0VBR0Q7SUFDQyxrQkFBQTs7RUFFRDtJQUNDLGdCQUFBO0lBQ0EscUJBQUE7O0VBRUQ7SUFDQyxZQUFBOztFQUVEO0lBQ0MsZ0JBQUE7O0VBR0Q7SUFDQyxnQkFBQTtJQUNBLHFCQUFBO0lBQ0EsWUFBQTs7RUFFRCxZQUFZLFdBQVksa0JBQWlCO0lBQ3hDLFNBQUE7SUFDQSxTQUFBOztFQUVELFlBQVksV0FBWSxrQkFBaUI7SUFDeEMsU0FBQTtJQUNBLFFBQUE7O0VBR0QsZUFBZSxvQkFBa0I7SUFDaEMsYUFBQTtJQUNBLFlBQUE7SUFDQSxlQUFBO0lBQ0EsVUFBQTtJQUNBLFdBQUE7SUFDQSxjQUFBOzs7QUFLRixtQkFBb0M7RUFFbkM7SUFDQyxjQUFBOztFQUdEO0lBQ0MsZUFBQTtJQUNBLFdBQUE7SUFDQSxXQUFBO0lBQ0EsOEJBQUE7SUFDQSxvQkFBQTtJQUNBLG9DQUFBOztFQUVELGdCQUFnQjtJQUNmLE9BQUE7O0VBRUQsZ0JBQWlCO0lBQ2hCLFdBQUE7SUFDQSxjQUFBO0lBQ0Esa0JBQUE7SUFDQSxvQkFBQTs7RUFFRCxnQkFBaUIsR0FBRTtJQUNsQixjQUFBOztFQUVELGdCQUFpQixHQUFHO0lBQ25CLGtCQUFBO0lBQ0EsV0FBQTtJQUNBLG1CQUFBO0lBQ0EsY0FBQTtJQUNBLFVBQUE7SUFDQSxnQkFBQTtJQUNBLGlCQUFBO0lBQ0EsTUFBQTtJQUNBLE9BQUE7O0VBRUQsZ0JBQWlCLEdBQUcsR0FBRztJQUN0QixnQkFBQTtJQUNBLG1CQUFBOztFQUVELGdCQUFpQixHQUFHLEdBQUcsR0FBRTtJQUN4QixnQkFBQTs7RUFFRCxnQkFBaUIsR0FBRTtFQUNuQixnQkFBaUIsR0FBRyxHQUFHLEVBQUM7SUFDdkIsYUFBQTs7RUFFRCxnQkFBaUIsR0FBRSxNQUFPO0lBQ3pCLGdCQUFBO0lBQ0EsK0JBQUE7O0VBR0QsZ0JBQWlCLEdBQUU7SUFDbEIsaUJBQUE7O0VBRUQsZ0JBQWlCLEdBQUUsYUFBYztJQUNoQyxhQUFBOztFQUVELGdCQUFpQixHQUFHO0lBQ25CLGNBQUE7O0VBSUQ7SUFDQyxjQUFBO0lBQ0Esa0JBQUE7SUFDQSxZQUFBO0lBQ0EsV0FBQTtJQUNBLFNBQUE7SUFDQSxRQUFBO0lBQ0EsZUFBQTs7RUFFRCxXQUFZO0VBQ1osV0FBWTtJQUNYLFdBQUE7SUFDQSxrQkFBQTtJQUNBLGtFQUFBOztFQUVELFdBQVk7SUFDWCxtQkFBQTtJQUNBLFNBQUE7SUFDQSxXQUFBO0lBQ0EsT0FBQTtJQUNBLFFBQUE7SUFDQSxjQUFBOztFQUVELFdBQVk7SUFDWCxtQkFBQTtJQUNBLFNBQUE7SUFDQSxPQUFBO0lBQ0EsUUFBQTtJQUNBLGNBQUE7SUFDQSxXQUFBOztFQUVELGdCQUFnQixPQUFRLGNBQWM7SUFDckMsUUFBQTtJQUNBLFdBQVcsYUFBWDs7RUFFRCxnQkFBZ0IsT0FBUSxjQUFjO0lBQ3JDLFFBQUE7SUFDQSxXQUFXLGNBQVg7O0VBSUQ7SUFDQyxPQUFPLGlCQUFQO0lBQ0EsZUFBQTs7RUFHRDtFQUNBO0lBQ0MsV0FBQTtJQUNBLFdBQUE7O0VBSUQ7SUFDQyxtQkFBQTtJQUNBLGdCQUFBOztFQUVEO0lBQ0MsbUJBQUE7O0VBRUQsa0JBQWtCO0lBQ2pCLGVBQUE7O0VBRUQsa0JBQWtCLFFBQVM7SUFDMUIsa0JBQUE7O0VBRUQsa0JBQWtCLFFBQVM7SUFDMUIsa0JBQUE7SUFDQSxrQkFBQTs7RUFFRCxrQkFBa0IsUUFBUztJQUMxQixrQkFBQTs7RUFFRCxrQkFBbUIsd0JBQXdCO0lBQzFDLG1CQUFBOzs7QUFJRixtQkFBbUM7RUFFbEM7SUFDQyxhQUFBOztFQUVELElBQUs7SUFDSixjQUFBOztFQUVELElBQUssa0JBQWtCO0lBQ3RCLG1CQUFBOztFQUVELElBQUssa0JBQWtCLGlCQUFnQixVQUFVO0lBQ2hELGdCQUFBOztFQUVELGdCQUFnQixVQUFVO0lBQ3pCLGNBQUE7O0VBRUQ7SUFDQyxpQkFBQTtJQUNBLG9CQUFBOztFQUVEO0lBQ0MsZ0JBQUE7O0VBR0Q7RUFDQTtJQUNDLGdCQUFBO0lBQ0EsbUJBQUE7O0VBR0QsZUFBZTtFQUNmLGVBQWUsTUFBTTtJQUNwQixnQkFBQTs7RUFHRCxJQUFJLEtBQU0sZ0JBQWUsV0FBWTtFQUNyQyxlQUFlLFdBQVk7SUFDMUIsWUFBQTtJQUNBLGlCQUFBOztFQUVELGVBQWUsV0FBWSxnQkFBZTtFQUMxQyxlQUFlLFdBQVksZ0JBQWU7SUFDekMsT0FBTyxpQkFBUDtJQUNBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFdBQUE7SUFDQSxlQUFBOztFQUVELGVBQWUsV0FBWSxnQkFBZ0I7SUFDMUMsa0JBQUE7SUFDQSxXQUFBOztFQUVELGVBQWUsV0FBWSxnQkFBZSxZQUFhO0VBQ3ZELGVBQWUsV0FBWSxnQkFBZSxXQUFZO0lBQ3JELFVBQUE7SUFDQSxXQUFBOztFQUVELGVBQWUsV0FBWSxnQkFBZ0I7SUFDMUMsZ0JBQUE7O0VBR0Q7RUFDQSwwQkFBMEI7SUFDekIsa0JBQUE7O0VBRUQsMEJBQTBCLFVBQVU7SUFDbkMsaUJBQUE7O0VBRUQsWUFBYSxhQUFhO0VBQzFCLFlBQWEsYUFBYSxRQUFPO0lBQ2hDLFdBQUE7SUFDQSxXQUFBOztFQUVELFlBQWEsYUFBYTtJQUN6QixvQkFBQTs7RUFHRDtJQUNDLG1CQUFBO0lBQ0EsZUFBQTtJQUNBLGVBQUE7SUFDQSxpQkFBQTs7RUFHRDtJQUNDLG9CQUFBOzs7QUFHRixtQkFBbUM7RUFFbEM7SUFDQyxZQUFBOztFQUVEO0lBQ0Msa0JBQUE7O0VBR0Q7SUFDQyxZQUFBO0lBQ0EsZUFBQTtJQUNBLFdBQUE7SUFDQSx5QkFBQTs7RUFHRDtJQUNDLGVBQUE7O0VBRUQ7RUFDQSwwQkFBMEI7SUFDekIsT0FBTyxnQkFBUDs7RUFFRDtJQUNDLFdBQVcsT0FBWDtJQUNBLGNBQUE7SUFDQSxXQUFBO0lBQ0EsbUJBQUE7O0VBRUQ7SUFDQyxXQUFXLE9BQVg7SUFDQSxXQUFBO0lBQ0EsY0FBQTs7RUFFRCxzQ0FBdUM7SUFDdEMsa0JBQUE7O0VBRUQsMEJBQTJCO0lBQzFCLGdCQUFBOztFQUVELGtCQUFtQjtFQUNuQiwwQkFBMEIsVUFBVTtFQUNwQywwQkFBMEI7SUFDekIsZ0JBQUE7O0VBR0QsZUFBZ0I7RUFDaEIsZUFBZ0Isb0JBQW9CO0lBQ25DLGNBQUE7O0VBRUQsZUFBZ0Isb0JBQW9CLEdBQUU7SUFDckMsV0FBVyxPQUFYO0lBQ0Esa0JBQUE7O0VBR0QsZUFBZ0Isb0JBQW9CLEdBQUUsb0JBQW9CO0lBQ3pELGVBQUE7O0VBRUQsZUFBZ0Isb0JBQW9CLEdBQUUsb0JBQXFCO0lBQzFELFdBQVcsT0FBWDtJQUNBLFdBQUE7SUFDQSxjQUFBOztFQUdEO0lBQ0MsYUFBQTs7RUFHRDtJQUNDLGdCQUFBOztFQUdELFlBQWE7RUFDYixZQUFhO0lBQ1osaUJBQUE7SUFDQSxvQkFBQTs7RUFFRCxZQUFhLGFBQWEsUUFBTztJQUNoQyxtQkFBQTs7RUFFRCxZQUFhLGFBQWEsUUFBUTtJQUNqQyxhQUFBOztFQUdELFNBQVU7SUFDVCxjQUFBOztFQUlEO0lBQ0MsWUFBQTs7RUFFRDtJQUNDLGtCQUFBO0lBQ0EsWUFBQTtJQUNBLGtCQUFBO0lBQ0EsZ0JBQUE7O0VBRUQ7SUFDQyxXQUFBOztFQUVEO0lBQ0MsV0FBQTtJQUNBLGdCQUFBOzs7QUFJRixtQkFBbUM7RUFFbEM7RUFDQTtJQUNDLGdCQUFBO0lBQ0EsZUFBQTtJQUNBLGVBQUE7SUFDQSxtQkFBQTs7RUFHRDtJQUNDLGFBQUE7SUFDQSxrQkFBQTs7RUFFRCw0QkFBNkI7SUFDNUIsYUFBQTs7RUFFRCxPQUFRO0lBQ1AsbUJBQUE7SUFDQSxlQUFBO0lBQ0EsaUJBQUE7O0VBR0QsZUFBZ0Isb0JBQW9CLEdBQUU7SUFDckMsT0FBTyx1QkFBUDtJQUNBLG1CQUFBOztFQUVELGVBQWdCLG9CQUFvQixHQUFFLG9CQUFvQixVQUFVO0lBQ25FLGVBQUE7O0VBR0Q7RUFDQSwwQkFBMEI7SUFDekIsV0FBQTs7O0FBS0YsbUJBQW9DO0VBRW5DO0lBQ0MsWUFBQTs7RUFFRDtJQUNDLGtCQUFBO0lBQ0EsWUFBQTtJQUNBLGtCQUFBO0lBQ0EsZ0JBQUE7O0VBRUQ7SUFDQyxXQUFBOztFQUVEO0lBQ0MsV0FBQTtJQUNBLGdCQUFBIn0= */