@charset "UTF-8";
/**
 * Settings.
 */
/**
 * Settings.
 */
/**
 * Font family map.
 */
/**
 * Font size map.
 */
/**
 * Line height map.
 */
/**
 * Color Map (https://convertacolor.com/).
 */
/**
 * Colors Variables.
 */
/**
 * Grid.
 */
/**
 * Assets.
 */
/**
 * Body.
 */
/**
 * Other.
 */
*::selection {
  background-color: #252226;
  color: white; }

/**
 * Responsive.
 */
/**
 * Vendor.
 */
/*! normalize.css v8.0.1 | 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; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * 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: bolder; }

/**
 * 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; }

/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    touch-action: manipulation;
    -moz-backface-visibility: hidden;
    /* fix firefox animation glitch */ }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-wrapper,
  .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel button.owl-dot {
    background: none;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  animation-name: fadeOut; }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
			This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
			calculation of the height of the owl-item that breaks page layouts
		 */ }
  .owl-carousel .owl-item .owl-lazy {
    opacity: 0;
    transition: opacity 400ms ease; }
  .owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
    max-height: 0; }
  .owl-carousel .owl-item img.owl-lazy {
    transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/**
 * Tools.
 */
/**
 * Tools.
 */
/**
 * Unicode.
 *
 * Preserve escaped unicode string.
 * @param {String} $string - An unicode string.
 * @return {String} A preserved escaped unicode string
 */
/**
 * REM.
 *
 * Convert pixel units to REM units.
 * @param {Number} $pixels - Pixel value.
 * @return {*} - A converted `rem` unit.
 */
/**
 * Column.
 *
 * Calculate given column width.
 * @param {Number} $column - The amount of columns to span.
 * @param {Number} $columns - The amount of columns that can be spanned.
 * @return {String} - Percentage value.
 */
/**
 * Color.
 *
 * Get a color value from two levels deep in the `$color` map.
 * @param {$string} $key - Key of the color to get from the map.
 * @param {Number} $value - Value of the key to get from the map.
 * @return {*} A HSLA color value.
 */
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #CCC; }

.mfp-preloader a:hover {
  color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1; }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1; }

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px; }

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px; }

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
			 * Remove all paddings around the image on small screen
			 */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/**
 * Container
 * 
 * Center aligns element with given maximum width, padding, and margins top and bottom.
 * @param {String} $width - Pixel unit value.
 * @param {String} $gap - Pixel unit value.
 * @example @include container(1024px, 20px);
 */
/**
 * Section
 *
 * Add top and bottom spacing to element using paddings.
 * @param {String} $top - Pixel unit value.
 * @param {String} $bottom - Pixel unit value.
 * @example @include section(100px, 100px);
 */
/**
 * Font.
 *
 * Adds `rem` unit based font size property, a fallback `px` unit based font size property, and a `em` unit based line height property to any rule.
 * @param {String} $font-size - Pixel unit value.
 * @param {String} $line-height - Pixel unit value.
 * @example @include font-size(16px, 24px);
 */
/**
 * Text.
 *
 * Shorthand for the font mixin, runs the font mixin based on a common demeanour existing both in the `$font-size` and the `$line-height` maps.
 * @param {string} $value - String
 * @example @include text('p');
 */
/**
 * Font Awesome.
 *
 * Add Font Awesome icons as psuedo elements by using their unicode.
 * @param {String} $content - Unicode string.
 * @param {String} $family - Font Awesome font family string.
 * @example @include fontawesome('f100', 'Light');
 */
/**
 * Media.
 *
 * Media queries according to "The 100% Correct Way To Do CSS Breakpoints" (https://medium.freecodecamp.com/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862).
 * @param {String} $breakpoint - Breakpoint pixel unit value.
 * @example @include media('phone') {}
 */
/**
 * Elements.
 */
/**
 * General.
 */
/**
 * Remove margin and padding from every selector including their
 * psuedo selectors.
 *
 * 1. More sensible default box sizing.
 *    (css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice).
 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
  /* 1 */ }

/**
 * Set height of the document to maxium viewport height.
 *
 * 1. Set root font size to 10.
 */
html {
  height: 100vh;
  font-size: 62.5%;
  /* 1 */
  box-sizing: border-box; }

/**
 * Set minimal height of the body to maximum viewport height to
 * match the document's height.
 *
 * 1. Firefox 25+.
 * 2. Chrome 5+.
 */
body {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  min-height: 100vh;
  background-color: white;
  color: #252226;
  font-family: "Open Sans";
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */ }

/**
 * Custom user agent resets and overrides that are not present in
 * Normalize 8.0.0. This mostly removes some annoying margin and padding
 * defaults, border radius, and outlines.
 */
a {
  color: inherit;
  text-decoration: none; }

/**
 * 1. Remove border radius on Chrome 62.0+ on macOS.
 */
button {
  border: 0;
  border-radius: 0;
  /* 1 */
  outline: none;
  background: none;
  cursor: pointer; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

figure {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit; }

hr {
  margin: 0;
  padding: 0; }

/**
 * 1. Remove white space.
 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  /* 1 */ }

/**
 * 1. Remove inherited user agent appearance.
 */
input,
select,
textarea {
  max-width: 100%;
  border: 0;
  border-radius: 0;
  outline: none;
  appearance: none;
  /* 1 */ }

/**
 * 1. Only allow vertical resizing to prevent the textarea
 *    from overflowing the container.
 */
textarea {
  resize: vertical; }

ul,
ol {
  margin: 0;
  padding: 0;
  list-style-type: none; }

p {
  margin: 0; }

/**
 * 1. Collapse borders to prevent double sided borders.
 */
table {
  max-width: 100%;
  border-collapse: collapse;
  /* 1 */ }

strong {
  font-weight: 700; }

/**
 * Objects.
 */

.button {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 9px;
  border-radius: 2px;
  text-decoration: none;
  transition: all 250ms ease;
  cursor: pointer;
  font-weight: 700; }
  
  .button svg {
    width: 16px;
    height: 22px; }
  
  .button.has-svg-right svg {
    margin-left: 20px; }
  
  .button.has-svg-left svg {
    margin-right: 20px; }

/**
 * Button (default).
 */

.button--default {
  background-color: #bd0032;
  color: white; }
  
  .button--default:hover {
    background-color: rgba(189, 0, 50, 0.7);
    color: white; }

/**
 * Link (default).
 */
.link {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.22222em;
  position: relative;
  display: flex;
  align-items: center;
  text-transform: uppercase;
  font-weight: 600;
  padding-right: 45px; }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .link {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.28571em; } }
  .link.has-svg-right::after {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid rgba(37, 34, 38, 0.5);
    position: absolute;
    content: '';
    right: -17px; }
  .link.has-svg-right:hover svg {
    right: -5px; }
  .link.has-svg-right svg {
    margin-left: 30px; }
  .link svg {
    width: 16px;
    height: 22px;
    transition: all 300ms ease;
    position: absolute;
    right: 0; }

/**
 * Every conceivable HTML element within a `.cms-output` wrapper.
 *
 * 1. Exclude last childs.
 */
.cms-output p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.375em; }
  .cms-output p:not(:last-child) {
    margin-bottom: 2em; }

.cms-output h2,
.cms-output h3,
.cms-output h4 {
  margin-bottom: 40px; }

.cms-output h5 {
  margin-bottom: 30px; }

.cms-output .is-intro {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.41667em;
  font-weight: 600; }
  @media only screen and (max-width: 899px) {
    .cms-output .is-intro {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.375em;
      font-weight: 700; } }

@media only screen and (min-width: 1200px) {
  .cms-output img {
    max-width: calc(100% + 148px);
    height: auto;
    vertical-align: middle;
    margin-left: -50px; } }

.cms-output img.aligncenter {
  display: block;
  margin: 0 auto; }

.cms-output img.alignright {
  display: block;
  margin: 0 0 0 auto; }

.cms-output table {
  word-break: break-word; }
  .cms-output table td {
    vertical-align: top; }

.cms-output ul,
.cms-output ol {
  list-style-type: disc;
  margin-left: 20px;
  margin-bottom: 1em;
  font-weight: 700; }

.cms-output ul li {
  display: flex;
  margin-bottom: 15px;
  position: relative;
  margin-left: 15px; }
  .cms-output ul li::before {
    margin-top: 4px;
    height: 10px;
    left: -30px;
    width: 10px;
    position: absolute;
    color: #bd0032;
    background-color: rgba(189, 0, 50, 0.2);
    border-radius: 50%;
    content: ''; }
  .cms-output ul li::marker {
    display: none; }

.cms-output ol {
  list-style-type: decimal; }

.cms-output strong {
  font-weight: bold; }

.cms-output a {
  text-decoration: none;
  color: #bd0032;
  transition: all 250ms ease;
  font-weight: 700; }
  .cms-output a:hover {
    color: rgba(189, 0, 50, 0.2); }

.cms-output blockquote {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4375em;
  font-style: italic;
  margin: 50px auto;
  padding: 20px 70px;
  position: relative;
  text-align: center; }
  .cms-output blockquote::before {
    font-size: 100px;
    font-size: 10rem;
    line-height: 0.2em;
    font-style: normal;
    content: "‘’";
    color: #252226;
    position: absolute;
    font-family: 'Rufina';
    left: 10px;
    top: 36px; }
  .cms-output blockquote::after {
    font-size: 100px;
    font-size: 10rem;
    line-height: 0.2em;
    font-style: normal;
    content: "‘’";
    color: #252226;
    font-family: 'Rufina';
    position: absolute;
    right: 10px;
    bottom: -27px; }

.cms-output .wp-caption {
  margin-bottom: 20px; }
  .cms-output .wp-caption img {
    border-radius: 10px; }
  .cms-output .wp-caption .wp-caption-text {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.25em;
    color: #bd0032;
    letter-spacing: 0.44px;
    margin-top: 10px; }

/**
 * The container object centers an element in the document.
 */
.container {
  max-width: calc(1024px + 40px);
  padding: 0 20px;
  width: 100%;
  margin: 0 auto; }

/**
 * The content constraint is a constraint for all the content within
 * the document. It can be manipulated by CSS or JavaScript without
 * influencing the body.
 */
.content-constraint {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  margin-top: 90px; }
  @media only screen and (max-width: 899px) {
    .content-constraint {
      margin-top: 50px; } }

/**
 * Example of a flex based column grid layout in practice:
 *
 * <div class="row">
 *   <div class="col col-xs-6 col-sm-12"></div>
 *   <div class="col col-xs-6 col-sm-12"></div>
 * </div>
 *
 * This example will create a row with two columns each filling half the width
 * of the row on all media, but will convert to a full width column on the
 * small `-sm` breakpoint alias, which is mobile only. Refer to
 * `settings/_definitions.scss` for all breakpoint alias.
 */
/**
 * Flex object.
 *
 * Tip: Use flex on a column to make the box the same height as the column.
 */
.flex {
  display: flex; }

.flex-wrap {
  flex-wrap: wrap; }

/**
 * Flex object with a column based layout system.
 */
.row {
  display: flex;
  flex: 0 1 auto;
  flex-flow: row wrap;
  margin: 0 -10px; }

/**
 * Box, the inside of a column.
 */
.box {
  flex: 1; }

/**
			 * Column 1 for the `xs` breakpoint.
			 */
.col-xs-1 {
  flex: 0 1 auto;
  width: 8.33333%;
  padding: 0 10px; }

/**
				 * Offset 1 for the `xs` breakpoint.
				 */
.offset-xs-1 {
  margin-left: 8.33333%; }

/**
			 * Column 2 for the `xs` breakpoint.
			 */
.col-xs-2 {
  flex: 0 1 auto;
  width: 16.66667%;
  padding: 0 10px; }

/**
				 * Offset 2 for the `xs` breakpoint.
				 */
.offset-xs-2 {
  margin-left: 16.66667%; }

/**
			 * Column 3 for the `xs` breakpoint.
			 */
.col-xs-3 {
  flex: 0 1 auto;
  width: 25%;
  padding: 0 10px; }

/**
				 * Offset 3 for the `xs` breakpoint.
				 */
.offset-xs-3 {
  margin-left: 25%; }

/**
			 * Column 4 for the `xs` breakpoint.
			 */
.col-xs-4 {
  flex: 0 1 auto;
  width: 33.33333%;
  padding: 0 10px; }

/**
				 * Offset 4 for the `xs` breakpoint.
				 */
.offset-xs-4 {
  margin-left: 33.33333%; }

/**
			 * Column 5 for the `xs` breakpoint.
			 */
.col-xs-5 {
  flex: 0 1 auto;
  width: 41.66667%;
  padding: 0 10px; }

/**
				 * Offset 5 for the `xs` breakpoint.
				 */
.offset-xs-5 {
  margin-left: 41.66667%; }

/**
			 * Column 6 for the `xs` breakpoint.
			 */
.col-xs-6 {
  flex: 0 1 auto;
  width: 50%;
  padding: 0 10px; }

/**
				 * Offset 6 for the `xs` breakpoint.
				 */
.offset-xs-6 {
  margin-left: 50%; }

/**
			 * Column 7 for the `xs` breakpoint.
			 */
.col-xs-7 {
  flex: 0 1 auto;
  width: 58.33333%;
  padding: 0 10px; }

/**
				 * Offset 7 for the `xs` breakpoint.
				 */
.offset-xs-7 {
  margin-left: 58.33333%; }

/**
			 * Column 8 for the `xs` breakpoint.
			 */
.col-xs-8 {
  flex: 0 1 auto;
  width: 66.66667%;
  padding: 0 10px; }

/**
				 * Offset 8 for the `xs` breakpoint.
				 */
.offset-xs-8 {
  margin-left: 66.66667%; }

/**
			 * Column 9 for the `xs` breakpoint.
			 */
.col-xs-9 {
  flex: 0 1 auto;
  width: 75%;
  padding: 0 10px; }

/**
				 * Offset 9 for the `xs` breakpoint.
				 */
.offset-xs-9 {
  margin-left: 75%; }

/**
			 * Column 10 for the `xs` breakpoint.
			 */
.col-xs-10 {
  flex: 0 1 auto;
  width: 83.33333%;
  padding: 0 10px; }

/**
				 * Offset 10 for the `xs` breakpoint.
				 */
.offset-xs-10 {
  margin-left: 83.33333%; }

/**
			 * Column 11 for the `xs` breakpoint.
			 */
.col-xs-11 {
  flex: 0 1 auto;
  width: 91.66667%;
  padding: 0 10px; }

/**
				 * Offset 11 for the `xs` breakpoint.
				 */
.offset-xs-11 {
  margin-left: 91.66667%; }

/**
			 * Column 12 for the `xs` breakpoint.
			 */
.col-xs-12 {
  flex: 0 1 auto;
  width: 100%;
  padding: 0 10px; }

/**
			 * Align `stretch` for the xs breakpoint.
			 */
.align-xs-stretch {
  align-items: stretch; }

/**
			 * Align `center` for the xs breakpoint.
			 */
.align-xs-center {
  align-items: center; }

/**
			 * Align `flex-start` for the xs breakpoint.
			 */
.align-xs-flex-start {
  align-items: flex-start; }

/**
			 * Align `flex-end` for the xs breakpoint.
			 */
.align-xs-flex-end {
  align-items: flex-end; }

/**
			 * Align `baseline` for the xs breakpoint.
			 */
.align-xs-baseline {
  align-items: baseline; }

/**
			 * Justify `start` for the xs breakpoint.
			 */
.justify-xs-start {
  justify-content: start; }

/**
			 * Justify `center` for the xs breakpoint.
			 */
.justify-xs-center {
  justify-content: center; }

/**
			 * Justify `space-between` for the xs breakpoint.
			 */
.justify-xs-space-between {
  justify-content: space-between; }

/**
			 * Justify `space-around` for the xs breakpoint.
			 */
.justify-xs-space-around {
  justify-content: space-around; }

/**
			 * Justify `space-evenly` for the xs breakpoint.
			 */
.justify-xs-space-evenly {
  justify-content: space-evenly; }

/**
			 * Bleed left for the xs breakpoint.
			 */
.bleed-xs-left {
  padding-left: 0; }

/**
			 * Bleed right for the xs breakpoint.
			 */
.bleed-xs-right {
  padding-right: 0; }

/**
		 * Order first for the `xs` breakpoint.
		 */
.first-xs {
  order: -1; }

/**
		 * Order last for the `xs` breakpoint.
		 */
.last-xs {
  order: 1; }

/**
		 * Reverse order for the `xs` breakpoint.
		 */
.reverse-xs {
  flex-direction: row-reverse; }

@media only screen and (max-width: 599px) {
  /**
			 * Column 1 for the `sm` breakpoint.
			 */
  .col-sm-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `sm` breakpoint.
				 */
  .offset-sm-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `sm` breakpoint.
			 */
  .col-sm-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `sm` breakpoint.
				 */
  .offset-sm-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `sm` breakpoint.
			 */
  .col-sm-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `sm` breakpoint.
				 */
  .offset-sm-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `sm` breakpoint.
			 */
  .col-sm-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `sm` breakpoint.
				 */
  .offset-sm-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `sm` breakpoint.
			 */
  .col-sm-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `sm` breakpoint.
				 */
  .offset-sm-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `sm` breakpoint.
			 */
  .col-sm-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `sm` breakpoint.
				 */
  .offset-sm-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `sm` breakpoint.
			 */
  .col-sm-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `sm` breakpoint.
				 */
  .offset-sm-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `sm` breakpoint.
			 */
  .col-sm-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `sm` breakpoint.
				 */
  .offset-sm-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `sm` breakpoint.
			 */
  .col-sm-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `sm` breakpoint.
				 */
  .offset-sm-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `sm` breakpoint.
			 */
  .col-sm-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `sm` breakpoint.
				 */
  .offset-sm-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `sm` breakpoint.
			 */
  .col-sm-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `sm` breakpoint.
				 */
  .offset-sm-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `sm` breakpoint.
			 */
  .col-sm-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the sm breakpoint.
			 */
  .align-sm-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the sm breakpoint.
			 */
  .align-sm-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the sm breakpoint.
			 */
  .align-sm-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the sm breakpoint.
			 */
  .align-sm-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the sm breakpoint.
			 */
  .align-sm-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the sm breakpoint.
			 */
  .justify-sm-start {
    justify-content: start; }
  /**
			 * Justify `center` for the sm breakpoint.
			 */
  .justify-sm-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the sm breakpoint.
			 */
  .justify-sm-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the sm breakpoint.
			 */
  .justify-sm-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the sm breakpoint.
			 */
  .justify-sm-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the sm breakpoint.
			 */
  .bleed-sm-left {
    padding-left: 0; }
  /**
			 * Bleed right for the sm breakpoint.
			 */
  .bleed-sm-right {
    padding-right: 0; }
  /**
		 * Order first for the `sm` breakpoint.
		 */
  .first-sm {
    order: -1; }
  /**
		 * Order last for the `sm` breakpoint.
		 */
  .last-sm {
    order: 1; }
  /**
		 * Reverse order for the `sm` breakpoint.
		 */
  .reverse-sm {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 600px) {
  /**
			 * Column 1 for the `md` breakpoint.
			 */
  .col-md-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `md` breakpoint.
				 */
  .offset-md-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `md` breakpoint.
			 */
  .col-md-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `md` breakpoint.
				 */
  .offset-md-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `md` breakpoint.
			 */
  .col-md-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `md` breakpoint.
				 */
  .offset-md-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `md` breakpoint.
			 */
  .col-md-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `md` breakpoint.
				 */
  .offset-md-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `md` breakpoint.
			 */
  .col-md-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `md` breakpoint.
				 */
  .offset-md-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `md` breakpoint.
			 */
  .col-md-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `md` breakpoint.
				 */
  .offset-md-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `md` breakpoint.
			 */
  .col-md-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `md` breakpoint.
				 */
  .offset-md-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `md` breakpoint.
			 */
  .col-md-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `md` breakpoint.
				 */
  .offset-md-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `md` breakpoint.
			 */
  .col-md-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `md` breakpoint.
				 */
  .offset-md-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `md` breakpoint.
			 */
  .col-md-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `md` breakpoint.
				 */
  .offset-md-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `md` breakpoint.
			 */
  .col-md-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `md` breakpoint.
				 */
  .offset-md-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `md` breakpoint.
			 */
  .col-md-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the md breakpoint.
			 */
  .align-md-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the md breakpoint.
			 */
  .align-md-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the md breakpoint.
			 */
  .align-md-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the md breakpoint.
			 */
  .align-md-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the md breakpoint.
			 */
  .align-md-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the md breakpoint.
			 */
  .justify-md-start {
    justify-content: start; }
  /**
			 * Justify `center` for the md breakpoint.
			 */
  .justify-md-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the md breakpoint.
			 */
  .justify-md-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the md breakpoint.
			 */
  .justify-md-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the md breakpoint.
			 */
  .justify-md-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the md breakpoint.
			 */
  .bleed-md-left {
    padding-left: 0; }
  /**
			 * Bleed right for the md breakpoint.
			 */
  .bleed-md-right {
    padding-right: 0; }
  /**
		 * Order first for the `md` breakpoint.
		 */
  .first-md {
    order: -1; }
  /**
		 * Order last for the `md` breakpoint.
		 */
  .last-md {
    order: 1; }
  /**
		 * Reverse order for the `md` breakpoint.
		 */
  .reverse-md {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 900px) {
  /**
			 * Column 1 for the `lg` breakpoint.
			 */
  .col-lg-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `lg` breakpoint.
				 */
  .offset-lg-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `lg` breakpoint.
			 */
  .col-lg-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `lg` breakpoint.
				 */
  .offset-lg-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `lg` breakpoint.
			 */
  .col-lg-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `lg` breakpoint.
				 */
  .offset-lg-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `lg` breakpoint.
			 */
  .col-lg-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `lg` breakpoint.
				 */
  .offset-lg-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `lg` breakpoint.
			 */
  .col-lg-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `lg` breakpoint.
				 */
  .offset-lg-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `lg` breakpoint.
			 */
  .col-lg-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `lg` breakpoint.
				 */
  .offset-lg-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `lg` breakpoint.
			 */
  .col-lg-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `lg` breakpoint.
				 */
  .offset-lg-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `lg` breakpoint.
			 */
  .col-lg-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `lg` breakpoint.
				 */
  .offset-lg-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `lg` breakpoint.
			 */
  .col-lg-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `lg` breakpoint.
				 */
  .offset-lg-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `lg` breakpoint.
			 */
  .col-lg-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `lg` breakpoint.
				 */
  .offset-lg-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `lg` breakpoint.
			 */
  .col-lg-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `lg` breakpoint.
				 */
  .offset-lg-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `lg` breakpoint.
			 */
  .col-lg-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the lg breakpoint.
			 */
  .align-lg-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the lg breakpoint.
			 */
  .align-lg-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the lg breakpoint.
			 */
  .align-lg-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the lg breakpoint.
			 */
  .align-lg-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the lg breakpoint.
			 */
  .align-lg-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the lg breakpoint.
			 */
  .justify-lg-start {
    justify-content: start; }
  /**
			 * Justify `center` for the lg breakpoint.
			 */
  .justify-lg-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the lg breakpoint.
			 */
  .justify-lg-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the lg breakpoint.
			 */
  .justify-lg-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the lg breakpoint.
			 */
  .justify-lg-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the lg breakpoint.
			 */
  .bleed-lg-left {
    padding-left: 0; }
  /**
			 * Bleed right for the lg breakpoint.
			 */
  .bleed-lg-right {
    padding-right: 0; }
  /**
		 * Order first for the `lg` breakpoint.
		 */
  .first-lg {
    order: -1; }
  /**
		 * Order last for the `lg` breakpoint.
		 */
  .last-lg {
    order: 1; }
  /**
		 * Reverse order for the `lg` breakpoint.
		 */
  .reverse-lg {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 1200px) {
  /**
			 * Column 1 for the `xl` breakpoint.
			 */
  .col-xl-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `xl` breakpoint.
				 */
  .offset-xl-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `xl` breakpoint.
			 */
  .col-xl-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `xl` breakpoint.
				 */
  .offset-xl-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `xl` breakpoint.
			 */
  .col-xl-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `xl` breakpoint.
				 */
  .offset-xl-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `xl` breakpoint.
			 */
  .col-xl-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `xl` breakpoint.
				 */
  .offset-xl-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `xl` breakpoint.
			 */
  .col-xl-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `xl` breakpoint.
				 */
  .offset-xl-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `xl` breakpoint.
			 */
  .col-xl-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `xl` breakpoint.
				 */
  .offset-xl-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `xl` breakpoint.
			 */
  .col-xl-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `xl` breakpoint.
				 */
  .offset-xl-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `xl` breakpoint.
			 */
  .col-xl-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `xl` breakpoint.
				 */
  .offset-xl-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `xl` breakpoint.
			 */
  .col-xl-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `xl` breakpoint.
				 */
  .offset-xl-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `xl` breakpoint.
			 */
  .col-xl-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `xl` breakpoint.
				 */
  .offset-xl-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `xl` breakpoint.
			 */
  .col-xl-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `xl` breakpoint.
				 */
  .offset-xl-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `xl` breakpoint.
			 */
  .col-xl-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the xl breakpoint.
			 */
  .align-xl-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the xl breakpoint.
			 */
  .align-xl-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the xl breakpoint.
			 */
  .align-xl-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the xl breakpoint.
			 */
  .align-xl-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the xl breakpoint.
			 */
  .align-xl-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the xl breakpoint.
			 */
  .justify-xl-start {
    justify-content: start; }
  /**
			 * Justify `center` for the xl breakpoint.
			 */
  .justify-xl-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the xl breakpoint.
			 */
  .justify-xl-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the xl breakpoint.
			 */
  .justify-xl-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the xl breakpoint.
			 */
  .justify-xl-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the xl breakpoint.
			 */
  .bleed-xl-left {
    padding-left: 0; }
  /**
			 * Bleed right for the xl breakpoint.
			 */
  .bleed-xl-right {
    padding-right: 0; }
  /**
		 * Order first for the `xl` breakpoint.
		 */
  .first-xl {
    order: -1; }
  /**
		 * Order last for the `xl` breakpoint.
		 */
  .last-xl {
    order: 1; }
  /**
		 * Reverse order for the `xl` breakpoint.
		 */
  .reverse-xl {
    flex-direction: row-reverse; } }

/**
 * Default fields.
 */
label {
  display: block;
  margin-bottom: 8px;
  font-weight: bold;
  color: #252226;
  margin-left: 15px; }


select,
input,
textarea {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4375em;
  width: 100%;
  border-radius: 4px;
  padding: 11px 15px;
  background-color: white;
  font-weight: 500;
  border: 1px solid #252226;
  color: #252226; }
  
  select:focus,
  input:focus,
  textarea:focus {
    background-color: white; }

textarea {
  height: 160px;
  max-height: 160px;
  padding-top: 15px; }

.gfield_required {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.53846em;
  color: #bd0032; }

.ginput_container_select {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: transparent;
  border: 1px solid #252226; }
  .ginput_container_select svg {
    position: absolute;
    top: 14px;
    right: 20px;
    width: 9px;
    height: 13px;
    z-index: 1; }
  .ginput_container_select select {
    position: relative;
    width: calc(100% + 50px);
    max-width: none;
    margin: -2px;
    background-color: transparent;
    border: 0;
    z-index: 2; }

input[type='radio'],
input[type='checkbox'] {
  width: 15px;
  height: 15px;
  border: 2px solid #252226;
  border-radius: 2px;
  background-color: white;
  transition: all 250ms ease; }
  input[type='radio']:checked,
  input[type='checkbox']:checked {
    background-color: #252226; }

input[type='radio'] {
  border-radius: 20px; }

/**
 * Gravity Forms.
 */
.gfield {
  width: calc(50% - 37px);
  margin-bottom: 10px;
  position: relative; }
  @media only screen and (max-width: 599px) {
    .gfield {
      width: 100%; } }

.gform_validation_container {
  display: none; }

.hidden_label > label {
  display: none; }

.validation_message {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.64286em;
  margin-top: 5px;
  border-radius: 8px;
  padding: 10px 10px;
  display: flex;
  align-items: center;
  color: #bd0032;
  position: absolute;
  top: -5px;
  right: 0; }
  .validation_message > svg {
    width: 16px;
    height: 16px;
    margin-right: 5px;
    margin-top: -2px; }

.gfield_error input, .gfield_error textarea {
  border: 1px solid #bd0032; }


.validation_error {
  display: none;
  position: relative;
  margin: 0 0 50px;
  padding: 25px 25px 25px 75px;
  background: rgba(189, 0, 50, 0.2);
  color: #bd0032; }
  
  .validation_error > svg {
    position: absolute;
    top: calc(50% - 15px);
    left: 30px;
    width: 31px;
    height: 30px;
    color: #bd0032; }
  
  .validation_error .close-button {
    position: absolute;
    top: 5px;
    right: 5px;
    cursor: pointer; }
    
    .validation_error .close-button svg {
      width: 16px;
      height: 16px;
      color: #252226; }

.gform_confirmation_message {
  width: 100%;
  padding: 50px;
  background: #bd0032; }
  .gform_confirmation_message br {
    display: none; }
  .gform_confirmation_message h4 {
    display: flex;
    align-items: center;
    margin-bottom: 20px; }
    .gform_confirmation_message h4 svg {
      width: 28px;
      height: 28px;
      margin-right: 20px;
      border-radius: 20px;
      background-color: white;
      padding: 5px;
      color: #252226; }

.gform_fields {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  height: 200px;
  justify-content: space-between;
  align-items: center;
  margin: 0 -18px; }
  @media only screen and (max-width: 599px) {
    .gform_fields {
      margin: 0;
      align-items: flex-start;
      flex-direction: row;
      height: 100%; } }

.gform_footer {
  display: flex;
  justify-content: flex-end; }

.gfield_label {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.375em;
  font-weight: 700; }

/**
 * Heading.
 */
h1,
h2,
h3,
h4 {
  font-family: "Rufina";
  color: #252226; }
  h1.is-white,
  h2.is-white,
  h3.is-white,
  h4.is-white {
    color: white; }

/**
 * Heading 1.
 */
h1,
.heading-1 {
  font-size: 68px;
  font-size: 6.8rem;
  line-height: 1.29412em;
  font-weight: 700; }
  @media only screen and (max-width: 899px) {
    h1,
    .heading-1 {
      font-size: 32px;
      font-size: 3.2rem;
      line-height: 1.25em; } }

/**
 * Heading 2.
 */
h2,
.heading-2 {
  font-size: 44px;
  font-size: 4.4rem;
  line-height: 1.18182em;
  font-weight: 700; }
  @media only screen and (max-width: 899px) {
    h2,
    .heading-2 {
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 1.18182em; } }

/**
 * Subheading.
 */
.subheading {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.41667em;
  font-weight: 600;
  text-transform: uppercase; }
  .subheading.is-white {
    color: white; }

.has-lazy-load {
  position: relative;
  top: -150px;
  transition: all 750ms ease;
  transition-delay: 500ms;
  opacity: 0; }
  .has-lazy-load.header {
    transition-delay: 750ms;
    transition: all 500ms ease; }

.has-lazy-load[loaded='true'] {
  top: 0;
  opacity: 1; }

.pagination {
  width: 100%;
  padding-bottom: 50px;
  background-color: white; }
  @media only screen and (max-width: 899px) {
    .pagination {
      padding-bottom: 0px; } }
  .pagination .wrapper {
    justify-content: center; }
  .pagination .page-numbers {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.375em;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 11px;
    margin-right: 10px;
    transition: all 250ms ease;
    color: rgba(37, 34, 38, 0.5);
    font-weight: 700;
    background-color: white;
    border-radius: 2px;
    border: 2px solid rgba(37, 34, 38, 0.5); }
    .pagination .page-numbers:hover, .pagination .page-numbers.current {
      color: white;
      font-weight: 700;
      background-color: #bd0032;
      border: 2px solid #bd0032; }
    .pagination .page-numbers.prev, .pagination .page-numbers.next {
      margin-right: 15px; }
      .pagination .page-numbers.prev svg, .pagination .page-numbers.next svg {
        position: relative;
        top: 0;
        width: 27px;
        height: 22px;
        color: rgba(37, 34, 38, 0.5);
        transition: all 250ms ease; }
      .pagination .page-numbers.prev:hover, .pagination .page-numbers.next:hover {
        background-color: #bd0032; }
        .pagination .page-numbers.prev:hover svg, .pagination .page-numbers.next:hover svg {
          color: white; }
        .pagination .page-numbers.prev:hover.dots svg, .pagination .page-numbers.next:hover.dots svg {
          color: rgba(37, 34, 38, 0.5); }
    .pagination .page-numbers.dots {
      border: none;
      background: none;
      color: rgba(37, 34, 38, 0.5); }
      .pagination .page-numbers.dots:hover svg {
        color: rgba(37, 34, 38, 0.5); }
    .pagination .page-numbers.next {
      margin-right: 0;
      margin-left: 5px; }

.screen-reader-text {
  display: none; }

.nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }

/**
 * Wrapper (default)
 */
.wrapper {
  max-width: calc(1240px + 64px);
  padding: 0 32px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .wrapper {
      max-width: calc(1240px + 64px);
      padding: 0 32px;
      width: 100%;
      margin: 0 auto; } }
  @media only screen and (max-width: 599px) {
    .wrapper {
      max-width: calc(1240px + 20px);
      padding: 0 10px;
      width: 100%;
      margin: 0 auto; } }

/**
 * Wrapper (small)
 */
.wrapper--small {
  max-width: calc(928px + 64px);
  padding: 0 32px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .wrapper--small {
      max-width: calc(928px + 64px);
      padding: 0 32px;
      width: 100%;
      margin: 0 auto; } }
  @media only screen and (max-width: 599px) {
    .wrapper--small {
      max-width: calc(928px + 20px);
      padding: 0 10px;
      width: 100%;
      margin: 0 auto; } }

/**
 * Wrapper (mega)
 */
.wrapper--mega {
  max-width: none;
  padding: 0 73px; }
  @media only screen and (max-width: 599px) {
    .wrapper--mega {
      padding: 0 10px; } }

/**
 * The margin of the content header element
 */
.is-element.is-top {
  background-color: white;
  padding-top: 100px; }
  @media only screen and (max-width: 899px) {
    .is-element.is-top {
      padding-top: 30px; } }

.is-element.is-overlap .wrapper {
  margin: -240px auto 0;
  background-color: white; }
  @media only screen and (max-width: 899px) {
    .is-element.is-overlap .wrapper {
      margin: 0 auto 0; } }

/**
 * Components.
 */
.content-default {
  padding-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .content-default {
      padding-bottom: 50px; } }

.content-default__title {
  padding-top: 60px;
  margin-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .content-default__title {
      margin-bottom: 50px;
      padding-top: 30px; } }

.content-default__subtitle {
  font-family: "Rufina";
  width: 35%; }
  @media only screen and (max-width: 599px) {
    .content-default__subtitle {
      width: 100%;
      margin-bottom: 30px; } }

.content-default__editor {
  width: 65%; }
  @media only screen and (max-width: 599px) {
    .content-default__editor {
      width: 100%; } }

.footer {
  color: white;
  background-color: white;
  padding-bottom: 32px;
  padding-top: 50px;
  margin-top: -1px; }
  @media only screen and (max-width: 899px) {
    .footer {
      padding-top: 50px; } }

.footer__top {
  background-color: #252226;
  padding-top: 100px;
  padding-bottom: 65px;
  margin-bottom: -1px; }

.footer__links {
  justify-content: center; }
  .footer__links a {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.22222em;
    font-family: "Rufina";
    margin: 25px;
    transition: all 300ms ease; }
    @media only screen and (min-width: 900px) {
      .footer__links a:hover {
        opacity: 70%; } }

.footer__bottom {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.16667em;
  display: flex;
  padding-bottom: 100px;
  justify-content: center;
  background-color: #252226; }
  @media only screen and (max-width: 599px) {
    .footer__bottom {
      justify-content: center;
      flex-wrap: wrap; } }
  .footer__bottom a {
    transition: all 300ms ease; }
    @media only screen and (min-width: 900px) {
      .footer__bottom a:hover {
        opacity: 70%; } }

.footer__copyright {
  margin-right: 45px; }
  @media only screen and (max-width: 599px) {
    .footer__copyright {
      margin-right: 0;
      margin-bottom: 30px;
      text-align: center;
      width: 100%; } }

.header {
  height: 61px;
  background-color: white;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 99; }
  @media only screen and (max-width: 899px) {
    .header {
      height: 51px; } }
  .header .wrapper {
    align-items: center;
    height: 60px;
    justify-content: space-between;
    transition: all 300ms ease; }
    @media only screen and (max-width: 899px) {
      .header .wrapper {
        height: 51px; } }
    .header .wrapper.is-active {
      flex-direction: row-reverse; }

.header__search-button svg {
  width: 25px;
  height: 25px; }

.header__search-button.is-active {
  opacity: 0; }

/**
 * Menu Button.
 */
.header__menu-button {
  display: flex;
  position: relative;
  width: 29px;
  height: 26px;
  z-index: 100; }
  .header__menu-button span {
    display: inline-block;
    position: absolute;
    right: 0;
    left: 0;
    width: 24px;
    height: 2px;
    border-radius: 2px;
    margin: auto;
    background-color: #252226; }
    .header__menu-button span:nth-child(1) {
      top: 4px;
      transition: background-color 0ms, top 0ms 0ms, transform 0ms 0s; }
    .header__menu-button span:nth-child(2) {
      top: calc(50% - 0px);
      transition: background-color 0ms, opacity 0ms 0ms;
      background-color: #252226;
      opacity: 1; }
    .header__menu-button span:nth-child(3) {
      bottom: 1px;
      transition: background-color 0ms, bottom 0ms 0ms, transform 0ms 0s;
      background-color: #252226; }
  .header__menu-button.is-active span:nth-child(1) {
    top: calc(50% - 0.5px);
    transform: rotate(-45deg);
    transition: background-color 0ms, top 0ms, transform 0ms 0ms; }
  .header__menu-button.is-active span:nth-child(2) {
    opacity: 0; }
  .header__menu-button.is-active span:nth-child(3) {
    bottom: calc(50% - 1.5px);
    transform: rotate(45deg);
    transition: background-color 0ms, bottom 0ms, transform 0ms 0ms; }

.navigation-mobile {
  position: fixed;
  top: 100vh;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 90px);
  padding-top: 140px;
  margin-top: 90px;
  transition: all 500ms ease;
  background: white;
  opacity: 0;
  z-index: 999;
  overflow-x: hidden; }
  @media only screen and (max-width: 1199px) {
    .navigation-mobile {
      height: calc(100% - 50px);
      margin-top: 50px;
      padding-top: 100px; } }
  .navigation-mobile.is-active {
    top: 0;
    opacity: 1; }
  .navigation-mobile::-webkit-scrollbar {
    display: none; }
  .navigation-mobile .wrapper {
    height: 100%; }

/**
 * Main menu.
 */
.navigation-mobile__main > li {
  position: relative; }
  .navigation-mobile__main > li.current_page_ancestor > a, .navigation-mobile__main > li.current-menu-item > a {
    color: #252226; }
  .navigation-mobile__main > li.current_page_ancestor::before, .navigation-mobile__main > li.current-menu-item::before {
    height: 18px;
    width: 2px;
    background-color: #bd0032;
    position: absolute;
    left: 0;
    content: '';
    margin-top: 1px; }
  .navigation-mobile__main > li.is-active > a {
    color: #252226; }
    .navigation-mobile__main > li.is-active > a > span svg {
      transform: rotate(-90deg); }
  .navigation-mobile__main > li > a {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.22222em;
    display: block;
    position: relative;
    font-family: 'Rufina';
    width: 100%;
    font-weight: 700;
    margin: 22px 0 0 0;
    color: #252226;
    padding-left: 10px; }
    .navigation-mobile__main > li > a svg {
      width: 16px;
      height: 18px;
      opacity: 0;
      position: absolute;
      margin-lefT: 40px;
      transition: all 300ms ease; }
    .navigation-mobile__main > li > a > span {
      padding: 0 20px 0 5px;
      cursor: pointer; }
      .navigation-mobile__main > li > a > span svg {
        position: absolute;
        top: calc(50% - 8px);
        right: 0;
        width: 18px;
        height: 18px;
        margin-left: 5px;
        transition: all 500ms ease;
        color: #252226; }
    .navigation-mobile__main > li > a:hover svg {
      margin-left: 45px;
      opacity: 100; }
  .navigation-mobile__main > li .submenu-container {
    display: none;
    position: relative;
    margin-top: 10px;
    padding-top: 20px; }
    .navigation-mobile__main > li .submenu-container li a {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.28571em;
      position: relative;
      display: block;
      margin-bottom: 10px;
      font-weight: 600;
      color: #252226; }
    .navigation-mobile__main > li .submenu-container li.current_page_ancestor > a, .navigation-mobile__main > li .submenu-container li.current-menu-item > a {
      color: #252226; }
    .navigation-mobile__main > li .submenu-container li.is-active > a {
      color: #252226; }

/**
 * Disable scroll.
 */
body.is-active {
  overflow: hidden; }
  body.is-active .header::before {
    bottom: 0; }

.article-latest {
  padding-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .article-latest {
      padding-bottom: 50px;
      padding-top: 50px; } }

@media only screen and (max-width: 599px) {
  .article-latest__title {
    width: 100%;
    margin-bottom: 10px; } }

.article-latest__head {
  border-bottom: 1px solid #252226;
  justify-content: space-between;
  padding-bottom: 25px;
  margin-bottom: 80px; }
  @media only screen and (max-width: 599px) {
    .article-latest__head {
      margin-bottom: 25px; } }

.article-latest__wrap {
  justify-content: space-between; }

.article-latest__more-title {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.375em;
  font-family: "Rufina";
  padding-bottom: 30px;
  border-bottom: 1px solid #252226; }

.article-list {
  padding-bottom: 70px; }
  @media only screen and (max-width: 899px) {
    .article-list {
      padding-bottom: 35px; } }
  .article-list .article-item__image {
    height: 392px; }
    @media only screen and (max-width: 899px) {
      .article-list .article-item__image {
        height: 210px; } }

.article-list__wrap {
  justify-content: space-between; }

.article-item {
  border-bottom: 1px solid #252226;
  margin-bottom: 50px; }

.article-latest__wrap-items {
  width: calc(100% / 3 - 21.33px);
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  margin-bottom: -15px; }
  @media only screen and (max-width: 899px) {
    .article-latest__wrap-items {
      width: 100%;
      margin-bottom: 0; } }

.article-item__label {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  color: rgba(37, 34, 38, 0.5);
  text-transform: uppercase;
  margin: 10px 0;
  font-weight: 700; }

.article-item__title {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.22222em;
  height: 65px;
  margin-bottom: 10px;
  overflow: hidden;
  font-weight: 600; }

.article-item__minutes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-weight: 700;
  color: #bd0032;
  margin-bottom: 20px; }
  .article-item__minutes svg {
    width: 16px;
    height: 22px;
    margin-left: 10px;
    transition: all 300ms ease; }
  .article-item__minutes:hover svg {
    margin-left: 15px; }

.article-item.has-image {
  border-bottom: none;
  width: calc(100% / 3 - 21.33px); }
  @media only screen and (max-width: 599px) {
    .article-item.has-image {
      width: 100%;
      margin-bottom: 30px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .article-item.has-image {
      width: calc(100% / 2 - 16px);
      margin-bottom: 30px; } }
  .article-item.has-image .article-item__label {
    color: rgba(37, 34, 38, 0.5);
    text-transform: uppercase;
    margin-bottom: 10px;
    font-weight: 700; }
  .article-item.has-image .article-item__title {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.41667em;
    height: 70px;
    margin-bottom: 15px;
    font-weight: 600; }

.article-item__image {
  position: relative;
  height: 532px;
  overflow: hidden;
  border-radius: 2px; }
  @media only screen and (max-width: 899px) {
    .article-item__image {
      height: 210px; } }
  .article-item__image img {
    transform: scale(1.1);
    transition: all 600ms ease;
    border-radius: 2px; }
  .article-item__image:hover img {
    transition: all 600ms ease;
    transform: scale(1); }

.article-item__author {
  position: relative;
  padding-left: 25px;
  margin: 20px 0; }
  .article-item__author span {
    color: rgba(37, 34, 38, 0.5);
    margin-right: 4px; }
  .article-item__author::before {
    position: absolute;
    left: 0;
    top: 6px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    content: '';
    background-color: #252226; }

.article-single {
  margin-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .article-single {
      margin-bottom: 100px; } }

.article-single__navigation {
  position: fixed;
  display: flex;
  width: 100%;
  justify-content: space-between;
  top: 50%;
  z-index: 100; }
  .article-single__navigation svg {
    width: 30px;
    height: 30px; }
    @media only screen and (max-width: 1199px) {
      .article-single__navigation svg {
        border-radius: 50%;
        border: 1px solid #252226; } }
  @media only screen and (min-width: 900px) {
    .article-single__navigation a {
      opacity: 0;
      transition: all 200ms ease; }
      .article-single__navigation a.is-active {
        opacity: 100; } }

.article-single__previous {
  margin-left: 50px; }
  @media only screen and (max-width: 599px) {
    .article-single__previous {
      display: none; } }
  @media only screen and (max-width: 1199px) {
    .article-single__previous {
      margin-left: 15px;
      background-color: white;
      border-radius: 50%;
      width: 30px;
      height: 30px;
      background-color: white; }
      .article-single__previous:hover {
        background-color: #bd0032;
        border: none; }
        .article-single__previous:hover svg {
          color: white; } }
  .article-single__previous svg {
    padding-bottom: 1px;
    padding-right: 3px; }

.article-single__next {
  margin-right: 50px; }
  @media only screen and (max-width: 599px) {
    .article-single__next {
      display: none; } }
  @media only screen and (max-width: 1199px) {
    .article-single__next {
      margin-right: 15px;
      background-color: white;
      border-radius: 50%;
      width: 30px;
      height: 30px; }
      .article-single__next:hover {
        background-color: #bd0032;
        border: none; }
        .article-single__next:hover svg {
          color: white; } }
  .article-single__next svg {
    padding-bottom: 1px;
    padding-left: 2px; }

.article-single__title {
  margin-bottom: 60px; }

.article-single__author-photo {
  position: relative; }

.article-single__wrapper {
  padding-top: 60px;
  margin-top: -330px;
  background-color: white; }

.article-single__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px; }
  @media only screen and (max-width: 899px) {
    .article-single__head {
      flex-wrap: wrap;
      justify-content: center; }
      .article-single__head .article-single__headwrap {
        width: 100%;
        justify-content: center; } }
  .article-single__head a {
    transition: all 300ms ease; }
    .article-single__head a:hover {
      opacity: 70%; }

.article-single__head-author {
  position: relative;
  padding-left: 25px; }
  @media only screen and (max-width: 899px) {
    .article-single__head-author {
      margin-bottom: 30px; } }
  .article-single__head-author span {
    color: rgba(37, 34, 38, 0.5);
    margin-right: 4px; }
  .article-single__head-author::before {
    position: absolute;
    left: 0;
    top: 6px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    content: '';
    background-color: #252226; }
  .article-single__head-author strong {
    margin-right: 7px; }

.article-single__headwrap {
  display: flex;
  align-items: center; }

.article-single__minutes {
  color: rgba(37, 34, 38, 0.5);
  margin-right: 55px; }
  @media only screen and (max-width: 899px) {
    .article-single__minutes {
      margin-right: 10px; } }

.article-single__share span {
  display: flex;
  align-items: center;
  color: rgba(37, 34, 38, 0.5);
  margin: 0 10px; }

.article-single__share svg {
  height: 24px;
  width: 24px;
  margin-left: 10px; }

.article-single__back {
  margin-top: 125px; }

.article-single__back,
.article-single__head-back {
  position: relative;
  width: 206px;
  color: #bd0032;
  padding-left: 31px;
  font-weight: 700; }
  .article-single__back svg,
  .article-single__head-back svg {
    position: absolute;
    left: 0px;
    width: 16px;
    height: 22px;
    font-weight: 700;
    transition: all 300ms ease; }
  .article-single__back:hover,
  .article-single__head-back:hover {
    color: #252226; }
    .article-single__back:hover svg,
    .article-single__head-back:hover svg {
      left: -5px;
      color: #252226; }

.article-single__editor {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.75em;
  margin-bottom: 100px; }

.article-single__head-bottom {
  display: flex;
  position: relative;
  align-items: center;
  margin-bottom: 30px; }

.article-single__head-line {
  position: absolute;
  height: 1px;
  right: 0;
  width: calc(100% - 206px);
  border-bottom: 1px solid #252226; }

.article-single__author {
  width: 100%;
  background-color: rgba(37, 34, 38, 0.1);
  padding: 25px 30px;
  margin-bottom: 25px; }
  @media only screen and (max-width: 599px) {
    .article-single__author {
      flex-wrap: wrap; } }

.article-single__wrapper .article-single__author:last-child {
  margin-bottom: 125px; }

.author-single__author-about {
  padding-top: 15px; }

.article-single__author-photo {
  position: relative;
  height: 170px;
  width: 182px;
  margin-right: 70px; }
  @media only screen and (max-width: 599px) {
    .article-single__author-photo {
      width: 100%;
      height: 200px;
      margin-right: 0;
      margin-bottom: 30px; } }

.article-single__author-name {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.22222em;
  margin-bottom: 25px;
  font-weight: 600; }

.author-single__author-social svg {
  width: 24px;
  height: 24px;
  margin-right: 10px; }

.author-single__author-social a:hover svg {
  opacity: 70%; }

.article-single__progress {
  display: none; }
  @media only screen and (max-width: 599px) {
    .article-single__progress {
      display: block;
      width: calc(100% - 20px);
      position: fixed;
      border-top: 2px solid #bd0032;
      top: 50px;
      left: 10px;
      background: white;
      padding-top: 10px; } }

@media only screen and (max-width: 599px) {
  .article-single__progress-wrap {
    position: relative; } }

.article-single__progressbar {
  display: none; }
  @media only screen and (max-width: 599px) {
    .article-single__progressbar {
      position: absolute;
      display: block;
      height: 6px;
      top: -14px;
      background-color: #bd0032; } }

.content-header {
  position: relative;
  height: 620px; }
  @media only screen and (max-width: 899px) {
    .content-header {
      height: auto; } }
  @media only screen and (max-width: 899px) {
    .content-header.has-title {
      height: auto; } }
  @media only screen and (min-width: 900px) {
    .content-header.has-title {
      height: calc(100vh - 112px); } }
  .content-header.has-title .content-header__image {
    height: calc(100vh - 112px); }
    @media only screen and (max-width: 599px) {
      .content-header.has-title .content-header__image {
        height: 150px; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .content-header.has-title .content-header__image {
        height: 400px; } }
    .content-header.has-title .content-header__image img {
      position: fixed;
      z-index: 1;
      width: calc( 100% - 150px);
      left: 73px;
      object-position: bottom;
      margin-top: 50px; }
      @media only screen and (max-width: 599px) {
        .content-header.has-title .content-header__image img {
          height: 150px;
          width: 100%;
          top: auto;
          left: auto;
          right: auto;
          bottom: auto;
          margin-top: 0;
          left: 0; } }
      @media only screen and (min-width: 600px) and (max-width: 899px) {
        .content-header.has-title .content-header__image img {
          height: 400px;
          width: 100%;
          top: auto;
          left: auto;
          right: auto;
          bottom: auto;
          margin-top: 0;
          left: 0; } }
  .content-header.has-title::before {
    content: '';
    position: absolute;
    width: 1000%;
    background-color: white;
    height: calc(100vh - 150px);
    left: 100%;
    top: 1px; }
  .content-header.has-title::after {
    content: '';
    position: absolute;
    width: 1000%;
    background-color: white;
    height: calc(100vh - 150px);
    right: 100%;
    top: 1px; }

.content-header__title {
  overflow: hidden;
  z-index: 10;
  padding-bottom: 30px;
  color: white;
  margin-top: -120px;
  margin-left: 70px; }
  @media only screen and (max-width: 899px) {
    .content-header__title {
      margin-top: 0; } }
  @media only screen and (max-width: 1199px) {
    .content-header__title {
      background-color: #252226;
      left: 0;
      margin-left: 0;
      padding: 17px; } }
  @media only screen and (min-width: 1200px) {
    .content-header__title {
      white-space: nowrap;
      text-overflow: ellipsis; } }

.content-header__wrap {
  position: relative; }

.content-header__image {
  position: relative;
  width: calc(100% - 3px);
  height: 620px;
  z-index: -1; }
  @media only screen and (max-width: 599px) {
    .content-header__image {
      height: 250px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .content-header__image {
      height: 350px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .content-header__image {
      height: 450px; } }
  .content-header__image::before {
    height: 200px;
    width: 100%;
    bottom: 0;
    content: '';
    background: linear-gradient(0deg, rgba(50, 45, 54, 0.8) -65.79%, rgba(50, 45, 54, 0) 100%);
    position: absolute;
    z-index: 2; }

.content-form {
  padding-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .content-form {
      padding-bottom: 50px; } }

.content-form__title {
  padding-top: 60px;
  margin-bottom: 80px; }
  @media only screen and (max-width: 899px) {
    .content-form__title {
      margin-bottom: 40px;
      padding-top: 30px; } }

.content-form__editor {
  margin-bottom: 30px; }

.search-form__title {
  position: relative;
  padding-left: 20px;
  margin-bottom: 50px; }
  .search-form__title::before {
    height: 100%;
    width: 4px;
    background-color: #bd0032;
    position: absolute;
    left: 0;
    content: ''; }

.search-form__body {
  position: relative;
  margin-bottom: 100px; }
  .search-form__body button {
    margin-top: 13px;
    position: absolute;
    border-right: 1px solid #252226;
    padding: 0 13px 0 23px; }
    .search-form__body button svg {
      width: 22px;
      height: 22px; }
  .search-form__body input {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.22222em;
    padding: 13px 13px 13px 70px;
    height: 48px;
    border-radius: 2px; }

.search-results .wrapper {
  padding-top: 60px; }

.search-results .article-item__image {
  height: 392px; }
  @media only screen and (max-width: 899px) {
    .search-results .article-item__image {
      height: 210px; } }

.search-results__title {
  margin-bottom: 60px;
  font-family: "Rufina"; }

.search-results__no-results {
  padding-bottom: 200px;
  font-family: "Rufina"; }
  @media only screen and (max-width: 899px) {
    .search-results__no-results {
      padding-bottom: 100px; } }

.search-results__wrap {
  padding-bottom: 60px;
  justify-content: flex-start;
  margin: -15px; }
  @media only screen and (max-width: 899px) {
    .search-results__wrap {
      justify-content: space-between;
      margin: 0;
      padding-bottom: 20px; } }
  @media only screen and (min-width: 900px) {
    .search-results__wrap .article-item {
      width: calc(100% / 3 - 30px);
      margin: 15px; } }

nav.pagination {
  padding-bottom: 0;
  padding-top: 75px; }
  @media only screen and (max-width: 899px) {
    nav.pagination {
      padding: 0; } }

/**
 * Utilities.
 */
/**
 * Color utility classes.
 *
 * Automatically generated color and background color utility classes based on every color definition in `settings/_color.scss`.
 * Loop through every `$key` and `$map` in the `$colors` variable map defined in `settings/_color.scss`.
 */
/**
			 * `color` #252226-100 color utility.
			 */
.color-black-100 {
  color: #252226; }

/**
			 * `background-color` #252226-100 color utility.
			 */
.background-color-black-100 {
  background-color: #252226; }

/**
			 * `color` rgba(37, 34, 38, 0.5)-50 color utility.
			 */
.color-black-50 {
  color: rgba(37, 34, 38, 0.5); }

/**
			 * `background-color` rgba(37, 34, 38, 0.5)-50 color utility.
			 */
.background-color-black-50 {
  background-color: rgba(37, 34, 38, 0.5); }

/**
			 * `color` rgba(37, 34, 38, 0.1)-10 color utility.
			 */
.color-black-10 {
  color: rgba(37, 34, 38, 0.1); }

/**
			 * `background-color` rgba(37, 34, 38, 0.1)-10 color utility.
			 */
.background-color-black-10 {
  background-color: rgba(37, 34, 38, 0.1); }

/**
			 * `color` white-100 color utility.
			 */
.color-white-100 {
  color: white; }

/**
			 * `background-color` white-100 color utility.
			 */
.background-color-white-100 {
  background-color: white; }

/**
			 * `color` #bd0032-100 color utility.
			 */
.color-red-100 {
  color: #bd0032; }

/**
			 * `background-color` #bd0032-100 color utility.
			 */
.background-color-red-100 {
  background-color: #bd0032; }

/**
			 * `color` rgba(189, 0, 50, 0.7)-70 color utility.
			 */
.color-red-70 {
  color: rgba(189, 0, 50, 0.7); }

/**
			 * `background-color` rgba(189, 0, 50, 0.7)-70 color utility.
			 */
.background-color-red-70 {
  background-color: rgba(189, 0, 50, 0.7); }

/**
			 * `color` rgba(189, 0, 50, 0.2)-10 color utility.
			 */
.color-red-10 {
  color: rgba(189, 0, 50, 0.2); }

/**
			 * `background-color` rgba(189, 0, 50, 0.2)-10 color utility.
			 */
.background-color-red-10 {
  background-color: rgba(189, 0, 50, 0.2); }

/**
 * Visually hide any element from the user.
 */
.visually-hidden {
  display: block;
  position: absolute;
  width: 1px;
  height: 1px;
  white-space: nowrap;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(1px); }

/**
 * Make lazyload placeholder 100% wide.
 */
.lazyload {
  width: 100%; }

/**
 * Helper class for object fit polyfill. Add this class to any element
 * that utilizes the `object-fit` property.
 */

.object-fit {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover;';
  object-fit: cover; }

/**
 * Align center.
 */
.align-center {
  text-align: center; }

/**
 * Align left.
 */
.align-left {
  text-align: left; }

/**
 * Align right.
 */
.align-right {
  text-align: right; }

/**
 * Object fit.
 *
 * 1. Font family polyfill with (https://github.com/bfred-it/object-fit-images).
 * Loop through every value for the `object-fit` property.
 */
/**
	 * `object-fit` fill utility class.
	 */
.fill {
  font-family: "object-fit: fill;";
  /* 1 */
  object-fit: fill; }

/**
	 * `object-fit` contain utility class.
	 */
.contain {
  font-family: "object-fit: contain;";
  /* 1 */
  object-fit: contain; }

/**
	 * `object-fit` cover utility class.
	 */
.cover {
  font-family: "object-fit: cover;";
  /* 1 */
  object-fit: cover; }

/**
	 * `object-fit` none utility class.
	 */
.none {
  font-family: "object-fit: none;";
  /* 1 */
  object-fit: none; }

/**
	 * `object-fit` scale-down utility class.
	 */
.scale-down {
  font-family: "object-fit: scale-down;";
  /* 1 */
  object-fit: scale-down; }

/**
 * Position utility class.
 */
.static {
  position: static; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.sticky {
  position: sticky; }

/**
 * Font family utility classes.
 */
.text-xs-default {
  font-family: "Open Sans"; }

.text-xs-heading {
  font-family: "Rufina"; }

@media only screen and (max-width: 599px) {
  .text-sm-default {
    font-family: "Open Sans"; }
  .text-sm-heading {
    font-family: "Rufina"; } }

@media only screen and (min-width: 600px) {
  .text-md-default {
    font-family: "Open Sans"; }
  .text-md-heading {
    font-family: "Rufina"; } }

@media only screen and (min-width: 900px) {
  .text-lg-default {
    font-family: "Open Sans"; }
  .text-lg-heading {
    font-family: "Rufina"; } }

@media only screen and (min-width: 1200px) {
  .text-xl-default {
    font-family: "Open Sans"; }
  .text-xl-heading {
    font-family: "Rufina"; } }

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 68px;
  font-size: 6.8rem;
  line-height: 1.29412em; }

.text-xs-h2 {
  font-size: 44px;
  font-size: 4.4rem;
  line-height: 1.18182em; }

.text-xs-h3 {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.16667em; }

.text-xs-h4 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.41667em; }

.text-xs-h5 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.55556em; }

.text-xs-p {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em; }

@media only screen and (max-width: 599px) {
  .text-sm-h1 {
    font-size: 68px;
    font-size: 6.8rem;
    line-height: 1.29412em; }
  .text-sm-h2 {
    font-size: 44px;
    font-size: 4.4rem;
    line-height: 1.18182em; }
  .text-sm-h3 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.16667em; }
  .text-sm-h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.41667em; }
  .text-sm-h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.55556em; }
  .text-sm-p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571em; } }

@media only screen and (min-width: 600px) {
  .text-md-h1 {
    font-size: 68px;
    font-size: 6.8rem;
    line-height: 1.29412em; }
  .text-md-h2 {
    font-size: 44px;
    font-size: 4.4rem;
    line-height: 1.18182em; }
  .text-md-h3 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.16667em; }
  .text-md-h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.41667em; }
  .text-md-h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.55556em; }
  .text-md-p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571em; } }

@media only screen and (min-width: 900px) {
  .text-lg-h1 {
    font-size: 68px;
    font-size: 6.8rem;
    line-height: 1.29412em; }
  .text-lg-h2 {
    font-size: 44px;
    font-size: 4.4rem;
    line-height: 1.18182em; }
  .text-lg-h3 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.16667em; }
  .text-lg-h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.41667em; }
  .text-lg-h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.55556em; }
  .text-lg-p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571em; } }

@media only screen and (min-width: 1200px) {
  .text-xl-h1 {
    font-size: 68px;
    font-size: 6.8rem;
    line-height: 1.29412em; }
  .text-xl-h2 {
    font-size: 44px;
    font-size: 4.4rem;
    line-height: 1.18182em; }
  .text-xl-h3 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.16667em; }
  .text-xl-h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.41667em; }
  .text-xl-h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.55556em; }
  .text-xl-p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571em; } }

/**
 * Text alignment utility classes.
 */
.text-xs-left {
  text-align: left; }

.text-xs-right {
  text-align: right; }

.text-xs-center {
  text-align: center; }

@media only screen and (max-width: 599px) {
  .text-sm-left {
    text-align: left; }
  .text-sm-right {
    text-align: right; }
  .text-sm-center {
    text-align: center; } }

@media only screen and (min-width: 600px) {
  .text-md-left {
    text-align: left; }
  .text-md-right {
    text-align: right; }
  .text-md-center {
    text-align: center; } }

@media only screen and (min-width: 900px) {
  .text-lg-left {
    text-align: left; }
  .text-lg-right {
    text-align: right; }
  .text-lg-center {
    text-align: center; } }

@media only screen and (min-width: 1200px) {
  .text-xl-left {
    text-align: left; }
  .text-xl-right {
    text-align: right; }
  .text-xl-center {
    text-align: center; } }

/**
 * Font weight utility classes.
 *
 * 1. Multiply looped integer by 100 for correct font weight value.
 */
.text-xs-100 {
  font-weight: 100; }

.text-xs-200 {
  font-weight: 200; }

.text-xs-300 {
  font-weight: 300; }

.text-xs-400 {
  font-weight: 400; }

.text-xs-500 {
  font-weight: 500; }

.text-xs-600 {
  font-weight: 600; }

.text-xs-700 {
  font-weight: 700; }

.text-xs-800 {
  font-weight: 800; }

.text-xs-900 {
  font-weight: 900; }

@media only screen and (max-width: 599px) {
  .text-sm-100 {
    font-weight: 100; }
  .text-sm-200 {
    font-weight: 200; }
  .text-sm-300 {
    font-weight: 300; }
  .text-sm-400 {
    font-weight: 400; }
  .text-sm-500 {
    font-weight: 500; }
  .text-sm-600 {
    font-weight: 600; }
  .text-sm-700 {
    font-weight: 700; }
  .text-sm-800 {
    font-weight: 800; }
  .text-sm-900 {
    font-weight: 900; } }

@media only screen and (min-width: 600px) {
  .text-md-100 {
    font-weight: 100; }
  .text-md-200 {
    font-weight: 200; }
  .text-md-300 {
    font-weight: 300; }
  .text-md-400 {
    font-weight: 400; }
  .text-md-500 {
    font-weight: 500; }
  .text-md-600 {
    font-weight: 600; }
  .text-md-700 {
    font-weight: 700; }
  .text-md-800 {
    font-weight: 800; }
  .text-md-900 {
    font-weight: 900; } }

@media only screen and (min-width: 900px) {
  .text-lg-100 {
    font-weight: 100; }
  .text-lg-200 {
    font-weight: 200; }
  .text-lg-300 {
    font-weight: 300; }
  .text-lg-400 {
    font-weight: 400; }
  .text-lg-500 {
    font-weight: 500; }
  .text-lg-600 {
    font-weight: 600; }
  .text-lg-700 {
    font-weight: 700; }
  .text-lg-800 {
    font-weight: 800; }
  .text-lg-900 {
    font-weight: 900; } }

@media only screen and (min-width: 1200px) {
  .text-xl-100 {
    font-weight: 100; }
  .text-xl-200 {
    font-weight: 200; }
  .text-xl-300 {
    font-weight: 300; }
  .text-xl-400 {
    font-weight: 400; }
  .text-xl-500 {
    font-weight: 500; }
  .text-xl-600 {
    font-weight: 600; }
  .text-xl-700 {
    font-weight: 700; }
  .text-xl-800 {
    font-weight: 800; }
  .text-xl-900 {
    font-weight: 900; } }

/**
 * Text transform uitlity classes.
 */
.text-xs-capitalize {
  text-transform: capitalize; }

.text-xs-uppercase {
  text-transform: uppercase; }

.text-xs-lowercase {
  text-transform: lowercase; }

.text-xs-none {
  text-transform: none; }

.text-xs-full-width {
  text-transform: full-width; }

@media only screen and (max-width: 599px) {
  .text-sm-capitalize {
    text-transform: capitalize; }
  .text-sm-uppercase {
    text-transform: uppercase; }
  .text-sm-lowercase {
    text-transform: lowercase; }
  .text-sm-none {
    text-transform: none; }
  .text-sm-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 600px) {
  .text-md-capitalize {
    text-transform: capitalize; }
  .text-md-uppercase {
    text-transform: uppercase; }
  .text-md-lowercase {
    text-transform: lowercase; }
  .text-md-none {
    text-transform: none; }
  .text-md-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 900px) {
  .text-lg-capitalize {
    text-transform: capitalize; }
  .text-lg-uppercase {
    text-transform: uppercase; }
  .text-lg-lowercase {
    text-transform: lowercase; }
  .text-lg-none {
    text-transform: none; }
  .text-lg-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 1200px) {
  .text-xl-capitalize {
    text-transform: capitalize; }
  .text-xl-uppercase {
    text-transform: uppercase; }
  .text-xl-lowercase {
    text-transform: lowercase; }
  .text-xl-none {
    text-transform: none; }
  .text-xl-full-width {
    text-transform: full-width; } }

/**
 * Vertical Rhythm.
 */
.vr-0 {
  margin-bottom: 0px; }

.vr-8 {
  margin-bottom: 8px; }

.vr-16 {
  margin-bottom: 16px; }

.vr-24 {
  margin-bottom: 24px; }

.vr-32 {
  margin-bottom: 32px; }

.vr-40 {
  margin-bottom: 40px; }

.vr-48 {
  margin-bottom: 48px; }

.vr-56 {
  margin-bottom: 56px; }

.vr-64 {
  margin-bottom: 64px; }

.vr-72 {
  margin-bottom: 72px; }

.vr-80 {
  margin-bottom: 80px; }

/**
 * Utility classes for manipulating stacking order in HTML.
 */
.z-index-0 {
  z-index: 0; }

.z-index-1 {
  z-index: 10; }

.z-index-2 {
  z-index: 20; }

.z-index-3 {
  z-index: 30; }

.z-index-4 {
  z-index: 40; }

.z-index-5 {
  z-index: 50; }

.z-index-6 {
  z-index: 60; }

.z-index-7 {
  z-index: 70; }

.z-index-8 {
  z-index: 80; }

.z-index-9 {
  z-index: 90; }

.z-index-10 {
  z-index: 100; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInNldHRpbmdzL19hbGwuc2NzcyIsInNldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJzZXR0aW5ncy9fY29sb3Iuc2NzcyIsInNldHRpbmdzL196LWluZGV4LnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL293bC5jYXJvdXNlbC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fY29yZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYXV0b2hlaWdodC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fbGF6eWxvYWQuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3MvX3ZpZGVvLnNjc3MiLCJ0b29scy9fYWxsLnNjc3MiLCJ0b29scy9fZnVuY3Rpb25zLnNjc3MiLCJ0b29scy9fbWFnbmlmaWMtcG9wdXAuc2NzcyIsInRvb2xzL19taXhpbnMuc2NzcyIsImdlbmVyaWMvX2Jhc2Uuc2NzcyIsImdlbmVyaWMvX3Jlc2V0LnNjc3MiLCJvYmplY3RzL19idXR0b25zLnNjc3MiLCJvYmplY3RzL19jbXMtb3V0cHV0LnNjc3MiLCJvYmplY3RzL19jb250YWluZXIuc2NzcyIsIm9iamVjdHMvX2NvbnRlbnQtY29uc3RyYWludC5zY3NzIiwib2JqZWN0cy9fZmxleC5zY3NzIiwib2JqZWN0cy9fZm9ybS5zY3NzIiwib2JqZWN0cy9faGVhZGluZ3Muc2NzcyIsIm9iamVjdHMvX2xhenktbG9hZC5zY3NzIiwib2JqZWN0cy9fcGFnaW5hdGlvbi5zY3NzIiwib2JqZWN0cy9fd3JhcHBlci5zY3NzIiwib2JqZWN0cy9faGVhZGVyLW1hcmdpbi5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1kZWZhdWx0LnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fbmF2aWdhdGlvbi1tb2JpbGUuc2NzcyIsImNvbXBvbmVudHMvX2FydGljbGUtbGF0ZXN0LnNjc3MiLCJjb21wb25lbnRzL19hcnRpY2xlLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX2FydGljbGUtaXRlbS5zY3NzIiwiY29tcG9uZW50cy9fYXJ0aWNsZS1pdGVtLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL19hcnRpY2xlLXNpbmdsZS5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLWZvcm0uc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1yZXN1bHRzLnNjc3MiLCJ1dGlsaXRpZXMvX2NvbG9yLnNjc3MiLCJ1dGlsaXRpZXMvX2hlbHBlcnMuc2NzcyIsInV0aWxpdGllcy9fb2JqZWN0LWZpdC5zY3NzIiwidXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwidXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ1dGlsaXRpZXMvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwidXRpbGl0aWVzL196LWluZGV4LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNldHRpbmdzLlxyXG4gKi9cclxuQGltcG9ydCAnc2V0dGluZ3MvYWxsJztcclxuXHJcblxyXG4vKipcclxuICogVmVuZG9yLlxyXG4gKi9cclxuQGltcG9ydCAnLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplJztcclxuQGltcG9ydCAnLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9vd2wuY2Fyb3VzZWwnO1xyXG5cclxuLyoqXHJcbiAqIFRvb2xzLlxyXG4gKi9cclxuQGltcG9ydCAndG9vbHMvYWxsJztcclxuXHJcblxyXG4vKipcclxuICogRWxlbWVudHMuXHJcbiAqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBHZW5lcmFsLlxyXG4gKi9cclxuQGltcG9ydCAnZ2VuZXJpYy9iYXNlJztcclxuQGltcG9ydCAnZ2VuZXJpYy9yZXNldCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIE9iamVjdHMuXHJcbiAqL1xyXG5AaW1wb3J0ICdvYmplY3RzL2J1dHRvbnMnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2Ntcy1vdXRwdXQnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2NvbnRhaW5lcic7XHJcbkBpbXBvcnQgJ29iamVjdHMvY29udGVudC1jb25zdHJhaW50JztcclxuQGltcG9ydCAnb2JqZWN0cy9mbGV4JztcclxuQGltcG9ydCAnb2JqZWN0cy9mb3JtJztcclxuQGltcG9ydCAnb2JqZWN0cy9oZWFkaW5ncyc7XHJcbkBpbXBvcnQgJ29iamVjdHMvbGF6eS1sb2FkJztcclxuQGltcG9ydCAnb2JqZWN0cy9wYWdpbmF0aW9uJztcclxuQGltcG9ydCAnb2JqZWN0cy93cmFwcGVyJztcclxuQGltcG9ydCAnb2JqZWN0cy9oZWFkZXItbWFyZ2luJztcclxuXHJcblxyXG4vKipcclxuICogQ29tcG9uZW50cy5cclxuICovXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC1kZWZhdWx0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRlcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2aWdhdGlvbi1tb2JpbGUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2FydGljbGUtbGF0ZXN0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9hcnRpY2xlLWxpc3QnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2FydGljbGUtaXRlbSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYXJ0aWNsZS1pdGVtLWltYWdlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9hcnRpY2xlLXNpbmdsZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC1oZWFkZXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQtZm9ybSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VhcmNoLWZvcm0nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3NlYXJjaC1yZXN1bHRzJztcclxuXHJcbi8qKlxyXG4gKiBVdGlsaXRpZXMuXHJcbiAqL1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvY29sb3InO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvaGVscGVycyc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9vYmplY3QtZml0JztcclxuQGltcG9ydCAndXRpbGl0aWVzL3Bvc2l0aW9uJztcclxuQGltcG9ydCAndXRpbGl0aWVzL3RleHQnO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvdmVydGljYWwtcmh5dGhtJztcclxuQGltcG9ydCAndXRpbGl0aWVzL3otaW5kZXgnO1xyXG4iLCIvKipcclxuICogU2V0dGluZ3MuXHJcbiAqL1xyXG4gXHJcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xyXG5AaW1wb3J0ICdjb2xvcic7XHJcbkBpbXBvcnQgJ3otaW5kZXgnO1xyXG5AaW1wb3J0ICdkZWZpbml0aW9ucyc7XHJcbiIsIi8qKlxyXG4gKiBGb250IGZhbWlseSBtYXAuXHJcbiAqL1xyXG5cclxuJGZvbnQtZmFtaWx5OiAoXHJcblx0J2RlZmF1bHQnOiAnT3BlbiBTYW5zJyxcclxuXHQnaGVhZGluZyc6ICdSdWZpbmEnLFxyXG4pO1xyXG5cclxuLyoqXHJcbiAqIEZvbnQgc2l6ZSBtYXAuXHJcbiAqL1xyXG5cclxuJGZvbnQtc2l6ZTogKFxyXG5cdCdoMSc6IDY4cHgsXHJcblx0J2gyJzogNDRweCxcclxuXHQnaDMnOiAzNnB4LFxyXG5cdCdoNCc6IDI0cHgsXHJcblx0J2g1JzogMThweCxcclxuXHQncCc6IDE0cHhcclxuKTtcclxuXHJcblxyXG4vKipcclxuICogTGluZSBoZWlnaHQgbWFwLlxyXG4gKi9cclxuXHJcbiRsaW5lLWhlaWdodDogKFxyXG5cdCdoMSc6IDg4cHgsXHJcblx0J2gyJzogNTJweCxcclxuXHQnaDMnOiA0MnB4LFxyXG5cdCdoNCc6IDM0cHgsXHJcblx0J2g1JzogMjhweCxcclxuXHQncCc6IDE4cHhcclxuKTtcclxuIiwiLyoqXHJcbiAqIENvbG9yIE1hcCAoaHR0cHM6Ly9jb252ZXJ0YWNvbG9yLmNvbS8pLlxyXG4gKi9cclxuXHJcbiRjb2xvcnM6IChcclxuXHQnYmxhY2snOiAoXHJcblx0XHQnMTAwJzogaHNsYSgyODUsIDYlLCAxNCUsIDEpLCAvLyAjMjUyMjI2LCAxMDAlXHJcblx0XHQnNTAnOiBoc2xhKDI4NSwgNiUsIDE0JSwgMC41KSwgLy8gIzI1MjIyNiwgNTAlXHJcblx0XHQnMTAnOiBoc2xhKDI4NSwgNiUsIDE0JSwgMC4xKSAvLyAjMjUyMjI2LCAxMCVcclxuXHQpLFxyXG5cdCd3aGl0ZSc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDAsIDAlLCAxMDAlLCAxKSAvLyAjRkZGRkZGLCAxMDAlXHJcblx0KSxcclxuXHQncmVkJzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoMzQ0LCAxMDAlLCAzNyUsIDEpLCAvLyAjQkMwMDMxLCAxMDAlXHJcblx0XHQnNzAnOiBoc2xhKDM0NCwgMTAwJSwgMzclLCAwLjcpLCAvLyAjQkMwMDMxLCA3MCVcclxuXHRcdCcxMCc6IGhzbGEoMzQ0LCAxMDAlLCAzNyUsIDAuMikgLy8gI0JDMDAzMSwgMTAlXHJcblx0KVxyXG4pO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBDb2xvcnMgVmFyaWFibGVzLlxyXG4gKi9cclxuJGJsYWNrLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnMTAwJyk7XHJcbiRibGFjay01MDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnNTAnKTtcclxuJGJsYWNrLTEwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsYWNrJyksICcxMCcpO1xyXG4kd2hpdGUtMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3doaXRlJyksICcxMDAnKTtcclxuJHJlZC0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncmVkJyksICcxMDAnKTtcclxuJHJlZC03MDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzcwJyk7XHJcbiRyZWQtMTA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncmVkJyksICcxMCcpO1xyXG5cclxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg1MCwgNDUsIDU0LCAwLjgpIC02NS43OSUsIHJnYmEoNTAsIDQ1LCA1NCwgMCkgMTAwJSk7IiwiLy8gQSBsaW1pdGVkIGFycmF5IG9mIHZhbHVlcyBmb3IgdGhlIGB6LWluZGV4YCBwcm9wZXJ0eSB0byBwcmV2ZW50XHJcbi8vIEV4YWdnZXJhdGVkIGFtb3VudHMgYW5kIHVnbHkgaGFja3MuXHJcblxyXG4kei1pbmRleDogKFxyXG5cdCcwJzogIDAsXHJcblx0JzEnOiAgMTAsXHJcblx0JzInOiAgMjAsXHJcblx0JzMnOiAgMzAsXHJcblx0JzQnOiAgNDAsXHJcblx0JzUnOiAgNTAsXHJcblx0JzYnOiAgNjAsXHJcblx0JzcnOiAgNzAsXHJcblx0JzgnOiAgODAsXHJcblx0JzknOiAgOTAsXHJcblx0JzEwJzogMTAwXHJcbik7XHJcbiIsIi8qKlxyXG4gKiBHcmlkLlxyXG4gKi9cclxuXHJcbi8vIEdyaWQgd2lkdGguXHJcbi8vIE1heGltdW0gY29udGFpbmVyIHdpZHRoLlxyXG4kZ3JpZC13aWR0aDogMTAyNHB4O1xyXG5cclxuLy8gR3JpZCBjb2x1bW5zLlxyXG4vLyBBbW91bnQgb2YgZ3JpZCBjb2x1bW5zIHRvIGNhbGN1bGF0ZSBhIGNvbHVtbiB3aWR0aCB3aXRoLlxyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuXHJcbi8vIEdyaWQgZ2FwLlxyXG4vLyBTcGFjZSBiZXR3ZWVuIGdyaWQgY29sdW1ucywgYXV0b21hdGVkLlxyXG4kZ3JpZC1nYXA6IDIwcHg7XHJcblxyXG5cclxuLyoqXHJcbiAqIEFzc2V0cy5cclxuICovXHJcblxyXG4vLyBJbWFnZSBwYXRoLlxyXG4kaW1hZ2UtcGF0aDogJy4uL2ltYWdlcy8nO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBCb2R5LlxyXG4gKi9cclxuXHJcbi8vIEJvZHkgYmFja2dyb3VuZCBjb2xvci5cclxuJGJvZHktYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcbi8vIEJvZHkgY29sb3IuXHJcbiRib2R5LWNvbG9yOiAkYmxhY2stMTAwO1xyXG5cclxuLy8gQm9keSBmb250IGZhbWlseS5cclxuJGJvZHktZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnZGVmYXVsdCcpO1xyXG5cclxuLy8gQm9keSB0ZXh0LlxyXG4kYm9keS10ZXh0OiAncCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIE90aGVyLlxyXG4gKi9cclxuXHJcbi8vIExpbmsgY29sb3IuXHJcbiRsaW5rLWNvbG9yOiAkYmxhY2stMTAwO1xyXG5cclxuLy8gU2VsZWN0IGNvbG9yLlxyXG4qOjpzZWxlY3Rpb24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNwb25zaXZlLlxyXG4gKi9cclxuXHJcbi8vIEdyaWQgYnJlYWtwb2ludCBhbGlhcy5cclxuJGJyZWFrcG9pbnRzOiAoXHJcblx0eHM6IG51bGwsXHJcblx0c206ICdwaG9uZScsXHJcblx0bWQ6ICd0YWJsZXQtcG9ydHJhaXQtdXAnLFxyXG5cdGxnOiAndGFibGV0LWxhbmRzY2FwZS11cCcsXHJcblx0eGw6ICdkZXNrdG9wJ1xyXG4pO1xyXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGltcG9ydCAnY29yZSc7XG5AaW1wb3J0ICdhbmltYXRlJztcbkBpbXBvcnQgJ2F1dG9oZWlnaHQnO1xuQGltcG9ydCAnbGF6eWxvYWQnO1xuQGltcG9ydCAndmlkZW8nO1xuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBub25lO1xuXHR3aWR0aDogMTAwJTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0LyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXG5cdC5vd2wtc3RhZ2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcblx0XHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogZml4IGZpcmVmb3ggYW5pbWF0aW9uIGdsaXRjaCAqL1xuXHR9XG5cblx0Lm93bC1zdGFnZTphZnRlciB7XG5cdFx0Y29udGVudDogXCIuXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogMDtcblx0fVxuXG5cdC5vd2wtc3RhZ2Utb3V0ZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcblx0fVxuXG5cdC5vd2wtd3JhcHBlcixcblx0Lm93bC1pdGVte1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxuXG5cdC5vd2wtaXRlbSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1pbi1oZWlnaHQ6IDFweDtcblx0XHRmbG9hdDogbGVmdDtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0fVxuXHQub3dsLWl0ZW0gaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5vd2wtbmF2LmRpc2FibGVkLFxuXHQub3dsLWRvdHMuZGlzYWJsZWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiAub3dsLXByZXYsXG5cdC5vd2wtbmF2IC5vd2wtbmV4dCxcblx0Lm93bC1kb3Qge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcblx0Lm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuXHRidXR0b24ub3dsLWRvdCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZzowIWltcG9ydGFudDtcblx0XHRmb250OiBpbmhlcml0O1xuXHR9XG5cblx0Ji5vd2wtbG9hZGVkIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWxvYWRpbmcge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1oaWRkZW4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cblx0Ji5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuXHRcdHRvdWNoLWFjdGlvbjogcGFuLXk7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdCYub3dsLWdyYWIge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0XHRjdXJzb3I6IGdyYWI7XG5cdH1cblxuXHQmLm93bC1ydGwge1xuXHRcdGRpcmVjdGlvbjogcnRsO1xuXHR9XG5cblx0Ji5vd2wtcnRsIC5vd2wtaXRlbSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2Vse1xuXHQuYW5pbWF0ZWQge1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuXHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1pbiB7XG5cdFx0ei1pbmRleDogMDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLW91dCB7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXHQuZmFkZU91dCB7XG5cdFx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuXG4ub3dsLWhlaWdodCB7XG5cdHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2VsIHtcblx0Lm93bC1pdGVtIHtcblx0XHQub3dsLWxhenkge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0XHRUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3Jvbmdcblx0XHRcdGNhbGN1bGF0aW9uIG9mIHRoZSBoZWlnaHQgb2YgdGhlIG93bC1pdGVtIHRoYXQgYnJlYWtzIHBhZ2UgbGF5b3V0c1xuXHRcdCAqL1xuXHRcdC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWxhenk6bm90KFtzcmNdKSB7XG5cdFx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdGltZy5vd2wtbGF6eSB7XG5cdFx0XHR0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXHRcdH1cblx0fVxufVxuXG4iLCIkb3dsLWltYWdlLXBhdGg6IFwiXCIgIWRlZmF1bHQ7XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWx7XG5cdC5vd2wtdmlkZW8td3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNDBweDtcblx0XHRtYXJnaW4tdG9wOiAtNDBweDtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyRvd2wtaW1hZ2UtcGF0aH1vd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR6LWluZGV4OiAxO1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tdG4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1mcmFtZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCIvKipcclxuICogVG9vbHMuXHJcbiAqL1xyXG5cclxuQGltcG9ydCAnZnVuY3Rpb25zJztcclxuQGltcG9ydCAnbWFnbmlmaWMtcG9wdXAnO1xyXG5AaW1wb3J0ICdtaXhpbnMnO1xyXG4iLCIvKipcclxuICogVW5pY29kZS5cclxuICpcclxuICogUHJlc2VydmUgZXNjYXBlZCB1bmljb2RlIHN0cmluZy5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBBbiB1bmljb2RlIHN0cmluZy5cclxuICogQHJldHVybiB7U3RyaW5nfSBBIHByZXNlcnZlZCBlc2NhcGVkIHVuaWNvZGUgc3RyaW5nXHJcbiAqL1xyXG4gXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIHF1b3Rlc1xyXG5AZnVuY3Rpb24gdW5pY29kZSgkc3RyaW5nKSB7XHJcblx0QHJldHVybiB1bnF1b3RlKFwiXFwnXCIpICsgdW5xdW90ZShzdHItaW5zZXJ0KCRzdHJpbmcsICdcXFxcJywgMSkpICsgdW5xdW90ZShcIlxcJ1wiKTtcclxufVxyXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIHF1b3Rlc1xyXG5cclxuXHJcbi8qKlxyXG4gKiBSRU0uXHJcbiAqXHJcbiAqIENvbnZlcnQgcGl4ZWwgdW5pdHMgdG8gUkVNIHVuaXRzLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJHBpeGVscyAtIFBpeGVsIHZhbHVlLlxyXG4gKiBAcmV0dXJuIHsqfSAtIEEgY29udmVydGVkIGByZW1gIHVuaXQuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIHJlbSgkcGl4ZWxzKSB7XHJcblx0QGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG5cdFx0QGVycm9yICdWYWx1ZSBmb3IgYCN7JHBpeGVsc31gIHNob3VsZCBiZSBhIGBweGAgdW5pdC4nO1xyXG5cdH1cclxuXHRAcmV0dXJuICgoJHBpeGVscyAvIDEwcHgpICogMXJlbSk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ29sdW1uLlxyXG4gKlxyXG4gKiBDYWxjdWxhdGUgZ2l2ZW4gY29sdW1uIHdpZHRoLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJGNvbHVtbiAtIFRoZSBhbW91bnQgb2YgY29sdW1ucyB0byBzcGFuLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdGhhdCBjYW4gYmUgc3Bhbm5lZC5cclxuICogQHJldHVybiB7U3RyaW5nfSAtIFBlcmNlbnRhZ2UgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG5cdEByZXR1cm4gKCRjb2x1bW4gICogMTAwJSAvICRjb2x1bW5zKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDb2xvci5cclxuICpcclxuICogR2V0IGEgY29sb3IgdmFsdWUgZnJvbSB0d28gbGV2ZWxzIGRlZXAgaW4gdGhlIGAkY29sb3JgIG1hcC5cclxuICogQHBhcmFtIHskc3RyaW5nfSAka2V5IC0gS2V5IG9mIHRoZSBjb2xvciB0byBnZXQgZnJvbSB0aGUgbWFwLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgb2YgdGhlIGtleSB0byBnZXQgZnJvbSB0aGUgbWFwLlxyXG4gKiBAcmV0dXJuIHsqfSBBIEhTTEEgY29sb3IgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIGNvbG9yKCRrZXksICR2YWx1ZSkge1xyXG5cdEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICRrZXkpLCAkdmFsdWUpO1xyXG59XHJcbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIGluZGVudGF0aW9uIG5vLXF1YWxpZnlpbmctZWxlbWVudHMgc2hvcnRoYW5kLXZhbHVlcyBzaW5nbGUtbGluZS1wZXItc2VsZWN0b3IgY2xhc3MtbmFtZS1mb3JtYXQgbm8taWRzIGlkLW5hbWUtZm9ybWF0IHByb3BlcnR5LXNvcnQtb3JkZXIgbm8tY29sb3ItbGl0ZXJhbHMgaGV4LW5vdGF0aW9uIGJyYWNlLXN0eWxlIHplcm8tdW5pdCBzcGFjZS1hZnRlci1jb2xvbiBlbXB0eS1saW5lLWJldHdlZW4tYmxvY2tzXHJcblxyXG5cclxuLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXHJcbi5tZnAtYmcge1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAxMDQyO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGJhY2tncm91bmQ6ICMwYjBiMGI7XHJcblx0b3BhY2l0eTogMC44OyB9XHJcblxyXG4ubWZwLXdyYXAge1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAxMDQzO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuXHJcbi5tZnAtY29udGFpbmVyIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRsZWZ0OiAwO1xyXG5cdHRvcDogMDtcclxuXHRwYWRkaW5nOiAwIDhweDtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG4ubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxyXG5cclxuLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHtcclxuXHRkaXNwbGF5OiBub25lOyB9XHJcblxyXG4ubWZwLWNvbnRlbnQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdHotaW5kZXg6IDEwNDU7IH1cclxuXHJcbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXHJcbi5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtYWpheC1jdXIge1xyXG5cdGN1cnNvcjogcHJvZ3Jlc3M7IH1cclxuXHJcbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcclxuXHRjdXJzb3I6IC1tb3otem9vbS1vdXQ7XHJcblx0Y3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xyXG5cdGN1cnNvcjogem9vbS1vdXQ7IH1cclxuXHJcbi5tZnAtem9vbSB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xyXG5cdGN1cnNvcjogLW1vei16b29tLWluO1xyXG5cdGN1cnNvcjogem9vbS1pbjsgfVxyXG5cclxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xyXG5cdGN1cnNvcjogYXV0bzsgfVxyXG5cclxuLm1mcC1jbG9zZSxcclxuLm1mcC1hcnJvdyxcclxuLm1mcC1wcmVsb2FkZXIsXHJcbi5tZnAtY291bnRlciB7XHJcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG5cdHVzZXItc2VsZWN0OiBub25lOyB9XHJcblxyXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XHJcblx0ZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLm1mcC1oaWRlIHtcclxuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5tZnAtcHJlbG9hZGVyIHtcclxuXHRjb2xvcjogI0NDQztcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiA1MCU7XHJcblx0d2lkdGg6IGF1dG87XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdG1hcmdpbi10b3A6IC0wLjhlbTtcclxuXHRsZWZ0OiA4cHg7XHJcblx0cmlnaHQ6IDhweDtcclxuXHR6LWluZGV4OiAxMDQ0OyB9XHJcblx0Lm1mcC1wcmVsb2FkZXIgYSB7XHJcblx0XHRjb2xvcjogI0NDQzsgfVxyXG5cdFx0Lm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAjRkZGOyB9XHJcblxyXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xyXG5cdGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbmJ1dHRvbi5tZnAtY2xvc2UsXHJcbmJ1dHRvbi5tZnAtYXJyb3cge1xyXG5cdG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IDA7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHR6LWluZGV4OiAxMDQ2O1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IDA7IH1cclxuXHJcbi5tZnAtY2xvc2Uge1xyXG5cdHdpZHRoOiA0NHB4O1xyXG5cdGhlaWdodDogNDRweDtcclxuXHRsaW5lLWhlaWdodDogNDRweDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0cmlnaHQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0b3BhY2l0eTogMC42NTtcclxuXHRwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xyXG5cdGNvbG9yOiAjRkZGO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LXNpemU6IDI4cHg7XHJcblx0Zm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlOyB9XHJcblx0Lm1mcC1jbG9zZTpob3ZlcixcclxuXHQubWZwLWNsb3NlOmZvY3VzIHtcclxuXHRcdG9wYWNpdHk6IDE7IH1cclxuXHQubWZwLWNsb3NlOmFjdGl2ZSB7XHJcblx0XHR0b3A6IDFweDsgfVxyXG5cclxuLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7XHJcblx0Y29sb3I6ICMzMzM7IH1cclxuXHJcbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UsXHJcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcclxuXHRjb2xvcjogI0ZGRjtcclxuXHRyaWdodDogLTZweDtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRwYWRkaW5nLXJpZ2h0OiA2cHg7XHJcblx0d2lkdGg6IDEwMCU7IH1cclxuXHJcbi5tZnAtY291bnRlciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRyaWdodDogMDtcclxuXHRjb2xvcjogI0NDQztcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0bGluZS1oZWlnaHQ6IDE4cHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxyXG5cclxuLm1mcC1hcnJvdyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdG9wYWNpdHk6IDAuNjU7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHRvcDogNTAlO1xyXG5cdG1hcmdpbi10b3A6IC01NXB4O1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0d2lkdGg6IDkwcHg7XHJcblx0aGVpZ2h0OiAxMTBweDtcclxuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcblx0Lm1mcC1hcnJvdzphY3RpdmUge1xyXG5cdFx0bWFyZ2luLXRvcDogLTU0cHg7IH1cclxuXHQubWZwLWFycm93OmhvdmVyLFxyXG5cdC5tZnAtYXJyb3c6Zm9jdXMge1xyXG5cdFx0b3BhY2l0eTogMTsgfVxyXG5cdC5tZnAtYXJyb3c6YmVmb3JlLFxyXG5cdC5tZnAtYXJyb3c6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAwO1xyXG5cdFx0aGVpZ2h0OiAwO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHRvcDogMDtcclxuXHRcdG1hcmdpbi10b3A6IDM1cHg7XHJcblx0XHRtYXJnaW4tbGVmdDogMzVweDtcclxuXHRcdGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50OyB9XHJcblx0Lm1mcC1hcnJvdzphZnRlciB7XHJcblx0XHRib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcclxuXHRcdHRvcDogOHB4OyB9XHJcblx0Lm1mcC1hcnJvdzpiZWZvcmUge1xyXG5cdFx0Ym9yZGVyLXRvcC13aWR0aDogMjFweDtcclxuXHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XHJcblx0XHRvcGFjaXR5OiAwLjc7IH1cclxuXHJcbi5tZnAtYXJyb3ctbGVmdCB7XHJcblx0bGVmdDogMDsgfVxyXG5cdC5tZnAtYXJyb3ctbGVmdDphZnRlciB7XHJcblx0XHRib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0ZGRjtcclxuXHRcdG1hcmdpbi1sZWZ0OiAzMXB4OyB9XHJcblx0Lm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7XHJcblx0XHRtYXJnaW4tbGVmdDogMjVweDtcclxuXHRcdGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XHJcblxyXG4ubWZwLWFycm93LXJpZ2h0IHtcclxuXHRyaWdodDogMDsgfVxyXG5cdC5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjtcclxuXHRcdG1hcmdpbi1sZWZ0OiAzOXB4OyB9XHJcblx0Lm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxyXG5cclxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcclxuXHRwYWRkaW5nLXRvcDogNDBweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxyXG5cdC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xyXG5cdFx0bGluZS1oZWlnaHQ6IDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1heC13aWR0aDogOTAwcHg7IH1cclxuXHQubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcblx0XHR0b3A6IC00MHB4OyB9XHJcblxyXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cclxuXHQubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XHJcblx0XHRiYWNrZ3JvdW5kOiAjMDAwOyB9XHJcblxyXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXHJcbmltZy5tZnAtaW1nIHtcclxuXHR3aWR0aDogYXV0bztcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGxpbmUtaGVpZ2h0OiAwO1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0cGFkZGluZzogNDBweCAwIDQwcHg7XHJcblx0bWFyZ2luOiAwIGF1dG87IH1cclxuXHJcbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xyXG4ubWZwLWZpZ3VyZSB7XHJcblx0bGluZS1oZWlnaHQ6IDA7IH1cclxuXHQubWZwLWZpZ3VyZTphZnRlciB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR0b3A6IDQwcHg7XHJcblx0XHRib3R0b206IDQwcHg7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHR6LWluZGV4OiAtMTtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG5cdFx0YmFja2dyb3VuZDogIzQ0NDsgfVxyXG5cdC5tZnAtZmlndXJlIHNtYWxsIHtcclxuXHRcdGNvbG9yOiAjQkRCREJEO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRmb250LXNpemU6IDEycHg7XHJcblx0XHRsaW5lLWhlaWdodDogMTRweDsgfVxyXG5cdC5tZnAtZmlndXJlIGZpZ3VyZSB7XHJcblx0XHRtYXJnaW46IDA7IH1cclxuXHJcbi5tZnAtYm90dG9tLWJhciB7XHJcblx0bWFyZ2luLXRvcDogLTM2cHg7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMTAwJTtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGN1cnNvcjogYXV0bzsgfVxyXG5cclxuLm1mcC10aXRsZSB7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRsaW5lLWhlaWdodDogMThweDtcclxuXHRjb2xvcjogI0YzRjNGMztcclxuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcblx0cGFkZGluZy1yaWdodDogMzZweDsgfVxyXG5cclxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7IH1cclxuXHJcbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XHJcblx0Y3Vyc29yOiBwb2ludGVyOyB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcclxuXHQvKipcclxuXHRcdFx0ICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxyXG5cdFx0XHQgKi9cclxuXHQubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0cGFkZGluZy1yaWdodDogMDsgfVxyXG5cdC5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZyB7XHJcblx0XHRwYWRkaW5nOiAwOyB9XHJcblx0Lm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcclxuXHRcdHRvcDogMDtcclxuXHRcdGJvdHRvbTogMDsgfVxyXG5cdC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHRtYXJnaW4tbGVmdDogNXB4OyB9XHJcblx0Lm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHR0b3A6IGF1dG87XHJcblx0XHRwYWRkaW5nOiAzcHggNXB4O1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cdFx0Lm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eSB7XHJcblx0XHRcdHBhZGRpbmc6IDA7IH1cclxuXHQubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHtcclxuXHRcdHJpZ2h0OiA1cHg7XHJcblx0XHR0b3A6IDNweDsgfVxyXG5cdC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcclxuXHRcdHRvcDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0d2lkdGg6IDM1cHg7XHJcblx0XHRoZWlnaHQ6IDM1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMzVweDtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDA7IH0gfVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcclxuXHQubWZwLWFycm93IHtcclxuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cclxuXHQubWZwLWFycm93LWxlZnQge1xyXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xyXG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogMDsgfVxyXG5cdC5tZnAtYXJyb3ctcmlnaHQge1xyXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xyXG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxyXG5cdC5tZnAtY29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmctbGVmdDogNnB4O1xyXG5cdFx0cGFkZGluZy1yaWdodDogNnB4OyB9IH1cclxuXHJcbi8vIHNhc3MtbGludDplbmFibGUgaW5kZW50YXRpb24gbm8tcXVhbGlmeWluZy1lbGVtZW50cyBzaG9ydGhhbmQtdmFsdWVzIHNpbmdsZS1saW5lLXBlci1zZWxlY3RvciBjbGFzcy1uYW1lLWZvcm1hdCBuby1pZHMgaWQtbmFtZS1mb3JtYXQgcHJvcGVydHktc29ydC1vcmRlciBuby1jb2xvci1saXRlcmFscyBoZXgtbm90YXRpb24gYnJhY2Utc3R5bGUgemVyby11bml0IHNwYWNlLWFmdGVyLWNvbG9uIGVtcHR5LWxpbmUtYmV0d2Vlbi1ibG9ja3NcclxuIiwiLyoqXHJcbiAqIENvbnRhaW5lclxyXG4gKiBcclxuICogQ2VudGVyIGFsaWducyBlbGVtZW50IHdpdGggZ2l2ZW4gbWF4aW11bSB3aWR0aCwgcGFkZGluZywgYW5kIG1hcmdpbnMgdG9wIGFuZCBib3R0b20uXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGdhcCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIGNvbnRhaW5lcigxMDI0cHgsIDIwcHgpO1xyXG4gKi9cclxuXHJcbkBtaXhpbiBjb250YWluZXIoJHdpZHRoOiAkZ3JpZC13aWR0aCwgJGdhcDogJGdyaWQtZ2FwKSB7XHJcblx0QGlmICh0eXBlLW9mKCR3aWR0aCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRnYXApID09IG51bWJlcikge1xyXG5cdFx0QGlmICgkZ2FwICE9IDApIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKCN7JHdpZHRofSArICN7KCRnYXAgKiAyKX0pO1xyXG5cdFx0XHRwYWRkaW5nOiAwICRnYXA7XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAkd2lkdGg7XHJcblx0XHR9XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdBcmd1bWVudHMgYCR3aWR0aGAgYW5kIGAkZ2FwYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTZWN0aW9uXHJcbiAqXHJcbiAqIEFkZCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIHRvIGVsZW1lbnQgdXNpbmcgcGFkZGluZ3MuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkdG9wIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRib3R0b20gLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBzZWN0aW9uKDEwMHB4LCAxMDBweCk7XHJcbiAqLyBcclxuXHJcbkBtaXhpbiBzZWN0aW9uKCR0b3A6IDAsICRib3R0b206IDApIHtcclxuXHRAaWYgKHR5cGUtb2YoJHRvcCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRib3R0b20pID09IG51bWJlcikge1xyXG5cdFx0cGFkZGluZzogJHRvcCAwICRib3R0b207XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ0FyZ3VtZW50cyBgJHRvcGAgYW5kIGBib3R0b21gIHNob3VsZCBiZSBhIG51bWJlcic7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQuXHJcbiAqXHJcbiAqIEFkZHMgYHJlbWAgdW5pdCBiYXNlZCBmb250IHNpemUgcHJvcGVydHksIGEgZmFsbGJhY2sgYHB4YCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYW5kIGEgYGVtYCB1bml0IGJhc2VkIGxpbmUgaGVpZ2h0IHByb3BlcnR5IHRvIGFueSBydWxlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGZvbnQtc2l6ZSAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkbGluZS1oZWlnaHQgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBmb250LXNpemUoMTZweCwgMjRweCk7XHJcbiAqL1xyXG5cclxuQG1peGluIGZvbnQoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XHJcblx0QGlmICh0eXBlLW9mKCRmb250LXNpemUpID09IG51bWJlciBhbmQgdW5pdCgkZm9udC1zaXplKSA9PSAncHgnKSB7XHJcblx0XHRmb250LXNpemU6ICRmb250LXNpemU7XHJcblx0XHRmb250LXNpemU6IHJlbSgkZm9udC1zaXplKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdWYWx1ZSBmb3IgYCN7JGZvbnQtc2l6ZX1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XHJcblx0fVxyXG5cdEBpZiAodHlwZS1vZigkbGluZS1oZWlnaHQpID09IG51bWJlciBhbmQgdW5pdCgkbGluZS1oZWlnaHQpID09ICdweCcpIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAoKCRsaW5lLWhlaWdodCAvICRmb250LXNpemUpICogMWVtKTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnVmFsdWUgZm9yIGAjeyRsaW5lLWhlaWdodH1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQuXHJcbiAqXHJcbiAqIFNob3J0aGFuZCBmb3IgdGhlIGZvbnQgbWl4aW4sIHJ1bnMgdGhlIGZvbnQgbWl4aW4gYmFzZWQgb24gYSBjb21tb24gZGVtZWFub3VyIGV4aXN0aW5nIGJvdGggaW4gdGhlIGAkZm9udC1zaXplYCBhbmQgdGhlIGAkbGluZS1oZWlnaHRgIG1hcHMuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFsdWUgLSBTdHJpbmdcclxuICogQGV4YW1wbGUgQGluY2x1ZGUgdGV4dCgncCcpO1xyXG4gKi8gXHJcblxyXG5AbWl4aW4gdGV4dCgkdmFsdWUpIHtcclxuXHRAaWYgKHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQobWFwLWdldCgkZm9udC1zaXplLCAkdmFsdWUpLCBtYXAtZ2V0KCRsaW5lLWhlaWdodCwgJHZhbHVlKSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ1ZhbHVlIHNob3VsZCBiZSBhIHN0cmluZyc7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQgQXdlc29tZS5cclxuICpcclxuICogQWRkIEZvbnQgQXdlc29tZSBpY29ucyBhcyBwc3VlZG8gZWxlbWVudHMgYnkgdXNpbmcgdGhlaXIgdW5pY29kZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRjb250ZW50IC0gVW5pY29kZSBzdHJpbmcuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkZmFtaWx5IC0gRm9udCBBd2Vzb21lIGZvbnQgZmFtaWx5IHN0cmluZy5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgZm9udGF3ZXNvbWUoJ2YxMDAnLCAnTGlnaHQnKTtcclxuICovXHJcblxyXG5AbWl4aW4gZm9udGF3ZXNvbWUoJGNvbnRlbnQsICRmYW1pbHkpIHtcclxuXHRAaWYgKHR5cGUtb2YoJGZhbWlseSkgPT0gc3RyaW5nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSAjeyRmYW1pbHl9JztcclxuXHRcdGNvbnRlbnQ6IHVuaWNvZGUoJGNvbnRlbnQpO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdBcmd1bWVudCBgJGZhbWlseWAgc2hvdWxkIGJlIGEgc3RyaW5nJztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTWVkaWEuXHJcbiAqXHJcbiAqIE1lZGlhIHF1ZXJpZXMgYWNjb3JkaW5nIHRvIFwiVGhlIDEwMCUgQ29ycmVjdCBXYXkgVG8gRG8gQ1NTIEJyZWFrcG9pbnRzXCIgKGh0dHBzOi8vbWVkaXVtLmZyZWVjb2RlY2FtcC5jb20vdGhlLTEwMC1jb3JyZWN0LXdheS10by1kby1jc3MtYnJlYWtwb2ludHMtODhkNmE1YmExODYyKS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gQnJlYWtwb2ludCBwaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7fVxyXG4gKi8gXHJcbiBcclxuQG1peGluIG1lZGlhKCRzaXplKSB7XHJcblx0QGlmICgkc2l6ZSA9PSAnZGVza3RvcCcpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogOTAwcHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogOTAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDg5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiA4OTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0Jykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3Bob25lJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDU5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGNvbnRlbnQ7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBSZW1vdmUgbWFyZ2luIGFuZCBwYWRkaW5nIGZyb20gZXZlcnkgc2VsZWN0b3IgaW5jbHVkaW5nIHRoZWlyXHJcbiAqIHBzdWVkbyBzZWxlY3RvcnMuXHJcbiAqXHJcbiAqIDEuIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3ggc2l6aW5nLlxyXG4gKiAgICAoY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlKS5cclxuICovXHJcblxyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3gtc2l6aW5nOiBpbmhlcml0OyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2V0IGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgdG8gbWF4aXVtIHZpZXdwb3J0IGhlaWdodC5cclxuICpcclxuICogMS4gU2V0IHJvb3QgZm9udCBzaXplIHRvIDEwLlxyXG4gKi9cclxuXHJcbmh0bWwge1xyXG5cdGhlaWdodDogMTAwdmg7XHJcblx0Zm9udC1zaXplOiA2Mi41JTsgLyogMSAqL1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2V0IG1pbmltYWwgaGVpZ2h0IG9mIHRoZSBib2R5IHRvIG1heGltdW0gdmlld3BvcnQgaGVpZ2h0IHRvXHJcbiAqIG1hdGNoIHRoZSBkb2N1bWVudCdzIGhlaWdodC5cclxuICpcclxuICogMS4gRmlyZWZveCAyNSsuXHJcbiAqIDIuIENocm9tZSA1Ky5cclxuICovXHJcblxyXG5ib2R5IHtcclxuXHRAaW5jbHVkZSB0ZXh0KCRib2R5LXRleHQpO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQtY29sb3I7XHJcblx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0dGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvKiAxICovXHJcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8qIDIgKi9cclxufVxyXG4iLCIvKipcclxuICogQ3VzdG9tIHVzZXIgYWdlbnQgcmVzZXRzIGFuZCBvdmVycmlkZXMgdGhhdCBhcmUgbm90IHByZXNlbnQgaW5cclxuICogTm9ybWFsaXplIDguMC4wLiBUaGlzIG1vc3RseSByZW1vdmVzIHNvbWUgYW5ub3lpbmcgbWFyZ2luIGFuZCBwYWRkaW5nXHJcbiAqIGRlZmF1bHRzLCBib3JkZXIgcmFkaXVzLCBhbmQgb3V0bGluZXMuXHJcbiAqL1xyXG5cclxuYSB7XHJcblx0Y29sb3I6IGluaGVyaXQ7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSBib3JkZXIgcmFkaXVzIG9uIENocm9tZSA2Mi4wKyBvbiBtYWNPUy5cclxuICovXHJcblxyXG5idXR0b24ge1xyXG5cdGJvcmRlcjogMDtcclxuXHRib3JkZXItcmFkaXVzOiAwOyAvKiAxICovXHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuZmllbGRzZXQge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGJvcmRlcjogMDtcclxufVxyXG5cclxuZmlndXJlIHtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHRmb250LXdlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuaHIge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB3aGl0ZSBzcGFjZS5cclxuICovXHJcblxyXG5pbWcge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSBpbmhlcml0ZWQgdXNlciBhZ2VudCBhcHBlYXJhbmNlLlxyXG4gKi9cclxuXHJcbmlucHV0LFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRhcHBlYXJhbmNlOiBub25lOyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gT25seSBhbGxvdyB2ZXJ0aWNhbCByZXNpemluZyB0byBwcmV2ZW50IHRoZSB0ZXh0YXJlYVxyXG4gKiAgICBmcm9tIG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIuXHJcbiAqL1xyXG5cclxudGV4dGFyZWEge1xyXG5cdHJlc2l6ZTogdmVydGljYWw7XHJcbn1cclxuXHJcbnVsLFxyXG5vbCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG59XHJcblxyXG5wIHtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gQ29sbGFwc2UgYm9yZGVycyB0byBwcmV2ZW50IGRvdWJsZSBzaWRlZCBib3JkZXJzLlxyXG4gKi9cclxuXHJcbnRhYmxlIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMSAqL1xyXG59XHJcblxyXG5zdHJvbmcge1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuIiwiZi8qKlxyXG4gKiBCdXR0b24uXHJcbiAqL1xyXG5cclxuJWJ1dHRvbixcclxuLmJ1dHRvbiB7XHJcblx0QGluY2x1ZGUgZm9udCgxNnB4LCAyNHB4KTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDhweCA5cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHJcblx0c3ZnIHtcclxuXHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0aGVpZ2h0OiAyMnB4O1xyXG5cdH1cclxuXHJcblx0Ji5oYXMtc3ZnLXJpZ2h0IHtcclxuXHRcdHN2ZyB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5oYXMtc3ZnLWxlZnQge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEJ1dHRvbiAoZGVmYXVsdCkuXHJcbiAqL1xyXG5cclxuJWJ1dHRvbi0tZGVmYXVsdCxcclxuLmJ1dHRvbi0tZGVmYXVsdCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDA7XHJcblx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC03MDtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiAqIExpbmsgKGRlZmF1bHQpLlxyXG4gKi9cclxuXHJcbi5saW5rIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAxOHB4KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGZvbnQoMThweCwgMjJweCk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0cGFkZGluZy1yaWdodDogNDVweDtcclxuXHJcblx0Ji5oYXMtc3ZnLXJpZ2h0IHtcclxuXHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0d2lkdGg6IDI4cHg7XHJcblx0XHRcdGhlaWdodDogMjhweDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkYmxhY2stNTA7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHJpZ2h0OiAtMTdweDtcclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRyaWdodDogLTVweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c3ZnIHtcclxuXHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0aGVpZ2h0OiAyMnB4O1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRyaWdodDogMDtcclxuXHR9XHJcbn0iLCIvKipcclxuICogRXZlcnkgY29uY2VpdmFibGUgSFRNTCBlbGVtZW50IHdpdGhpbiBhIGAuY21zLW91dHB1dGAgd3JhcHBlci5cclxuICpcclxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cclxuICovXHJcblxyXG4uY21zLW91dHB1dCB7XHJcblx0cCB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE2cHgsIDIycHgpO1xyXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aDIsXHJcblx0aDMsXHJcblx0aDQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHR9XHJcblxyXG5cdGg1IHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0fVxyXG5cclxuXHQuaXMtaW50cm8ge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDE2cHgsIDIycHgpO1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGZvbnQoMjRweCwgMzRweCk7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdH1cclxuXHJcblx0aW1nIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDE0OHB4KTtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogLTUwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5hbGlnbmNlbnRlciB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdH1cclxuXHJcblx0XHQmLmFsaWducmlnaHQge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwIDAgMCBhdXRvO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dGFibGUge1xyXG5cdFx0d29yZC1icmVhazogYnJlYWstd29yZDtcclxuXHJcblx0XHR0ZCB7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR1bCxcclxuXHRvbCB7XHJcblx0XHRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcblx0XHRtYXJnaW4tbGVmdDogMjBweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDFlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0fVxyXG5cclxuXHR1bCB7XHJcblx0XHRsaSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cclxuXHRcdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiA0cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdGxlZnQ6IC0zMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAxMHB4O1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6Om1hcmtlciB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b2wge1xyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xyXG5cdH1cclxuXHJcblx0c3Ryb25nIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkcmVkLTEwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE2cHgsIDIzcHgpO1xyXG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0bWFyZ2luOiA1MHB4IGF1dG87XHJcblx0XHRwYWRkaW5nOiAyMHB4IDcwcHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxMDBweCwgMjBweCk7XHJcblx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRcdFx0Y29udGVudDogXCLigJjigJlcIjtcclxuXHRcdFx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICdSdWZpbmEnO1xyXG5cdFx0XHRsZWZ0OiAxMHB4O1xyXG5cdFx0XHR0b3A6IDM2cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDEwMHB4LCAyMHB4KTtcclxuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0XHRjb250ZW50OiBcIuKAmOKAmVwiO1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICdSdWZpbmEnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRib3R0b206IC0yN3B4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LndwLWNhcHRpb24ge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC53cC1jYXB0aW9uLXRleHQge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDE2cHgsIDIwcHgpO1xyXG5cdFx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjQ0cHg7XHJcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBUaGUgY29udGFpbmVyIG9iamVjdCBjZW50ZXJzIGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50LlxyXG4gKi9cclxuXHJcbi5jb250YWluZXIge1xyXG5cdEBpbmNsdWRlIGNvbnRhaW5lcjtcclxufVxyXG4iLCIvKipcclxuICogVGhlIGNvbnRlbnQgY29uc3RyYWludCBpcyBhIGNvbnN0cmFpbnQgZm9yIGFsbCB0aGUgY29udGVudCB3aXRoaW5cclxuICogdGhlIGRvY3VtZW50LiBJdCBjYW4gYmUgbWFuaXB1bGF0ZWQgYnkgQ1NTIG9yIEphdmFTY3JpcHQgd2l0aG91dFxyXG4gKiBpbmZsdWVuY2luZyB0aGUgYm9keS5cclxuICovXHJcblxyXG4uY29udGVudC1jb25zdHJhaW50IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0bWFyZ2luLXRvcDogOTBweDtcclxufVxyXG4iLCIvKipcclxuICogRXhhbXBsZSBvZiBhIGZsZXggYmFzZWQgY29sdW1uIGdyaWQgbGF5b3V0IGluIHByYWN0aWNlOlxyXG4gKlxyXG4gKiA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiA8L2Rpdj5cclxuICpcclxuICogVGhpcyBleGFtcGxlIHdpbGwgY3JlYXRlIGEgcm93IHdpdGggdHdvIGNvbHVtbnMgZWFjaCBmaWxsaW5nIGhhbGYgdGhlIHdpZHRoXHJcbiAqIG9mIHRoZSByb3cgb24gYWxsIG1lZGlhLCBidXQgd2lsbCBjb252ZXJ0IHRvIGEgZnVsbCB3aWR0aCBjb2x1bW4gb24gdGhlXHJcbiAqIHNtYWxsIGAtc21gIGJyZWFrcG9pbnQgYWxpYXMsIHdoaWNoIGlzIG1vYmlsZSBvbmx5LiBSZWZlciB0b1xyXG4gKiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgIGZvciBhbGwgYnJlYWtwb2ludCBhbGlhcy5cclxuICovXHJcblxyXG4vKipcclxuICogRmxleCBvYmplY3QuXHJcbiAqXHJcbiAqIFRpcDogVXNlIGZsZXggb24gYSBjb2x1bW4gdG8gbWFrZSB0aGUgYm94IHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5mbGV4IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uZmxleC13cmFwIHtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRmxleCBvYmplY3Qgd2l0aCBhIGNvbHVtbiBiYXNlZCBsYXlvdXQgc3lzdGVtLlxyXG4gKi9cclxuXHJcbi5yb3cge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleDogMCAxIGF1dG87XHJcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcclxuXHRtYXJnaW46IDAgLSN7KCRncmlkLWdhcC8yKX07XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQm94LCB0aGUgaW5zaWRlIG9mIGEgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5ib3gge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcblxyXG4vLyBMb29wIHRocm91Z2ggYWxsIHRoZSBrZXlzIGluIHRoZSBgJGJyZWFrcG9pbnRzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpblxyXG4vLyBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHJcblx0Ly8gQ3JlYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGV2ZXJ5IGtleSBpbiBgJGJyZWFrcG9pbnRzYC5cclxuXHRAaW5jbHVkZSBtZWRpYSgkdmFsdWUpIHtcclxuXHJcblx0XHQvLyBJdGVyYXRlIGZyb20gMSB0aHJvdWdoIHRoZSBhbW91bnQgb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnlcclxuXHRcdC8vIGAkZ3JpZC1jb2x1bW5zYCBpbiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBDb2x1bW4gI3skaX0gZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuY29sLSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdGZsZXg6IDAgMSBhdXRvO1xyXG5cdFx0XHRcdHdpZHRoOiBjb2x1bW4oJGkpO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgKCRncmlkLWdhcC8yKTtcclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdC8vIE91dHB1dCBhbiBvZmZzZXQgdXRpbGl0eSBjbGFzcyBpZiB0aGUgaXRlcmF0b3IgaXMgbGVzcyB0aGFuIHRoZSBhbW91bnRcclxuXHRcdFx0Ly8gb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnkgYCRncmlkLWNvbHVtbnNgIGluXHJcblx0XHRcdC8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcblx0XHRcdEBpZiAoJGkgPCAkZ3JpZC1jb2x1bW5zKSB7XHJcblxyXG5cdFx0XHRcdC8qKlxyXG5cdFx0XHRcdCAqIE9mZnNldCAjeyRpfSBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0XHRcdCAqL1xyXG5cclxuXHRcdFx0XHQub2Zmc2V0LSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigkaSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGFsaWduLWl0ZW1zYCBwcm9wZXJ0eS5cclxuXHRcdEBlYWNoICR2YWx1ZSBpbiBzdHJldGNoLCBjZW50ZXIsIGZsZXgtc3RhcnQsIGZsZXgtZW5kLCBiYXNlbGluZSB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogQWxpZ24gYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0LmFsaWduLSN7JGtleX0tI3skdmFsdWV9IHtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogJHZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGp1c3RpZnktY29udGVudGAgcHJvcGVydHkuXHJcblx0XHRAZWFjaCAkdmFsdWUgaW4gc3RhcnQsIGNlbnRlciwgc3BhY2UtYmV0d2Vlbiwgc3BhY2UtYXJvdW5kLCBzcGFjZS1ldmVubHkge1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIEp1c3RpZnkgYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0Lmp1c3RpZnktI3ska2V5fS0jeyR2YWx1ZX0ge1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBldmVyeSBkaXJlY3Rpb24gZnJvbSBsZWZ0IHRvIHJpZ2h0LlxyXG5cdFx0QGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogQmxlZWQgI3skZGlyZWN0aW9ufSBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuYmxlZWQtI3ska2V5fS0jeyRkaXJlY3Rpb259IHtcclxuXHRcdFx0XHRwYWRkaW5nLSN7JGRpcmVjdGlvbn06IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LyoqXHJcblx0XHQgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0ICovXHJcblxyXG5cdFx0LmZpcnN0LSN7JGtleX0ge1xyXG5cdFx0XHRvcmRlcjogLTE7XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8qKlxyXG5cdFx0ICogT3JkZXIgbGFzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0ICovXHJcblxyXG5cdFx0Lmxhc3QtI3ska2V5fSB7XHJcblx0XHRcdG9yZGVyOiAxO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvKipcclxuXHRcdCAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuXHRcdCAqL1xyXG5cclxuXHRcdC5yZXZlcnNlLSN7JGtleX0ge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBEZWZhdWx0IGZpZWxkcy5cclxuICovXHJcblxyXG5sYWJlbCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG59XHJcblxyXG4laW5wdXQsXHJcbnNlbGVjdCxcclxuaW5wdXQsXHJcbnRleHRhcmVhIHtcclxuXHRAaW5jbHVkZSBmb250KDE2cHgsIDIzcHgpO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRwYWRkaW5nOiAxMXB4IDE1cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRibGFjay0xMDA7XHJcblx0Y29sb3I6ICRibGFjay0xMDA7XHJcblxyXG5cdCY6Zm9jdXMge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuXHRoZWlnaHQ6IDE2MHB4O1xyXG5cdG1heC1oZWlnaHQ6IDE2MHB4O1xyXG5cdHBhZGRpbmctdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uZ2ZpZWxkX3JlcXVpcmVkIHtcclxuXHRAaW5jbHVkZSBmb250KDEzcHgsIDIwcHgpO1xyXG5cdGNvbG9yOiAkcmVkLTEwMDtcclxufVxyXG5cclxuLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkYmxhY2stMTAwO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAxNHB4O1xyXG5cdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHR3aWR0aDogOXB4O1xyXG5cdFx0aGVpZ2h0OiAxM3B4O1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcblxyXG5cdHNlbGVjdCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlICsgNTBweCk7XHJcblx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0XHRtYXJnaW46IC0ycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0fVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdyYWRpbyddLFxyXG5pbnB1dFt0eXBlPSdjaGVja2JveCddIHtcclxuXHR3aWR0aDogMTVweDtcclxuXHRoZWlnaHQ6IDE1cHg7XHJcblx0Ym9yZGVyOiAycHggc29saWQgJGJsYWNrLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0JjpjaGVja2VkIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0fVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdyYWRpbyddIHtcclxuXHRib3JkZXItcmFkaXVzOiAyMHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEdyYXZpdHkgRm9ybXMuXHJcbiAqL1xyXG5cclxuLmdmaWVsZCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYyg1MCUgLSAzN3B4KTtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uaGlkZGVuX2xhYmVsID4gbGFiZWwge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMjNweCk7XHJcblx0bWFyZ2luLXRvcDogNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRwYWRkaW5nOiAxMHB4IDEwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGNvbG9yOiAkcmVkLTEwMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAtNXB4O1xyXG5cdHJpZ2h0OiAwO1xyXG5cclxuXHQ+IHN2ZyB7XHJcblx0XHR3aWR0aDogMTZweDtcclxuXHRcdGhlaWdodDogMTZweDtcclxuXHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0bWFyZ2luLXRvcDogLTJweDtcclxuXHR9XHJcbn1cclxuXHJcbi5nZmllbGRfZXJyb3Ige1xyXG5cdGlucHV0LCB0ZXh0YXJlYSB7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkcmVkLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcbiV2YWxpZGF0aW9uX2Vycm9yLFxyXG4udmFsaWRhdGlvbl9lcnJvciB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luOiAwIDAgNTBweDtcclxuXHRwYWRkaW5nOiAyNXB4IDI1cHggMjVweCA3NXB4O1xyXG5cdGJhY2tncm91bmQ6ICRyZWQtMTA7XHJcblx0Y29sb3I6ICRyZWQtMTAwO1xyXG5cclxuXHQ+IHN2ZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IGNhbGMoNTAlIC0gMTVweCk7XHJcblx0XHRsZWZ0OiAzMHB4O1xyXG5cdFx0d2lkdGg6IDMxcHg7XHJcblx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0fVxyXG5cclxuXHQuY2xvc2UtYnV0dG9uIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogNXB4O1xyXG5cdFx0cmlnaHQ6IDVweDtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHR3aWR0aDogMTZweDtcclxuXHRcdFx0aGVpZ2h0OiAxNnB4O1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogNTBweDtcclxuXHRiYWNrZ3JvdW5kOiAkcmVkLTEwMDtcclxuXHJcblx0YnIge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdGg0IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHR3aWR0aDogMjhweDtcclxuXHRcdFx0aGVpZ2h0OiAyOHB4O1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdHBhZGRpbmc6IDVweDtcclxuXHRcdFx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZ2Zvcm1fZmllbGRzIHtcclxuIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHQgbWFyZ2luOiAwO1xyXG5cdCBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHQgZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHQgaGVpZ2h0OiAxMDAlO1xyXG4gfVxyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMjAwcHg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luOiAwIC0xOHB4O1xyXG59XHJcblxyXG4uZ2Zvcm1fZm9vdGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5nZmllbGRfbGFiZWwge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTZweCwgMjJweCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufSIsIi8qKlxyXG4gKiBIZWFkaW5nLlxyXG4gKi9cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG4laGVhZGluZyB7XHJcblx0Zm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnaGVhZGluZycpO1xyXG5cdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cclxuXHQmLmlzLXdoaXRlIHtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgMS5cclxuICovXHJcblxyXG5oMSxcclxuLmhlYWRpbmctMSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgzMnB4LCA0MHB4KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGZvbnQoNjhweCwgODhweCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgMi5cclxuICovXHJcblxyXG5oMixcclxuJWhlYWRpbmctMixcclxuLmhlYWRpbmctMiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgyMnB4LCAyNnB4KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGZvbnQoNDRweCwgNTJweCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFN1YmhlYWRpbmcuXHJcbiAqL1xyXG5cclxuLnN1YmhlYWRpbmcge1xyXG5cdEBpbmNsdWRlIGZvbnQoMjRweCwgMzRweCk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHQmLmlzLXdoaXRlIHtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxufVxyXG4iLCIuaGFzLWxhenktbG9hZCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHRvcDogLTE1MHB4O1xyXG5cdHRyYW5zaXRpb246IGFsbCA3NTBtcyBlYXNlO1xyXG5cdHRyYW5zaXRpb24tZGVsYXk6IDUwMG1zO1xyXG5cdG9wYWNpdHk6IDA7XHJcblxyXG5cdCYuaGVhZGVyIHtcclxuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDc1MG1zO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0fVxyXG59XHJcblxyXG4uaGFzLWxhenktbG9hZFtsb2FkZWQ9J3RydWUnXSB7XHJcblx0dG9wOiAwO1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuIiwiLnBhZ2luYXRpb24ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAwcHg7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5wYWdlLW51bWJlcnMge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNnB4LCAyMnB4KTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nOiA4cHggMTFweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0Y29sb3I6ICRibGFjay01MDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGJsYWNrLTUwO1xyXG5cclxuXHRcdCY6aG92ZXIsXHJcblx0XHQmLmN1cnJlbnQge1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDA7XHJcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRyZWQtMTAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYucHJldixcclxuXHRcdCYubmV4dCB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTVweDtcclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHR3aWR0aDogMjdweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDIycHg7XHJcblx0XHRcdFx0Y29sb3I6ICRibGFjay01MDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ji5kb3RzIHtcclxuXHRcdFx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkYmxhY2stNTA7XHJcblx0XHRcdFx0XHR9XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLmRvdHMge1xyXG5cdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2stNTA7XHJcblx0XHRcdFxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRzdmcge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRibGFjay01MDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLm5leHQge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ubmF2LWxpbmtzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufSIsIi8qKlxyXG4gKiBXcmFwcGVyIChkZWZhdWx0KVxyXG4gKi9cclxuXHJcbi53cmFwcGVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBjb250YWluZXIoMTI0MHB4LCAzMnB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDEyNDBweCwgMTBweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBjb250YWluZXIoMTI0MHB4LCAzMnB4KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFdyYXBwZXIgKHNtYWxsKVxyXG4gKi9cclxuXHJcbi53cmFwcGVyLS1zbWFsbCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDkyOHB4LCAzMnB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDkyOHB4LCAxMHB4KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGNvbnRhaW5lcig5MjhweCwgMzJweCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBXcmFwcGVyIChtZWdhKVxyXG4gKi9cclxuXHJcbi53cmFwcGVyLS1tZWdhIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRwYWRkaW5nOiAwIDEwcHg7XHJcblx0fVxyXG5cclxuXHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0cGFkZGluZzogMCA3M3B4O1xyXG59XHJcbiIsIi8qKlxyXG4gKiBUaGUgbWFyZ2luIG9mIHRoZSBjb250ZW50IGhlYWRlciBlbGVtZW50XHJcbiAqL1xyXG5cclxuLmlzLWVsZW1lbnQge1xyXG4gXHQmLmlzLXRvcCB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAzMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRwYWRkaW5nLXRvcDogMTAwcHg7XHJcblx0fVxyXG5cclxuXHQmLmlzLW92ZXJsYXAge1xyXG5cclxuXHRcdC53cmFwcGVyIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvIDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdG1hcmdpbjogLTI0MHB4IGF1dG8gMDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdH1cclxuXHR9ICBcclxufSIsIi5jb250ZW50LWRlZmF1bHQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG5cdH1cclxuXHJcblx0cGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG59XHJcblxyXG4uY29udGVudC1kZWZhdWx0X190aXRsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHQgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG5cdH1cclxuXHJcbiAgcGFkZGluZy10b3A6IDYwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWRlZmF1bHRfX3N1YnRpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0fVxyXG5cclxuXHRmb250LWZhbWlseTogXCJSdWZpbmFcIjtcclxuXHR3aWR0aDogMzUlO1xyXG59XHJcblxyXG4uY29udGVudC1kZWZhdWx0X19lZGl0b3Ige1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDY1JTtcclxufSIsIi5mb290ZXIge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmctdG9wOiA1MHB4O1xyXG5cdH1cclxuXHJcblx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMzJweDtcclxuXHRwYWRkaW5nLXRvcDogNTBweDtcclxuXHRtYXJnaW4tdG9wOiAtMXB4O1xyXG59XHJcblxyXG4uZm9vdGVyX190b3Age1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0cGFkZGluZy10b3A6IDEwMHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiA2NXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IC0xcHg7XHJcbn1cclxuXHJcbi5mb290ZXJfX2xpbmtzIHtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcblx0YSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE4cHgsIDIycHgpO1xyXG5cdFx0Zm9udC1mYW1pbHk6IFwiUnVmaW5hXCI7XHJcblx0XHRtYXJnaW46IDI1cHg7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcblx0XHRcdFx0b3BhY2l0eTogNzAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19ib3R0b20ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCgxMnB4LCAxNHB4KTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLTEwMDtcclxuXHJcblx0YSB7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuXHRcdFx0XHRvcGFjaXR5OiA3MCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX2NvcHlyaWdodCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLXJpZ2h0OiA0NXB4O1xyXG59IiwiLmhlYWRlciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiA1MXB4O1xyXG5cdH1cclxuXHJcblx0aGVpZ2h0OiA2MXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHRvcDogMDtcclxuXHR6LWluZGV4OiA5OTtcclxuXHJcblx0LndyYXBwZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRoZWlnaHQ6IDUxcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGhlaWdodDogNjBweDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xyXG5cclxuXHRcdCYuaXMtYWN0aXZlIHtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fc2VhcmNoLWJ1dHRvbiB7XHJcblx0c3ZnIHtcclxuXHRcdHdpZHRoOiAyNXB4O1xyXG5cdFx0aGVpZ2h0OiAyNXB4O1xyXG5cdH1cclxuXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZW51IEJ1dHRvbi5cclxuICovXHJcblxyXG4kdHJhbnNpdGlvbi10aW1pbmc6IDBtcztcclxuLmhlYWRlcl9fbWVudS1idXR0b24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAyOXB4O1xyXG5cdGhlaWdodDogMjZweDtcclxuXHR6LWluZGV4OiAxMDA7XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDI0cHg7XHJcblx0XHRoZWlnaHQ6IDJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblxyXG5cdFx0JjpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHR0b3A6IDRweDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIHRvcCAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nIDBzO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6bnRoLWNoaWxkKDIpIHtcclxuXHRcdFx0dG9wOiBjYWxjKDUwJSAtIDBweCk7XHJcblx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCBvcGFjaXR5IDBtcyAkdHJhbnNpdGlvbi10aW1pbmc7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHR9XHJcblxyXG5cdFx0JjpudGgtY2hpbGQoMykge1xyXG5cdFx0XHRib3R0b206IDFweDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIGJvdHRvbSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nIDBzO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0c3BhbiB7XHJcblx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcclxuXHRcdFx0XHR0b3A6IGNhbGMoNTAlIC0gMC41cHgpO1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIHRvcCAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjpudGgtY2hpbGQoMykge1xyXG5cdFx0XHRcdGJvdHRvbTogY2FsYyg1MCUgLSAxLjVweCk7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCBib3R0b20gJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIubmF2aWdhdGlvbi1tb2JpbGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIDUwcHgpO1xyXG5cdFx0bWFyZ2luLXRvcDogNTBweDtcclxuXHRcdHBhZGRpbmctdG9wOiAxMDBweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDEwMHZoO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogY2FsYygxMDAlIC0gOTBweCk7XHJcblx0cGFkZGluZy10b3A6IDE0MHB4O1xyXG4gIG1hcmdpbi10b3A6IDkwcHg7XHJcblx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0YmFja2dyb3VuZDogJHdoaXRlLTEwMDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHotaW5kZXg6IDk5OTtcclxuXHRvdmVyZmxvdy14OiBoaWRkZW47XHJcblxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdHRvcDogMDtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cclxuXHQmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0LndyYXBwZXIge1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBNYWluIG1lbnUuXHJcbiAqL1xyXG5cclxuLm5hdmlnYXRpb24tbW9iaWxlX19tYWluIHtcclxuXHQ+IGxpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHQmLmN1cnJlbnRfcGFnZV9hbmNlc3RvcixcclxuXHRcdCYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0XHR3aWR0aDogMnB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRyZWQtMTAwO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDFweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuaXMtYWN0aXZlIHtcclxuXHRcdFx0PiBhIHtcclxuXHRcdFx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHJcblx0XHRcdFx0PiBzcGFuIHN2ZyB7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdD4gYSB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMThweCwgMjJweCk7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAnUnVmaW5hJztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdG1hcmdpbjogMjJweCAwIDAgMDtcclxuXHRcdFx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMTBweDtcclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZUOiA0MHB4O1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQ+IHNwYW4ge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweCAwIDVweDtcclxuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cdFx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHR0b3A6IGNhbGMoNTAlIC0gOHB4KTtcclxuXHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDE4cHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNDVweDtcclxuXHRcdFx0XHRcdG9wYWNpdHk6IDEwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuc3VibWVudS1jb250YWluZXIge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAyMHB4O1xyXG5cclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAxOHB4KTtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuY3VycmVudF9wYWdlX2FuY2VzdG9yLFxyXG5cdFx0XHRcdCYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG5cdFx0XHRcdFx0PiBhIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRcdFx0XHQ+IGEge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRGlzYWJsZSBzY3JvbGwuXHJcbiAqL1xyXG5cclxuYm9keS5pcy1hY3RpdmUge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdC5oZWFkZXI6OmJlZm9yZSB7XHJcblx0XHRib3R0b206IDA7XHJcblx0fVxyXG59XHJcbiIsIi5hcnRpY2xlLWxhdGVzdCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDUwcHg7XHJcblx0XHRwYWRkaW5nLXRvcDogNTBweDtcclxuXHR9XHJcblxyXG5cdHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxufVxyXG5cclxuLmFydGljbGUtbGF0ZXN0X190aXRsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmFydGljbGUtbGF0ZXN0X19oZWFkIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cdH1cclxuXHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjay0xMDA7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbn1cclxuXHJcbi5hcnRpY2xlLWxhdGVzdF9fd3JhcCB7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uYXJ0aWNsZS1sYXRlc3RfX21vcmUtdGl0bGUge1xyXG5cdEBpbmNsdWRlIGZvbnQoMzJweCwgNDRweCk7XHJcblx0Zm9udC1mYW1pbHk6IFwiUnVmaW5hXCI7XHJcblx0cGFkZGluZy1ib3R0b206IDMwcHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjay0xMDA7XHJcbn0iLCIuYXJ0aWNsZS1saXN0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMzVweDtcclxuXHR9XHJcblxyXG5cdHBhZGRpbmctYm90dG9tOiA3MHB4O1xyXG5cclxuXHQuYXJ0aWNsZS1pdGVtX19pbWFnZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdGhlaWdodDogMjEwcHg7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdGhlaWdodDogMzkycHg7XHJcblx0fVxyXG59XHJcblxyXG4uYXJ0aWNsZS1saXN0X193cmFwIHtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn0iLCIuYXJ0aWNsZS1pdGVtIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrLTEwMDtcclxuXHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG59XHJcblxyXG4uYXJ0aWNsZS1sYXRlc3RfX3dyYXAtaXRlbXMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMjEuMzNweCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiAtMTVweDtcclxufVxyXG5cclxuLmFydGljbGUtaXRlbV9fbGFiZWwge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMThweCk7XHJcblx0Y29sb3I6ICRibGFjay01MDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5hcnRpY2xlLWl0ZW1fX3RpdGxlIHtcclxuXHRAaW5jbHVkZSBmb250KDE4cHgsIDIycHgpO1xyXG5cdGhlaWdodDogNjVweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmFydGljbGUtaXRlbV9fbWludXRlcyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGNvbG9yOiAkcmVkLTEwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuXHRzdmcge1xyXG5cdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRoZWlnaHQ6IDIycHg7XHJcblx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIuYXJ0aWNsZS1pdGVtIHtcclxuXHQmLmhhcy1pbWFnZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMTZweCk7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMjEuMzNweCk7XHJcblxyXG5cdFx0LmFydGljbGUtaXRlbV9fbGFiZWwge1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrLTUwO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5hcnRpY2xlLWl0ZW1fX3RpdGxlIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgyNHB4LCAzNHB4KTtcclxuXHRcdFx0aGVpZ2h0OiA3MHB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmFydGljbGUtaXRlbV9faW1hZ2Uge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGhlaWdodDogMjEwcHg7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0aGVpZ2h0OiA1MzJweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHJcblx0aW1nIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuXHRcdHRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRpbWcge1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTtcclxuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmFydGljbGUtaXRlbV9fYXV0aG9yIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0cGFkZGluZy1sZWZ0OiAyNXB4O1xyXG5cdG1hcmdpbjogMjBweCAwO1xyXG5cclxuXHRzcGFuIHtcclxuXHRcdGNvbG9yOiAkYmxhY2stNTA7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDRweDtcclxuXHR9XHJcblxyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0dG9wOiA2cHg7XHJcblx0XHR3aWR0aDogNnB4O1xyXG5cdFx0aGVpZ2h0OiA2cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0fVxyXG59IiwiLmFydGljbGUtc2luZ2xlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG59XHJcblxyXG4uYXJ0aWNsZS1zaW5nbGVfX25hdmlnYXRpb24ge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHR0b3A6IDUwJTtcclxuXHR6LWluZGV4OiAxMDA7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRibGFjay0xMDA7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0fVxyXG5cclxuXHRhIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcclxuXHRcclxuXHRcdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRcdG9wYWNpdHk6IDEwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmFydGljbGUtc2luZ2xlX19wcmV2aW91cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHR3aWR0aDogMzBweDtcclxuXHRcdGhlaWdodDogMzBweDtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDA7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWxlZnQ6IDUwcHg7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMXB4O1xyXG5cdFx0cGFkZGluZy1yaWdodDogM3B4O1xyXG5cdH1cclxufVxyXG5cclxuLmFydGljbGUtc2luZ2xlX19uZXh0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHRcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0aGVpZ2h0OiAzMHB4O1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTEwMDtcclxuXHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHRcclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDFweDtcclxuXHRcdHBhZGRpbmctbGVmdDogMnB4O1xyXG5cdH1cclxufVxyXG5cclxuLmFydGljbGUtc2luZ2xlX190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogNjBweDtcclxufVxyXG5cclxuLmFydGljbGUtc2luZ2xlX19hdXRob3ItcGhvdG8ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmFydGljbGUtc2luZ2xlX193cmFwcGVyIHtcclxuXHRwYWRkaW5nLXRvcDogNjBweDtcclxuXHRtYXJnaW4tdG9wOiAtMzMwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxufVxyXG5cclxuLmFydGljbGUtc2luZ2xlX19oZWFkIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcblx0XHQuYXJ0aWNsZS1zaW5nbGVfX2hlYWR3cmFwIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuXHRhIHtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRvcGFjaXR5OiA3MCU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYXJ0aWNsZS1zaW5nbGVfX2hlYWQtYXV0aG9yIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctbGVmdDogMjVweDtcclxuXHJcblx0c3BhbiB7XHJcblx0XHRjb2xvcjogJGJsYWNrLTUwO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiA0cHg7XHJcblx0fVxyXG5cclxuXHQmOjpiZWZvcmUge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHRvcDogNnB4O1xyXG5cdFx0d2lkdGg6IDZweDtcclxuXHRcdGhlaWdodDogNnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdH1cclxuXHJcblx0c3Ryb25nIHtcclxuXHRcdG1hcmdpbi1yaWdodDogN3B4O1xyXG5cdH1cclxufVxyXG5cclxuLmFydGljbGUtc2luZ2xlX19oZWFkd3JhcCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uYXJ0aWNsZS1zaW5nbGVfX21pbnV0ZXMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHR9XHJcblxyXG5cdGNvbG9yOiAkYmxhY2stNTA7XHJcblx0bWFyZ2luLXJpZ2h0OiA1NXB4O1xyXG59XHJcblxyXG4uYXJ0aWNsZS1zaW5nbGVfX3NoYXJlIHtcclxuXHRzcGFuIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Y29sb3I6ICRibGFjay01MDtcclxuXHRcdG1hcmdpbjogMCAxMHB4O1xyXG5cdH1cclxuXHJcblx0c3ZnIHtcclxuXHRcdGhlaWdodDogMjRweDtcclxuXHRcdHdpZHRoOiAyNHB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uYXJ0aWNsZS1zaW5nbGVfX2JhY2sge1xyXG5cdG1hcmdpbi10b3A6IDEyNXB4O1xyXG59XHJcblxyXG4uYXJ0aWNsZS1zaW5nbGVfX2JhY2ssXHJcbi5hcnRpY2xlLXNpbmdsZV9faGVhZC1iYWNrIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDIwNnB4O1xyXG5cdGNvbG9yOiAkcmVkLTEwMDtcclxuXHRwYWRkaW5nLWxlZnQ6IDMxcHg7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHJcblx0c3ZnIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDBweDtcclxuXHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0aGVpZ2h0OiAyMnB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRsZWZ0OiAtNXB4O1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5hcnRpY2xlLXNpbmdsZV9fZWRpdG9yIHtcclxuXHRAaW5jbHVkZSBmb250KDE2cHgsIDI4cHgpO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG59XHJcblxyXG4uYXJ0aWNsZS1zaW5nbGVfX2hlYWQtYm90dG9tIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5hcnRpY2xlLXNpbmdsZV9faGVhZC1saW5lIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0cmlnaHQ6IDA7XHJcblx0d2lkdGg6IGNhbGMoMTAwJSAtIDIwNnB4KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrLTEwMDtcclxufVxyXG5cclxuLmFydGljbGUtc2luZ2xlX19hdXRob3Ige1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDtcclxuXHRwYWRkaW5nOiAyNXB4IDMwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLmFydGljbGUtc2luZ2xlX193cmFwcGVyIHtcclxuXHQuYXJ0aWNsZS1zaW5nbGVfX2F1dGhvcjpsYXN0LWNoaWxkIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEyNXB4O1xyXG5cdH1cclxufVxyXG5cclxuLmF1dGhvci1zaW5nbGVfX2F1dGhvci1hYm91dCB7XHJcblx0cGFkZGluZy10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5hcnRpY2xlLXNpbmdsZV9fYXV0aG9yLXBob3RvIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMjAwcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGhlaWdodDogMTcwcHg7XHJcblx0d2lkdGg6IDE4MnB4O1xyXG5cdG1hcmdpbi1yaWdodDogNzBweDtcclxufVxyXG5cclxuLmFydGljbGUtc2luZ2xlX19hdXRob3ItbmFtZSB7XHJcblx0QGluY2x1ZGUgZm9udCgxOHB4LCAyMnB4KTtcclxuXHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5hdXRob3Itc2luZ2xlX19hdXRob3Itc29jaWFsIHtcclxuXHRzdmcge1xyXG5cdFx0d2lkdGg6IDI0cHg7XHJcblx0XHRoZWlnaHQ6IDI0cHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0fVxyXG5cclxuXHRhIHtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRzdmcge1xyXG5cdFx0XHRcdG9wYWNpdHk6IDcwJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmFydGljbGUtc2luZ2xlX19wcm9ncmVzcyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJHJlZC0xMDA7XHJcbiAgICB0b3A6IDUwcHg7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG5cdCAgYmFja2dyb3VuZDogJHdoaXRlLTEwMDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmFydGljbGUtc2luZ2xlX19wcm9ncmVzcy13cmFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0fVxyXG59XHJcblxyXG4uYXJ0aWNsZS1zaW5nbGVfX3Byb2dyZXNzYmFyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogNnB4O1xyXG4gICAgdG9wOiAtMTRweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRyZWQtMTAwO1xyXG5cdH1cclxuXHRcclxuXHRkaXNwbGF5OiBub25lO1xyXG59IiwiLmNvbnRlbnQtaGVhZGVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0aGVpZ2h0OiA2MjBweDtcclxuXHJcblx0Ji5oYXMtdGl0bGUge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG5cdFx0XHRoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMTJweCk7XHJcblx0XHR9XHJcblx0XHJcblx0XHQuY29udGVudC1oZWFkZXJfX2ltYWdlIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRcdGhlaWdodDogMTUwcHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcblx0XHRcdFx0aGVpZ2h0OiA0MDBweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTEycHgpO1xyXG5cclxuXHRcdFx0aW1nIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDE1MHB4O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHR0b3A6IGF1dG87XHJcblx0XHRcdFx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0XHRcdFx0cmlnaHQ6IGF1dG87XHJcblx0XHRcdFx0XHRib3R0b206IGF1dG87XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDQwMHB4O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHR0b3A6IGF1dG87XHJcblx0XHRcdFx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0XHRcdFx0cmlnaHQ6IGF1dG87XHJcblx0XHRcdFx0XHRib3R0b206IGF1dG87XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdFx0XHR6LWluZGV4OiAxO1xyXG5cdFx0XHRcdHdpZHRoOiBjYWxjKCAxMDAlIC0gMTUwcHggKTtcclxuXHRcdFx0XHRsZWZ0OiA3M3B4O1xyXG5cdFx0XHRcdG9iamVjdC1wb3NpdGlvbjogYm90dG9tO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDUwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR3aWR0aDogMTAwMCU7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdGhlaWdodDogY2FsYygxMDB2aCAtIDE1MHB4KTtcclxuXHRcdFx0bGVmdDogMTAwJTtcclxuXHRcdFx0dG9wOiAxcHg7XHJcblx0XHR9XHJcblx0XHJcblx0XHQmOjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHdpZHRoOiAxMDAwJTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTUwcHgpO1xyXG5cdFx0XHRyaWdodDogMTAwJTtcclxuXHRcdFx0dG9wOiAxcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX3RpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRwYWRkaW5nOiAxN3B4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0fVxyXG5cclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG5cdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdG1hcmdpbi10b3A6IC0xMjBweDtcclxuXHRtYXJnaW4tbGVmdDogNzBweDtcclxufVxyXG5cclxuLmNvbnRlbnQtaGVhZGVyX193cmFwIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5jb250ZW50LWhlYWRlcl9faW1hZ2Uge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdGhlaWdodDogMjUwcHg7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0aGVpZ2h0OiAzNTBweDtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0aGVpZ2h0OiA0NTBweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogY2FsYygxMDAlIC0gM3B4KTtcclxuXHRoZWlnaHQ6IDYyMHB4O1xyXG5cdHotaW5kZXg6IC0xO1xyXG5cclxuXHQmOjpiZWZvcmUge1xyXG5cdFx0aGVpZ2h0OiAyMDBweDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRiYWNrZ3JvdW5kOiAkZ3JhZGllbnQ7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAyO1xyXG5cdH1cclxufSIsIi5jb250ZW50LWZvcm0ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG5cdH1cclxuXHJcblx0cGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG59XHJcblxyXG4uY29udGVudC1mb3JtX190aXRsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHRcdHBhZGRpbmctdG9wOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0cGFkZGluZy10b3A6IDYwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogODBweDtcclxufVxyXG5cclxuLmNvbnRlbnQtZm9ybV9fZWRpdG9yIHtcclxuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59IiwiLnNlYXJjaC1mb3JtX190aXRsZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctbGVmdDogMjBweDtcclxuXHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cdFxyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR3aWR0aDogNHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDA7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0fVxyXG59XHJcblxyXG4uc2VhcmNoLWZvcm1fX2JvZHkge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuXHJcblx0YnV0dG9uIHtcclxuXHRcdG1hcmdpbi10b3A6IDEzcHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYmxhY2stMTAwO1xyXG5cdFx0cGFkZGluZzogMCAxM3B4IDAgMjNweDtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHR3aWR0aDogMjJweDtcclxuXHRcdFx0aGVpZ2h0OiAyMnB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aW5wdXQge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxOHB4LCAyMnB4KTtcclxuXHRcdHBhZGRpbmc6IDEzcHggMTNweCAxM3B4IDcwcHg7XHJcblx0XHRoZWlnaHQ6IDQ4cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0fVxyXG59IiwiLnNlYXJjaC1yZXN1bHRzIHtcclxuXHQud3JhcHBlciB7XHJcblx0XHRwYWRkaW5nLXRvcDogNjBweDtcclxuXHR9XHJcblxyXG5cdC5hcnRpY2xlLWl0ZW1fX2ltYWdlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0aGVpZ2h0OiAyMTBweDtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0aGVpZ2h0OiAzOTJweDtcclxuXHR9XHJcbn1cclxuXHJcbi5zZWFyY2gtcmVzdWx0c19fdGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDYwcHg7XHJcblx0Zm9udC1mYW1pbHk6IFwiUnVmaW5hXCI7XHJcbn1cclxuXHJcbi5zZWFyY2gtcmVzdWx0c19fbm8tcmVzdWx0cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG5cdH1cclxuXHJcblx0cGFkZGluZy1ib3R0b206IDIwMHB4O1xyXG5cdGZvbnQtZmFtaWx5OiBcIlJ1ZmluYVwiO1x0XHJcbn1cclxuXHJcbi5zZWFyY2gtcmVzdWx0c19fd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XHJcblx0fVxyXG5cclxuXHRwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblx0bWFyZ2luOiAtMTVweDtcclxuXHJcblx0LmFydGljbGUtaXRlbSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAzMHB4KTtcclxuXHRcdFx0bWFyZ2luOiAxNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxubmF2IHtcclxuXHQmLnBhZ2luYXRpb24ge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0cGFkZGluZy10b3A6IDc1cHg7XHJcblx0fVxyXG59IiwiLyoqXHJcbiAqIENvbG9yIHV0aWxpdHkgY2xhc3Nlcy5cclxuICpcclxuICogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgY29sb3IgYW5kIGJhY2tncm91bmQgY29sb3IgdXRpbGl0eSBjbGFzc2VzIGJhc2VkIG9uIGV2ZXJ5IGNvbG9yIGRlZmluaXRpb24gaW4gYHNldHRpbmdzL19jb2xvci5zY3NzYC5cclxuICogTG9vcCB0aHJvdWdoIGV2ZXJ5IGAka2V5YCBhbmQgYCRtYXBgIGluIHRoZSBgJGNvbG9yc2AgdmFyaWFibGUgbWFwIGRlZmluZWQgaW4gYHNldHRpbmdzL19jb2xvci5zY3NzYC5cclxuICovXHJcbiBcclxuQGVhY2ggJGtleSwgJG1hcCBpbiAkY29sb3JzIHtcclxuXHJcblx0Ly8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGAkc2hhZGVgIGFuZCBgJHJnYmAgaW4gYCRtYXBgLlxyXG5cdEBlYWNoICRzaGFkZSwgJHJnYiBpbiAkbWFwIHtcclxuXHJcblx0XHQvLyBMb29wIHRocm91Z2ggZXZlcnkgYGNvbG9yYCBhbmQgYGJhY2tncm91bmQtY29sb3JgIHJ1bGVzLlxyXG5cdFx0QGVhY2ggJHJ1bGUgaW4gY29sb3IsIGJhY2tncm91bmQtY29sb3Ige1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIGAjeyRydWxlfWAgI3skcmdifS0jeyRzaGFkZX0gY29sb3IgdXRpbGl0eS5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuI3skcnVsZX0tI3t1bnF1b3RlKCRrZXkpfS0je3VucXVvdGUoJHNoYWRlKX0ge1xyXG5cdFx0XHRcdCN7JHJ1bGV9OiAkcmdiO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBWaXN1YWxseSBoaWRlIGFueSBlbGVtZW50IGZyb20gdGhlIHVzZXIuXHJcbiAqL1xyXG5cclxuLnZpc3VhbGx5LWhpZGRlbiB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxcHg7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuXHRjbGlwLXBhdGg6IGluc2V0KDFweCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTWFrZSBsYXp5bG9hZCBwbGFjZWhvbGRlciAxMDAlIHdpZGUuXHJcbiAqL1xyXG5cclxuLmxhenlsb2FkIHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWxwZXIgY2xhc3MgZm9yIG9iamVjdCBmaXQgcG9seWZpbGwuIEFkZCB0aGlzIGNsYXNzIHRvIGFueSBlbGVtZW50XHJcbiAqIHRoYXQgdXRpbGl6ZXMgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuICovXHJcblxyXG4lb2JqZWN0LWZpdCxcclxuLm9iamVjdC1maXQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXI7JztcclxuXHRvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBBbGlnbiBjZW50ZXIuXHJcbiAqL1xyXG5cclxuLmFsaWduLWNlbnRlciB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKipcclxuICogQWxpZ24gbGVmdC5cclxuICovXHJcblxyXG4uYWxpZ24tbGVmdCB7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFsaWduIHJpZ2h0LlxyXG4gKi9cclxuXHJcbi5hbGlnbi1yaWdodCB7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuIiwiLyoqXHJcbiAqIE9iamVjdCBmaXQuXHJcbiAqXHJcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXHJcbiAqIExvb3AgdGhyb3VnaCBldmVyeSB2YWx1ZSBmb3IgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuICovXHJcblxyXG5AZWFjaCAkdmFsdWUgaW4gZmlsbCwgY29udGFpbiwgY292ZXIsIG5vbmUsIHNjYWxlLWRvd24ge1xyXG5cclxuXHQvKipcclxuXHQgKiBgb2JqZWN0LWZpdGAgI3skdmFsdWV9IHV0aWxpdHkgY2xhc3MuXHJcblx0ICovXHJcblxyXG5cdC4jeyR2YWx1ZX0ge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiAjeyR2YWx1ZX07JzsgLyogMSAqL1xyXG5cdFx0b2JqZWN0LWZpdDogI3skdmFsdWV9O1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogUG9zaXRpb24gdXRpbGl0eSBjbGFzcy5cclxuICovXHJcblxyXG5AZWFjaCAkdmFsdWUgaW4gc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kge1xyXG5cdC4jeyR2YWx1ZX0ge1xyXG5cdFx0cG9zaXRpb246ICR2YWx1ZTtcclxuXHR9XHJcbn1cclxuIiwiXHJcbi8qKlxyXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWx5IHtcclxuXHRcdFx0LnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJHByb3BlcnR5KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHNpemUgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuXHRcdEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRmb250LXNpemUge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JHByb3BlcnR5fSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgdGV4dCgkcHJvcGVydHkpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQgYWxpZ25tZW50IHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcblx0XHRAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0LCBjZW50ZXIge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246ICRkaXJlY3Rpb247XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKlxyXG4gKiAxLiBNdWx0aXBseSBsb29wZWQgaW50ZWdlciBieSAxMDAgZm9yIGNvcnJlY3QgZm9udCB3ZWlnaHQgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcclxuXHRcdFx0JGk6ICRpICogMTAwOyAvLyBbMV1cclxuXHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAjeyRpfTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJHRyYW5zZm9ybSBpbiBjYXBpdGFsaXplLCB1cHBlcmNhc2UsIGxvd2VyY2FzZSwgbm9uZSwgZnVsbC13aWR0aCB7XHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skdHJhbnNmb3JtfSB7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFZlcnRpY2FsIFJoeXRobS5cclxuICovXHJcbiBcclxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMCB7XHJcblx0JGk6ICRpICogODtcclxuXHJcblx0LnZyLSN7JGl9IHtcclxuXHRcdG1hcmdpbi1ib3R0b206ICN7JGl9cHg7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBVdGlsaXR5IGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBzdGFja2luZyBvcmRlciBpbiBIVE1MLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkei1pbmRleCB7XHJcblx0LnotaW5kZXgtI3ska2V5fSB7XHJcblx0XHR6LWluZGV4OiAkdmFsdWU7XHJcblx0fVxyXG59XHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7QUNGSDs7R0FFRztBQ0ZIOztHQUVHO0FBT0g7O0dBRUc7QUFZSDs7R0FFRztBQ3pCSDs7R0FFRztBQW1CSDs7R0FFRztBRXZCSDs7R0FFRztBQWVIOztHQUVHO0FBTUg7O0dBRUc7QUFlSDs7R0FFRztBQU1ILEFBQUEsQ0FBQyxBQUFBLFdBQVcsQ0FBQztFQUNaLGdCQUFnQixFRjdDUixPQUFxQjtFRThDN0IsS0FBSyxFRnpDRyxLQUFvQixHRTBDNUI7O0FBRUQ7O0dBRUc7QUxuREg7O0dBRUc7QU1SSCw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLElBQUk7RUFBRSxPQUFPO0VBQzFCLHdCQUF3QixFQUFFLElBQUk7RUFBRSxPQUFPLEVBQ3hDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFFRDs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxHQUFHO0VBQ2QsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLFdBQVc7RUFBRSxPQUFPO0VBQ2hDLE1BQU0sRUFBRSxDQUFDO0VBQUUsT0FBTztFQUNsQixRQUFRLEVBQUUsT0FBTztFQUFFLE9BQU8sRUFDM0I7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxHQUFHLENBQUM7RUFDRixXQUFXLEVBQUUsb0JBQW9CO0VBQUUsT0FBTztFQUMxQyxTQUFTLEVBQUUsR0FBRztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUgsQUFBQSxDQUFDLENBQUM7RUFDQSxnQkFBZ0IsRUFBRSxXQUFXLEdBQzlCOztBQUVEOzs7R0FHRztBQUVILEFBQUEsSUFBSSxDQUFBLEFBQUEsS0FBQyxBQUFBLEVBQU87RUFDVixhQUFhLEVBQUUsSUFBSTtFQUFFLE9BQU87RUFDNUIsZUFBZSxFQUFFLFNBQVM7RUFBRSxPQUFPO0VBQ25DLGVBQWUsRUFBRSxnQkFBZ0I7RUFBRSxPQUFPLEVBQzNDOztBQUVEOztHQUVHO0FBRUgsQUFBQSxDQUFDO0FBQ0QsTUFBTSxDQUFDO0VBQ0wsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxJQUFJO0FBQ0osR0FBRztBQUNILElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxvQkFBb0I7RUFBRSxPQUFPO0VBQzFDLFNBQVMsRUFBRSxHQUFHO0VBQUUsT0FBTyxFQUN4Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsS0FBSyxDQUFDO0VBQ0osU0FBUyxFQUFFLEdBQUcsR0FDZjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEdBQUc7QUFDSCxHQUFHLENBQUM7RUFDRixTQUFTLEVBQUUsR0FBRztFQUNkLFdBQVcsRUFBRSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsY0FBYyxFQUFFLFFBQVEsR0FDekI7O0FBRUQsQUFBQSxHQUFHLENBQUM7RUFDRixNQUFNLEVBQUUsT0FBTyxHQUNoQjs7QUFFRCxBQUFBLEdBQUcsQ0FBQztFQUNGLEdBQUcsRUFBRSxNQUFNLEdBQ1o7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUgsQUFBQSxHQUFHLENBQUM7RUFDRixZQUFZLEVBQUUsSUFBSSxHQUNuQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUgsQUFBQSxNQUFNO0FBQ04sS0FBSztBQUNMLFFBQVE7QUFDUixNQUFNO0FBQ04sUUFBUSxDQUFDO0VBQ1AsV0FBVyxFQUFFLE9BQU87RUFBRSxPQUFPO0VBQzdCLFNBQVMsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUN4QixXQUFXLEVBQUUsSUFBSTtFQUFFLE9BQU87RUFDMUIsTUFBTSxFQUFFLENBQUM7RUFBRSxPQUFPLEVBQ25COztBQUVEOzs7R0FHRztBQUVILEFBQUEsTUFBTTtBQUNOLEtBQUssQ0FBQztFQUFFLE9BQU87RUFDYixRQUFRLEVBQUUsT0FBTyxHQUNsQjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLE1BQU07QUFDTixNQUFNLENBQUM7RUFBRSxPQUFPO0VBQ2QsY0FBYyxFQUFFLElBQUksR0FDckI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLE1BQU07Q0FDTixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWI7Q0FDRCxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVo7Q0FDRCxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtFQUNkLGtCQUFrQixFQUFFLE1BQU0sR0FDM0I7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLE1BQU0sQUFBQSxrQkFBa0I7Q0FDeEIsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsa0JBQWtCO0NBQ2pDLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUFhLGtCQUFrQjtDQUNoQyxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyxrQkFBa0IsQ0FBQztFQUNoQyxZQUFZLEVBQUUsSUFBSTtFQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUVEOztHQUVHO0FBRUgsQUFBQSxNQUFNLEFBQUEsZUFBZTtDQUNyQixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyxlQUFlO0NBQzlCLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUFhLGVBQWU7Q0FDN0IsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsZUFBZSxDQUFDO0VBQzdCLE9BQU8sRUFBRSxxQkFBcUIsR0FDL0I7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLFFBQVEsQ0FBQztFQUNQLE9BQU8sRUFBRSxxQkFBcUIsR0FDL0I7O0FBRUQ7Ozs7O0dBS0c7QUFFSCxBQUFBLE1BQU0sQ0FBQztFQUNMLFVBQVUsRUFBRSxVQUFVO0VBQUUsT0FBTztFQUMvQixLQUFLLEVBQUUsT0FBTztFQUFFLE9BQU87RUFDdkIsT0FBTyxFQUFFLEtBQUs7RUFBRSxPQUFPO0VBQ3ZCLFNBQVMsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUN4QixPQUFPLEVBQUUsQ0FBQztFQUFFLE9BQU87RUFDbkIsV0FBVyxFQUFFLE1BQU07RUFBRSxPQUFPLEVBQzdCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxRQUFRLENBQUM7RUFDUCxjQUFjLEVBQUUsUUFBUSxHQUN6Qjs7QUFFRDs7R0FFRztBQUVILEFBQUEsUUFBUSxDQUFDO0VBQ1AsUUFBUSxFQUFFLElBQUksR0FDZjs7QUFFRDs7O0dBR0c7Q0FFSCxBQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZjtDQUNELEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQUFjO0VBQ2IsVUFBVSxFQUFFLFVBQVU7RUFBRSxPQUFPO0VBQy9CLE9BQU8sRUFBRSxDQUFDO0VBQUUsT0FBTyxFQUNwQjs7QUFFRDs7R0FFRztDQUVILEFBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsMkJBQTJCO0NBQzFDLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLDJCQUEyQixDQUFDO0VBQ3pDLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQ7OztHQUdHO0NBRUgsQUFBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtFQUNkLGtCQUFrQixFQUFFLFNBQVM7RUFBRSxPQUFPO0VBQ3RDLGNBQWMsRUFBRSxJQUFJO0VBQUUsT0FBTyxFQUM5Qjs7QUFFRDs7R0FFRztDQUVILEFBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsMkJBQTJCLENBQUM7RUFDekMsa0JBQWtCLEVBQUUsSUFBSSxHQUN6Qjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLDRCQUE0QixDQUFDO0VBQzNCLGtCQUFrQixFQUFFLE1BQU07RUFBRSxPQUFPO0VBQ25DLElBQUksRUFBRSxPQUFPO0VBQUUsT0FBTyxFQUN2Qjs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSCxBQUFBLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxTQUFTLEdBQ25COztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVILEFBQUEsUUFBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFFRDs7R0FFRztDQUVILEFBQUEsQUFBQSxNQUFDLEFBQUEsRUFBUTtFQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FFNVZEOztHQUVHO0FBQ0gsQUFBQSxhQUFhLENBQUM7RUFDYixPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxJQUFJO0VBQ1gsMkJBQTJCLEVBQUUsV0FBVztFQUN4QyxvRUFBb0U7RUFDcEUsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUMsR0ErR1Y7RUFySEQsQUFRQyxhQVJZLENBUVosVUFBVSxDQUFDO0lBQ1YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixZQUFZLEVBQUUsWUFBWTtJQUMxQix3QkFBd0IsRUFBRSxNQUFNO0lBQUUsa0NBQWtDLEVBQ3BFO0VBYkYsQUFlQyxhQWZZLENBZVosVUFBVSxBQUFBLE1BQU0sQ0FBQztJQUNoQixPQUFPLEVBQUUsR0FBRztJQUNaLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsQ0FBQztJQUNkLE1BQU0sRUFBRSxDQUFDLEdBQ1Q7RUF0QkYsQUF3QkMsYUF4QlksQ0F3QlosZ0JBQWdCLENBQUM7SUFDaEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsaUNBQWlDO0lBQ2pDLGlCQUFpQixFQUFFLDBCQUEwQixHQUM3QztFQTdCRixBQStCQyxhQS9CWSxDQStCWixZQUFZO0VBL0JiLGFBQWEsQ0FnQ1osU0FBUyxDQUFBO0lBQ1IsMkJBQTJCLEVBQUUsTUFBTTtJQUNuQyx3QkFBd0IsRUFBRSxNQUFNO0lBQ2hDLHVCQUF1QixFQUFFLE1BQU07SUFDL0IsaUJBQWlCLEVBQUUsb0JBQWtCO0lBQ3JDLGNBQWMsRUFBRSxvQkFBa0I7SUFDbEMsYUFBYSxFQUFFLG9CQUFrQixHQUNqQztFQXZDRixBQXlDQyxhQXpDWSxDQXlDWixTQUFTLENBQUM7SUFDVCxRQUFRLEVBQUUsUUFBUTtJQUNsQixVQUFVLEVBQUUsR0FBRztJQUNmLEtBQUssRUFBRSxJQUFJO0lBQ1gsMkJBQTJCLEVBQUUsTUFBTTtJQUNuQywyQkFBMkIsRUFBRSxXQUFXO0lBQ3hDLHFCQUFxQixFQUFFLElBQUksR0FDM0I7RUFoREYsQUFpREMsYUFqRFksQ0FpRFosU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUNiLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUksR0FDWDtFQXBERixBQXNEQyxhQXREWSxDQXNEWixRQUFRLEFBQUEsU0FBUztFQXREbEIsYUFBYSxDQXVEWixTQUFTLEFBQUEsU0FBUyxDQUFDO0lBQ2xCLE9BQU8sRUFBRSxJQUFJLEdBQ2I7RUF6REYsQUEyREMsYUEzRFksQ0EyRFosUUFBUSxDQUFDLFNBQVM7RUEzRG5CLGFBQWEsQ0E0RFosUUFBUSxDQUFDLFNBQVM7RUE1RG5CLGFBQWEsQ0E2RFosUUFBUSxDQUFDO0lBQ1IsTUFBTSxFQUFFLE9BQU87SUFDZixtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixlQUFlLEVBQUUsSUFBSTtJQUNyQixXQUFXLEVBQUUsSUFBSSxHQUNqQjtFQXBFRixBQXNFQyxhQXRFWSxDQXNFWixRQUFRLENBQUMsTUFBTSxBQUFBLFNBQVM7RUF0RXpCLGFBQWEsQ0F1RVosUUFBUSxDQUFDLE1BQU0sQUFBQSxTQUFTO0VBdkV6QixhQUFhLENBd0VaLE1BQU0sQUFBQSxRQUFRLENBQUM7SUFDZCxVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEVBQUUsT0FBTztJQUNkLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFDLENBQUMsQ0FBQSxVQUFVO0lBQ25CLElBQUksRUFBRSxPQUFPLEdBQ2I7RUE5RUYsQUFnRkMsYUFoRlksQUFnRlgsV0FBVyxDQUFDO0lBQ1osT0FBTyxFQUFFLEtBQUssR0FDZDtFQWxGRixBQW9GQyxhQXBGWSxBQW9GWCxZQUFZLENBQUM7SUFDYixPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxLQUFLLEdBQ2Q7RUF2RkYsQUF5RkMsYUF6RlksQUF5RlgsV0FBVyxDQUFDO0lBQ1osT0FBTyxFQUFFLENBQUMsR0FDVjtFQTNGRixBQTZGQyxhQTdGWSxBQTZGWCxZQUFZLENBQUMsU0FBUyxDQUFDO0lBQ3ZCLFVBQVUsRUFBRSxNQUFNLEdBQ2xCO0VBL0ZGLEFBaUdDLGFBakdZLEFBaUdYLFNBQVMsQ0FBQyxTQUFTLENBQUM7SUFDcEIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsbUJBQW1CLEVBQUUsSUFBSTtJQUN6QixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLFdBQVcsRUFBRSxJQUFJLEdBQ2pCO0VBdkdGLEFBeUdDLGFBekdZLEFBeUdYLFNBQVMsQ0FBQztJQUNWLE1BQU0sRUFBRSxJQUFJO0lBQ1osTUFBTSxFQUFFLElBQUksR0FDWjtFQTVHRixBQThHQyxhQTlHWSxBQThHWCxRQUFRLENBQUM7SUFDVCxTQUFTLEVBQUUsR0FBRyxHQUNkO0VBaEhGLEFBa0hDLGFBbEhZLEFBa0hYLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDbkIsS0FBSyxFQUFFLEtBQUssR0FDWjs7QUFHRixXQUFXO0FBQ1gsQUFBQSxNQUFNLENBQUMsYUFBYSxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxLQUFLLEdBQ2Q7O0FDN0hEOztHQUVHO0FBQ0gsQUFDQyxhQURZLENBQ1osU0FBUyxDQUFDO0VBQ1Qsa0JBQWtCLEVBQUUsTUFBTTtFQUMxQixtQkFBbUIsRUFBRSxJQUFJLEdBQ3pCOztBQUpGLEFBS0MsYUFMWSxDQUtaLGdCQUFnQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxDQUFDLEdBQ1Y7O0FBUEYsQUFRQyxhQVJZLENBUVosaUJBQWlCLENBQUM7RUFDakIsT0FBTyxFQUFFLENBQUMsR0FDVjs7QUFWRixBQVdDLGFBWFksQ0FXWixRQUFRLENBQUM7RUFDUixjQUFjLEVBQUUsT0FBTyxHQUN2Qjs7QUFHRixVQUFVLENBQVYsT0FBVTtFQUNULEVBQUU7SUFDRCxPQUFPLEVBQUUsQ0FBQztFQUdYLElBQUk7SUFDSCxPQUFPLEVBQUUsQ0FBQzs7QUN6Qlo7O0dBRUc7QUFFSCxBQUFBLFdBQVcsQ0FBQztFQUNYLFVBQVUsRUFBRSx3QkFBd0IsR0FDcEM7O0FDTkQ7O0dBRUc7QUFFSCxBQUNDLGFBRFksQ0FDWixTQUFTLENBQUM7RUFNVDs7O0tBR0csRUFRSDtFQWxCRixBQUVFLGFBRlcsQ0FDWixTQUFTLENBQ1IsU0FBUyxDQUFDO0lBQ1IsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsa0JBQWtCLEdBQy9CO0VBTEgsQUFXRSxhQVhXLENBQ1osU0FBUyxDQVVSLFNBQVMsQ0FBQSxBQUFBLEdBQUMsRUFBSyxFQUFFLEFBQVAsR0FYWixhQUFhLENBQ1osU0FBUyxDQVVZLFNBQVMsQUFBQSxJQUFLLEVBQUEsQUFBQSxHQUFDLEFBQUEsR0FBTTtJQUN4QyxVQUFVLEVBQUUsQ0FBQyxHQUNiO0VBYkgsQUFlRSxhQWZXLENBQ1osU0FBUyxDQWNSLEdBQUcsQUFBQSxTQUFTLENBQUM7SUFDWixlQUFlLEVBQUUsV0FBVyxHQUM1Qjs7QUNuQkg7O0dBRUc7QUFFSCxBQUNDLGFBRFksQ0FDWixrQkFBa0IsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxJQUFJLEdBQ2hCOztBQUxGLEFBT0MsYUFQWSxDQU9aLG9CQUFvQixDQUFDO0VBQ3BCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxJQUFJLEVBQUUsR0FBRztFQUNULEdBQUcsRUFBRSxHQUFHO0VBQ1IsV0FBVyxFQUFFLEtBQUs7RUFDbEIsVUFBVSxFQUFFLEtBQUs7RUFDakIsVUFBVSxFQUFFLHlCQUEyQyxDQUFDLFNBQVM7RUFDakUsTUFBTSxFQUFFLE9BQU87RUFDZixPQUFPLEVBQUUsQ0FBQztFQUNWLDJCQUEyQixFQUFFLE1BQU07RUFDbkMsVUFBVSxFQUFFLG9CQUFvQixHQUNoQzs7QUFwQkYsQUFzQkMsYUF0QlksQ0FzQlosb0JBQW9CLEFBQUEsTUFBTSxDQUFDO0VBQzFCLFNBQVMsRUFBRSxlQUFlLEdBQzFCOztBQXhCRixBQTBCQyxhQTFCWSxDQTBCWixrQkFBa0IsQ0FBQyxhQUFhO0FBMUJqQyxhQUFhLENBMkJaLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO0VBQ3ZDLE9BQU8sRUFBRSxJQUFJLEdBQ2I7O0FBN0JGLEFBK0JDLGFBL0JZLENBK0JaLGFBQWEsQ0FBQztFQUNiLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLElBQUk7RUFDWixtQkFBbUIsRUFBRSxhQUFhO0VBQ2xDLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsZUFBZSxFQUFFLE9BQU87RUFDeEIsVUFBVSxFQUFFLGtCQUFrQixHQUM5Qjs7QUF0Q0YsQUF3Q0MsYUF4Q1ksQ0F3Q1osZ0JBQWdCLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJLEdBQ1g7O0FadkNGOztHQUVHO0FhZEg7O0dBRUc7QUNGSDs7Ozs7O0dBTUc7QUFTSDs7Ozs7O0dBTUc7QUFVSDs7Ozs7OztHQU9HO0FBT0g7Ozs7Ozs7R0FPRztBQ2pESCx3QkFBd0I7QUFDeEIsQUFBQSxPQUFPLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLE1BQU07RUFDaEIsUUFBUSxFQUFFLEtBQUs7RUFDZixVQUFVLEVBQUUsT0FBTztFQUNuQixPQUFPLEVBQUUsR0FBRyxHQUFHOztBQUVoQixBQUFBLFNBQVMsQ0FBQztFQUNULEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixRQUFRLEVBQUUsS0FBSztFQUNmLE9BQU8sRUFBRSxlQUFlO0VBQ3hCLDJCQUEyQixFQUFFLE1BQU0sR0FBRzs7QUFFdkMsQUFBQSxjQUFjLENBQUM7RUFDZCxVQUFVLEVBQUUsTUFBTTtFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLFVBQVUsR0FBRzs7QUFFMUIsQUFBQSxjQUFjLEFBQUEsT0FBTyxDQUFDO0VBQ3JCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLFlBQVk7RUFDckIsTUFBTSxFQUFFLElBQUk7RUFDWixjQUFjLEVBQUUsTUFBTSxHQUFHOztBQUUxQixBQUFBLGNBQWMsQ0FBQyxjQUFjLEFBQUEsT0FBTyxDQUFDO0VBQ3BDLE9BQU8sRUFBRSxJQUFJLEdBQUc7O0FBRWpCLEFBQUEsWUFBWSxDQUFDO0VBQ1osUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsY0FBYyxFQUFFLE1BQU07RUFDdEIsTUFBTSxFQUFFLE1BQU07RUFDZCxVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsSUFBSSxHQUFHOztBQUVqQixBQUFBLGtCQUFrQixDQUFDLFlBQVk7QUFDL0IsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO0VBQzdCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUksR0FBRzs7QUFFaEIsQUFBQSxhQUFhLENBQUM7RUFDYixNQUFNLEVBQUUsUUFBUSxHQUFHOztBQUVwQixBQUFBLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztFQUNqRSxNQUFNLEVBQUUsYUFBYTtFQUNyQixNQUFNLEVBQUUsZ0JBQWdCO0VBQ3hCLE1BQU0sRUFBRSxRQUFRLEdBQUc7O0FBRXBCLEFBQUEsU0FBUyxDQUFDO0VBQ1QsTUFBTSxFQUFFLE9BQU87RUFDZixNQUFNLEVBQUUsZUFBZTtFQUN2QixNQUFNLEVBQUUsWUFBWTtFQUNwQixNQUFNLEVBQUUsT0FBTyxHQUFHOztBQUVuQixBQUFBLGdCQUFnQixDQUFDLFlBQVksQ0FBQztFQUM3QixNQUFNLEVBQUUsSUFBSSxHQUFHOztBQUVoQixBQUFBLFVBQVU7QUFDVixVQUFVO0FBQ1YsY0FBYztBQUNkLFlBQVksQ0FBQztFQUNaLG1CQUFtQixFQUFFLElBQUk7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixXQUFXLEVBQUUsSUFBSSxHQUFHOztBQUVyQixBQUFBLFlBQVksQUFBQSxXQUFXLENBQUM7RUFDdkIsT0FBTyxFQUFFLElBQUksR0FBRzs7QUFFakIsQUFBQSxTQUFTLENBQUM7RUFDVCxPQUFPLEVBQUUsZUFBZSxHQUFHOztBQUU1QixBQUFBLGNBQWMsQ0FBQztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLElBQUksRUFBRSxHQUFHO0VBQ1QsS0FBSyxFQUFFLEdBQUc7RUFDVixPQUFPLEVBQUUsSUFBSSxHQUFHOztBQUNoQixBQUFBLGNBQWMsQ0FBQyxDQUFDLENBQUM7RUFDaEIsS0FBSyxFQUFFLElBQUksR0FBRzs7QUFDZCxBQUFBLGNBQWMsQ0FBQyxDQUFDLEFBQUEsTUFBTSxDQUFDO0VBQ3RCLEtBQUssRUFBRSxJQUFJLEdBQUc7O0FBRWpCLEFBQUEsWUFBWSxDQUFDLGNBQWMsQ0FBQztFQUMzQixPQUFPLEVBQUUsSUFBSSxHQUFHOztBQUVqQixBQUFBLFlBQVksQ0FBQyxZQUFZLENBQUM7RUFDekIsT0FBTyxFQUFFLElBQUksR0FBRzs7QUFFakIsQUFBQSxNQUFNLEFBQUEsVUFBVTtBQUNoQixNQUFNLEFBQUEsVUFBVSxDQUFDO0VBQ2hCLFFBQVEsRUFBRSxPQUFPO0VBQ2pCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsVUFBVSxFQUFFLFdBQVc7RUFDdkIsTUFBTSxFQUFFLENBQUM7RUFDVCxrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsVUFBVSxFQUFFLElBQUk7RUFDaEIsWUFBWSxFQUFFLFlBQVksR0FBRzs7QUFFOUIsQUFBQSxNQUFNLEFBQUEsa0JBQWtCLENBQUM7RUFDeEIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQyxHQUFHOztBQUViLEFBQUEsVUFBVSxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0VBQ1IsR0FBRyxFQUFFLENBQUM7RUFDTixlQUFlLEVBQUUsSUFBSTtFQUNyQixVQUFVLEVBQUUsTUFBTTtFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU8sRUFBRSxhQUFhO0VBQ3RCLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLE1BQU07RUFDbEIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsNkJBQTZCLEdBQUc7O0FBQzdDLEFBQUEsVUFBVSxBQUFBLE1BQU07QUFDaEIsVUFBVSxBQUFBLE1BQU0sQ0FBQztFQUNoQixPQUFPLEVBQUUsQ0FBQyxHQUFHOztBQUNkLEFBQUEsVUFBVSxBQUFBLE9BQU8sQ0FBQztFQUNqQixHQUFHLEVBQUUsR0FBRyxHQUFHOztBQUViLEFBQUEsaUJBQWlCLENBQUMsVUFBVSxDQUFDO0VBQzVCLEtBQUssRUFBRSxJQUFJLEdBQUc7O0FBRWYsQUFBQSxpQkFBaUIsQ0FBQyxVQUFVO0FBQzVCLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztFQUM3QixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLEtBQUs7RUFDakIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsS0FBSyxFQUFFLElBQUksR0FBRzs7QUFFZixBQUFBLFlBQVksQ0FBQztFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLENBQUM7RUFDUixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLElBQUk7RUFDakIsV0FBVyxFQUFFLE1BQU0sR0FBRzs7QUFFdkIsQUFBQSxVQUFVLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLE1BQU0sRUFBRSxDQUFDO0VBQ1QsR0FBRyxFQUFFLEdBQUc7RUFDUixVQUFVLEVBQUUsS0FBSztFQUNqQixPQUFPLEVBQUUsQ0FBQztFQUNWLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLEtBQUs7RUFDYiwyQkFBMkIsRUFBRSxXQUFXLEdBQUc7O0FBQzNDLEFBQUEsVUFBVSxBQUFBLE9BQU8sQ0FBQztFQUNqQixVQUFVLEVBQUUsS0FBSyxHQUFHOztBQUNyQixBQUFBLFVBQVUsQUFBQSxNQUFNO0FBQ2hCLFVBQVUsQUFBQSxNQUFNLENBQUM7RUFDaEIsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFDZCxBQUFBLFVBQVUsQUFBQSxPQUFPO0FBQ2pCLFVBQVUsQUFBQSxNQUFNLENBQUM7RUFDaEIsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sVUFBVSxFQUFFLElBQUk7RUFDaEIsV0FBVyxFQUFFLElBQUk7RUFDakIsTUFBTSxFQUFFLHdCQUF3QixHQUFHOztBQUNwQyxBQUFBLFVBQVUsQUFBQSxNQUFNLENBQUM7RUFDaEIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLEdBQUcsRUFBRSxHQUFHLEdBQUc7O0FBQ1osQUFBQSxVQUFVLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixPQUFPLEVBQUUsR0FBRyxHQUFHOztBQUVqQixBQUFBLGVBQWUsQ0FBQztFQUNmLElBQUksRUFBRSxDQUFDLEdBQUc7O0FBQ1YsQUFBQSxlQUFlLEFBQUEsTUFBTSxDQUFDO0VBQ3JCLFlBQVksRUFBRSxlQUFlO0VBQzdCLFdBQVcsRUFBRSxJQUFJLEdBQUc7O0FBQ3JCLEFBQUEsZUFBZSxBQUFBLE9BQU8sQ0FBQztFQUN0QixXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsa0JBQWtCLEdBQUc7O0FBRXJDLEFBQUEsZ0JBQWdCLENBQUM7RUFDaEIsS0FBSyxFQUFFLENBQUMsR0FBRzs7QUFDWCxBQUFBLGdCQUFnQixBQUFBLE1BQU0sQ0FBQztFQUN0QixXQUFXLEVBQUUsZUFBZTtFQUM1QixXQUFXLEVBQUUsSUFBSSxHQUFHOztBQUNyQixBQUFBLGdCQUFnQixBQUFBLE9BQU8sQ0FBQztFQUN2QixXQUFXLEVBQUUsa0JBQWtCLEdBQUc7O0FBRXBDLEFBQUEsa0JBQWtCLENBQUM7RUFDbEIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLElBQUksR0FBRzs7QUFDdkIsQUFBQSxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7RUFDL0IsV0FBVyxFQUFFLENBQUM7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxLQUFLLEdBQUc7O0FBQ3BCLEFBQUEsa0JBQWtCLENBQUMsVUFBVSxDQUFDO0VBQzdCLEdBQUcsRUFBRSxLQUFLLEdBQUc7O0FBRWYsQUFBQSxrQkFBa0IsQ0FBQztFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxDQUFDO0VBQ1QsUUFBUSxFQUFFLE1BQU07RUFDaEIsV0FBVyxFQUFFLE1BQU0sR0FBRzs7QUFDdEIsQUFBQSxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7RUFDekIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0I7RUFDdEMsVUFBVSxFQUFFLElBQUksR0FBRzs7QUFFckIseUJBQXlCO0FBQ3pCLEFBQUEsR0FBRyxBQUFBLFFBQVEsQ0FBQztFQUNYLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLElBQUk7RUFDZixNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxLQUFLO0VBQ2QsV0FBVyxFQUFFLENBQUM7RUFDZCxVQUFVLEVBQUUsVUFBVTtFQUN0QixPQUFPLEVBQUUsV0FBVztFQUNwQixNQUFNLEVBQUUsTUFBTSxHQUFHOztBQUVsQixpQ0FBaUM7QUFDakMsQUFBQSxXQUFXLENBQUM7RUFDWCxXQUFXLEVBQUUsQ0FBQyxHQUFHOztBQUNqQixBQUFBLFdBQVcsQUFBQSxNQUFNLENBQUM7RUFDakIsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxJQUFJO0VBQ1QsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxDQUFDO0VBQ1IsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxFQUFFO0VBQ1gsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtCQUFrQjtFQUN0QyxVQUFVLEVBQUUsSUFBSSxHQUFHOztBQUNwQixBQUFBLFdBQVcsQ0FBQyxLQUFLLENBQUM7RUFDakIsS0FBSyxFQUFFLE9BQU87RUFDZCxPQUFPLEVBQUUsS0FBSztFQUNkLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLElBQUksR0FBRzs7QUFDckIsQUFBQSxXQUFXLENBQUMsTUFBTSxDQUFDO0VBQ2xCLE1BQU0sRUFBRSxDQUFDLEdBQUc7O0FBRWQsQUFBQSxlQUFlLENBQUM7RUFDZixVQUFVLEVBQUUsS0FBSztFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsSUFBSTtFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSSxHQUFHOztBQUVoQixBQUFBLFVBQVUsQ0FBQztFQUNWLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLEtBQUssRUFBRSxPQUFPO0VBQ2QsU0FBUyxFQUFFLFVBQVU7RUFDckIsYUFBYSxFQUFFLElBQUksR0FBRzs7QUFFdkIsQUFBQSxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7RUFDOUIsU0FBUyxFQUFFLElBQUksR0FBRzs7QUFFbkIsQUFBQSxZQUFZLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDO0VBQzFDLE1BQU0sRUFBRSxPQUFPLEdBQUc7O0FBRW5CLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUssT0FBTyxXQUFXLEVBQUUsU0FBUyxHQUFHLE1BQU0sTUFBTSxVQUFVLEVBQUUsS0FBSztFQUMvRjs7TUFFSztFQUNMLEFBQUEsZUFBZSxDQUFDLGlCQUFpQixDQUFDO0lBQ2pDLFlBQVksRUFBRSxDQUFDO0lBQ2YsYUFBYSxFQUFFLENBQUMsR0FBRztFQUNwQixBQUFBLGVBQWUsQ0FBQyxHQUFHLEFBQUEsUUFBUSxDQUFDO0lBQzNCLE9BQU8sRUFBRSxDQUFDLEdBQUc7RUFDZCxBQUFBLGVBQWUsQ0FBQyxXQUFXLEFBQUEsTUFBTSxDQUFDO0lBQ2pDLEdBQUcsRUFBRSxDQUFDO0lBQ04sTUFBTSxFQUFFLENBQUMsR0FBRztFQUNiLEFBQUEsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDakMsT0FBTyxFQUFFLE1BQU07SUFDZixXQUFXLEVBQUUsR0FBRyxHQUFHO0VBQ3BCLEFBQUEsZUFBZSxDQUFDLGVBQWUsQ0FBQztJQUMvQixVQUFVLEVBQUUsa0JBQWtCO0lBQzlCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLENBQUM7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsVUFBVSxFQUFFLFVBQVUsR0FBRztFQUN6QixBQUFBLGVBQWUsQ0FBQyxlQUFlLEFBQUEsTUFBTSxDQUFDO0lBQ3JDLE9BQU8sRUFBRSxDQUFDLEdBQUc7RUFDZixBQUFBLGVBQWUsQ0FBQyxZQUFZLENBQUM7SUFDNUIsS0FBSyxFQUFFLEdBQUc7SUFDVixHQUFHLEVBQUUsR0FBRyxHQUFHO0VBQ1osQUFBQSxlQUFlLENBQUMsVUFBVSxDQUFDO0lBQzFCLEdBQUcsRUFBRSxDQUFDO0lBQ04sS0FBSyxFQUFFLENBQUM7SUFDUixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osV0FBVyxFQUFFLElBQUk7SUFDakIsVUFBVSxFQUFFLGtCQUFrQjtJQUM5QixRQUFRLEVBQUUsS0FBSztJQUNmLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBQUc7O0FBRWYsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztFQUMvQixBQUFBLFVBQVUsQ0FBQztJQUNWLGlCQUFpQixFQUFFLFdBQVc7SUFDOUIsU0FBUyxFQUFFLFdBQVcsR0FBRztFQUMxQixBQUFBLGVBQWUsQ0FBQztJQUNmLHdCQUF3QixFQUFFLENBQUM7SUFDM0IsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHO0VBQ3ZCLEFBQUEsZ0JBQWdCLENBQUM7SUFDaEIsd0JBQXdCLEVBQUUsSUFBSTtJQUM5QixnQkFBZ0IsRUFBRSxJQUFJLEdBQUc7RUFDMUIsQUFBQSxjQUFjLENBQUM7SUFDZCxZQUFZLEVBQUUsR0FBRztJQUNqQixhQUFhLEVBQUUsR0FBRyxHQUFHOztBQ2pXdkI7Ozs7Ozs7R0FPRztBQWtCSDs7Ozs7OztHQU9HO0FBV0g7Ozs7Ozs7R0FPRztBQWlCSDs7Ozs7O0dBTUc7QUFXSDs7Ozs7OztHQU9HO0FBYUg7Ozs7OztHQU1HO0FoQjVGSDs7R0FFRztBQUdIOztHQUVHO0FpQnpCSDs7Ozs7O0dBTUc7QUFFSCxBQUFBLENBQUM7QUFDRCxDQUFDLEFBQUEsUUFBUTtBQUNULENBQUMsQUFBQSxPQUFPLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLE9BQU87RUFBRSxPQUFPLEVBQzVCOztBQUdEOzs7O0dBSUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNKLE1BQU0sRUFBRSxLQUFLO0VBQ2IsU0FBUyxFQUFFLEtBQUs7RUFBRSxPQUFPO0VBQ3pCLFVBQVUsRUFBRSxVQUFVLEdBQ3RCOztBQUdEOzs7Ozs7R0FNRztBQUVILEFBQUEsSUFBSSxDQUFDO0VEZ0JILFNBQVMsRWRuQ0wsSUFBSTtFY29DUixTQUFTLEVGNUJGLE1BQXlCO0VFaUNoQyxXQUFXLEVBQUUsU0FBbUM7RUNwQmpELFVBQVUsRUFBRSxLQUFLO0VBQ2pCLGdCQUFnQixFZDlCUixLQUFvQjtFYytCNUIsS0FBSyxFZHBDRyxPQUFxQjtFY3FDN0IsV0FBVyxFZnRDQSxXQUFXO0VldUN0QixXQUFXLEVBQUUsR0FBRztFQUNoQixjQUFjLEVBQUUsa0JBQWtCO0VBQ2xDLHVCQUF1QixFQUFFLFNBQVM7RUFBRSxPQUFPO0VBQzNDLHNCQUFzQixFQUFFLFdBQVc7RUFBRSxPQUFPLEVBQzVDOztBQ2hERDs7OztHQUlHO0FBRUgsQUFBQSxDQUFDLENBQUM7RUFDRCxLQUFLLEVBQUUsT0FBTztFQUNkLGVBQWUsRUFBRSxJQUFJLEdBQ3JCOztBQUdEOztHQUVHO0FBRUgsQUFBQSxNQUFNLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULGFBQWEsRUFBRSxDQUFDO0VBQUUsT0FBTztFQUN6QixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxPQUFPLEdBQ2Y7O0FBRUQsQUFBQSxRQUFRLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUMsR0FDVDs7QUFFRCxBQUFBLE1BQU0sQ0FBQztFQUNOLE1BQU0sRUFBRSxDQUFDLEdBQ1Q7O0FBRUQsQUFBQSxFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUUsQ0FBQztFQUNGLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixTQUFTLEVBQUUsT0FBTztFQUNsQixXQUFXLEVBQUUsT0FBTyxHQUNwQjs7QUFFRCxBQUFBLEVBQUUsQ0FBQztFQUNGLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FDVjs7QUFHRDs7R0FFRztBQUVILEFBQUEsR0FBRyxDQUFDO0VBQ0gsU0FBUyxFQUFFLElBQUk7RUFDZixNQUFNLEVBQUUsSUFBSTtFQUNaLGNBQWMsRUFBRSxNQUFNO0VBQUUsT0FBTyxFQUMvQjs7QUFHRDs7R0FFRztBQUVILEFBQUEsS0FBSztBQUNMLE1BQU07QUFDTixRQUFRLENBQUM7RUFDUixTQUFTLEVBQUUsSUFBSTtFQUNmLE1BQU0sRUFBRSxDQUFDO0VBQ1QsYUFBYSxFQUFFLENBQUM7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixVQUFVLEVBQUUsSUFBSTtFQUFFLE9BQU8sRUFDekI7O0FBR0Q7OztHQUdHO0FBRUgsQUFBQSxRQUFRLENBQUM7RUFDUixNQUFNLEVBQUUsUUFBUSxHQUNoQjs7QUFFRCxBQUFBLEVBQUU7QUFDRixFQUFFLENBQUM7RUFDRixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsZUFBZSxFQUFFLElBQUksR0FDckI7O0FBRUQsQUFBQSxDQUFDLENBQUM7RUFDRCxNQUFNLEVBQUUsQ0FBQyxHQUNUOztBQUdEOztHQUVHO0FBRUgsQUFBQSxLQUFLLENBQUM7RUFDTCxTQUFTLEVBQUUsSUFBSTtFQUNmLGVBQWUsRUFBRSxRQUFRO0VBQUUsT0FBTyxFQUNsQzs7QUFFRCxBQUFBLE1BQU0sQ0FBQztFQUNOLFdBQVcsRUFBRSxHQUFHLEdBQ2hCOztBbEJoRkQ7O0dBRUc7O0FtQjNCSCxBQUxBLE9BS08sQ0FBQztFSGlETixTQUFTLEVHaERJLElBQUk7RUhpRGpCLFNBQVMsRUY1QkYsTUFBeUI7RUVpQ2hDLFdBQVcsRUFBRSxLQUFtQztFR3JEakQsT0FBTyxFQUFFLFdBQVc7RUFDcEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsT0FBTyxFQUFFLE9BQU87RUFDaEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsZUFBZSxFQUFFLElBQUk7RUFDckIsVUFBVSxFQUFFLGNBQWM7RUFDMUIsTUFBTSxFQUFFLE9BQU87RUFDZixXQUFXLEVBQUUsR0FBRyxHQWtCaEI7O0VBNUJELEFBWUMsT0FaTSxDQVlOLEdBQUcsQ0FBQztJQUNILEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUksR0FDWjs7RUFmRixBQWtCRSxPQWxCSyxBQWlCTCxjQUFjLENBQ2QsR0FBRyxDQUFDO0lBQ0gsV0FBVyxFQUFFLElBQUksR0FDakI7O0VBcEJILEFBd0JFLE9BeEJLLEFBdUJMLGFBQWEsQ0FDYixHQUFHLENBQUM7SUFDSCxZQUFZLEVBQUUsSUFBSSxHQUNsQjs7QUFJSDs7R0FFRzs7QUFHSCxBQURBLGdCQUNnQixDQUFDO0VBQ2hCLGdCQUFnQixFaEIzQlIsT0FBdUI7RWdCNEIvQixLQUFLLEVoQi9CRyxLQUFvQixHZ0JxQzVCOztFQVJELEFBSUMsZ0JBSmUsQUFJZCxNQUFNLENBQUM7SUFDUCxnQkFBZ0IsRWhCOUJWLHFCQUF5QjtJZ0IrQi9CLEtBQUssRWhCbkNFLEtBQW9CLEdnQm9DM0I7O0FBR0Y7O0dBRUc7QUFFSCxBQUFBLEtBQUssQ0FBQztFSEFKLFNBQVMsRUdLSSxJQUFJO0VISmpCLFNBQVMsRUY1QkYsTUFBeUI7RUVpQ2hDLFdBQVcsRUFBRSxTQUFtQztFR0FqRCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxJQUFJLEdBK0JuQjtFSHNDQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLLE9BQU8sU0FBUyxFQUFFLEtBQUs7SUdoRmpFLEFBQUEsS0FBSyxDQUFDO01IQUosU0FBUyxFR0VLLElBQUk7TUhEbEIsU0FBUyxFRjVCRixNQUF5QjtNRWlDaEMsV0FBVyxFQUFFLFNBQW1DLEdHb0NqRDtFQTFDRCxBQWNFLEtBZEcsQUFhSCxjQUFjLEFBQ2IsT0FBTyxDQUFDO0lBQ1IsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDaEJqRVoscUJBQXVCO0lnQmtFNUIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLEVBQUU7SUFDWCxLQUFLLEVBQUUsS0FBSyxHQUNaO0VBdEJILEFBeUJHLEtBekJFLEFBYUgsY0FBYyxBQVdiLE1BQU0sQ0FDTixHQUFHLENBQUM7SUFDSCxLQUFLLEVBQUUsSUFBSSxHQUNYO0VBM0JKLEFBOEJFLEtBOUJHLEFBYUgsY0FBYyxDQWlCZCxHQUFHLENBQUM7SUFDSCxXQUFXLEVBQUUsSUFBSSxHQUNqQjtFQWhDSCxBQW1DQyxLQW5DSSxDQW1DSixHQUFHLENBQUM7SUFDSCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLGNBQWM7SUFDMUIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLENBQUMsR0FDUjs7QUMvRkY7Ozs7R0FJRztBQUVILEFBQ0MsV0FEVSxDQUNWLENBQUMsQ0FBQztFSitDRCxTQUFTLEVJOUNLLElBQUk7RUorQ2xCLFNBQVMsRUY1QkYsTUFBeUI7RUVpQ2hDLFdBQVcsRUFBRSxPQUFtQyxHSWhEaEQ7RUFORixBQUdFLFdBSFMsQ0FDVixDQUFDLEFBRUMsSUFBSyxDQUFBLFdBQVcsRUFBRTtJQUNsQixhQUFhLEVBQUUsR0FBRyxHQUNsQjs7QUFMSCxBQVFDLFdBUlUsQ0FRVixFQUFFO0FBUkgsV0FBVyxDQVNWLEVBQUU7QUFUSCxXQUFXLENBVVYsRUFBRSxDQUFDO0VBQ0YsYUFBYSxFQUFFLElBQUksR0FDbkI7O0FBWkYsQUFjQyxXQWRVLENBY1YsRUFBRSxDQUFDO0VBQ0YsYUFBYSxFQUFFLElBQUksR0FDbkI7O0FBaEJGLEFBa0JDLFdBbEJVLENBa0JWLFNBQVMsQ0FBQztFSjhCVCxTQUFTLEVJeEJLLElBQUk7RUp5QmxCLFNBQVMsRUY1QkYsTUFBeUI7RUVpQ2hDLFdBQVcsRUFBRSxTQUFtQztFSTdCaEQsV0FBVyxFQUFFLEdBQUcsR0FDaEI7RUowR0EsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJSXBJMUMsQUFrQkMsV0FsQlUsQ0FrQlYsU0FBUyxDQUFDO01KOEJULFNBQVMsRUk1Qk0sSUFBSTtNSjZCbkIsU0FBUyxFRjVCRixNQUF5QjtNRWlDaEMsV0FBVyxFQUFFLE9BQW1DO01JakMvQyxXQUFXLEVBQUUsR0FBRyxHQUtqQjs7QUprRkEsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFSTVHM0MsQUE0QkMsV0E1QlUsQ0E0QlYsR0FBRyxDQUFDO0lBRUYsU0FBUyxFQUFFLGtCQUFrQjtJQUM3QixNQUFNLEVBQUUsSUFBSTtJQUNaLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxLQUFLLEdBWW5COztBQTdDRixBQW9DRSxXQXBDUyxDQTRCVixHQUFHLEFBUUQsWUFBWSxDQUFDO0VBQ2IsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsTUFBTSxHQUNkOztBQXZDSCxBQXlDRSxXQXpDUyxDQTRCVixHQUFHLEFBYUQsV0FBVyxDQUFDO0VBQ1osT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsVUFBVSxHQUNsQjs7QUE1Q0gsQUErQ0MsV0EvQ1UsQ0ErQ1YsS0FBSyxDQUFDO0VBQ0wsVUFBVSxFQUFFLFVBQVUsR0FLdEI7RUFyREYsQUFrREUsV0FsRFMsQ0ErQ1YsS0FBSyxDQUdKLEVBQUUsQ0FBQztJQUNGLGNBQWMsRUFBRSxHQUFHLEdBQ25COztBQXBESCxBQXVEQyxXQXZEVSxDQXVEVixFQUFFO0FBdkRILFdBQVcsQ0F3RFYsRUFBRSxDQUFDO0VBQ0YsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUk7RUFDakIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsV0FBVyxFQUFFLEdBQUcsR0FDaEI7O0FBN0RGLEFBZ0VFLFdBaEVTLENBK0RWLEVBQUUsQ0FDRCxFQUFFLENBQUM7RUFDSCxPQUFPLEVBQUUsSUFBSTtFQUNiLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFdBQVcsRUFBRSxJQUFJLEdBaUJoQjtFQXJGSCxBQXNFRyxXQXRFUSxDQStEVixFQUFFLENBQ0QsRUFBRSxBQU1BLFFBQVEsQ0FBQztJQUNULFVBQVUsRUFBRSxHQUFHO0lBQ2YsTUFBTSxFQUFFLElBQUk7SUFDWixJQUFJLEVBQUUsS0FBSztJQUNYLEtBQUssRUFBRSxJQUFJO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFakJwRUEsT0FBdUI7SWlCcUU1QixnQkFBZ0IsRWpCbkVaLHFCQUF5QjtJaUJvRTdCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxFQUFFLEdBQ1g7RUFoRkosQUFrRkcsV0FsRlEsQ0ErRFYsRUFBRSxDQUNELEVBQUUsQUFrQkEsUUFBUSxDQUFDO0lBQ1QsT0FBTyxFQUFFLElBQUksR0FDYjs7QUFwRkosQUF3RkMsV0F4RlUsQ0F3RlYsRUFBRSxDQUFDO0VBQ0YsZUFBZSxFQUFFLE9BQU8sR0FDeEI7O0FBMUZGLEFBNEZDLFdBNUZVLENBNEZWLE1BQU0sQ0FBQztFQUNOLFdBQVcsRUFBRSxJQUFJLEdBQ2pCOztBQTlGRixBQWdHQyxXQWhHVSxDQWdHVixDQUFDLENBQUM7RUFDRCxlQUFlLEVBQUUsSUFBSTtFQUNyQixLQUFLLEVqQjFGRSxPQUF1QjtFaUIyRjlCLFVBQVUsRUFBRSxjQUFjO0VBQzFCLFdBQVcsRUFBRSxHQUFHLEdBS2hCO0VBekdGLEFBc0dFLFdBdEdTLENBZ0dWLENBQUMsQUFNQyxNQUFNLENBQUM7SUFDUCxLQUFLLEVqQjdGQSxxQkFBeUIsR2lCOEY5Qjs7QUF4R0gsQUEyR0MsV0EzR1UsQ0EyR1YsVUFBVSxDQUFDO0VKM0RWLFNBQVMsRUk0REssSUFBSTtFSjNEbEIsU0FBUyxFRjVCRixNQUF5QjtFRWlDaEMsV0FBVyxFQUFFLFFBQW1DO0VJdURoRCxVQUFVLEVBQUUsTUFBTTtFQUNsQixNQUFNLEVBQUUsU0FBUztFQUNqQixPQUFPLEVBQUUsU0FBUztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsTUFBTSxHQXVCbEI7RUF4SUYsQUFtSEUsV0FuSFMsQ0EyR1YsVUFBVSxBQVFSLFFBQVEsQ0FBQztJSm5FVixTQUFTLEVJb0VNLEtBQUs7SUpuRXBCLFNBQVMsRUY1QkYsS0FBeUI7SUVpQ2hDLFdBQVcsRUFBRSxLQUFtQztJSStEL0MsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLE1BQU07SUFDZixLQUFLLEVqQnZIQyxPQUFxQjtJaUJ3SDNCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLElBQUksRUFBRSxJQUFJO0lBQ1YsR0FBRyxFQUFFLElBQUksR0FDVDtFQTVISCxBQThIRSxXQTlIUyxDQTJHVixVQUFVLEFBbUJSLE9BQU8sQ0FBQztJSjlFVCxTQUFTLEVJK0VNLEtBQUs7SUo5RXBCLFNBQVMsRUY1QkYsS0FBeUI7SUVpQ2hDLFdBQVcsRUFBRSxLQUFtQztJSTBFL0MsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLE1BQU07SUFDZixLQUFLLEVqQmxJQyxPQUFxQjtJaUJtSTNCLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLEtBQUssR0FDYjs7QUF2SUgsQUEwSUMsV0ExSVUsQ0EwSVYsV0FBVyxDQUFDO0VBQ1gsYUFBYSxFQUFFLElBQUksR0FZbkI7RUF2SkYsQUE2SUUsV0E3SVMsQ0EwSVYsV0FBVyxDQUdWLEdBQUcsQ0FBQztJQUNILGFBQWEsRUFBRSxJQUFJLEdBQ25CO0VBL0lILEFBaUpFLFdBakpTLENBMElWLFdBQVcsQ0FPVixnQkFBZ0IsQ0FBQztJSmpHakIsU0FBUyxFSWtHTSxJQUFJO0lKakduQixTQUFTLEVGNUJGLE1BQXlCO0lFaUNoQyxXQUFXLEVBQUUsTUFBbUM7SUk2Ri9DLEtBQUssRWpCM0lDLE9BQXVCO0lpQjRJN0IsY0FBYyxFQUFFLE1BQU07SUFDdEIsVUFBVSxFQUFFLElBQUksR0FDaEI7O0FDNUpIOztHQUVHO0FBRUgsQUFBQSxVQUFVLENBQUM7RUxRUixTQUFTLEVBQUUsbUJBQStCO0VBQzFDLE9BQU8sRUFBRSxDQUFDLENYQ0YsSUFBSTtFV0diLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLE1BQU0sR0taZjs7QUNORDs7OztHQUlHO0FBRUgsQUFBQSxtQkFBbUIsQ0FBQztFQUtuQixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsS0FBSztFQUNqQixRQUFRLEVBQUUsTUFBTTtFQUNoQixVQUFVLEVBQUUsSUFBSSxHQUNoQjtFTjJIQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lNcEkxQyxBQUFBLG1CQUFtQixDQUFDO01BRWxCLFVBQVUsRUFBRSxJQUFJLEdBT2pCOztBQ2ZEOzs7Ozs7Ozs7Ozs7R0FZRztBQUVIOzs7O0dBSUc7QUFFSCxBQUFBLEtBQUssQ0FBQztFQUNMLE9BQU8sRUFBRSxJQUFJLEdBQ2I7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDVixTQUFTLEVBQUUsSUFBSSxHQUNmOztBQUdEOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSixPQUFPLEVBQUUsSUFBSTtFQUNiLElBQUksRUFBRSxRQUFRO0VBQ2QsU0FBUyxFQUFFLFFBQVE7RUFDbkIsTUFBTSxFQUFFLE9BQW1CLEdBQzNCOztBQUdEOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSixJQUFJLEVBQUUsQ0FBQyxHQUNQOztBQWNFOztNQUVHO0FBRUgsQUFBQSxTQUFTLENBQVU7RUFDbEIsSUFBSSxFQUFFLFFBQVE7RUFDZCxLQUFLLEVUMUJBLFFBQTRCO0VTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7O0FBUUE7O09BRUc7QUFFSCxBQUFBLFlBQVksQ0FBVTtFQUNyQixXQUFXLEVUekNQLFFBQTRCLEdTMENoQzs7QUF0QkY7O01BRUc7QUFFSCxBQUFBLFNBQVMsQ0FBVTtFQUNsQixJQUFJLEVBQUUsUUFBUTtFQUNkLEtBQUssRVQxQkEsU0FBNEI7RVMyQmpDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBYSxHQUN4Qjs7QUFRQTs7T0FFRztBQUVILEFBQUEsWUFBWSxDQUFVO0VBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDOztBQXRCRjs7TUFFRztBQUVILEFBQUEsU0FBUyxDQUFVO0VBQ2xCLElBQUksRUFBRSxRQUFRO0VBQ2QsS0FBSyxFVDFCQSxHQUE0QjtFUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCOztBQVFBOztPQUVHO0FBRUgsQUFBQSxZQUFZLENBQVU7RUFDckIsV0FBVyxFVHpDUCxHQUE0QixHUzBDaEM7O0FBdEJGOztNQUVHO0FBRUgsQUFBQSxTQUFTLENBQVU7RUFDbEIsSUFBSSxFQUFFLFFBQVE7RUFDZCxLQUFLLEVUMUJBLFNBQTRCO0VTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7O0FBUUE7O09BRUc7QUFFSCxBQUFBLFlBQVksQ0FBVTtFQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQzs7QUF0QkY7O01BRUc7QUFFSCxBQUFBLFNBQVMsQ0FBVTtFQUNsQixJQUFJLEVBQUUsUUFBUTtFQUNkLEtBQUssRVQxQkEsU0FBNEI7RVMyQmpDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBYSxHQUN4Qjs7QUFRQTs7T0FFRztBQUVILEFBQUEsWUFBWSxDQUFVO0VBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDOztBQXRCRjs7TUFFRztBQUVILEFBQUEsU0FBUyxDQUFVO0VBQ2xCLElBQUksRUFBRSxRQUFRO0VBQ2QsS0FBSyxFVDFCQSxHQUE0QjtFUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCOztBQVFBOztPQUVHO0FBRUgsQUFBQSxZQUFZLENBQVU7RUFDckIsV0FBVyxFVHpDUCxHQUE0QixHUzBDaEM7O0FBdEJGOztNQUVHO0FBRUgsQUFBQSxTQUFTLENBQVU7RUFDbEIsSUFBSSxFQUFFLFFBQVE7RUFDZCxLQUFLLEVUMUJBLFNBQTRCO0VTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7O0FBUUE7O09BRUc7QUFFSCxBQUFBLFlBQVksQ0FBVTtFQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQzs7QUF0QkY7O01BRUc7QUFFSCxBQUFBLFNBQVMsQ0FBVTtFQUNsQixJQUFJLEVBQUUsUUFBUTtFQUNkLEtBQUssRVQxQkEsU0FBNEI7RVMyQmpDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBYSxHQUN4Qjs7QUFRQTs7T0FFRztBQUVILEFBQUEsWUFBWSxDQUFVO0VBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDOztBQXRCRjs7TUFFRztBQUVILEFBQUEsU0FBUyxDQUFVO0VBQ2xCLElBQUksRUFBRSxRQUFRO0VBQ2QsS0FBSyxFVDFCQSxHQUE0QjtFUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCOztBQVFBOztPQUVHO0FBRUgsQUFBQSxZQUFZLENBQVU7RUFDckIsV0FBVyxFVHpDUCxHQUE0QixHUzBDaEM7O0FBdEJGOztNQUVHO0FBRUgsQUFBQSxVQUFVLENBQVM7RUFDbEIsSUFBSSxFQUFFLFFBQVE7RUFDZCxLQUFLLEVUMUJBLFNBQTRCO0VTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7O0FBUUE7O09BRUc7QUFFSCxBQUFBLGFBQWEsQ0FBUztFQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQzs7QUF0QkY7O01BRUc7QUFFSCxBQUFBLFVBQVUsQ0FBUztFQUNsQixJQUFJLEVBQUUsUUFBUTtFQUNkLEtBQUssRVQxQkEsU0FBNEI7RVMyQmpDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBYSxHQUN4Qjs7QUFRQTs7T0FFRztBQUVILEFBQUEsYUFBYSxDQUFTO0VBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDOztBQXRCRjs7TUFFRztBQUVILEFBQUEsVUFBVSxDQUFTO0VBQ2xCLElBQUksRUFBRSxRQUFRO0VBQ2QsS0FBSyxFVDFCQSxJQUE0QjtFUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCOztBQXNCRDs7TUFFRztBQUVILEFBQUEsaUJBQWlCLENBQVE7RUFDeEIsV0FBVyxFQVBHLE9BQU8sR0FRckI7O0FBTkQ7O01BRUc7QUFFSCxBQUFBLGdCQUFnQixDQUFTO0VBQ3hCLFdBQVcsRUFQWSxNQUFNLEdBUTdCOztBQU5EOztNQUVHO0FBRUgsQUFBQSxvQkFBb0IsQ0FBSztFQUN4QixXQUFXLEVBUG9CLFVBQVUsR0FRekM7O0FBTkQ7O01BRUc7QUFFSCxBQUFBLGtCQUFrQixDQUFPO0VBQ3hCLFdBQVcsRUFQZ0MsUUFBUSxHQVFuRDs7QUFORDs7TUFFRztBQUVILEFBQUEsa0JBQWtCLENBQU87RUFDeEIsV0FBVyxFQVAwQyxRQUFRLEdBUTdEOztBQU9EOztNQUVHO0FBRUgsQUFBQSxpQkFBaUIsQ0FBVTtFQUMxQixlQUFlLEVBUEQsS0FBSyxHQVFuQjs7QUFORDs7TUFFRztBQUVILEFBQUEsa0JBQWtCLENBQVM7RUFDMUIsZUFBZSxFQVBNLE1BQU0sR0FRM0I7O0FBTkQ7O01BRUc7QUFFSCxBQUFBLHlCQUF5QixDQUFFO0VBQzFCLGVBQWUsRUFQYyxhQUFhLEdBUTFDOztBQU5EOztNQUVHO0FBRUgsQUFBQSx3QkFBd0IsQ0FBRztFQUMxQixlQUFlLEVBUDZCLFlBQVksR0FReEQ7O0FBTkQ7O01BRUc7QUFFSCxBQUFBLHdCQUF3QixDQUFHO0VBQzFCLGVBQWUsRUFQMkMsWUFBWSxHQVF0RTs7QUFPRDs7TUFFRztBQUVILEFBQUEsY0FBYyxDQUFlO0VBQzVCLFlBQXFCLEVBQVUsQ0FBQyxHQUNoQzs7QUFORDs7TUFFRztBQUVILEFBQUEsZUFBZSxDQUFjO0VBQzVCLGFBQXFCLEVBQVUsQ0FBQyxHQUNoQzs7QUFJRjs7S0FFRztBQUVILEFBQUEsU0FBUyxDQUFNO0VBQ2QsS0FBSyxFQUFFLEVBQUUsR0FDVDs7QUFHRDs7S0FFRztBQUVILEFBQUEsUUFBUSxDQUFNO0VBQ2IsS0FBSyxFQUFFLENBQUMsR0FDUjs7QUFHRDs7S0FFRztBQUVILEFBQUEsV0FBVyxDQUFNO0VBQ2hCLGNBQWMsRUFBRSxXQUFXLEdBQzNCOztBUExELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RU9yRnZDOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFFBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsUUFBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLEdBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsR0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLEdBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsR0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLEdBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsR0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxVQUFVLENBQVM7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsYUFBYSxDQUFTO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxVQUFVLENBQVM7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsYUFBYSxDQUFTO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxVQUFVLENBQVM7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLElBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFzQkQ7O01BRUc7RUFFSCxBQUFBLGlCQUFpQixDQUFRO0lBQ3hCLFdBQVcsRUFQRyxPQUFPLEdBUXJCO0VBTkQ7O01BRUc7RUFFSCxBQUFBLGdCQUFnQixDQUFTO0lBQ3hCLFdBQVcsRUFQWSxNQUFNLEdBUTdCO0VBTkQ7O01BRUc7RUFFSCxBQUFBLG9CQUFvQixDQUFLO0lBQ3hCLFdBQVcsRUFQb0IsVUFBVSxHQVF6QztFQU5EOztNQUVHO0VBRUgsQUFBQSxrQkFBa0IsQ0FBTztJQUN4QixXQUFXLEVBUGdDLFFBQVEsR0FRbkQ7RUFORDs7TUFFRztFQUVILEFBQUEsa0JBQWtCLENBQU87SUFDeEIsV0FBVyxFQVAwQyxRQUFRLEdBUTdEO0VBT0Q7O01BRUc7RUFFSCxBQUFBLGlCQUFpQixDQUFVO0lBQzFCLGVBQWUsRUFQRCxLQUFLLEdBUW5CO0VBTkQ7O01BRUc7RUFFSCxBQUFBLGtCQUFrQixDQUFTO0lBQzFCLGVBQWUsRUFQTSxNQUFNLEdBUTNCO0VBTkQ7O01BRUc7RUFFSCxBQUFBLHlCQUF5QixDQUFFO0lBQzFCLGVBQWUsRUFQYyxhQUFhLEdBUTFDO0VBTkQ7O01BRUc7RUFFSCxBQUFBLHdCQUF3QixDQUFHO0lBQzFCLGVBQWUsRUFQNkIsWUFBWSxHQVF4RDtFQU5EOztNQUVHO0VBRUgsQUFBQSx3QkFBd0IsQ0FBRztJQUMxQixlQUFlLEVBUDJDLFlBQVksR0FRdEU7RUFPRDs7TUFFRztFQUVILEFBQUEsY0FBYyxDQUFlO0lBQzVCLFlBQXFCLEVBQVUsQ0FBQyxHQUNoQztFQU5EOztNQUVHO0VBRUgsQUFBQSxlQUFlLENBQWM7SUFDNUIsYUFBcUIsRUFBVSxDQUFDLEdBQ2hDO0VBSUY7O0tBRUc7RUFFSCxBQUFBLFNBQVMsQ0FBTTtJQUNkLEtBQUssRUFBRSxFQUFFLEdBQ1Q7RUFHRDs7S0FFRztFQUVILEFBQUEsUUFBUSxDQUFNO0lBQ2IsS0FBSyxFQUFFLENBQUMsR0FDUjtFQUdEOztLQUVHO0VBRUgsQUFBQSxXQUFXLENBQU07SUFDaEIsY0FBYyxFQUFFLFdBQVcsR0FDM0I7O0FQckJELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RU9yRXZDOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFFBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsUUFBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLEdBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsR0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLEdBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsR0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLEdBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsR0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxVQUFVLENBQVM7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsYUFBYSxDQUFTO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxVQUFVLENBQVM7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsYUFBYSxDQUFTO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxVQUFVLENBQVM7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLElBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFzQkQ7O01BRUc7RUFFSCxBQUFBLGlCQUFpQixDQUFRO0lBQ3hCLFdBQVcsRUFQRyxPQUFPLEdBUXJCO0VBTkQ7O01BRUc7RUFFSCxBQUFBLGdCQUFnQixDQUFTO0lBQ3hCLFdBQVcsRUFQWSxNQUFNLEdBUTdCO0VBTkQ7O01BRUc7RUFFSCxBQUFBLG9CQUFvQixDQUFLO0lBQ3hCLFdBQVcsRUFQb0IsVUFBVSxHQVF6QztFQU5EOztNQUVHO0VBRUgsQUFBQSxrQkFBa0IsQ0FBTztJQUN4QixXQUFXLEVBUGdDLFFBQVEsR0FRbkQ7RUFORDs7TUFFRztFQUVILEFBQUEsa0JBQWtCLENBQU87SUFDeEIsV0FBVyxFQVAwQyxRQUFRLEdBUTdEO0VBT0Q7O01BRUc7RUFFSCxBQUFBLGlCQUFpQixDQUFVO0lBQzFCLGVBQWUsRUFQRCxLQUFLLEdBUW5CO0VBTkQ7O01BRUc7RUFFSCxBQUFBLGtCQUFrQixDQUFTO0lBQzFCLGVBQWUsRUFQTSxNQUFNLEdBUTNCO0VBTkQ7O01BRUc7RUFFSCxBQUFBLHlCQUF5QixDQUFFO0lBQzFCLGVBQWUsRUFQYyxhQUFhLEdBUTFDO0VBTkQ7O01BRUc7RUFFSCxBQUFBLHdCQUF3QixDQUFHO0lBQzFCLGVBQWUsRUFQNkIsWUFBWSxHQVF4RDtFQU5EOztNQUVHO0VBRUgsQUFBQSx3QkFBd0IsQ0FBRztJQUMxQixlQUFlLEVBUDJDLFlBQVksR0FRdEU7RUFPRDs7TUFFRztFQUVILEFBQUEsY0FBYyxDQUFlO0lBQzVCLFlBQXFCLEVBQVUsQ0FBQyxHQUNoQztFQU5EOztNQUVHO0VBRUgsQUFBQSxlQUFlLENBQWM7SUFDNUIsYUFBcUIsRUFBVSxDQUFDLEdBQ2hDO0VBSUY7O0tBRUc7RUFFSCxBQUFBLFNBQVMsQ0FBTTtJQUNkLEtBQUssRUFBRSxFQUFFLEdBQ1Q7RUFHRDs7S0FFRztFQUVILEFBQUEsUUFBUSxDQUFNO0lBQ2IsS0FBSyxFQUFFLENBQUMsR0FDUjtFQUdEOztLQUVHO0VBRUgsQUFBQSxXQUFXLENBQU07SUFDaEIsY0FBYyxFQUFFLFdBQVcsR0FDM0I7O0FQakNELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RU96RHZDOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFFBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsUUFBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLEdBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsR0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLEdBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsR0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLEdBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsR0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxVQUFVLENBQVM7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsYUFBYSxDQUFTO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxVQUFVLENBQVM7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsYUFBYSxDQUFTO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxVQUFVLENBQVM7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLElBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFzQkQ7O01BRUc7RUFFSCxBQUFBLGlCQUFpQixDQUFRO0lBQ3hCLFdBQVcsRUFQRyxPQUFPLEdBUXJCO0VBTkQ7O01BRUc7RUFFSCxBQUFBLGdCQUFnQixDQUFTO0lBQ3hCLFdBQVcsRUFQWSxNQUFNLEdBUTdCO0VBTkQ7O01BRUc7RUFFSCxBQUFBLG9CQUFvQixDQUFLO0lBQ3hCLFdBQVcsRUFQb0IsVUFBVSxHQVF6QztFQU5EOztNQUVHO0VBRUgsQUFBQSxrQkFBa0IsQ0FBTztJQUN4QixXQUFXLEVBUGdDLFFBQVEsR0FRbkQ7RUFORDs7TUFFRztFQUVILEFBQUEsa0JBQWtCLENBQU87SUFDeEIsV0FBVyxFQVAwQyxRQUFRLEdBUTdEO0VBT0Q7O01BRUc7RUFFSCxBQUFBLGlCQUFpQixDQUFVO0lBQzFCLGVBQWUsRUFQRCxLQUFLLEdBUW5CO0VBTkQ7O01BRUc7RUFFSCxBQUFBLGtCQUFrQixDQUFTO0lBQzFCLGVBQWUsRUFQTSxNQUFNLEdBUTNCO0VBTkQ7O01BRUc7RUFFSCxBQUFBLHlCQUF5QixDQUFFO0lBQzFCLGVBQWUsRUFQYyxhQUFhLEdBUTFDO0VBTkQ7O01BRUc7RUFFSCxBQUFBLHdCQUF3QixDQUFHO0lBQzFCLGVBQWUsRUFQNkIsWUFBWSxHQVF4RDtFQU5EOztNQUVHO0VBRUgsQUFBQSx3QkFBd0IsQ0FBRztJQUMxQixlQUFlLEVBUDJDLFlBQVksR0FRdEU7RUFPRDs7TUFFRztFQUVILEFBQUEsY0FBYyxDQUFlO0lBQzVCLFlBQXFCLEVBQVUsQ0FBQyxHQUNoQztFQU5EOztNQUVHO0VBRUgsQUFBQSxlQUFlLENBQWM7SUFDNUIsYUFBcUIsRUFBVSxDQUFDLEdBQ2hDO0VBSUY7O0tBRUc7RUFFSCxBQUFBLFNBQVMsQ0FBTTtJQUNkLEtBQUssRUFBRSxFQUFFLEdBQ1Q7RUFHRDs7S0FFRztFQUVILEFBQUEsUUFBUSxDQUFNO0lBQ2IsS0FBSyxFQUFFLENBQUMsR0FDUjtFQUdEOztLQUVHO0VBRUgsQUFBQSxXQUFXLENBQU07SUFDaEIsY0FBYyxFQUFFLFdBQVcsR0FDM0I7O0FQckNELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RU9yRHhDOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFFBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsUUFBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLEdBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsR0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLEdBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsR0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxTQUFTLENBQVU7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLEdBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsWUFBWSxDQUFVO0lBQ3JCLFdBQVcsRVR6Q1AsR0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxVQUFVLENBQVM7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsYUFBYSxDQUFTO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxVQUFVLENBQVM7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLFNBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFRQTs7T0FFRztFQUVILEFBQUEsYUFBYSxDQUFTO0lBQ3JCLFdBQVcsRVR6Q1AsU0FBNEIsR1MwQ2hDO0VBdEJGOztNQUVHO0VBRUgsQUFBQSxVQUFVLENBQVM7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVUMUJBLElBQTRCO0lTMkJqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQWEsR0FDeEI7RUFzQkQ7O01BRUc7RUFFSCxBQUFBLGlCQUFpQixDQUFRO0lBQ3hCLFdBQVcsRUFQRyxPQUFPLEdBUXJCO0VBTkQ7O01BRUc7RUFFSCxBQUFBLGdCQUFnQixDQUFTO0lBQ3hCLFdBQVcsRUFQWSxNQUFNLEdBUTdCO0VBTkQ7O01BRUc7RUFFSCxBQUFBLG9CQUFvQixDQUFLO0lBQ3hCLFdBQVcsRUFQb0IsVUFBVSxHQVF6QztFQU5EOztNQUVHO0VBRUgsQUFBQSxrQkFBa0IsQ0FBTztJQUN4QixXQUFXLEVBUGdDLFFBQVEsR0FRbkQ7RUFORDs7TUFFRztFQUVILEFBQUEsa0JBQWtCLENBQU87SUFDeEIsV0FBVyxFQVAwQyxRQUFRLEdBUTdEO0VBT0Q7O01BRUc7RUFFSCxBQUFBLGlCQUFpQixDQUFVO0lBQzFCLGVBQWUsRUFQRCxLQUFLLEdBUW5CO0VBTkQ7O01BRUc7RUFFSCxBQUFBLGtCQUFrQixDQUFTO0lBQzFCLGVBQWUsRUFQTSxNQUFNLEdBUTNCO0VBTkQ7O01BRUc7RUFFSCxBQUFBLHlCQUF5QixDQUFFO0lBQzFCLGVBQWUsRUFQYyxhQUFhLEdBUTFDO0VBTkQ7O01BRUc7RUFFSCxBQUFBLHdCQUF3QixDQUFHO0lBQzFCLGVBQWUsRUFQNkIsWUFBWSxHQVF4RDtFQU5EOztNQUVHO0VBRUgsQUFBQSx3QkFBd0IsQ0FBRztJQUMxQixlQUFlLEVBUDJDLFlBQVksR0FRdEU7RUFPRDs7TUFFRztFQUVILEFBQUEsY0FBYyxDQUFlO0lBQzVCLFlBQXFCLEVBQVUsQ0FBQyxHQUNoQztFQU5EOztNQUVHO0VBRUgsQUFBQSxlQUFlLENBQWM7SUFDNUIsYUFBcUIsRUFBVSxDQUFDLEdBQ2hDO0VBSUY7O0tBRUc7RUFFSCxBQUFBLFNBQVMsQ0FBTTtJQUNkLEtBQUssRUFBRSxFQUFFLEdBQ1Q7RUFHRDs7S0FFRztFQUVILEFBQUEsUUFBUSxDQUFNO0lBQ2IsS0FBSyxFQUFFLENBQUMsR0FDUjtFQUdEOztLQUVHO0VBRUgsQUFBQSxXQUFXLENBQU07SUFDaEIsY0FBYyxFQUFFLFdBQVcsR0FDM0I7O0FDdkpIOztHQUVHO0FBRUgsQUFBQSxLQUFLLENBQUM7RUFDTCxPQUFPLEVBQUUsS0FBSztFQUNkLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLEtBQUssRXJCRkcsT0FBcUI7RXFCRzdCLFdBQVcsRUFBRSxJQUFJLEdBQ2pCOzs7QUFHRCxBQURBLE1BQ007QUFDTixLQUFLO0FBQ0wsUUFBUSxDQUFDO0VSdUNQLFNBQVMsRVF0Q0ksSUFBSTtFUnVDakIsU0FBUyxFRjVCRixNQUF5QjtFRWlDaEMsV0FBVyxFQUFFLFFBQW1DO0VRM0NqRCxLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLGdCQUFnQixFckJUUixLQUFvQjtFcUJVNUIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENyQmhCVCxPQUFxQjtFcUJpQjdCLEtBQUssRXJCakJHLE9BQXFCLEdxQnNCN0I7O0VBZkQsQUFZQyxNQVpLLEFBWUosTUFBTTtFQVhSLEtBQUssQUFXSCxNQUFNO0VBVlIsUUFBUSxBQVVOLE1BQU0sQ0FBQztJQUNQLGdCQUFnQixFckJmVCxLQUFvQixHcUJnQjNCOztBQUdGLEFBQUEsUUFBUSxDQUFDO0VBQ1IsTUFBTSxFQUFFLEtBQUs7RUFDYixVQUFVLEVBQUUsS0FBSztFQUNqQixXQUFXLEVBQUUsSUFBSSxHQUNqQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VSa0JmLFNBQVMsRVFqQkksSUFBSTtFUmtCakIsU0FBUyxFRjVCRixNQUF5QjtFRWlDaEMsV0FBVyxFQUFFLFNBQW1DO0VRdEJqRCxLQUFLLEVyQnhCRyxPQUF1QixHcUJ5Qi9COztBQUVELEFBQUEsd0JBQXdCLENBQUM7RUFDeEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxRQUFRLEVBQUUsTUFBTTtFQUNoQixnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDckJ4Q1QsT0FBcUIsR3FCNEQ3QjtFQXpCRCxBQU9DLHdCQVB1QixDQU92QixHQUFHLENBQUM7SUFDSCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsSUFBSTtJQUNaLE9BQU8sRUFBRSxDQUFDLEdBQ1Y7RUFkRixBQWdCQyx3QkFoQnVCLENBZ0J2QixNQUFNLENBQUM7SUFDTixRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsaUJBQWlCO0lBQ3hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsTUFBTSxFQUFFLElBQUk7SUFDWixnQkFBZ0IsRUFBRSxXQUFXO0lBQzdCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUMsR0FDVjs7QUFHRixBQUFBLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVo7QUFDTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEVBQWlCO0VBQ3RCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JCbEVULE9BQXFCO0VxQm1FN0IsYUFBYSxFQUFFLEdBQUc7RUFDbEIsZ0JBQWdCLEVyQi9EUixLQUFvQjtFcUJnRTVCLFVBQVUsRUFBRSxjQUFjLEdBSzFCO0VBWkQsQUFTQyxLQVRJLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBU0osUUFBUTtFQVJWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FRSixRQUFRLENBQUM7SUFDVCxnQkFBZ0IsRXJCeEVULE9BQXFCLEdxQnlFNUI7O0FBR0YsQUFBQSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBQWM7RUFDbkIsYUFBYSxFQUFFLElBQUksR0FDbkI7O0FBR0Q7O0dBRUc7QUFFSCxBQUFBLE9BQU8sQ0FBQztFQUtQLEtBQUssRUFBRSxnQkFBZ0I7RUFDdkIsYUFBYSxFQUFFLElBQUk7RUFDbkIsUUFBUSxFQUFFLFFBQVEsR0FDbEI7RVIrQ0MsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJUXZEMUMsQUFBQSxPQUFPLENBQUM7TUFFTixLQUFLLEVBQUUsSUFBSSxHQU1aOztBQUVELEFBQUEsMkJBQTJCLENBQUM7RUFDM0IsT0FBTyxFQUFFLElBQUksR0FDYjs7QUFFRCxBQUFBLGFBQWEsR0FBRyxLQUFLLENBQUM7RUFDckIsT0FBTyxFQUFFLElBQUksR0FDYjs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VSdkRsQixTQUFTLEVRd0RJLElBQUk7RVJ2RGpCLFNBQVMsRUY1QkYsTUFBeUI7RUVpQ2hDLFdBQVcsRUFBRSxTQUFtQztFUW1EakQsVUFBVSxFQUFFLEdBQUc7RUFDZixhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsU0FBUztFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLEtBQUssRXJCdEdHLE9BQXVCO0VxQnVHL0IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLElBQUk7RUFDVCxLQUFLLEVBQUUsQ0FBQyxHQVFSO0VBbEJELEFBWUMsbUJBWmtCLEdBWWhCLEdBQUcsQ0FBQztJQUNMLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixZQUFZLEVBQUUsR0FBRztJQUNqQixVQUFVLEVBQUUsSUFBSSxHQUNoQjs7QUFHRixBQUNDLGFBRFksQ0FDWixLQUFLLEVBRE4sYUFBYSxDQUNMLFFBQVEsQ0FBQztFQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDckJySFYsT0FBdUIsR3FCc0g5Qjs7O0FBSUYsQUFEQSxpQkFDaUIsQ0FBQztFQUNqQixPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLE9BQU8sRUFBRSxtQkFBbUI7RUFDNUIsVUFBVSxFckI3SEgscUJBQXlCO0VxQjhIaEMsS0FBSyxFckJoSUcsT0FBdUIsR3FCdUovQjs7RUE3QkQsQUFRQyxpQkFSZ0IsR0FRZCxHQUFHLENBQUM7SUFDTCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsZ0JBQWdCO0lBQ3JCLElBQUksRUFBRSxJQUFJO0lBQ1YsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRXJCeElFLE9BQXVCLEdxQnlJOUI7O0VBZkYsQUFpQkMsaUJBakJnQixDQWlCaEIsYUFBYSxDQUFDO0lBQ2IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLEdBQUc7SUFDUixLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxPQUFPLEdBT2Y7O0lBNUJGLEFBdUJFLGlCQXZCZSxDQWlCaEIsYUFBYSxDQU1aLEdBQUcsQ0FBQztNQUNILEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixLQUFLLEVyQjVKQyxPQUFxQixHcUI2SjNCOztBQUlILEFBQUEsMkJBQTJCLENBQUM7RUFDM0IsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRXJCNUpGLE9BQXVCLEdxQmlML0I7RUF4QkQsQUFLQywyQkFMMEIsQ0FLMUIsRUFBRSxDQUFDO0lBQ0YsT0FBTyxFQUFFLElBQUksR0FDYjtFQVBGLEFBU0MsMkJBVDBCLENBUzFCLEVBQUUsQ0FBQztJQUNGLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsYUFBYSxFQUFFLElBQUksR0FXbkI7SUF2QkYsQUFjRSwyQkFkeUIsQ0FTMUIsRUFBRSxDQUtELEdBQUcsQ0FBQztNQUNILEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixZQUFZLEVBQUUsSUFBSTtNQUNsQixhQUFhLEVBQUUsSUFBSTtNQUNuQixnQkFBZ0IsRXJCL0tWLEtBQW9CO01xQmdMMUIsT0FBTyxFQUFFLEdBQUc7TUFDWixLQUFLLEVyQnRMQyxPQUFxQixHcUJ1TDNCOztBQUlILEFBQUEsYUFBYSxDQUFDO0VBUWIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLE1BQU0sRUFBRSxLQUFLO0VBQ2IsZUFBZSxFQUFFLGFBQWE7RUFDOUIsV0FBVyxFQUFFLE1BQU07RUFDbkIsTUFBTSxFQUFFLE9BQU8sR0FDZjtFUjlEQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lRK0MxQyxBQUFBLGFBQWEsQ0FBQztNQUVaLE1BQU0sRUFBRSxDQUFDO01BQ1QsV0FBVyxFQUFFLFVBQVU7TUFDdkIsY0FBYyxFQUFFLEdBQUc7TUFDbkIsTUFBTSxFQUFFLElBQUksR0FVYjs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNiLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLFFBQVEsR0FDekI7O0FBRUQsQUFBQSxhQUFhLENBQUM7RVJqS1osU0FBUyxFUWtLSSxJQUFJO0VSaktqQixTQUFTLEVGNUJGLE1BQXlCO0VFaUNoQyxXQUFXLEVBQUUsT0FBbUM7RVE2SmpELFdBQVcsRUFBRSxHQUFHLEdBQ2hCOztBQzFORDs7R0FFRztBQUVILEFBQUEsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRSxDQUNPO0VBQ1IsV0FBVyxFdkJIQSxRQUFRO0V1QkluQixLQUFLLEV0QkpHLE9BQXFCLEdzQlM3QjtFQVhELEFBUUMsRUFSQyxBQVFBLFNBQVM7RUFQWCxFQUFFLEFBT0EsU0FBUztFQU5YLEVBQUUsQUFNQSxTQUFTO0VBTFgsRUFBRSxBQUtBLFNBQVMsQ0FBQztJQUNWLEtBQUssRXRCRkUsS0FBb0IsR3NCRzNCOztBQUdGOztHQUVHO0FBRUgsQUFBQSxFQUFFO0FBQ0YsVUFBVSxDQUFDO0VUZ0NULFNBQVMsRVMzQkksSUFBSTtFVDRCakIsU0FBUyxFRjVCRixNQUF5QjtFRWlDaEMsV0FBVyxFQUFFLFNBQW1DO0VTaENqRCxXQUFXLEVBQUUsR0FBRyxHQUNoQjtFVDZHQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lTckgxQyxBQUFBLEVBQUU7SUFDRixVQUFVLENBQUM7TVRnQ1QsU0FBUyxFUzlCSyxJQUFJO01UK0JsQixTQUFTLEVGNUJGLE1BQXlCO01FaUNoQyxXQUFXLEVBQUUsTUFBbUMsR1MvQmpEOztBQUVEOztHQUVHO0FBRUgsQUFBQSxFQUFFO0FBRUYsVUFBVSxDQUFDO0VUaUJULFNBQVMsRVNaSSxJQUFJO0VUYWpCLFNBQVMsRUY1QkYsTUFBeUI7RUVpQ2hDLFdBQVcsRUFBRSxTQUFtQztFU2pCakQsV0FBVyxFQUFFLEdBQUcsR0FDaEI7RVQ4RkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJU3ZHMUMsQUFBQSxFQUFFO0lBRUYsVUFBVSxDQUFDO01UaUJULFNBQVMsRVNmSyxJQUFJO01UZ0JsQixTQUFTLEVGNUJGLE1BQXlCO01FaUNoQyxXQUFXLEVBQUUsU0FBbUMsR1NoQmpEOztBQUVEOztHQUVHO0FBRUgsQUFBQSxXQUFXLENBQUM7RVRJVixTQUFTLEVTSEksSUFBSTtFVElqQixTQUFTLEVGNUJGLE1BQXlCO0VFaUNoQyxXQUFXLEVBQUUsU0FBbUM7RVNSakQsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLFNBQVMsR0FLekI7RUFSRCxBQUtDLFdBTFUsQUFLVCxTQUFTLENBQUM7SUFDVixLQUFLLEV0QjdDRSxLQUFvQixHc0I4QzNCOztBQ3pERixBQUFBLGNBQWMsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxNQUFNO0VBQ1gsVUFBVSxFQUFFLGNBQWM7RUFDMUIsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixPQUFPLEVBQUUsQ0FBQyxHQU1WO0VBWEQsQUFPQyxjQVBhLEFBT1osT0FBTyxDQUFDO0lBQ1IsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixVQUFVLEVBQUUsY0FBYyxHQUMxQjs7QUFHRixBQUFBLGNBQWMsQ0FBQSxBQUFBLE1BQUMsQ0FBTyxNQUFNLEFBQWIsRUFBZTtFQUM3QixHQUFHLEVBQUUsQ0FBQztFQUNOLE9BQU8sRUFBRSxDQUFDLEdBQ1Y7O0FDaEJELEFBQUEsV0FBVyxDQUFDO0VBS1gsS0FBSyxFQUFFLElBQUk7RUFDWCxjQUFjLEVBQUUsSUFBSTtFQUNwQixnQkFBZ0IsRXhCSVIsS0FBb0IsR3dCcUU1QjtFWDBEQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lXMUkxQyxBQUFBLFdBQVcsQ0FBQztNQUVWLGNBQWMsRUFBRSxHQUFHLEdBOEVwQjtFQWhGRCxBQVNDLFdBVFUsQ0FTVixRQUFRLENBQUM7SUFDUixlQUFlLEVBQUUsTUFBTSxHQUN2QjtFQVhGLEFBYUMsV0FiVSxDQWFWLGFBQWEsQ0FBQztJWHlDYixTQUFTLEVXeENLLElBQUk7SVh5Q2xCLFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxPQUFtQztJVzdDaEQsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsTUFBTTtJQUN2QixXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVBQUUsUUFBUTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixVQUFVLEVBQUUsY0FBYztJQUMxQixLQUFLLEV4QmRDLHFCQUF1QjtJd0JlN0IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsZ0JBQWdCLEV4QlpULEtBQW9CO0l3QmEzQixhQUFhLEVBQUUsR0FBRztJQUNsQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3hCbEJYLHFCQUF1QixHd0J3RTdCO0lBL0VGLEFBMkJFLFdBM0JTLENBYVYsYUFBYSxBQWNYLE1BQU0sRUEzQlQsV0FBVyxDQWFWLGFBQWEsQUFlWCxRQUFRLENBQUM7TUFDVCxLQUFLLEV4QmxCQyxLQUFvQjtNd0JtQjFCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLGdCQUFnQixFeEJqQlYsT0FBdUI7TXdCa0I3QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3hCbEJYLE9BQXVCLEd3Qm1CN0I7SUFqQ0gsQUFtQ0UsV0FuQ1MsQ0FhVixhQUFhLEFBc0JYLEtBQUssRUFuQ1IsV0FBVyxDQWFWLGFBQWEsQUF1QlgsS0FBSyxDQUFDO01BQ04sWUFBWSxFQUFFLElBQUksR0F3QmxCO01BN0RILEFBdUNHLFdBdkNRLENBYVYsYUFBYSxBQXNCWCxLQUFLLENBSUwsR0FBRyxFQXZDTixXQUFXLENBYVYsYUFBYSxBQXVCWCxLQUFLLENBR0wsR0FBRyxDQUFDO1FBQ0gsUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLENBQUM7UUFDTixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFeEJyQ0QscUJBQXVCO1F3QnNDM0IsVUFBVSxFQUFFLGNBQWMsR0FDMUI7TUE5Q0osQUFnREcsV0FoRFEsQ0FhVixhQUFhLEFBc0JYLEtBQUssQUFhSixNQUFNLEVBaERWLFdBQVcsQ0FhVixhQUFhLEFBdUJYLEtBQUssQUFZSixNQUFNLENBQUM7UUFXUCxnQkFBZ0IsRXhCN0NYLE9BQXVCLEd3QjhDNUI7UUE1REosQUFpREksV0FqRE8sQ0FhVixhQUFhLEFBc0JYLEtBQUssQUFhSixNQUFNLENBQ04sR0FBRyxFQWpEUCxXQUFXLENBYVYsYUFBYSxBQXVCWCxLQUFLLEFBWUosTUFBTSxDQUNOLEdBQUcsQ0FBQztVQUNILEtBQUssRXhCdkNELEtBQW9CLEd3QndDeEI7UUFuREwsQUFzREssV0F0RE0sQ0FhVixhQUFhLEFBc0JYLEtBQUssQUFhSixNQUFNLEFBS0wsS0FBSyxDQUNMLEdBQUcsRUF0RFIsV0FBVyxDQWFWLGFBQWEsQUF1QlgsS0FBSyxBQVlKLE1BQU0sQUFLTCxLQUFLLENBQ0wsR0FBRyxDQUFDO1VBQ0gsS0FBSyxFeEJoREgscUJBQXVCLEd3QmlEekI7SUF4RE4sQUErREUsV0EvRFMsQ0FhVixhQUFhLEFBa0RYLEtBQUssQ0FBQztNQUNOLE1BQU0sRUFBRSxJQUFJO01BQ1osVUFBVSxFQUFFLElBQUk7TUFDaEIsS0FBSyxFeEIzREEscUJBQXVCLEd3QmtFNUI7TUF6RUgsQUFxRUksV0FyRU8sQ0FhVixhQUFhLEFBa0RYLEtBQUssQUFLSixNQUFNLENBQ04sR0FBRyxDQUFDO1FBQ0gsS0FBSyxFeEIvREYscUJBQXVCLEd3QmdFMUI7SUF2RUwsQUEyRUUsV0EzRVMsQ0FhVixhQUFhLEFBOERYLEtBQUssQ0FBQztNQUNOLFlBQVksRUFBRSxDQUFDO01BQ2YsV0FBVyxFQUFFLEdBQUcsR0FDaEI7O0FBSUgsQUFBQSxtQkFBbUIsQ0FBQztFQUNuQixPQUFPLEVBQUUsSUFBSSxHQUNiOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLGVBQWUsRUFBRSxNQUFNLEdBQ3ZCOztBQzFGRDs7R0FFRztBQUVILEFBQUEsUUFBUSxDQUFDO0VaUU4sU0FBUyxFQUFFLG1CQUErQjtFQUMxQyxPQUFPLEVBQUUsQ0FBQyxDWURlLElBQUk7RVpLOUIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsTUFBTSxHWUxmO0VaNkhDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVl0STFDLEFBQUEsUUFBUSxDQUFDO01aUU4sU0FBUyxFQUFFLG1CQUErQjtNQUMxQyxPQUFPLEVBQUUsQ0FBQyxDWVBnQixJQUFJO01aVy9CLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLE1BQU0sR1lMZjtFWnFJQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lZOUkxQyxBQUFBLFFBQVEsQ0FBQztNWlFOLFNBQVMsRUFBRSxtQkFBK0I7TUFDMUMsT0FBTyxFQUFFLENBQUMsQ1lKZ0IsSUFBSTtNWlEvQixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxNQUFNLEdZTGY7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLGVBQWUsQ0FBQztFWlBiLFNBQVMsRUFBRSxrQkFBK0I7RUFDMUMsT0FBTyxFQUFFLENBQUMsQ1ljYyxJQUFJO0VaVjdCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLE1BQU0sR1lVZjtFWjhHQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lZdkgxQyxBQUFBLGVBQWUsQ0FBQztNWlBiLFNBQVMsRUFBRSxrQkFBK0I7TUFDMUMsT0FBTyxFQUFFLENBQUMsQ1lRZSxJQUFJO01aSjlCLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLE1BQU0sR1lVZjtFWnNIQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lZL0gxQyxBQUFBLGVBQWUsQ0FBQztNWlBiLFNBQVMsRUFBRSxrQkFBK0I7TUFDMUMsT0FBTyxFQUFFLENBQUMsQ1lXZSxJQUFJO01aUDlCLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLE1BQU0sR1lVZjs7QUFFRDs7R0FFRztBQUVILEFBQUEsY0FBYyxDQUFDO0VBS2QsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPLEVBQUUsTUFBTSxHQUNmO0VaeUdDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVloSDFDLEFBQUEsY0FBYyxDQUFDO01BRWIsT0FBTyxFQUFFLE1BQU0sR0FLaEI7O0FDekNEOztHQUVHO0FBRUgsQUFDRSxXQURTLEFBQ1IsT0FBTyxDQUFDO0VBS1QsZ0JBQWdCLEUxQkNULEtBQW9CO0UwQkEzQixXQUFXLEVBQUUsS0FBSyxHQUNsQjtFYjhIQSxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lhdEkxQyxBQUNFLFdBRFMsQUFDUixPQUFPLENBQUM7TUFFUixXQUFXLEVBQUUsSUFBSSxHQUtsQjs7QUFSRixBQVlFLFdBWlMsQUFVVCxXQUFXLENBRVgsUUFBUSxDQUFDO0VBS1IsTUFBTSxFQUFFLGFBQWE7RUFDckIsZ0JBQWdCLEUxQlhWLEtBQW9CLEcwQlkxQjtFYm1IRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lhdEkxQyxBQVlFLFdBWlMsQUFVVCxXQUFXLENBRVgsUUFBUSxDQUFDO01BRVAsTUFBTSxFQUFFLFFBQVEsR0FLakI7O0E3QnVCSDs7R0FFRztBOEJoREgsQUFBQSxnQkFBZ0IsQ0FBQztFQUtoQixjQUFjLEVBQUUsS0FBSyxHQUNyQjtFZG9JQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljMUkxQyxBQUFBLGdCQUFnQixDQUFDO01BRWYsY0FBYyxFQUFFLElBQUksR0FJckI7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQztFQU10QixXQUFXLEVBQUUsSUFBSTtFQUNsQixhQUFhLEVBQUUsS0FBSyxHQUNwQjtFZDBIQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljbEkxQyxBQUFBLHVCQUF1QixDQUFDO01BRXRCLGFBQWEsRUFBRSxJQUFJO01BQ2xCLFdBQVcsRUFBRSxJQUFJLEdBS25COztBQUVELEFBQUEsMEJBQTBCLENBQUM7RUFNMUIsV0FBVyxFQUFFLFFBQVE7RUFDckIsS0FBSyxFQUFFLEdBQUcsR0FDVjtFZHdIQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljaEkxQyxBQUFBLDBCQUEwQixDQUFDO01BRXpCLEtBQUssRUFBRSxJQUFJO01BQ1gsYUFBYSxFQUFFLElBQUksR0FLcEI7O0FBRUQsQUFBQSx3QkFBd0IsQ0FBQztFQUt4QixLQUFLLEVBQUUsR0FBRyxHQUNWO0VkZ0hDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWN0SDFDLEFBQUEsd0JBQXdCLENBQUM7TUFFdkIsS0FBSyxFQUFFLElBQUksR0FJWjs7QUNsQ0QsQUFBQSxPQUFPLENBQUM7RUFLUCxLQUFLLEU1Qk1HLEtBQW9CO0U0Qkw1QixnQkFBZ0IsRTVCS1IsS0FBb0I7RTRCSjVCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxJQUFJLEdBQ2hCO0VmZ0lDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWUxSTFDLEFBQUEsT0FBTyxDQUFDO01BRU4sV0FBVyxFQUFFLElBQUksR0FRbEI7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDWixnQkFBZ0IsRTVCUFIsT0FBcUI7RTRCUTdCLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLGFBQWEsRUFBRSxJQUFJLEdBQ25COztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2QsZUFBZSxFQUFFLE1BQU0sR0FjdkI7RUFmRCxBQUdDLGNBSGEsQ0FHYixDQUFDLENBQUM7SWZnQ0QsU0FBUyxFZS9CSyxJQUFJO0lmZ0NsQixTQUFTLEVGNUJGLE1BQXlCO0lFaUNoQyxXQUFXLEVBQUUsU0FBbUM7SWVwQ2hELFdBQVcsRUFBRSxRQUFRO0lBQ3JCLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLGNBQWMsR0FPMUI7SWZxRkEsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNZW5HMUMsQUFTRSxjQVRZLENBR2IsQ0FBQyxBQU1DLE1BQU0sQ0FBQztRQUVOLE9BQU8sRUFBRSxHQUFHLEdBRWI7O0FBSUgsQUFBQSxlQUFlLENBQUM7RWZrQmQsU0FBUyxFZVpJLElBQUk7RWZhakIsU0FBUyxFRjVCRixNQUF5QjtFRWlDaEMsV0FBVyxFQUFFLFNBQW1DO0VlakJqRCxPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxLQUFLO0VBQ3JCLGVBQWUsRUFBRSxNQUFNO0VBRXZCLGdCQUFnQixFNUJ6Q1IsT0FBcUIsRzRCbUQ3QjtFZnlGQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0llOUcxQyxBQUFBLGVBQWUsQ0FBQztNQUVkLGVBQWUsRUFBRSxNQUFNO01BQ3ZCLFNBQVMsRUFBRSxJQUFJLEdBa0JoQjtFQXJCRCxBQWFDLGVBYmMsQ0FhZCxDQUFDLENBQUM7SUFDRCxVQUFVLEVBQUUsY0FBYyxHQU0xQjtJZjhEQSxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01lbEYxQyxBQWVFLGVBZmEsQ0FhZCxDQUFDLEFBRUMsTUFBTSxDQUFDO1FBRU4sT0FBTyxFQUFFLEdBQUcsR0FFYjs7QUFJSCxBQUFBLGtCQUFrQixDQUFDO0VBUWxCLFlBQVksRUFBRSxJQUFJLEdBQ2xCO0VmOEVDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWV2RjFDLEFBQUEsa0JBQWtCLENBQUM7TUFFakIsWUFBWSxFQUFFLENBQUM7TUFDZixhQUFhLEVBQUUsSUFBSTtNQUNuQixVQUFVLEVBQUUsTUFBTTtNQUNsQixLQUFLLEVBQUUsSUFBSSxHQUlaOztBQ3BFRCxBQUFBLE9BQU8sQ0FBQztFQUtQLE1BQU0sRUFBRSxJQUFJO0VBQ1osZ0JBQWdCLEU3QktSLEtBQW9CO0U2Qko1QixRQUFRLEVBQUUsS0FBSztFQUNmLEtBQUssRUFBRSxJQUFJO0VBQ1gsR0FBRyxFQUFFLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRSxHQWdCWDtFaEJnSEMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0IxSTFDLEFBQUEsT0FBTyxDQUFDO01BRU4sTUFBTSxFQUFFLElBQUksR0F3QmI7RUExQkQsQUFZQyxPQVpNLENBWU4sUUFBUSxDQUFDO0lBS1IsV0FBVyxFQUFFLE1BQU07SUFDbkIsTUFBTSxFQUFFLElBQUk7SUFDWixlQUFlLEVBQUUsYUFBYTtJQUM5QixVQUFVLEVBQUUsY0FBYyxHQUsxQjtJaEJpSEEsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNZ0IxSTFDLEFBWUMsT0FaTSxDQVlOLFFBQVEsQ0FBQztRQUVQLE1BQU0sRUFBRSxJQUFJLEdBV2I7SUF6QkYsQUFzQkUsT0F0QkssQ0FZTixRQUFRLEFBVU4sVUFBVSxDQUFDO01BQ1gsY0FBYyxFQUFFLFdBQVcsR0FDM0I7O0FBSUgsQUFDQyxzQkFEcUIsQ0FDckIsR0FBRyxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNaOztBQUpGLEFBTUMsc0JBTnFCLEFBTXBCLFVBQVUsQ0FBQztFQUNYLE9BQU8sRUFBRSxDQUFDLEdBQ1Y7O0FBR0Y7O0dBRUc7QUFHSCxBQUFBLG9CQUFvQixDQUFDO0VBQ3BCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxHQUFHLEdBbURaO0VBeERELEFBT0Msb0JBUG1CLENBT25CLElBQUksQ0FBQztJQUNKLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxDQUFDO0lBQ1IsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxHQUFHO0lBQ1gsYUFBYSxFQUFFLEdBQUc7SUFDbEIsTUFBTSxFQUFFLElBQUk7SUFDWixnQkFBZ0IsRTdCdERULE9BQXFCLEc2QnlFNUI7SUFuQ0YsQUFrQkUsb0JBbEJrQixDQU9uQixJQUFJLEFBV0YsVUFBVyxDQUFBLENBQUMsRUFBRTtNQUNkLEdBQUcsRUFBRSxHQUFHO01BQ1IsVUFBVSxFQUFFLGdCQUFnQixDQXJCWCxHQUFHLEVBcUI2QixHQUFHLENBckJuQyxHQUFHLENBQUgsR0FBRyxFQXFCd0UsU0FBUyxDQXJCcEYsR0FBRyxDQXFCcUcsRUFBRSxHQUMzSDtJQXJCSCxBQXVCRSxvQkF2QmtCLENBT25CLElBQUksQUFnQkYsVUFBVyxDQUFBLENBQUMsRUFBRTtNQUNkLEdBQUcsRUFBRSxlQUFlO01BQ3BCLFVBQVUsRUFBRSxnQkFBZ0IsQ0ExQlgsR0FBRyxFQTBCNkIsT0FBTyxDQUFDLEdBQUcsQ0ExQjNDLEdBQUc7TUEyQnBCLGdCQUFnQixFN0JoRVYsT0FBcUI7TTZCaUUzQixPQUFPLEVBQUUsQ0FBQyxHQUNWO0lBNUJILEFBOEJFLG9CQTlCa0IsQ0FPbkIsSUFBSSxBQXVCRixVQUFXLENBQUEsQ0FBQyxFQUFFO01BQ2QsTUFBTSxFQUFFLEdBQUc7TUFDWCxVQUFVLEVBQUUsZ0JBQWdCLENBakNYLEdBQUcsRUFpQzZCLE1BQU0sQ0FqQ3RDLEdBQUcsQ0FBSCxHQUFHLEVBaUMyRSxTQUFTLENBakN2RixHQUFHLENBaUN3RyxFQUFFO01BQzlILGdCQUFnQixFN0J2RVYsT0FBcUIsRzZCd0UzQjtFQWxDSCxBQXVDRyxvQkF2Q2lCLEFBcUNsQixVQUFVLENBQ1YsSUFBSSxBQUNGLFVBQVcsQ0FBQSxDQUFDLEVBQUU7SUFDZCxHQUFHLEVBQUUsaUJBQWlCO0lBQ3RCLFNBQVMsRUFBRSxjQUFjO0lBQ3pCLFVBQVUsRUFBRSxnQkFBZ0IsQ0EzQ1osR0FBRyxFQTJDOEIsR0FBRyxDQTNDcEMsR0FBRyxFQTJDc0QsU0FBUyxDQTNDbEUsR0FBRyxDQUFILEdBQUcsR0E0Q25CO0VBM0NKLEFBNkNHLG9CQTdDaUIsQUFxQ2xCLFVBQVUsQ0FDVixJQUFJLEFBT0YsVUFBVyxDQUFBLENBQUMsRUFBRTtJQUNkLE9BQU8sRUFBRSxDQUFDLEdBQ1Y7RUEvQ0osQUFpREcsb0JBakRpQixBQXFDbEIsVUFBVSxDQUNWLElBQUksQUFXRixVQUFXLENBQUEsQ0FBQyxFQUFFO0lBQ2QsTUFBTSxFQUFFLGlCQUFpQjtJQUN6QixTQUFTLEVBQUUsYUFBYTtJQUN4QixVQUFVLEVBQUUsZ0JBQWdCLENBckRaLEdBQUcsRUFxRDhCLE1BQU0sQ0FyRHZDLEdBQUcsRUFxRHlELFNBQVMsQ0FyRHJFLEdBQUcsQ0FBSCxHQUFHLEdBc0RuQjs7QUNqR0osQUFBQSxrQkFBa0IsQ0FBQztFQU9sQixRQUFRLEVBQUUsS0FBSztFQUNmLEdBQUcsRUFBRSxLQUFLO0VBQ1YsS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFdBQVcsRUFBRSxLQUFLO0VBQ2pCLFVBQVUsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxjQUFjO0VBQzFCLFVBQVUsRTlCTkYsS0FBb0I7RThCTzVCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLEdBQUc7RUFDWixVQUFVLEVBQUUsTUFBTSxHQWNsQjtFakI0RkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJaUI5SDNDLEFBQUEsa0JBQWtCLENBQUM7TUFFakIsTUFBTSxFQUFFLGlCQUFpQjtNQUN6QixVQUFVLEVBQUUsSUFBSTtNQUNoQixXQUFXLEVBQUUsS0FBSyxHQThCbkI7RUFsQ0QsQUFzQkMsa0JBdEJpQixBQXNCaEIsVUFBVSxDQUFDO0lBQ1gsR0FBRyxFQUFFLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQyxHQUNWO0VBekJGLEFBMkJDLGtCQTNCaUIsQUEyQmhCLG1CQUFtQixDQUFDO0lBQ3BCLE9BQU8sRUFBRSxJQUFJLEdBQ2I7RUE3QkYsQUErQkMsa0JBL0JpQixDQStCakIsUUFBUSxDQUFDO0lBQ1IsTUFBTSxFQUFFLElBQUksR0FDWjs7QUFJRjs7R0FFRztBQUVILEFBQ0Msd0JBRHVCLEdBQ3JCLEVBQUUsQ0FBQztFQUNKLFFBQVEsRUFBRSxRQUFRLEdBdUdsQjtFQXpHRixBQU1HLHdCQU5xQixHQUNyQixFQUFFLEFBR0Ysc0JBQXNCLEdBRXBCLENBQUMsRUFOTix3QkFBd0IsR0FDckIsRUFBRSxBQUlGLGtCQUFrQixHQUNoQixDQUFDLENBQUM7SUFDSCxLQUFLLEU5QjFDQSxPQUFxQixHOEIyQzFCO0VBUkosQUFVRyx3QkFWcUIsR0FDckIsRUFBRSxBQUdGLHNCQUFzQixBQU1yQixRQUFRLEVBVlosd0JBQXdCLEdBQ3JCLEVBQUUsQUFJRixrQkFBa0IsQUFLakIsUUFBUSxDQUFDO0lBQ1QsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsR0FBRztJQUNWLGdCQUFnQixFOUJ4Q1gsT0FBdUI7SThCeUM1QixRQUFRLEVBQUUsUUFBUTtJQUNsQixJQUFJLEVBQUUsQ0FBQztJQUNQLE9BQU8sRUFBRSxFQUFFO0lBQ1gsVUFBVSxFQUFFLEdBQUcsR0FDZjtFQWxCSixBQXNCRyx3QkF0QnFCLEdBQ3JCLEVBQUUsQUFvQkYsVUFBVSxHQUNSLENBQUMsQ0FBQztJQUNILEtBQUssRTlCMURBLE9BQXFCLEc4QitEMUI7SUE1QkosQUF5Qkksd0JBekJvQixHQUNyQixFQUFFLEFBb0JGLFVBQVUsR0FDUixDQUFDLEdBR0EsSUFBSSxDQUFDLEdBQUcsQ0FBQztNQUNWLFNBQVMsRUFBRSxjQUFjLEdBQ3pCO0VBM0JMLEFBK0JFLHdCQS9Cc0IsR0FDckIsRUFBRSxHQThCRCxDQUFDLENBQUM7SWpCbEJKLFNBQVMsRWlCbUJNLElBQUk7SWpCbEJuQixTQUFTLEVGNUJGLE1BQXlCO0lFaUNoQyxXQUFXLEVBQUUsU0FBbUM7SWlCYy9DLE9BQU8sRUFBRSxLQUFLO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsV0FBVyxFQUFFLFFBQVE7SUFDckIsS0FBSyxFQUFFLElBQUk7SUFDWCxXQUFXLEVBQUUsR0FBRztJQUNoQixNQUFNLEVBQUUsVUFBVTtJQUNsQixLQUFLLEU5QjFFQyxPQUFxQjtJOEIyRTNCLFlBQVksRUFBRSxJQUFJLEdBaUNsQjtJQXpFSCxBQTBDRyx3QkExQ3FCLEdBQ3JCLEVBQUUsR0E4QkQsQ0FBQyxDQVdGLEdBQUcsQ0FBQztNQUNILEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixPQUFPLEVBQUUsQ0FBQztNQUNWLFFBQVEsRUFBRSxRQUFRO01BQ2xCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLFVBQVUsRUFBRSxjQUFjLEdBQzFCO0lBakRKLEFBbURHLHdCQW5EcUIsR0FDckIsRUFBRSxHQThCRCxDQUFDLEdBb0JBLElBQUksQ0FBQztNQUNOLE9BQU8sRUFBRSxZQUFZO01BQ3JCLE1BQU0sRUFBRSxPQUFPLEdBWWY7TUFqRUosQUF1REksd0JBdkRvQixHQUNyQixFQUFFLEdBOEJELENBQUMsR0FvQkEsSUFBSSxDQUlMLEdBQUcsQ0FBQztRQUNILFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEdBQUcsRUFBRSxlQUFlO1FBQ3BCLEtBQUssRUFBRSxDQUFDO1FBQ1IsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtRQUNaLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLFVBQVUsRUFBRSxjQUFjO1FBQzFCLEtBQUssRTlCbEdELE9BQXFCLEc4Qm1HekI7SUFoRUwsQUFvRUksd0JBcEVvQixHQUNyQixFQUFFLEdBOEJELENBQUMsQUFvQ0QsTUFBTSxDQUNOLEdBQUcsQ0FBQztNQUNILFdBQVcsRUFBRSxJQUFJO01BQ2pCLE9BQU8sRUFBRSxHQUFHLEdBQ1o7RUF2RUwsQUEyRUUsd0JBM0VzQixHQUNyQixFQUFFLENBMEVILGtCQUFrQixDQUFDO0lBQ2xCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsV0FBVyxFQUFFLElBQUksR0F5QmpCO0lBeEdILEFBa0ZJLHdCQWxGb0IsR0FDckIsRUFBRSxDQTBFSCxrQkFBa0IsQ0FNakIsRUFBRSxDQUNELENBQUMsQ0FBQztNakJyRUosU0FBUyxFaUJzRVEsSUFBSTtNakJyRXJCLFNBQVMsRUY1QkYsTUFBeUI7TUVpQ2hDLFdBQVcsRUFBRSxTQUFtQztNaUJpRTdDLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxLQUFLO01BQ2QsYUFBYSxFQUFFLElBQUk7TUFDbkIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsS0FBSyxFOUIzSEQsT0FBcUIsRzhCNEh6QjtJQXpGTCxBQTZGSyx3QkE3Rm1CLEdBQ3JCLEVBQUUsQ0EwRUgsa0JBQWtCLENBTWpCLEVBQUUsQUFVQSxzQkFBc0IsR0FFcEIsQ0FBQyxFQTdGUix3QkFBd0IsR0FDckIsRUFBRSxDQTBFSCxrQkFBa0IsQ0FNakIsRUFBRSxBQVdBLGtCQUFrQixHQUNoQixDQUFDLENBQUM7TUFDSCxLQUFLLEU5QmpJRixPQUFxQixHOEJrSXhCO0lBL0ZOLEFBbUdLLHdCQW5HbUIsR0FDckIsRUFBRSxDQTBFSCxrQkFBa0IsQ0FNakIsRUFBRSxBQWlCQSxVQUFVLEdBQ1IsQ0FBQyxDQUFDO01BQ0gsS0FBSyxFOUJ2SUYsT0FBcUIsRzhCd0l4Qjs7QUFRTjs7R0FFRztBQUVILEFBQUEsSUFBSSxBQUFBLFVBQVUsQ0FBQztFQUNkLFFBQVEsRUFBRSxNQUFNLEdBS2hCO0VBTkQsQUFHQyxJQUhHLEFBQUEsVUFBVSxDQUdiLE9BQU8sQUFBQSxRQUFRLENBQUM7SUFDZixNQUFNLEVBQUUsQ0FBQyxHQUNUOztBQy9KRixBQUFBLGVBQWUsQ0FBQztFQU1mLGNBQWMsRUFBRSxLQUFLLEdBQ3JCO0VsQm1JQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrQjFJMUMsQUFBQSxlQUFlLENBQUM7TUFFZCxjQUFjLEVBQUUsSUFBSTtNQUNwQixXQUFXLEVBQUUsSUFBSSxHQUlsQjs7QWxCMklDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWtCekkxQyxBQUFBLHNCQUFzQixDQUFDO0lBRXJCLEtBQUssRUFBRSxJQUFJO0lBQ1gsYUFBYSxFQUFFLElBQUksR0FFcEI7O0FBRUQsQUFBQSxxQkFBcUIsQ0FBQztFQUtyQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQy9CZmhCLE9BQXFCO0UrQmdCN0IsZUFBZSxFQUFFLGFBQWE7RUFDOUIsY0FBYyxFQUFFLElBQUk7RUFDcEIsYUFBYSxFQUFFLElBQUksR0FDbkI7RWxCeUhDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtCbEkxQyxBQUFBLHFCQUFxQixDQUFDO01BRXBCLGFBQWEsRUFBRSxJQUFJLEdBT3BCOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDckIsZUFBZSxFQUFFLGFBQWEsR0FDOUI7O0FBRUQsQUFBQSwyQkFBMkIsQ0FBQztFbEJ1QjFCLFNBQVMsRWtCdEJJLElBQUk7RWxCdUJqQixTQUFTLEVGNUJGLE1BQXlCO0VFaUNoQyxXQUFXLEVBQUUsT0FBbUM7RWtCM0JqRCxXQUFXLEVBQUUsUUFBUTtFQUNyQixjQUFjLEVBQUUsSUFBSTtFQUNwQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQy9CN0JoQixPQUFxQixHK0I4QjdCOztBQ3BDRCxBQUFBLGFBQWEsQ0FBQztFQUtiLGNBQWMsRUFBRSxJQUFJLEdBU3BCO0VuQjRIQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ltQjFJMUMsQUFBQSxhQUFhLENBQUM7TUFFWixjQUFjLEVBQUUsSUFBSSxHQVlyQjtFQWRELEFBT0MsYUFQWSxDQU9aLG9CQUFvQixDQUFDO0lBS3BCLE1BQU0sRUFBRSxLQUFLLEdBQ2I7SW5CNkhBLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW1CMUkxQyxBQU9DLGFBUFksQ0FPWixvQkFBb0IsQ0FBQztRQUVuQixNQUFNLEVBQUUsS0FBSyxHQUlkOztBQUdGLEFBQUEsbUJBQW1CLENBQUM7RUFDbkIsZUFBZSxFQUFFLGFBQWEsR0FDOUI7O0FDbEJELEFBQUEsYUFBYSxDQUFDO0VBQ2IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqQ0toQixPQUFxQjtFaUNKN0IsYUFBYSxFQUFFLElBQUksR0FDbkI7O0FBRUQsQUFBQSwyQkFBMkIsQ0FBQztFQU0zQixLQUFLLEVBQUUsd0JBQXdCO0VBQy9CLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixjQUFjLEVBQUUsTUFBTTtFQUN0QixlQUFlLEVBQUUsTUFBTTtFQUN2QixhQUFhLEVBQUUsS0FBSyxHQUNwQjtFcEJ5SEMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0JySTFDLEFBQUEsMkJBQTJCLENBQUM7TUFFMUIsS0FBSyxFQUFFLElBQUk7TUFDWCxhQUFhLEVBQUUsQ0FBQyxHQVNqQjs7QUFFRCxBQUFBLG9CQUFvQixDQUFDO0VwQm1DbkIsU0FBUyxFb0JsQ0ksSUFBSTtFcEJtQ2pCLFNBQVMsRUY1QkYsTUFBeUI7RUVpQ2hDLFdBQVcsRUFBRSxTQUFtQztFb0J2Q2pELEtBQUssRWpDZEUscUJBQXVCO0VpQ2U5QixjQUFjLEVBQUUsU0FBUztFQUN6QixNQUFNLEVBQUUsTUFBTTtFQUNkLFdBQVcsRUFBRSxHQUFHLEdBQ2hCOztBQUVELEFBQUEsb0JBQW9CLENBQUM7RXBCMkJuQixTQUFTLEVvQjFCSSxJQUFJO0VwQjJCakIsU0FBUyxFRjVCRixNQUF5QjtFRWlDaEMsV0FBVyxFQUFFLFNBQW1DO0VvQi9CakQsTUFBTSxFQUFFLElBQUk7RUFDWixhQUFhLEVBQUUsSUFBSTtFQUNuQixRQUFRLEVBQUUsTUFBTTtFQUNoQixXQUFXLEVBQUUsR0FBRyxHQUNoQjs7QUFFRCxBQUFBLHNCQUFzQixDQUFDO0VBQ3RCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsTUFBTTtFQUNuQixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEVqQzFCRyxPQUF1QjtFaUMyQi9CLGFBQWEsRUFBRSxJQUFJLEdBY25CO0VBcEJELEFBUUMsc0JBUnFCLENBUXJCLEdBQUcsQ0FBQztJQUNILEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsY0FBYyxHQUMxQjtFQWJGLEFBZ0JFLHNCQWhCb0IsQUFlcEIsTUFBTSxDQUNOLEdBQUcsQ0FBQztJQUNILFdBQVcsRUFBRSxJQUFJLEdBQ2pCOztBQ3JESCxBQUNDLGFBRFksQUFDWCxVQUFVLENBQUM7RUFXWCxhQUFhLEVBQUUsSUFBSTtFQUNuQixLQUFLLEVBQUUsd0JBQXdCLEdBZS9CO0VyQnNIQSxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lxQmxKMUMsQUFDQyxhQURZLEFBQ1gsVUFBVSxDQUFDO01BRVYsS0FBSyxFQUFFLElBQUk7TUFDWCxhQUFhLEVBQUUsSUFBSSxHQXdCcEI7RXJCMEdBLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUssT0FBTyxTQUFTLEVBQUUsS0FBSztJcUJ0SWpFLEFBQ0MsYUFEWSxBQUNYLFVBQVUsQ0FBQztNQU9WLEtBQUssRUFBRSxxQkFBcUI7TUFDNUIsYUFBYSxFQUFFLElBQUksR0FtQnBCO0VBNUJGLEFBZUUsYUFmVyxBQUNYLFVBQVUsQ0FjVixvQkFBb0IsQ0FBQztJQUNwQixLQUFLLEVsQ1RBLHFCQUF1QjtJa0NVNUIsY0FBYyxFQUFFLFNBQVM7SUFDekIsYUFBYSxFQUFFLElBQUk7SUFDbkIsV0FBVyxFQUFFLEdBQUcsR0FDaEI7RUFwQkgsQUFzQkUsYUF0QlcsQUFDWCxVQUFVLENBcUJWLG9CQUFvQixDQUFDO0lyQmdDckIsU0FBUyxFcUIvQk0sSUFBSTtJckJnQ25CLFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQztJcUJwQy9DLE1BQU0sRUFBRSxJQUFJO0lBQ1osYUFBYSxFQUFFLElBQUk7SUFDbkIsV0FBVyxFQUFFLEdBQUcsR0FDaEI7O0FBSUgsQUFBQSxvQkFBb0IsQ0FBQztFQUtwQixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsS0FBSztFQUNiLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGFBQWEsRUFBRSxHQUFHLEdBY2xCO0VyQnFGQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lxQjNHMUMsQUFBQSxvQkFBb0IsQ0FBQztNQUVuQixNQUFNLEVBQUUsS0FBSyxHQW9CZDtFQXRCRCxBQVVDLG9CQVZtQixDQVVuQixHQUFHLENBQUM7SUFDSCxTQUFTLEVBQUUsVUFBVTtJQUNyQixVQUFVLEVBQUUsY0FBYztJQUMxQixhQUFhLEVBQUUsR0FBRyxHQUNsQjtFQWRGLEFBaUJFLG9CQWpCa0IsQUFnQmxCLE1BQU0sQ0FDTixHQUFHLENBQUM7SUFDSCxVQUFVLEVBQUUsY0FBYztJQUMxQixTQUFTLEVBQUUsUUFBVSxHQUNyQjs7QUFJSCxBQUFBLHFCQUFxQixDQUFDO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLE1BQU0sRUFBRSxNQUFNLEdBaUJkO0VBcEJELEFBS0MscUJBTG9CLENBS3BCLElBQUksQ0FBQztJQUNKLEtBQUssRWxDdERDLHFCQUF1QjtJa0N1RDdCLFlBQVksRUFBRSxHQUFHLEdBQ2pCO0VBUkYsQUFVQyxxQkFWb0IsQUFVbkIsUUFBUSxDQUFDO0lBQ1QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLENBQUM7SUFDUCxHQUFHLEVBQUUsR0FBRztJQUNSLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEdBQUc7SUFDWCxhQUFhLEVBQUUsR0FBRztJQUNsQixPQUFPLEVBQUUsRUFBRTtJQUNYLGdCQUFnQixFbENuRVQsT0FBcUIsR2tDb0U1Qjs7QUMxRUYsQUFBQSxlQUFlLENBQUM7RUFLZixhQUFhLEVBQUUsS0FBSyxHQUNwQjtFdEJvSUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0IxSTFDLEFBQUEsZUFBZSxDQUFDO01BRWQsYUFBYSxFQUFFLEtBQUssR0FJckI7O0FBRUQsQUFBQSwyQkFBMkIsQ0FBQztFQUMzQixRQUFRLEVBQUUsS0FBSztFQUNmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxlQUFlLEVBQUUsYUFBYTtFQUM5QixHQUFHLEVBQUUsR0FBRztFQUNSLE9BQU8sRUFBRSxHQUFHLEdBc0JaO0VBNUJELEFBUUMsMkJBUjBCLENBUTFCLEdBQUcsQ0FBQztJQU1ILEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUksR0FDWjtJdEJzR0EsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNc0J0SDNDLEFBUUMsMkJBUjBCLENBUTFCLEdBQUcsQ0FBQztRQUVGLGFBQWEsRUFBRSxHQUFHO1FBQ2xCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDbkNiWCxPQUFxQixHbUNrQjVCO0V0QjhGQSxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzQjlHMUMsQUFrQkMsMkJBbEIwQixDQWtCMUIsQ0FBQyxDQUFDO01BRUEsT0FBTyxFQUFFLENBQUM7TUFDVixVQUFVLEVBQUUsY0FBYyxHQU0zQjtNQTNCRixBQXVCRywyQkF2QndCLENBa0IxQixDQUFDLEFBS0UsVUFBVSxDQUFDO1FBQ1gsT0FBTyxFQUFFLEdBQUcsR0FDWjs7QUFLSixBQUFBLHlCQUF5QixDQUFDO0VBd0J6QixXQUFXLEVBQUUsSUFBSSxHQU1qQjtFdEI4RUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0I1RzFDLEFBQUEseUJBQXlCLENBQUM7TUFFeEIsT0FBTyxFQUFFLElBQUksR0E0QmQ7RXRCMERDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXNCeEYzQyxBQUFBLHlCQUF5QixDQUFDO01BTXhCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLGdCQUFnQixFbkNsQ1QsS0FBb0I7TW1DbUMzQixhQUFhLEVBQUUsR0FBRztNQUNsQixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BV1osZ0JBQWdCLEVuQ2hEVCxLQUFvQixHbUN5RDVCO01BOUJELEFBWUUseUJBWnVCLEFBWXRCLE1BQU0sQ0FBQztRQUNQLGdCQUFnQixFbkNyQ1YsT0FBdUI7UW1Dc0M3QixNQUFNLEVBQUUsSUFBSSxHQUtaO1FBbkJILEFBZ0JHLHlCQWhCc0IsQUFZdEIsTUFBTSxDQUlOLEdBQUcsQ0FBQztVQUNILEtBQUssRW5DNUNBLEtBQW9CLEdtQzZDekI7RUFsQkosQUEwQkMseUJBMUJ3QixDQTBCeEIsR0FBRyxDQUFDO0lBQ0gsY0FBYyxFQUFFLEdBQUc7SUFDbkIsYUFBYSxFQUFFLEdBQUcsR0FDbEI7O0FBR0YsQUFBQSxxQkFBcUIsQ0FBQztFQXNCckIsWUFBWSxFQUFFLElBQUksR0FNbEI7RXRCZ0RDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNCNUUxQyxBQUFBLHFCQUFxQixDQUFDO01BRXBCLE9BQU8sRUFBRSxJQUFJLEdBMEJkO0V0QjRCQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lzQnhEM0MsQUFBQSxxQkFBcUIsQ0FBQztNQU1wQixZQUFZLEVBQUUsSUFBSTtNQUNsQixnQkFBZ0IsRW5DbEVULEtBQW9CO01tQ21FM0IsYUFBYSxFQUFFLEdBQUc7TUFDbEIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSSxHQWtCYjtNQTVCRCxBQVlFLHFCQVptQixBQVlsQixNQUFNLENBQUM7UUFDUCxnQkFBZ0IsRW5DckVWLE9BQXVCO1FtQ3NFN0IsTUFBTSxFQUFFLElBQUksR0FLWjtRQW5CSCxBQWdCRyxxQkFoQmtCLEFBWWxCLE1BQU0sQ0FJTixHQUFHLENBQUM7VUFDSCxLQUFLLEVuQzVFQSxLQUFvQixHbUM2RXpCO0VBbEJKLEFBd0JDLHFCQXhCb0IsQ0F3QnBCLEdBQUcsQ0FBQztJQUNILGNBQWMsRUFBRSxHQUFHO0lBQ25CLFlBQVksRUFBRSxHQUFHLEdBQ2pCOztBQUdGLEFBQUEsc0JBQXNCLENBQUM7RUFDdEIsYUFBYSxFQUFFLElBQUksR0FDbkI7O0FBRUQsQUFBQSw2QkFBNkIsQ0FBQztFQUM3QixRQUFRLEVBQUUsUUFBUSxHQUNsQjs7QUFFRCxBQUFBLHdCQUF3QixDQUFDO0VBQ3hCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGdCQUFnQixFbkNwR1IsS0FBb0IsR21DcUc1Qjs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBV3JCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLGFBQWE7RUFDOUIsYUFBYSxFQUFFLElBQUksR0FTbkI7RXRCQ0MsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0J4QjFDLEFBQUEscUJBQXFCLENBQUM7TUFFcEIsU0FBUyxFQUFFLElBQUk7TUFDZixlQUFlLEVBQUUsTUFBTSxHQW9CeEI7TUF2QkQsQUFLRSxxQkFMbUIsQ0FLbkIseUJBQXlCLENBQUM7UUFDekIsS0FBSyxFQUFFLElBQUk7UUFDWCxlQUFlLEVBQUUsTUFBTSxHQUN2QjtFQVJILEFBZ0JDLHFCQWhCb0IsQ0FnQnBCLENBQUMsQ0FBQztJQUNELFVBQVUsRUFBRSxjQUFjLEdBSzFCO0lBdEJGLEFBbUJFLHFCQW5CbUIsQ0FnQnBCLENBQUMsQUFHQyxNQUFNLENBQUM7TUFDUCxPQUFPLEVBQUUsR0FBRyxHQUNaOztBQUlILEFBQUEsNEJBQTRCLENBQUM7RUFLNUIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsWUFBWSxFQUFFLElBQUksR0FxQmxCO0V0QjVCQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzQkMxQyxBQUFBLDRCQUE0QixDQUFDO01BRTNCLGFBQWEsRUFBRSxJQUFJLEdBeUJwQjtFQTNCRCxBQVFDLDRCQVIyQixDQVEzQixJQUFJLENBQUM7SUFDSixLQUFLLEVuQzdJQyxxQkFBdUI7SW1DOEk3QixZQUFZLEVBQUUsR0FBRyxHQUNqQjtFQVhGLEFBYUMsNEJBYjJCLEFBYTFCLFFBQVEsQ0FBQztJQUNULFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxDQUFDO0lBQ1AsR0FBRyxFQUFFLEdBQUc7SUFDUixLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxHQUFHO0lBQ1gsYUFBYSxFQUFFLEdBQUc7SUFDbEIsT0FBTyxFQUFFLEVBQUU7SUFDWCxnQkFBZ0IsRW5DMUpULE9BQXFCLEdtQzJKNUI7RUF0QkYsQUF3QkMsNEJBeEIyQixDQXdCM0IsTUFBTSxDQUFDO0lBQ04sWUFBWSxFQUFFLEdBQUcsR0FDakI7O0FBR0YsQUFBQSx5QkFBeUIsQ0FBQztFQUN6QixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNLEdBQ25COztBQUVELEFBQUEsd0JBQXdCLENBQUM7RUFLeEIsS0FBSyxFbkMzS0UscUJBQXVCO0VtQzRLOUIsWUFBWSxFQUFFLElBQUksR0FDbEI7RXRCMUNDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNCbUMxQyxBQUFBLHdCQUF3QixDQUFDO01BRXZCLFlBQVksRUFBRSxJQUFJLEdBS25COztBQUVELEFBQ0Msc0JBRHFCLENBQ3JCLElBQUksQ0FBQztFQUNKLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsS0FBSyxFbkNuTEMscUJBQXVCO0VtQ29MN0IsTUFBTSxFQUFFLE1BQU0sR0FDZDs7QUFORixBQVFDLHNCQVJxQixDQVFyQixHQUFHLENBQUM7RUFDSCxNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsV0FBVyxFQUFFLElBQUksR0FDakI7O0FBR0YsQUFBQSxxQkFBcUIsQ0FBQztFQUNyQixVQUFVLEVBQUUsS0FBSyxHQUNqQjs7QUFFRCxBQUFBLHFCQUFxQjtBQUNyQiwwQkFBMEIsQ0FBQztFQUMxQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLEtBQUssRW5DL0xHLE9BQXVCO0VtQ2dNL0IsWUFBWSxFQUFFLElBQUk7RUFDbEIsV0FBVyxFQUFFLEdBQUcsR0FtQmhCO0VBekJELEFBUUMscUJBUm9CLENBUXBCLEdBQUc7RUFQSiwwQkFBMEIsQ0FPekIsR0FBRyxDQUFDO0lBQ0gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLEdBQUc7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osV0FBVyxFQUFFLEdBQUc7SUFDaEIsVUFBVSxFQUFFLGNBQWMsR0FDMUI7RUFmRixBQWlCQyxxQkFqQm9CLEFBaUJuQixNQUFNO0VBaEJSLDBCQUEwQixBQWdCeEIsTUFBTSxDQUFDO0lBQ1AsS0FBSyxFbkNyTkUsT0FBcUIsR21DMk41QjtJQXhCRixBQW9CRSxxQkFwQm1CLEFBaUJuQixNQUFNLENBR04sR0FBRztJQW5CTCwwQkFBMEIsQUFnQnhCLE1BQU0sQ0FHTixHQUFHLENBQUM7TUFDSCxJQUFJLEVBQUUsSUFBSTtNQUNWLEtBQUssRW5Dek5DLE9BQXFCLEdtQzBOM0I7O0FBSUgsQUFBQSx1QkFBdUIsQ0FBQztFdEI5S3RCLFNBQVMsRXNCK0tJLElBQUk7RXRCOUtqQixTQUFTLEVGNUJGLE1BQXlCO0VFaUNoQyxXQUFXLEVBQUUsTUFBbUM7RXNCMEtqRCxhQUFhLEVBQUUsS0FBSyxHQUNwQjs7QUFFRCxBQUFBLDRCQUE0QixDQUFDO0VBQzVCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsYUFBYSxFQUFFLElBQUksR0FDbkI7O0FBRUQsQUFBQSwwQkFBMEIsQ0FBQztFQUMxQixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsR0FBRztFQUNYLEtBQUssRUFBRSxDQUFDO0VBQ1IsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ25DL09oQixPQUFxQixHbUNnUDdCOztBQUVELEFBQUEsdUJBQXVCLENBQUM7RUFLdkIsS0FBSyxFQUFFLElBQUk7RUFDWCxnQkFBZ0IsRW5DdFBULHFCQUF1QjtFbUN1UDlCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLGFBQWEsRUFBRSxJQUFJLEdBQ25CO0V0Qi9HQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzQnNHMUMsQUFBQSx1QkFBdUIsQ0FBQztNQUV0QixTQUFTLEVBQUUsSUFBSSxHQU9oQjs7QUFFRCxBQUNDLHdCQUR1QixDQUN2Qix1QkFBdUIsQUFBQSxXQUFXLENBQUM7RUFDbEMsYUFBYSxFQUFFLEtBQUssR0FDcEI7O0FBR0YsQUFBQSw0QkFBNEIsQ0FBQztFQUM1QixXQUFXLEVBQUUsSUFBSSxHQUNqQjs7QUFFRCxBQUFBLDZCQUE2QixDQUFDO0VBUTdCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxLQUFLO0VBQ2IsS0FBSyxFQUFFLEtBQUs7RUFDWixZQUFZLEVBQUUsSUFBSSxHQUNsQjtFdEJ2SUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0IySDFDLEFBQUEsNkJBQTZCLENBQUM7TUFFNUIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsS0FBSztNQUNiLFlBQVksRUFBRSxDQUFDO01BQ2YsYUFBYSxFQUFFLElBQUksR0FPcEI7O0FBRUQsQUFBQSw0QkFBNEIsQ0FBQztFdEJyTzNCLFNBQVMsRXNCc09JLElBQUk7RXRCck9qQixTQUFTLEVGNUJGLE1BQXlCO0VFaUNoQyxXQUFXLEVBQUUsU0FBbUM7RXNCaU9qRCxhQUFhLEVBQUUsSUFBSTtFQUNuQixXQUFXLEVBQUUsR0FBRyxHQUNoQjs7QUFFRCxBQUNDLDZCQUQ0QixDQUM1QixHQUFHLENBQUM7RUFDSCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osWUFBWSxFQUFFLElBQUksR0FDbEI7O0FBTEYsQUFTRyw2QkFUMEIsQ0FPNUIsQ0FBQyxBQUNDLE1BQU0sQ0FDTixHQUFHLENBQUM7RUFDSCxPQUFPLEVBQUUsR0FBRyxHQUNaOztBQUtKLEFBQUEseUJBQXlCLENBQUM7RUFZekIsT0FBTyxFQUFFLElBQUksR0FDYjtFdEI1S0MsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0IrSjFDLEFBQUEseUJBQXlCLENBQUM7TUFFdEIsT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVBQUUsaUJBQWlCO01BQ3hCLFFBQVEsRUFBRSxLQUFLO01BQ2YsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENuQ3hTaEIsT0FBdUI7TW1DeVM1QixHQUFHLEVBQUUsSUFBSTtNQUNULElBQUksRUFBRSxJQUFJO01BQ1gsVUFBVSxFbkM5U0osS0FBb0I7TW1DK1N6QixXQUFXLEVBQUUsSUFBSSxHQUlwQjs7QXRCNUtDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXNCOEsxQyxBQUFBLDhCQUE4QixDQUFDO0lBRTdCLFFBQVEsRUFBRSxRQUFRLEdBRW5COztBQUVELEFBQUEsNEJBQTRCLENBQUM7RUFTNUIsT0FBTyxFQUFFLElBQUksR0FDYjtFdEI5TEMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0JvTDFDLEFBQUEsNEJBQTRCLENBQUM7TUFFekIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLEtBQUs7TUFDZCxNQUFNLEVBQUUsR0FBRztNQUNYLEdBQUcsRUFBRSxLQUFLO01BQ1osZ0JBQWdCLEVuQzlUVCxPQUF1QixHbUNrVS9COztBQ2hWRCxBQUFBLGVBQWUsQ0FBQztFQUtmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxLQUFLLEdBMEViO0V2QjBEQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l1QjFJMUMsQUFBQSxlQUFlLENBQUM7TUFFZCxNQUFNLEVBQUUsSUFBSSxHQThFYjtFdkIwREMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJdUIxSTFDLEFBUUMsZUFSYyxBQVFiLFVBQVUsQ0FBQztNQUVWLE1BQU0sRUFBRSxJQUFJLEdBcUViO0V2QnVDQSxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l1QnRIMUMsQUFRQyxlQVJjLEFBUWIsVUFBVSxDQUFDO01BTVYsTUFBTSxFQUFFLG1CQUFtQixHQWlFNUI7RUEvRUYsQUFpQkUsZUFqQmEsQUFRYixVQUFVLENBU1Ysc0JBQXNCLENBQUM7SUFTdEIsTUFBTSxFQUFFLG1CQUFtQixHQWdDM0I7SXZCd0ZELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXVCbEoxQyxBQWlCRSxlQWpCYSxBQVFiLFVBQVUsQ0FTVixzQkFBc0IsQ0FBQztRQUVyQixNQUFNLEVBQUUsS0FBSyxHQXVDZDtJdkI0RUQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxLQUFLO011QnRJakUsQUFpQkUsZUFqQmEsQUFRYixVQUFVLENBU1Ysc0JBQXNCLENBQUM7UUFNckIsTUFBTSxFQUFFLEtBQUssR0FtQ2Q7SUExREgsQUE0QkcsZUE1QlksQUFRYixVQUFVLENBU1Ysc0JBQXNCLENBV3JCLEdBQUcsQ0FBQztNQXVCSCxRQUFRLEVBQUUsS0FBSztNQUNmLE9BQU8sRUFBRSxDQUFDO01BQ1YsS0FBSyxFQUFFLG1CQUFvQjtNQUMzQixJQUFJLEVBQUUsSUFBSTtNQUNWLGVBQWUsRUFBRSxNQUFNO01BQ3ZCLFVBQVUsRUFBRSxJQUFJLEdBQ2hCO012QnlGRixNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1F1QmxKMUMsQUE0QkcsZUE1QlksQUFRYixVQUFVLENBU1Ysc0JBQXNCLENBV3JCLEdBQUcsQ0FBQztVQUVGLE1BQU0sRUFBRSxLQUFLO1VBQ2IsS0FBSyxFQUFFLElBQUk7VUFDWCxHQUFHLEVBQUUsSUFBSTtVQUNULElBQUksRUFBRSxJQUFJO1VBQ1YsS0FBSyxFQUFFLElBQUk7VUFDWCxNQUFNLEVBQUUsSUFBSTtVQUNaLFVBQVUsRUFBRSxDQUFDO1VBQ2IsSUFBSSxFQUFFLENBQUMsR0FvQlI7TXZCNkVGLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUssT0FBTyxTQUFTLEVBQUUsS0FBSztRdUJ0SWpFLEFBNEJHLGVBNUJZLEFBUWIsVUFBVSxDQVNWLHNCQUFzQixDQVdyQixHQUFHLENBQUM7VUFhRixNQUFNLEVBQUUsS0FBSztVQUNiLEtBQUssRUFBRSxJQUFJO1VBQ1gsR0FBRyxFQUFFLElBQUk7VUFDVCxJQUFJLEVBQUUsSUFBSTtVQUNWLEtBQUssRUFBRSxJQUFJO1VBQ1gsTUFBTSxFQUFFLElBQUk7VUFDWixVQUFVLEVBQUUsQ0FBQztVQUNiLElBQUksRUFBRSxDQUFDLEdBU1I7RUF6REosQUE0REUsZUE1RGEsQUFRYixVQUFVLEFBb0RULFFBQVEsQ0FBQztJQUNULE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLEtBQUs7SUFDWixnQkFBZ0IsRXBDckRWLEtBQW9CO0lvQ3NEMUIsTUFBTSxFQUFFLG1CQUFtQjtJQUMzQixJQUFJLEVBQUUsSUFBSTtJQUNWLEdBQUcsRUFBRSxHQUFHLEdBQ1I7RUFwRUgsQUFzRUUsZUF0RWEsQUFRYixVQUFVLEFBOERULE9BQU8sQ0FBQztJQUNSLE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLEtBQUs7SUFDWixnQkFBZ0IsRXBDL0RWLEtBQW9CO0lvQ2dFMUIsTUFBTSxFQUFFLG1CQUFtQjtJQUMzQixLQUFLLEVBQUUsSUFBSTtJQUNYLEdBQUcsRUFBRSxHQUFHLEdBQ1I7O0FBSUgsQUFBQSxzQkFBc0IsQ0FBQztFQWlCdEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFQUFFLEVBQUU7RUFDWCxjQUFjLEVBQUUsSUFBSTtFQUNwQixLQUFLLEVwQzNGRyxLQUFvQjtFb0M0RjVCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxJQUFJLEdBQ2pCO0V2QmlDQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l1QnhEMUMsQUFBQSxzQkFBc0IsQ0FBQztNQUVyQixVQUFVLEVBQUUsQ0FBQyxHQXFCZDtFdkJxQkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJdUI1QzNDLEFBQUEsc0JBQXNCLENBQUM7TUFNckIsZ0JBQWdCLEVwQ2xGVCxPQUFxQjtNb0NtRjVCLElBQUksRUFBRSxDQUFDO01BQ1AsV0FBVyxFQUFFLENBQUM7TUFDZCxPQUFPLEVBQUUsSUFBSSxHQWNkO0V2QlNDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXVCaEMzQyxBQUFBLHNCQUFzQixDQUFDO01BYXJCLFdBQVcsRUFBRSxNQUFNO01BQ25CLGFBQWEsRUFBRSxRQUFRLEdBU3hCOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDckIsUUFBUSxFQUFFLFFBQVEsR0FDbEI7O0FBRUQsQUFBQSxzQkFBc0IsQ0FBQztFQWF0QixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsZ0JBQWdCO0VBQ3ZCLE1BQU0sRUFBRSxLQUFLO0VBQ2IsT0FBTyxFQUFFLEVBQUUsR0FXWDtFdkJRQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l1Qm5DMUMsQUFBQSxzQkFBc0IsQ0FBQztNQUVyQixNQUFNLEVBQUUsS0FBSyxHQXlCZDtFdkJKQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLLE9BQU8sU0FBUyxFQUFFLEtBQUs7SXVCdkJqRSxBQUFBLHNCQUFzQixDQUFDO01BTXJCLE1BQU0sRUFBRSxLQUFLLEdBcUJkO0V2QmhCQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLLE9BQU8sU0FBUyxFQUFFLE1BQU07SXVCWGxFLEFBQUEsc0JBQXNCLENBQUM7TUFVckIsTUFBTSxFQUFFLEtBQUssR0FpQmQ7RUEzQkQsQUFrQkMsc0JBbEJxQixBQWtCcEIsUUFBUSxDQUFDO0lBQ1QsTUFBTSxFQUFFLEtBQUs7SUFDYixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLEVBQUU7SUFDWCxVQUFVLEVwQ3RHRCw4RUFBOEU7SW9DdUd2RixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUNWOztBQ3pJRixBQUFBLGFBQWEsQ0FBQztFQUtiLGNBQWMsRUFBRSxLQUFLLEdBQ3JCO0V4Qm9JQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3QjFJMUMsQUFBQSxhQUFhLENBQUM7TUFFWixjQUFjLEVBQUUsSUFBSSxHQUlyQjs7QUFFRCxBQUFBLG9CQUFvQixDQUFDO0VBTXBCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBQ25CO0V4QjBIQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3QmxJMUMsQUFBQSxvQkFBb0IsQ0FBQztNQUVuQixhQUFhLEVBQUUsSUFBSTtNQUNuQixXQUFXLEVBQUUsSUFBSSxHQUtsQjs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQ3JCLGFBQWEsRUFBRSxJQUFJLEdBQ25COztBQ3BCRCxBQUFBLG1CQUFtQixDQUFDO0VBQ25CLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLGFBQWEsRUFBRSxJQUFJLEdBVW5CO0VBYkQsQUFLQyxtQkFMa0IsQUFLakIsUUFBUSxDQUFDO0lBQ1QsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsR0FBRztJQUNWLGdCQUFnQixFdENNVCxPQUF1QjtJc0NMOUIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRSxHQUNYOztBQUdGLEFBQUEsa0JBQWtCLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsYUFBYSxFQUFFLEtBQUssR0FvQnBCO0VBdEJELEFBSUMsa0JBSmlCLENBSWpCLE1BQU0sQ0FBQztJQUNOLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSyxDdENoQmhCLE9BQXFCO0lzQ2lCNUIsT0FBTyxFQUFFLGFBQWEsR0FNdEI7SUFkRixBQVVFLGtCQVZnQixDQUlqQixNQUFNLENBTUwsR0FBRyxDQUFDO01BQ0gsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNaO0VBYkgsQUFnQkMsa0JBaEJpQixDQWdCakIsS0FBSyxDQUFDO0l6QnVCTCxTQUFTLEV5QnRCSyxJQUFJO0l6QnVCbEIsU0FBUyxFRjVCRixNQUF5QjtJRWlDaEMsV0FBVyxFQUFFLFNBQW1DO0l5QjNCaEQsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixNQUFNLEVBQUUsSUFBSTtJQUNaLGFBQWEsRUFBRSxHQUFHLEdBQ2xCOztBQ3BDRixBQUNDLGVBRGMsQ0FDZCxRQUFRLENBQUM7RUFDUixXQUFXLEVBQUUsSUFBSSxHQUNqQjs7QUFIRixBQUtDLGVBTGMsQ0FLZCxvQkFBb0IsQ0FBQztFQUtwQixNQUFNLEVBQUUsS0FBSyxHQUNiO0UxQitIQSxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0kwQjFJMUMsQUFLQyxlQUxjLENBS2Qsb0JBQW9CLENBQUM7TUFFbkIsTUFBTSxFQUFFLEtBQUssR0FJZDs7QUFHRixBQUFBLHNCQUFzQixDQUFDO0VBQ3RCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFdBQVcsRUFBRSxRQUFRLEdBQ3JCOztBQUVELEFBQUEsMkJBQTJCLENBQUM7RUFLM0IsY0FBYyxFQUFFLEtBQUs7RUFDckIsV0FBVyxFQUFFLFFBQVEsR0FDckI7RTFCZ0hDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STBCdkgxQyxBQUFBLDJCQUEyQixDQUFDO01BRTFCLGNBQWMsRUFBRSxLQUFLLEdBS3RCOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFPckIsY0FBYyxFQUFFLElBQUk7RUFDcEIsZUFBZSxFQUFFLFVBQVU7RUFDM0IsTUFBTSxFQUFFLEtBQUssR0FRYjtFMUI2RkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEI5RzFDLEFBQUEscUJBQXFCLENBQUM7TUFFcEIsZUFBZSxFQUFFLGFBQWE7TUFDOUIsTUFBTSxFQUFFLENBQUM7TUFDVCxjQUFjLEVBQUUsSUFBSSxHQWFyQjtFMUJ5RUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEIxRjFDLEFBV0MscUJBWG9CLENBV3BCLGFBQWEsQ0FBQztNQUVaLEtBQUssRUFBRSxxQkFBcUI7TUFDNUIsTUFBTSxFQUFFLElBQUksR0FFYjs7QUFHRixBQUNDLEdBREUsQUFDRCxXQUFXLENBQUM7RUFLWixjQUFjLEVBQUUsQ0FBQztFQUNqQixXQUFXLEVBQUUsSUFBSSxHQUNqQjtFMUJtRkEsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEIzRjFDLEFBQ0MsR0FERSxBQUNELFdBQVcsQ0FBQztNQUVYLE9BQU8sRUFBRSxDQUFDLEdBS1g7O0ExQ1FGOztHQUVHO0EyQ2pFSDs7Ozs7R0FLRztBQVVBOztNQUVHO0FBRUgsQUFBQSxnQkFBZ0IsQ0FBOEI7RUFDN0MsS0FBUSxFeENkSCxPQUFxQixHd0NlMUI7O0FBTkQ7O01BRUc7QUFFSCxBQUFBLDJCQUEyQixDQUFtQjtFQUM3QyxnQkFBUSxFeENkSCxPQUFxQixHd0NlMUI7O0FBTkQ7O01BRUc7QUFFSCxBQUFBLGVBQWUsQ0FBK0I7RUFDN0MsS0FBUSxFeENiSixxQkFBdUIsR3dDYzNCOztBQU5EOztNQUVHO0FBRUgsQUFBQSwwQkFBMEIsQ0FBb0I7RUFDN0MsZ0JBQVEsRXhDYkoscUJBQXVCLEd3Q2MzQjs7QUFORDs7TUFFRztBQUVILEFBQUEsZUFBZSxDQUErQjtFQUM3QyxLQUFRLEV4Q1pKLHFCQUF1QixHd0NhM0I7O0FBTkQ7O01BRUc7QUFFSCxBQUFBLDBCQUEwQixDQUFvQjtFQUM3QyxnQkFBUSxFeENaSixxQkFBdUIsR3dDYTNCOztBQU5EOztNQUVHO0FBRUgsQUFBQSxnQkFBZ0IsQ0FBOEI7RUFDN0MsS0FBUSxFeENUSCxLQUFvQixHd0NVekI7O0FBTkQ7O01BRUc7QUFFSCxBQUFBLDJCQUEyQixDQUFtQjtFQUM3QyxnQkFBUSxFeENUSCxLQUFvQixHd0NVekI7O0FBTkQ7O01BRUc7QUFFSCxBQUFBLGNBQWMsQ0FBZ0M7RUFDN0MsS0FBUSxFeENOSCxPQUF1QixHd0NPNUI7O0FBTkQ7O01BRUc7QUFFSCxBQUFBLHlCQUF5QixDQUFxQjtFQUM3QyxnQkFBUSxFeENOSCxPQUF1QixHd0NPNUI7O0FBTkQ7O01BRUc7QUFFSCxBQUFBLGFBQWEsQ0FBaUM7RUFDN0MsS0FBUSxFeENMSixxQkFBeUIsR3dDTTdCOztBQU5EOztNQUVHO0FBRUgsQUFBQSx3QkFBd0IsQ0FBc0I7RUFDN0MsZ0JBQVEsRXhDTEoscUJBQXlCLEd3Q003Qjs7QUFORDs7TUFFRztBQUVILEFBQUEsYUFBYSxDQUFpQztFQUM3QyxLQUFRLEV4Q0pKLHFCQUF5QixHd0NLN0I7O0FBTkQ7O01BRUc7QUFFSCxBQUFBLHdCQUF3QixDQUFzQjtFQUM3QyxnQkFBUSxFeENKSixxQkFBeUIsR3dDSzdCOztBQ3JCSjs7R0FFRztBQUVILEFBQUEsZ0JBQWdCLENBQUM7RUFDaEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxHQUFHO0VBQ1gsV0FBVyxFQUFFLE1BQU07RUFDbkIsUUFBUSxFQUFFLE1BQU07RUFDaEIsSUFBSSxFQUFFLHdCQUF3QjtFQUM5QixTQUFTLEVBQUUsVUFBVSxHQUNyQjs7QUFHRDs7R0FFRztBQUVILEFBQUEsU0FBUyxDQUFDO0VBQ1QsS0FBSyxFQUFFLElBQUksR0FDWDs7QUFHRDs7O0dBR0c7O0FBR0gsQUFEQSxXQUNXLENBQUM7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixXQUFXLEVBQUUsb0JBQW9CO0VBQ2pDLFVBQVUsRUFBRSxLQUFLLEdBQ2pCOztBQUdEOztHQUVHO0FBRUgsQUFBQSxhQUFhLENBQUM7RUFDYixVQUFVLEVBQUUsTUFBTSxHQUNsQjs7QUFFRDs7R0FFRztBQUVILEFBQUEsV0FBVyxDQUFDO0VBQ1gsVUFBVSxFQUFFLElBQUksR0FDaEI7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLFlBQVksQ0FBQztFQUNaLFVBQVUsRUFBRSxLQUFLLEdBQ2pCOztBQ2xFRDs7Ozs7R0FLRztBQUlGOztJQUVHO0FBRUgsQUFBQSxLQUFLLENBQU07RUFDVixXQUFXLEVBQUUsbUJBQXdCO0VBQUUsT0FBTztFQUM5QyxVQUFVLEVBQUMsSUFBQyxHQUNaOztBQVBEOztJQUVHO0FBRUgsQUFBQSxRQUFRLENBQUc7RUFDVixXQUFXLEVBQUUsc0JBQXdCO0VBQUUsT0FBTztFQUM5QyxVQUFVLEVBQUMsT0FBQyxHQUNaOztBQVBEOztJQUVHO0FBRUgsQUFBQSxNQUFNLENBQUs7RUFDVixXQUFXLEVBQUUsb0JBQXdCO0VBQUUsT0FBTztFQUM5QyxVQUFVLEVBQUMsS0FBQyxHQUNaOztBQVBEOztJQUVHO0FBRUgsQUFBQSxLQUFLLENBQU07RUFDVixXQUFXLEVBQUUsbUJBQXdCO0VBQUUsT0FBTztFQUM5QyxVQUFVLEVBQUMsSUFBQyxHQUNaOztBQVBEOztJQUVHO0FBRUgsQUFBQSxXQUFXLENBQUE7RUFDVixXQUFXLEVBQUUseUJBQXdCO0VBQUUsT0FBTztFQUM5QyxVQUFVLEVBQUMsVUFBQyxHQUNaOztBQ2hCRjs7R0FFRztBQUdGLEFBQUEsT0FBTyxDQUFJO0VBQ1YsUUFBUSxFQUZNLE1BQU0sR0FHcEI7O0FBRkQsQUFBQSxTQUFTLENBQUU7RUFDVixRQUFRLEVBRmMsUUFBUSxHQUc5Qjs7QUFGRCxBQUFBLFNBQVMsQ0FBRTtFQUNWLFFBQVEsRUFGd0IsUUFBUSxHQUd4Qzs7QUFGRCxBQUFBLE1BQU0sQ0FBSztFQUNWLFFBQVEsRUFGa0MsS0FBSyxHQUcvQzs7QUFGRCxBQUFBLE9BQU8sQ0FBSTtFQUNWLFFBQVEsRUFGeUMsTUFBTSxHQUd2RDs7QUNORjs7R0FFRztBQUtBLEFBQUEsZ0JBQWdCLENBQVc7RUFDMUIsV0FBVyxFN0NKSCxXQUFXLEc2Q0tuQjs7QUFGRCxBQUFBLGdCQUFnQixDQUFXO0VBQzFCLFdBQVcsRTdDSEgsUUFBUSxHNkNJaEI7O0EvQndJRixNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UrQjFJdkMsQUFBQSxnQkFBZ0IsQ0FBVztJQUMxQixXQUFXLEU3Q0pILFdBQVcsRzZDS25CO0VBRkQsQUFBQSxnQkFBZ0IsQ0FBVztJQUMxQixXQUFXLEU3Q0hILFFBQVEsRzZDSWhCOztBL0J3SEYsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0IxSHZDLEFBQUEsZ0JBQWdCLENBQVc7SUFDMUIsV0FBVyxFN0NKSCxXQUFXLEc2Q0tuQjtFQUZELEFBQUEsZ0JBQWdCLENBQVc7SUFDMUIsV0FBVyxFN0NISCxRQUFRLEc2Q0loQjs7QS9CNEdGLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RStCOUd2QyxBQUFBLGdCQUFnQixDQUFXO0lBQzFCLFdBQVcsRTdDSkgsV0FBVyxHNkNLbkI7RUFGRCxBQUFBLGdCQUFnQixDQUFXO0lBQzFCLFdBQVcsRTdDSEgsUUFBUSxHNkNJaEI7O0EvQndHRixNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0UrQjFHeEMsQUFBQSxnQkFBZ0IsQ0FBVztJQUMxQixXQUFXLEU3Q0pILFdBQVcsRzZDS25CO0VBRkQsQUFBQSxnQkFBZ0IsQ0FBVztJQUMxQixXQUFXLEU3Q0hILFFBQVEsRzZDSWhCOztBQU1KOztHQUVHO0FBS0EsQUFBQSxXQUFXLENBQWdCO0UvQitCNUIsU0FBUyxFZHhDSixJQUFJO0VjeUNULFNBQVMsRUY1QkYsTUFBeUI7RUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDOztBQUZELEFBQUEsV0FBVyxDQUFnQjtFL0IrQjVCLFNBQVMsRWR2Q0osSUFBSTtFY3dDVCxTQUFTLEVGNUJGLE1BQXlCO0VFaUNoQyxXQUFXLEVBQUUsU0FBbUMsRytCbkM5Qzs7QUFGRCxBQUFBLFdBQVcsQ0FBZ0I7RS9CK0I1QixTQUFTLEVkdENKLElBQUk7RWN1Q1QsU0FBUyxFRjVCRixNQUF5QjtFRWlDaEMsV0FBVyxFQUFFLFNBQW1DLEcrQm5DOUM7O0FBRkQsQUFBQSxXQUFXLENBQWdCO0UvQitCNUIsU0FBUyxFZHJDSixJQUFJO0Vjc0NULFNBQVMsRUY1QkYsTUFBeUI7RUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDOztBQUZELEFBQUEsV0FBVyxDQUFnQjtFL0IrQjVCLFNBQVMsRWRwQ0osSUFBSTtFY3FDVCxTQUFTLEVGNUJGLE1BQXlCO0VFaUNoQyxXQUFXLEVBQUUsU0FBbUMsRytCbkM5Qzs7QUFGRCxBQUFBLFVBQVUsQ0FBaUI7RS9CK0I1QixTQUFTLEVkbkNMLElBQUk7RWNvQ1IsU0FBUyxFRjVCRixNQUF5QjtFRWlDaEMsV0FBVyxFQUFFLFNBQW1DLEcrQm5DOUM7O0EvQnlIRixNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UrQjNIdkMsQUFBQSxXQUFXLENBQWdCO0kvQitCNUIsU0FBUyxFZHhDSixJQUFJO0ljeUNULFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDO0VBRkQsQUFBQSxXQUFXLENBQWdCO0kvQitCNUIsU0FBUyxFZHZDSixJQUFJO0ljd0NULFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDO0VBRkQsQUFBQSxXQUFXLENBQWdCO0kvQitCNUIsU0FBUyxFZHRDSixJQUFJO0ljdUNULFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDO0VBRkQsQUFBQSxXQUFXLENBQWdCO0kvQitCNUIsU0FBUyxFZHJDSixJQUFJO0ljc0NULFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDO0VBRkQsQUFBQSxXQUFXLENBQWdCO0kvQitCNUIsU0FBUyxFZHBDSixJQUFJO0ljcUNULFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDO0VBRkQsQUFBQSxVQUFVLENBQWlCO0kvQitCNUIsU0FBUyxFZG5DTCxJQUFJO0ljb0NSLFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDOztBL0J5R0YsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0IzR3ZDLEFBQUEsV0FBVyxDQUFnQjtJL0IrQjVCLFNBQVMsRWR4Q0osSUFBSTtJY3lDVCxTQUFTLEVGNUJGLE1BQXlCO0lFaUNoQyxXQUFXLEVBQUUsU0FBbUMsRytCbkM5QztFQUZELEFBQUEsV0FBVyxDQUFnQjtJL0IrQjVCLFNBQVMsRWR2Q0osSUFBSTtJY3dDVCxTQUFTLEVGNUJGLE1BQXlCO0lFaUNoQyxXQUFXLEVBQUUsU0FBbUMsRytCbkM5QztFQUZELEFBQUEsV0FBVyxDQUFnQjtJL0IrQjVCLFNBQVMsRWR0Q0osSUFBSTtJY3VDVCxTQUFTLEVGNUJGLE1BQXlCO0lFaUNoQyxXQUFXLEVBQUUsU0FBbUMsRytCbkM5QztFQUZELEFBQUEsV0FBVyxDQUFnQjtJL0IrQjVCLFNBQVMsRWRyQ0osSUFBSTtJY3NDVCxTQUFTLEVGNUJGLE1BQXlCO0lFaUNoQyxXQUFXLEVBQUUsU0FBbUMsRytCbkM5QztFQUZELEFBQUEsV0FBVyxDQUFnQjtJL0IrQjVCLFNBQVMsRWRwQ0osSUFBSTtJY3FDVCxTQUFTLEVGNUJGLE1BQXlCO0lFaUNoQyxXQUFXLEVBQUUsU0FBbUMsRytCbkM5QztFQUZELEFBQUEsVUFBVSxDQUFpQjtJL0IrQjVCLFNBQVMsRWRuQ0wsSUFBSTtJY29DUixTQUFTLEVGNUJGLE1BQXlCO0lFaUNoQyxXQUFXLEVBQUUsU0FBbUMsRytCbkM5Qzs7QS9CNkZGLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RStCL0Z2QyxBQUFBLFdBQVcsQ0FBZ0I7SS9CK0I1QixTQUFTLEVkeENKLElBQUk7SWN5Q1QsU0FBUyxFRjVCRixNQUF5QjtJRWlDaEMsV0FBVyxFQUFFLFNBQW1DLEcrQm5DOUM7RUFGRCxBQUFBLFdBQVcsQ0FBZ0I7SS9CK0I1QixTQUFTLEVkdkNKLElBQUk7SWN3Q1QsU0FBUyxFRjVCRixNQUF5QjtJRWlDaEMsV0FBVyxFQUFFLFNBQW1DLEcrQm5DOUM7RUFGRCxBQUFBLFdBQVcsQ0FBZ0I7SS9CK0I1QixTQUFTLEVkdENKLElBQUk7SWN1Q1QsU0FBUyxFRjVCRixNQUF5QjtJRWlDaEMsV0FBVyxFQUFFLFNBQW1DLEcrQm5DOUM7RUFGRCxBQUFBLFdBQVcsQ0FBZ0I7SS9CK0I1QixTQUFTLEVkckNKLElBQUk7SWNzQ1QsU0FBUyxFRjVCRixNQUF5QjtJRWlDaEMsV0FBVyxFQUFFLFNBQW1DLEcrQm5DOUM7RUFGRCxBQUFBLFdBQVcsQ0FBZ0I7SS9CK0I1QixTQUFTLEVkcENKLElBQUk7SWNxQ1QsU0FBUyxFRjVCRixNQUF5QjtJRWlDaEMsV0FBVyxFQUFFLFNBQW1DLEcrQm5DOUM7RUFGRCxBQUFBLFVBQVUsQ0FBaUI7SS9CK0I1QixTQUFTLEVkbkNMLElBQUk7SWNvQ1IsU0FBUyxFRjVCRixNQUF5QjtJRWlDaEMsV0FBVyxFQUFFLFNBQW1DLEcrQm5DOUM7O0EvQnlGRixNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0UrQjNGeEMsQUFBQSxXQUFXLENBQWdCO0kvQitCNUIsU0FBUyxFZHhDSixJQUFJO0ljeUNULFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDO0VBRkQsQUFBQSxXQUFXLENBQWdCO0kvQitCNUIsU0FBUyxFZHZDSixJQUFJO0ljd0NULFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDO0VBRkQsQUFBQSxXQUFXLENBQWdCO0kvQitCNUIsU0FBUyxFZHRDSixJQUFJO0ljdUNULFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDO0VBRkQsQUFBQSxXQUFXLENBQWdCO0kvQitCNUIsU0FBUyxFZHJDSixJQUFJO0ljc0NULFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDO0VBRkQsQUFBQSxXQUFXLENBQWdCO0kvQitCNUIsU0FBUyxFZHBDSixJQUFJO0ljcUNULFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDO0VBRkQsQUFBQSxVQUFVLENBQWlCO0kvQitCNUIsU0FBUyxFZG5DTCxJQUFJO0ljb0NSLFNBQVMsRUY1QkYsTUFBeUI7SUVpQ2hDLFdBQVcsRUFBRSxTQUFtQyxHK0JuQzlDOztBQU1KOztHQUVHO0FBS0EsQUFBQSxhQUFhLENBQWU7RUFDM0IsVUFBVSxFQUZRLElBQUksR0FHdEI7O0FBRkQsQUFBQSxjQUFjLENBQWM7RUFDM0IsVUFBVSxFQUZjLEtBQUssR0FHN0I7O0FBRkQsQUFBQSxlQUFlLENBQWE7RUFDM0IsVUFBVSxFQUZxQixNQUFNLEdBR3JDOztBL0IwR0YsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0I1R3ZDLEFBQUEsYUFBYSxDQUFlO0lBQzNCLFVBQVUsRUFGUSxJQUFJLEdBR3RCO0VBRkQsQUFBQSxjQUFjLENBQWM7SUFDM0IsVUFBVSxFQUZjLEtBQUssR0FHN0I7RUFGRCxBQUFBLGVBQWUsQ0FBYTtJQUMzQixVQUFVLEVBRnFCLE1BQU0sR0FHckM7O0EvQjBGRixNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UrQjVGdkMsQUFBQSxhQUFhLENBQWU7SUFDM0IsVUFBVSxFQUZRLElBQUksR0FHdEI7RUFGRCxBQUFBLGNBQWMsQ0FBYztJQUMzQixVQUFVLEVBRmMsS0FBSyxHQUc3QjtFQUZELEFBQUEsZUFBZSxDQUFhO0lBQzNCLFVBQVUsRUFGcUIsTUFBTSxHQUdyQzs7QS9COEVGLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RStCaEZ2QyxBQUFBLGFBQWEsQ0FBZTtJQUMzQixVQUFVLEVBRlEsSUFBSSxHQUd0QjtFQUZELEFBQUEsY0FBYyxDQUFjO0lBQzNCLFVBQVUsRUFGYyxLQUFLLEdBRzdCO0VBRkQsQUFBQSxlQUFlLENBQWE7SUFDM0IsVUFBVSxFQUZxQixNQUFNLEdBR3JDOztBL0IwRUYsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFK0I1RXhDLEFBQUEsYUFBYSxDQUFlO0lBQzNCLFVBQVUsRUFGUSxJQUFJLEdBR3RCO0VBRkQsQUFBQSxjQUFjLENBQWM7SUFDM0IsVUFBVSxFQUZjLEtBQUssR0FHN0I7RUFGRCxBQUFBLGVBQWUsQ0FBYTtJQUMzQixVQUFVLEVBRnFCLE1BQU0sR0FHckM7O0FBTUo7Ozs7R0FJRztBQU9BLEFBQUEsWUFBWSxDQUFRO0VBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7O0FBRkQsQUFBQSxZQUFZLENBQVE7RUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjs7QUFGRCxBQUFBLFlBQVksQ0FBUTtFQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiOztBQUZELEFBQUEsWUFBWSxDQUFRO0VBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7O0FBRkQsQUFBQSxZQUFZLENBQVE7RUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjs7QUFGRCxBQUFBLFlBQVksQ0FBUTtFQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiOztBQUZELEFBQUEsWUFBWSxDQUFRO0VBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7O0FBRkQsQUFBQSxZQUFZLENBQVE7RUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjs7QUFGRCxBQUFBLFlBQVksQ0FBUTtFQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiOztBL0J1RkYsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0J6RnZDLEFBQUEsWUFBWSxDQUFRO0lBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7RUFGRCxBQUFBLFlBQVksQ0FBUTtJQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiO0VBRkQsQUFBQSxZQUFZLENBQVE7SUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjtFQUZELEFBQUEsWUFBWSxDQUFRO0lBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7RUFGRCxBQUFBLFlBQVksQ0FBUTtJQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiO0VBRkQsQUFBQSxZQUFZLENBQVE7SUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjtFQUZELEFBQUEsWUFBWSxDQUFRO0lBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7RUFGRCxBQUFBLFlBQVksQ0FBUTtJQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiO0VBRkQsQUFBQSxZQUFZLENBQVE7SUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjs7QS9CdUVGLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RStCekV2QyxBQUFBLFlBQVksQ0FBUTtJQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiO0VBRkQsQUFBQSxZQUFZLENBQVE7SUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjtFQUZELEFBQUEsWUFBWSxDQUFRO0lBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7RUFGRCxBQUFBLFlBQVksQ0FBUTtJQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiO0VBRkQsQUFBQSxZQUFZLENBQVE7SUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjtFQUZELEFBQUEsWUFBWSxDQUFRO0lBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7RUFGRCxBQUFBLFlBQVksQ0FBUTtJQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiO0VBRkQsQUFBQSxZQUFZLENBQVE7SUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjtFQUZELEFBQUEsWUFBWSxDQUFRO0lBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7O0EvQjJERixNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UrQjdEdkMsQUFBQSxZQUFZLENBQVE7SUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjtFQUZELEFBQUEsWUFBWSxDQUFRO0lBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7RUFGRCxBQUFBLFlBQVksQ0FBUTtJQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiO0VBRkQsQUFBQSxZQUFZLENBQVE7SUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjtFQUZELEFBQUEsWUFBWSxDQUFRO0lBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7RUFGRCxBQUFBLFlBQVksQ0FBUTtJQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiO0VBRkQsQUFBQSxZQUFZLENBQVE7SUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjtFQUZELEFBQUEsWUFBWSxDQUFRO0lBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7RUFGRCxBQUFBLFlBQVksQ0FBUTtJQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiOztBL0J1REYsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFK0J6RHhDLEFBQUEsWUFBWSxDQUFRO0lBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7RUFGRCxBQUFBLFlBQVksQ0FBUTtJQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiO0VBRkQsQUFBQSxZQUFZLENBQVE7SUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjtFQUZELEFBQUEsWUFBWSxDQUFRO0lBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7RUFGRCxBQUFBLFlBQVksQ0FBUTtJQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiO0VBRkQsQUFBQSxZQUFZLENBQVE7SUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjtFQUZELEFBQUEsWUFBWSxDQUFRO0lBQ25CLFdBQVcsRUFBQyxHQUFDLEdBQ2I7RUFGRCxBQUFBLFlBQVksQ0FBUTtJQUNuQixXQUFXLEVBQUMsR0FBQyxHQUNiO0VBRkQsQUFBQSxZQUFZLENBQVE7SUFDbkIsV0FBVyxFQUFDLEdBQUMsR0FDYjs7QUFNSjs7R0FFRztBQUtBLEFBQUEsbUJBQW1CLENBQVM7RUFDM0IsY0FBYyxFQUZJLFVBQVUsR0FHNUI7O0FBRkQsQUFBQSxrQkFBa0IsQ0FBVTtFQUMzQixjQUFjLEVBRmdCLFNBQVMsR0FHdkM7O0FBRkQsQUFBQSxrQkFBa0IsQ0FBVTtFQUMzQixjQUFjLEVBRjJCLFNBQVMsR0FHbEQ7O0FBRkQsQUFBQSxhQUFhLENBQWU7RUFDM0IsY0FBYyxFQUZzQyxJQUFJLEdBR3hEOztBQUZELEFBQUEsbUJBQW1CLENBQVM7RUFDM0IsY0FBYyxFQUY0QyxVQUFVLEdBR3BFOztBL0J3RUYsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0IxRXZDLEFBQUEsbUJBQW1CLENBQVM7SUFDM0IsY0FBYyxFQUZJLFVBQVUsR0FHNUI7RUFGRCxBQUFBLGtCQUFrQixDQUFVO0lBQzNCLGNBQWMsRUFGZ0IsU0FBUyxHQUd2QztFQUZELEFBQUEsa0JBQWtCLENBQVU7SUFDM0IsY0FBYyxFQUYyQixTQUFTLEdBR2xEO0VBRkQsQUFBQSxhQUFhLENBQWU7SUFDM0IsY0FBYyxFQUZzQyxJQUFJLEdBR3hEO0VBRkQsQUFBQSxtQkFBbUIsQ0FBUztJQUMzQixjQUFjLEVBRjRDLFVBQVUsR0FHcEU7O0EvQndERixNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UrQjFEdkMsQUFBQSxtQkFBbUIsQ0FBUztJQUMzQixjQUFjLEVBRkksVUFBVSxHQUc1QjtFQUZELEFBQUEsa0JBQWtCLENBQVU7SUFDM0IsY0FBYyxFQUZnQixTQUFTLEdBR3ZDO0VBRkQsQUFBQSxrQkFBa0IsQ0FBVTtJQUMzQixjQUFjLEVBRjJCLFNBQVMsR0FHbEQ7RUFGRCxBQUFBLGFBQWEsQ0FBZTtJQUMzQixjQUFjLEVBRnNDLElBQUksR0FHeEQ7RUFGRCxBQUFBLG1CQUFtQixDQUFTO0lBQzNCLGNBQWMsRUFGNEMsVUFBVSxHQUdwRTs7QS9CNENGLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RStCOUN2QyxBQUFBLG1CQUFtQixDQUFTO0lBQzNCLGNBQWMsRUFGSSxVQUFVLEdBRzVCO0VBRkQsQUFBQSxrQkFBa0IsQ0FBVTtJQUMzQixjQUFjLEVBRmdCLFNBQVMsR0FHdkM7RUFGRCxBQUFBLGtCQUFrQixDQUFVO0lBQzNCLGNBQWMsRUFGMkIsU0FBUyxHQUdsRDtFQUZELEFBQUEsYUFBYSxDQUFlO0lBQzNCLGNBQWMsRUFGc0MsSUFBSSxHQUd4RDtFQUZELEFBQUEsbUJBQW1CLENBQVM7SUFDM0IsY0FBYyxFQUY0QyxVQUFVLEdBR3BFOztBL0J3Q0YsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFK0IxQ3hDLEFBQUEsbUJBQW1CLENBQVM7SUFDM0IsY0FBYyxFQUZJLFVBQVUsR0FHNUI7RUFGRCxBQUFBLGtCQUFrQixDQUFVO0lBQzNCLGNBQWMsRUFGZ0IsU0FBUyxHQUd2QztFQUZELEFBQUEsa0JBQWtCLENBQVU7SUFDM0IsY0FBYyxFQUYyQixTQUFTLEdBR2xEO0VBRkQsQUFBQSxhQUFhLENBQWU7SUFDM0IsY0FBYyxFQUZzQyxJQUFJLEdBR3hEO0VBRkQsQUFBQSxtQkFBbUIsQ0FBUztJQUMzQixjQUFjLEVBRjRDLFVBQVUsR0FHcEU7O0FDMUVKOztHQUVHO0FBS0YsQUFBQSxLQUFLLENBQUs7RUFDVCxhQUFhLEVBQUMsR0FBQyxHQUNmOztBQUZELEFBQUEsS0FBSyxDQUFLO0VBQ1QsYUFBYSxFQUFDLEdBQUMsR0FDZjs7QUFGRCxBQUFBLE1BQU0sQ0FBSTtFQUNULGFBQWEsRUFBQyxJQUFDLEdBQ2Y7O0FBRkQsQUFBQSxNQUFNLENBQUk7RUFDVCxhQUFhLEVBQUMsSUFBQyxHQUNmOztBQUZELEFBQUEsTUFBTSxDQUFJO0VBQ1QsYUFBYSxFQUFDLElBQUMsR0FDZjs7QUFGRCxBQUFBLE1BQU0sQ0FBSTtFQUNULGFBQWEsRUFBQyxJQUFDLEdBQ2Y7O0FBRkQsQUFBQSxNQUFNLENBQUk7RUFDVCxhQUFhLEVBQUMsSUFBQyxHQUNmOztBQUZELEFBQUEsTUFBTSxDQUFJO0VBQ1QsYUFBYSxFQUFDLElBQUMsR0FDZjs7QUFGRCxBQUFBLE1BQU0sQ0FBSTtFQUNULGFBQWEsRUFBQyxJQUFDLEdBQ2Y7O0FBRkQsQUFBQSxNQUFNLENBQUk7RUFDVCxhQUFhLEVBQUMsSUFBQyxHQUNmOztBQUZELEFBQUEsTUFBTSxDQUFJO0VBQ1QsYUFBYSxFQUFDLElBQUMsR0FDZjs7QUNURjs7R0FFRztBQUdGLEFBQUEsVUFBVSxDQUFPO0VBQ2hCLE9BQU8sRTdDRkYsQ0FBQyxHNkNHTjs7QUFGRCxBQUFBLFVBQVUsQ0FBTztFQUNoQixPQUFPLEU3Q0RGLEVBQUUsRzZDRVA7O0FBRkQsQUFBQSxVQUFVLENBQU87RUFDaEIsT0FBTyxFN0NBRixFQUFFLEc2Q0NQOztBQUZELEFBQUEsVUFBVSxDQUFPO0VBQ2hCLE9BQU8sRTdDQ0YsRUFBRSxHNkNBUDs7QUFGRCxBQUFBLFVBQVUsQ0FBTztFQUNoQixPQUFPLEU3Q0VGLEVBQUUsRzZDRFA7O0FBRkQsQUFBQSxVQUFVLENBQU87RUFDaEIsT0FBTyxFN0NHRixFQUFFLEc2Q0ZQOztBQUZELEFBQUEsVUFBVSxDQUFPO0VBQ2hCLE9BQU8sRTdDSUYsRUFBRSxHNkNIUDs7QUFGRCxBQUFBLFVBQVUsQ0FBTztFQUNoQixPQUFPLEU3Q0tGLEVBQUUsRzZDSlA7O0FBRkQsQUFBQSxVQUFVLENBQU87RUFDaEIsT0FBTyxFN0NNRixFQUFFLEc2Q0xQOztBQUZELEFBQUEsVUFBVSxDQUFPO0VBQ2hCLE9BQU8sRTdDT0YsRUFBRSxHNkNOUDs7QUFGRCxBQUFBLFdBQVcsQ0FBTTtFQUNoQixPQUFPLEU3Q1FGLEdBQUcsRzZDUFIifQ== */
