/**
 * Owl Carousel v2.2.0
 * Copyright 2013-2016 David Deutsch
 * Licensed under MIT (https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE)
 */
.owl-carousel, .owl-carousel .owl-item {
  -webkit-tap-highlight-color: transparent;
  position: relative; }

.owl-carousel {
  display: none;
  width: 100%;
  z-index: 1; }

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y; }

.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;
  -webkit-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-item {
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-touch-callout: none; }

.owl-carousel .owl-item img {
  display: block;
  width: 100%;
  -webkit-transform-style: preserve-3d; }

.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled {
  display: none; }

.no-js .owl-carousel, .owl-carousel.owl-loaded {
  display: block; }

.owl-carousel .owl-dot, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-nav .owl-prev {
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.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 {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel.owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.owl-carousel.owl-rtl {
  direction: rtl; }

.owl-carousel.owl-rtl .owl-item {
  float: right; }

.owl-carousel .animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

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

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

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

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

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

.owl-height {
  transition: height .5s ease-in-out; }

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity .4s ease; }

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.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: -webkit-transform .1s ease;
  transition: transform .1s ease;
  transition: transform .1s ease, -webkit-transform .1s ease; }

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

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

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

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

/**
 * Owl Carousel v2.2.0
 * Copyright 2013-2016 David Deutsch
 * Licensed under MIT (https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE)
 */
.owl-theme .owl-dots, .owl-theme .owl-nav {
  text-align: center;
  -webkit-tap-highlight-color: transparent; }

.owl-theme .owl-nav {
  margin-top: 10px; }

.owl-theme .owl-nav [class*=owl-] {
  color: #FFF;
  font-size: 14px;
  margin: 5px;
  padding: 4px 7px;
  background: #D6D6D6;
  display: inline-block;
  cursor: pointer;
  border-radius: 3px; }

.owl-theme .owl-nav [class*=owl-]:hover {
  background: #869791;
  color: #FFF;
  text-decoration: none; }

.owl-theme .owl-nav .disabled {
  opacity: .5;
  cursor: default; }

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 10px; }

.owl-theme .owl-dots .owl-dot {
  display: inline-block;
  zoom: 1; }

.owl-theme .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  margin: 5px 7px;
  background: #D6D6D6;
  display: block;
  -webkit-backface-visibility: visible;
  transition: opacity .2s ease;
  border-radius: 30px; }

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
  background: #869791; }

/**
 * Foundation for Sites by ZURB
 * Version 6.3.0
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/* montserrat-200 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/montserratmontserrat-v10-latin-200.eot");
  /* IE9 Compat Modes */
  src: local("Montserrat ExtraLight"), local("Montserrat-ExtraLight"), url("../fonts/montserratmontserrat-v10-latin-200.eot?#iefix") format("embedded-opentype"), url("../fonts/montserratmontserrat-v10-latin-200.woff2") format("woff2"), url("../fonts/montserratmontserrat-v10-latin-200.woff") format("woff"), url("../fonts/montserratmontserrat-v10-latin-200.ttf") format("truetype"), url("../fonts/montserratmontserrat-v10-latin-200.svg#Montserrat") format("svg");
  /* Legacy iOS */ }

/* montserrat-300 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/montserratmontserrat-v10-latin-300.eot");
  /* IE9 Compat Modes */
  src: local("Montserrat Light"), local("Montserrat-Light"), url("../fonts/montserratmontserrat-v10-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/montserratmontserrat-v10-latin-300.woff2") format("woff2"), url("../fonts/montserratmontserrat-v10-latin-300.woff") format("woff"), url("../fonts/montserratmontserrat-v10-latin-300.ttf") format("truetype"), url("../fonts/montserratmontserrat-v10-latin-300.svg#Montserrat") format("svg");
  /* Legacy iOS */ }

/* montserrat-regular - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/montserratmontserrat-v10-latin-regular.eot");
  /* IE9 Compat Modes */
  src: local("Montserrat Regular"), local("Montserrat-Regular"), url("../fonts/montserratmontserrat-v10-latin-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/montserratmontserrat-v10-latin-regular.woff2") format("woff2"), url("../fonts/montserratmontserrat-v10-latin-regular.woff") format("woff"), url("../fonts/montserratmontserrat-v10-latin-regular.ttf") format("truetype"), url("../fonts/montserratmontserrat-v10-latin-regular.svg#Montserrat") format("svg");
  /* Legacy iOS */ }

/* montserrat-500 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/montserratmontserrat-v10-latin-500.eot");
  /* IE9 Compat Modes */
  src: local("Montserrat Medium"), local("Montserrat-Medium"), url("../fonts/montserratmontserrat-v10-latin-500.eot?#iefix") format("embedded-opentype"), url("../fonts/montserratmontserrat-v10-latin-500.woff2") format("woff2"), url("../fonts/montserratmontserrat-v10-latin-500.woff") format("woff"), url("../fonts/montserratmontserrat-v10-latin-500.ttf") format("truetype"), url("../fonts/montserratmontserrat-v10-latin-500.svg#Montserrat") format("svg");
  /* Legacy iOS */ }

/* montserrat-600 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/montserratmontserrat-v10-latin-600.eot");
  /* IE9 Compat Modes */
  src: local("Montserrat SemiBold"), local("Montserrat-SemiBold"), url("../fonts/montserratmontserrat-v10-latin-600.eot?#iefix") format("embedded-opentype"), url("../fonts/montserratmontserrat-v10-latin-600.woff2") format("woff2"), url("../fonts/montserratmontserrat-v10-latin-600.woff") format("woff"), url("../fonts/montserratmontserrat-v10-latin-600.ttf") format("truetype"), url("../fonts/montserratmontserrat-v10-latin-600.svg#Montserrat") format("svg");
  /* Legacy iOS */ }

/* montserrat-700 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/montserratmontserrat-v10-latin-700.eot");
  /* IE9 Compat Modes */
  src: local("Montserrat Bold"), local("Montserrat-Bold"), url("../fonts/montserratmontserrat-v10-latin-700.eot?#iefix") format("embedded-opentype"), url("../fonts/montserratmontserrat-v10-latin-700.woff2") format("woff2"), url("../fonts/montserratmontserrat-v10-latin-700.woff") format("woff"), url("../fonts/montserratmontserrat-v10-latin-700.ttf") format("truetype"), url("../fonts/montserratmontserrat-v10-latin-700.svg#Montserrat") format("svg");
  /* Legacy iOS */ }

/* montserrat-800 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/montserratmontserrat-v10-latin-800.eot");
  /* IE9 Compat Modes */
  src: local("Montserrat ExtraBold"), local("Montserrat-ExtraBold"), url("../fonts/montserratmontserrat-v10-latin-800.eot?#iefix") format("embedded-opentype"), url("../fonts/montserratmontserrat-v10-latin-800.woff2") format("woff2"), url("../fonts/montserratmontserrat-v10-latin-800.woff") format("woff"), url("../fonts/montserratmontserrat-v10-latin-800.ttf") format("truetype"), url("../fonts/montserratmontserrat-v10-latin-800.svg#Montserrat") format("svg");
  /* Legacy iOS */ }

/* montserrat-900 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/montserratmontserrat-v10-latin-900.eot");
  /* IE9 Compat Modes */
  src: local("Montserrat Black"), local("Montserrat-Black"), url("../fonts/montserratmontserrat-v10-latin-900.eot?#iefix") format("embedded-opentype"), url("../fonts/montserratmontserrat-v10-latin-900.woff2") format("woff2"), url("../fonts/montserratmontserrat-v10-latin-900.woff") format("woff"), url("../fonts/montserratmontserrat-v10-latin-900.ttf") format("truetype"), url("../fonts/montserratmontserrat-v10-latin-900.svg#Montserrat") format("svg");
  /* Legacy iOS */ }

/* titillium-web-300 - latin */
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/titillium/titillium-web-v4-latin-300.eot");
  /* IE9 Compat Modes */
  src: local("Titillium WebLight"), local("TitilliumWeb-Light"), url("../fonts/titillium/titillium-web-v4-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/titillium/titillium-web-v4-latin-300.woff2") format("woff2"), url("../fonts/titillium/titillium-web-v4-latin-300.woff") format("woff"), url("../fonts/titillium/titillium-web-v4-latin-300.ttf") format("truetype"), url("../fonts/titillium/titillium-web-v4-latin-300.svg#TitilliumWeb") format("svg");
  /* Legacy iOS */ }

/* titillium-web-regular - latin */
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/titillium/titillium-web-v4-latin-regular.eot");
  /* IE9 Compat Modes */
  src: local("Titillium Web"), local("TitilliumWeb-Regular"), url("../fonts/titillium/titillium-web-v4-latin-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/titillium/titillium-web-v4-latin-regular.woff2") format("woff2"), url("../fonts/titillium/titillium-web-v4-latin-regular.woff") format("woff"), url("../fonts/titillium/titillium-web-v4-latin-regular.ttf") format("truetype"), url("../fonts/titillium/titillium-web-v4-latin-regular.svg#TitilliumWeb") format("svg");
  /* Legacy iOS */ }

/* titillium-web-600 - latin */
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/titillium/titillium-web-v4-latin-600.eot");
  /* IE9 Compat Modes */
  src: local("Titillium WebSemiBold"), local("TitilliumWeb-SemiBold"), url("../fonts/titillium/titillium-web-v4-latin-600.eot?#iefix") format("embedded-opentype"), url("../fonts/titillium/titillium-web-v4-latin-600.woff2") format("woff2"), url("../fonts/titillium/titillium-web-v4-latin-600.woff") format("woff"), url("../fonts/titillium/titillium-web-v4-latin-600.ttf") format("truetype"), url("../fonts/titillium/titillium-web-v4-latin-600.svg#TitilliumWeb") format("svg");
  /* Legacy iOS */ }

/* titillium-web-700 - latin */
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/titillium/titillium-web-v4-latin-700.eot");
  /* IE9 Compat Modes */
  src: local("Titillium WebBold"), local("TitilliumWeb-Bold"), url("../fonts/titillium/titillium-web-v4-latin-700.eot?#iefix") format("embedded-opentype"), url("../fonts/titillium/titillium-web-v4-latin-700.woff2") format("woff2"), url("../fonts/titillium/titillium-web-v4-latin-700.woff") format("woff"), url("../fonts/titillium/titillium-web-v4-latin-700.ttf") format("truetype"), url("../fonts/titillium/titillium-web-v4-latin-700.svg#TitilliumWeb") format("svg");
  /* Legacy iOS */ }

/* titillium-web-900 - latin */
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/titillium/titillium-web-v4-latin-900.eot");
  /* IE9 Compat Modes */
  src: local("Titillium WebBlack"), local("TitilliumWeb-Black"), url("../fonts/titillium/titillium-web-v4-latin-900.eot?#iefix") format("embedded-opentype"), url("../fonts/titillium/titillium-web-v4-latin-900.woff2") format("woff2"), url("../fonts/titillium/titillium-web-v4-latin-900.woff") format("woff"), url("../fonts/titillium/titillium-web-v4-latin-900.ttf") format("truetype"), url("../fonts/titillium/titillium-web-v4-latin-900.svg#TitilliumWeb") format("svg");
  /* Legacy iOS */ }

/* source-serif-pro-regular - latin */
@font-face {
  font-family: 'SourceSerifPro';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/source-serifsource-serif-pro-v4-latin-regular.eot");
  /* IE9 Compat Modes */
  src: local("Source Serif Pro"), local("SourceSerifPro-Regular"), url("../fonts/source-serifsource-serif-pro-v4-latin-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/source-serifsource-serif-pro-v4-latin-regular.woff2") format("woff2"), url("../fonts/source-serifsource-serif-pro-v4-latin-regular.woff") format("woff"), url("../fonts/source-serifsource-serif-pro-v4-latin-regular.ttf") format("truetype"), url("../fonts/source-serifsource-serif-pro-v4-latin-regular.svg#SourceSerifPro") format("svg");
  /* Legacy iOS */ }

/* source-serif-pro-600 - latin */
@font-face {
  font-family: 'SourceSerifPro';
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/source-serifsource-serif-pro-v4-latin-600.eot");
  /* IE9 Compat Modes */
  src: local("Source Serif Pro Semibold"), local("SourceSerifPro-Semibold"), url("../fonts/source-serifsource-serif-pro-v4-latin-600.eot?#iefix") format("embedded-opentype"), url("../fonts/source-serifsource-serif-pro-v4-latin-600.woff2") format("woff2"), url("../fonts/source-serifsource-serif-pro-v4-latin-600.woff") format("woff"), url("../fonts/source-serifsource-serif-pro-v4-latin-600.ttf") format("truetype"), url("../fonts/source-serifsource-serif-pro-v4-latin-600.svg#SourceSerifPro") format("svg");
  /* Legacy iOS */ }

/* source-serif-pro-700 - latin */
@font-face {
  font-family: 'SourceSerifPro';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/source-serifsource-serif-pro-v4-latin-700.eot");
  /* IE9 Compat Modes */
  src: local("Source Serif Pro Bold"), local("SourceSerifPro-Bold"), url("../fonts/source-serifsource-serif-pro-v4-latin-700.eot?#iefix") format("embedded-opentype"), url("../fonts/source-serifsource-serif-pro-v4-latin-700.woff2") format("woff2"), url("../fonts/source-serifsource-serif-pro-v4-latin-700.woff") format("woff"), url("../fonts/source-serifsource-serif-pro-v4-latin-700.ttf") format("truetype"), url("../fonts/source-serifsource-serif-pro-v4-latin-700.svg#SourceSerifPro") format("svg");
  /* Legacy iOS */ }

@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon.eot?n8flav");
  src: url("../fonts/icomoon.eot?n8flav#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?n8flav") format("truetype"), url("../fonts/icomoon.woff?n8flav") format("woff"), url("../fonts/icomoon.svg?n8flav#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-ico-ux:before {
  content: "\e909"; }

.icon-logo-3kdesign:before {
  content: "\e912"; }

.icon-ico-behance:before {
  content: "\e900"; }

.icon-ico-boostravel:before {
  content: "\e901"; }

.icon-ico-burger:before {
  content: "\e902"; }

.icon-ico-citydrive:before {
  content: "\e903"; }

.icon-ico-consulting:before {
  content: "\e904"; }

.icon-ico-development:before {
  content: "\e905"; }

.icon-ico-dribbble:before {
  content: "\e906"; }

.icon-ico-Gemalto:before {
  content: "\e907"; }

.icon-ico-linkedin:before {
  content: "\e908"; }

.icon-ico-meteofrance:before {
  content: "\e90a"; }

.icon-ico-orange:before {
  content: "\e90b"; }

.icon-ico-otorim:before {
  content: "\e90c"; }

.icon-ico-peugeot:before {
  content: "\e90d"; }

.icon-ico-plus:before {
  content: "\e90e"; }

.icon-ico-publicis:before {
  content: "\e90f"; }

.icon-ico-twitter:before {
  content: "\e910"; }

.icon-ico-webdesign:before {
  content: "\e911"; }

@-webkit-keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fade-out {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    display: none; } }

@keyframes fade-out {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    display: none; } }

@-webkit-keyframes fade-from-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(1em) translateY(0);
            transform: translateX(1em) translateY(0); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); } }

@keyframes fade-from-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(1em) translateY(0);
            transform: translateX(1em) translateY(0); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); } }

@-webkit-keyframes fade-from-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-1em) translateY(0);
            transform: translateX(-1em) translateY(0); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); } }

@keyframes fade-from-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-1em) translateY(0);
            transform: translateX(-1em) translateY(0); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); } }

@-webkit-keyframes fade-from-top {
  0% {
    opacity: 0;
    -webkit-transform: translateX(0) translateY(-1em);
            transform: translateX(0) translateY(-1em); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); } }

@keyframes fade-from-top {
  0% {
    opacity: 0;
    -webkit-transform: translateX(0) translateY(-1em);
            transform: translateX(0) translateY(-1em); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); } }

@-webkit-keyframes fade-from-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateX(0) translateY(1em);
            transform: translateX(0) translateY(1em); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); } }

@keyframes fade-from-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateX(0) translateY(1em);
            transform: translateX(0) translateY(1em); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); } }

@-webkit-keyframes slide-h {
  0% {
    left: 100%;
    width: 0; }
  30% {
    left: 0;
    width: 100%; }
  70% {
    left: 0;
    width: 100%; }
  100% {
    left: 0;
    width: 0; } }

@keyframes slide-h {
  0% {
    left: 100%;
    width: 0; }
  30% {
    left: 0;
    width: 100%; }
  70% {
    left: 0;
    width: 100%; }
  100% {
    left: 0;
    width: 0; } }

@-webkit-keyframes slide-v {
  0% {
    height: 0;
    width: 100%; }
  100% {
    height: 100%;
    width: 100%; } }

@keyframes slide-v {
  0% {
    height: 0;
    width: 100%; }
  100% {
    height: 100%;
    width: 100%; } }

@-webkit-keyframes contact-modal {
  0% {
    opacity: 0;
    visibility: visible;
    margin-top: 0;
    -webkit-transform: translateX(0) translateY(-1em);
            transform: translateX(0) translateY(-1em); }
  100% {
    opacity: 1;
    visibility: visible;
    margin-top: 0;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); } }

@keyframes contact-modal {
  0% {
    opacity: 0;
    visibility: visible;
    margin-top: 0;
    -webkit-transform: translateX(0) translateY(-1em);
            transform: translateX(0) translateY(-1em); }
  100% {
    opacity: 1;
    visibility: visible;
    margin-top: 0;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); } }

@-webkit-keyframes contact-modal-off {
  0% {
    opacity: 1;
    visibility: visible;
    margin-top: 0;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); }
  100% {
    opacity: 0;
    visibility: visible;
    margin-top: 0;
    -webkit-transform: translateX(0) translateY(1em);
            transform: translateX(0) translateY(1em); } }

@keyframes contact-modal-off {
  0% {
    opacity: 1;
    visibility: visible;
    margin-top: 0;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); }
  100% {
    opacity: 0;
    visibility: visible;
    margin-top: 0;
    -webkit-transform: translateX(0) translateY(1em);
            transform: translateX(0) translateY(1em); } }

@-webkit-keyframes teleport {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  45% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px); }
  55% {
    opacity: 0;
    -webkit-transform: translateX(300px);
            transform: translateX(300px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(350px);
            transform: translateX(350px); } }

@keyframes teleport {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  45% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px); }
  55% {
    opacity: 0;
    -webkit-transform: translateX(300px);
            transform: translateX(300px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(350px);
            transform: translateX(350px); } }

/*
==================================================
====================== Home            			
==================================================
*/
@-webkit-keyframes header-xlarge {
  0% {
    top: 0;
    left: 100%;
    width: 0; }
  40% {
    left: 0;
    width: 100%; }
  60% {
    left: 0;
    width: 100%; }
  100% {
    left: 0;
    width: 29%; } }
@keyframes header-xlarge {
  0% {
    top: 0;
    left: 100%;
    width: 0; }
  40% {
    left: 0;
    width: 100%; }
  60% {
    left: 0;
    width: 100%; }
  100% {
    left: 0;
    width: 29%; } }

@-webkit-keyframes header-large {
  0% {
    top: 0;
    left: 100%;
    width: 0; }
  40% {
    left: 0;
    width: 100%; }
  60% {
    left: 0;
    width: 100%; }
  100% {
    left: 0;
    width: 33%; } }

@keyframes header-large {
  0% {
    top: 0;
    left: 100%;
    width: 0; }
  40% {
    left: 0;
    width: 100%; }
  60% {
    left: 0;
    width: 100%; }
  100% {
    left: 0;
    width: 33%; } }

@-webkit-keyframes header-medium {
  0% {
    top: 0;
    left: 100%;
    width: 0; }
  40% {
    left: 0;
    width: 100%; }
  60% {
    left: 0;
    width: 100%; }
  100% {
    left: 0;
    width: 29%; } }

@keyframes header-medium {
  0% {
    top: 0;
    left: 100%;
    width: 0; }
  40% {
    left: 0;
    width: 100%; }
  60% {
    left: 0;
    width: 100%; }
  100% {
    left: 0;
    width: 29%; } }

@-webkit-keyframes header-small {
  0% {
    top: 0;
    left: 100%;
    width: 0; }
  40% {
    left: 0;
    width: 100%; }
  60% {
    left: 0;
    width: 100%; }
  100% {
    left: 0%;
    width: 0; } }

@keyframes header-small {
  0% {
    top: 0;
    left: 100%;
    width: 0; }
  40% {
    left: 0;
    width: 100%; }
  60% {
    left: 0;
    width: 100%; }
  100% {
    left: 0%;
    width: 0; } }

@-webkit-keyframes cta-text {
  0% {
    opacity: 0;
    height: 100%;
    visibility: visible;
    -webkit-transform: translateX(-1em) translateY(0);
            transform: translateX(-1em) translateY(0); }
  100% {
    opacity: 1;
    height: 100%;
    visibility: visible;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); } }

@keyframes cta-text {
  0% {
    opacity: 0;
    height: 100%;
    visibility: visible;
    -webkit-transform: translateX(-1em) translateY(0);
            transform: translateX(-1em) translateY(0); }
  100% {
    opacity: 1;
    height: 100%;
    visibility: visible;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0); } }

/*
==================================================
====================== Boostravel            			
==================================================
*/
@-webkit-keyframes cloud1 {
  0% {
    top: -600px;
    left: 35%; }
  100% {
    top: -100px;
    left: -1000px; } }
@keyframes cloud1 {
  0% {
    top: -600px;
    left: 35%; }
  100% {
    top: -100px;
    left: -1000px; } }

@-webkit-keyframes cloud2 {
  0% {
    top: -900px;
    left: 30%; }
  100% {
    top: -400px;
    left: -1000px; } }

@keyframes cloud2 {
  0% {
    top: -900px;
    left: 30%; }
  100% {
    top: -400px;
    left: -1000px; } }

@-webkit-keyframes cloud3 {
  0% {
    top: -400px;
    left: 82%; }
  100% {
    top: 200px;
    left: -800px; } }

@keyframes cloud3 {
  0% {
    top: -400px;
    left: 82%; }
  100% {
    top: 200px;
    left: -800px; } }

@-webkit-keyframes cloud4 {
  0% {
    top: 0px;
    left: 100%; }
  100% {
    top: 500px;
    left: -1000px; } }

@keyframes cloud4 {
  0% {
    top: 0px;
    left: 100%; }
  100% {
    top: 500px;
    left: -1000px; } }

@-webkit-keyframes plane {
  0% {
    -webkit-transform: translateY(-10px) rotate(-25deg) translate3d(0, 0, 0);
            transform: translateY(-10px) rotate(-25deg) translate3d(0, 0, 0); }
  100% {
    -webkit-transform: translateY(10px) rotate(-25deg) translate3d(0, 0, 0);
            transform: translateY(10px) rotate(-25deg) translate3d(0, 0, 0); } }

@keyframes plane {
  0% {
    -webkit-transform: translateY(-10px) rotate(-25deg) translate3d(0, 0, 0);
            transform: translateY(-10px) rotate(-25deg) translate3d(0, 0, 0); }
  100% {
    -webkit-transform: translateY(10px) rotate(-25deg) translate3d(0, 0, 0);
            transform: translateY(10px) rotate(-25deg) translate3d(0, 0, 0); } }

@-webkit-keyframes plane-shadow {
  0% {
    -webkit-transform: translateY(35px) scale(0.8) rotate(-25deg) translateZ(0);
            transform: translateY(35px) scale(0.8) rotate(-25deg) translateZ(0);
    opacity: 0.1; }
  100% {
    -webkit-transform: translateY(30px) scale(1) rotate(-25deg) translateZ(0);
            transform: translateY(30px) scale(1) rotate(-25deg) translateZ(0);
    opacity: 0.2; } }

@keyframes plane-shadow {
  0% {
    -webkit-transform: translateY(35px) scale(0.8) rotate(-25deg) translateZ(0);
            transform: translateY(35px) scale(0.8) rotate(-25deg) translateZ(0);
    opacity: 0.1; }
  100% {
    -webkit-transform: translateY(30px) scale(1) rotate(-25deg) translateZ(0);
            transform: translateY(30px) scale(1) rotate(-25deg) translateZ(0);
    opacity: 0.2; } }

/**********************
 *CSS Animations by:
 *http://codepen.io/vivinantony
***********************/
.spinner1 {
  width: 40px;
  height: 40px;
  position: relative; }

.double-bounce1, .double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: bounce 2.0s infinite ease-in-out;
  animation: bounce 2.0s infinite ease-in-out; }

.double-bounce2 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s; }

@-webkit-keyframes bounce {
  0%, 100% {
    -webkit-transform: scale(0); }
  50% {
    -webkit-transform: scale(1); } }

@keyframes bounce {
  0%, 100% {
    transform: scale(0);
    -webkit-transform: scale(0); }
  50% {
    transform: scale(1);
    -webkit-transform: scale(1); } }

.spinner2 {
  width: 40px;
  height: 40px;
  position: relative; }

.container1 > div, .container2 > div, .container3 > div {
  width: 6px;
  height: 6px;
  background-color: #fff;
  border-radius: 100%;
  position: absolute;
  -webkit-animation: bouncedelay 1.2s infinite ease-in-out;
  animation: bouncedelay 1.2s infinite ease-in-out;
  /* Prevent first frame from flickering when animation starts */
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.spinner2 .spinner-container {
  position: absolute;
  width: 100%;
  height: 100%; }

.container2 {
  -webkit-transform: rotateZ(45deg);
  -ms-transform: rotate(45deg);
      transform: rotateZ(45deg); }

.container3 {
  -webkit-transform: rotateZ(90deg);
  -ms-transform: rotate(90deg);
      transform: rotateZ(90deg); }

.circle1 {
  top: 0;
  left: 0; }

.circle2 {
  top: 0;
  right: 0; }

.circle3 {
  right: 0;
  bottom: 0; }

.circle4 {
  left: 0;
  bottom: 0; }

.container2 .circle1 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s; }

.container3 .circle1 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s; }

.container1 .circle2 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s; }

.container2 .circle2 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s; }

.container3 .circle2 {
  -webkit-animation-delay: -0.7s;
  animation-delay: -0.7s; }

.container1 .circle3 {
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s; }

.container2 .circle3 {
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s; }

.container3 .circle3 {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s; }

.container1 .circle4 {
  -webkit-animation-delay: -0.3s;
  animation-delay: -0.3s; }

.container2 .circle4 {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s; }

.container3 .circle4 {
  -webkit-animation-delay: -0.1s;
  animation-delay: -0.1s; }

@-webkit-keyframes bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0); }
  40% {
    -webkit-transform: scale(1); } }

@keyframes bouncedelay {
  0%, 80%, 100% {
    transform: scale(0);
    -webkit-transform: scale(0); }
  40% {
    transform: scale(1);
    -webkit-transform: scale(1); } }

.spinner3 {
  width: 40px;
  height: 40px;
  position: relative;
  -webkit-animation: rotate 2.0s infinite linear;
  animation: rotate 2.0s infinite linear; }

.dot1, .dot2 {
  width: 60%;
  height: 60%;
  display: inline-block;
  position: absolute;
  top: 0;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: bounce 2.0s infinite ease-in-out;
  animation: bounce 2.0s infinite ease-in-out; }

.dot2 {
  top: auto;
  bottom: 0px;
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s; }

@-webkit-keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg); } }

@keyframes rotate {
  100% {
    transform: rotate(360deg);
    -webkit-transform: rotate(360deg); } }

@-webkit-keyframes bounce {
  0%, 100% {
    -webkit-transform: scale(0); }
  50% {
    -webkit-transform: scale(1); } }

@keyframes bounce {
  0%, 100% {
    transform: scale(0);
    -webkit-transform: scale(0); }
  50% {
    transform: scale(1);
    -webkit-transform: scale(1); } }

.spinner4 {
  width: 30px;
  height: 30px;
  background-color: #fff;
  -webkit-animation: rotateplane 1.2s infinite ease-in-out;
  animation: rotateplane 1.2s infinite ease-in-out; }

@-webkit-keyframes rotateplane {
  0% {
    -webkit-transform: perspective(120px); }
  50% {
    -webkit-transform: perspective(120px) rotateY(180deg); }
  100% {
    -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg); } }

@keyframes rotateplane {
  0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); }
  50% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); }
  100% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } }

.spinner5 {
  width: 32px;
  height: 32px;
  position: relative; }

.cube1, .cube2 {
  background-color: #fff;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: cubemove 1.8s infinite ease-in-out;
  animation: cubemove 1.8s infinite ease-in-out; }

.cube2 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s; }

@-webkit-keyframes cubemove {
  25% {
    -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5); }
  50% {
    -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg); }
  75% {
    -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); }
  100% {
    -webkit-transform: rotate(-360deg); } }

@keyframes cubemove {
  25% {
    transform: translateX(42px) rotate(-90deg) scale(0.5);
    -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5); }
  50% {
    transform: translateX(42px) translateY(42px) rotate(-179deg);
    -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg); }
  50.1% {
    transform: translateX(42px) translateY(42px) rotate(-180deg);
    -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg); }
  75% {
    transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
    -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); }
  100% {
    transform: rotate(-360deg);
    -webkit-transform: rotate(-360deg); } }

.spinner6 {
  width: 50px;
  height: 30px;
  text-align: center; }

.spinner6 > div {
  background-color: #fff;
  height: 100%;
  width: 6px;
  margin-left: 2px;
  display: inline-block;
  -webkit-animation: stretchdelay 1.2s infinite ease-in-out;
  animation: stretchdelay 1.2s infinite ease-in-out; }

.spinner6 .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s; }

.spinner6 .rect3 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s; }

.spinner6 .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s; }

.spinner6 .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s; }

@-webkit-keyframes stretchdelay {
  0%, 40%, 100% {
    -webkit-transform: scaleY(0.4); }
  20% {
    -webkit-transform: scaleY(1); } }

@keyframes stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4); }
  20% {
    transform: scaleY(1);
    -webkit-transform: scaleY(1); } }

.spinner7 {
  width: 90px;
  height: 30px;
  text-align: center; }

.spinner7 > div {
  background-color: #fff;
  height: 15px;
  width: 15px;
  margin-left: 3px;
  border-radius: 50%;
  display: inline-block;
  -webkit-animation: stretchdelay 0.7s infinite ease-in-out;
  animation: stretchdelay 0.7s infinite ease-in-out; }

.spinner7 .circ2 {
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s; }

.spinner7 .circ3 {
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s; }

.spinner7 .circ4 {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s; }

.spinner7 .circ5 {
  -webkit-animation-delay: -0.3s;
  animation-delay: -0.3s; }

@-webkit-keyframes stretchdelay {
  0%, 40%, 100% {
    -webkit-transform: translateY(-10px); }
  20% {
    -webkit-transform: translateY(-20px); } }

@keyframes stretchdelay {
  0%, 40%, 100% {
    transform: translateY(-10px);
    -webkit-transform: translateY(-10px); }
  20% {
    transform: translateY(-20px);
    -webkit-transform: translateY(-20px); } }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections
       ========================================================================== */
/**
     * Remove the margin in all browsers (opinionated).
     */
body {
  margin: 0; }

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
     * Correct the font size and margin on `h1` elements within `section` and
     * `article` contexts in Chrome, Firefox, and Safari.
     */
h1, .cs-contact-modal h3, .cs-menu-modal h3 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

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

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

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

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * 1. Remove the bottom border in Firefox 39-.
     * 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 */ }

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

/**
     * 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 style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

/**
     * 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
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
     * Remove the border on images inside links in IE 10-.
     */
img {
  border-style: none; }

/**
     * Hide the overflow in IE.
     */
svg:not(:root) {
  overflow: hidden; }

/* Forms
       ========================================================================== */
/**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
     * Show the overflow in IE.
     */
button {
  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; }

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

/**
     * 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 and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [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 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 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 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */ }

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Remove the default vertical scrollbar in IE.
     */
textarea {
  overflow: auto; }

/* Interactive
       ========================================================================== */
/*
     * Add the correct display in Edge, IE, and Firefox.
     */
details {
  display: block; }

/*
     * Add the correct display in all browsers.
     */
summary {
  display: list-item; }

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

/* Hidden
       ========================================================================== */
/**
     * Add the correct display in IE 10-.
     */
[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&xsmall=30em&medium=40em&xmedium=52.5em&large=64em&xlarge=75em&xxlarge=90em&xxxlarge=100em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.row {
  max-width: 120rem;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    margin-right: -0.75rem;
    margin-left: -0.75rem; }
    @media print, screen and (min-width: 30em) {
      .row .row {
        margin-right: -0.75rem;
        margin-left: -0.75rem; } }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -1rem;
        margin-left: -1rem; } }
    @media print, screen and (min-width: 52.5em) {
      .row .row {
        margin-right: -1rem;
        margin-left: -1rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -1rem;
        margin-left: -1rem; } }
    @media screen and (min-width: 75em) {
      .row .row {
        margin-right: -1rem;
        margin-left: -1rem; } }
    @media screen and (min-width: 90em) {
      .row .row {
        margin-right: -1rem;
        margin-left: -1rem; } }
    @media screen and (min-width: 100em) {
      .row .row {
        margin-right: -1rem;
        margin-left: -1rem; } }
  .row.expanded {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0; }

.column, .columns {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  min-width: initial; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 1rem;
      padding-left: 1rem; } }

.column.row.row, .row.row.columns {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.flex-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

.small-1 {
  -webkit-flex: 0 0 4.16667%;
      -ms-flex: 0 0 4.16667%;
          flex: 0 0 4.16667%;
  max-width: 4.16667%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  -webkit-flex: 0 0 8.33333%;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.small-offset-1 {
  margin-left: 4.16667%; }

.small-3 {
  -webkit-flex: 0 0 12.5%;
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
  max-width: 12.5%; }

.small-offset-2 {
  margin-left: 8.33333%; }

.small-4 {
  -webkit-flex: 0 0 16.66667%;
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.small-offset-3 {
  margin-left: 12.5%; }

.small-5 {
  -webkit-flex: 0 0 20.83333%;
      -ms-flex: 0 0 20.83333%;
          flex: 0 0 20.83333%;
  max-width: 20.83333%; }

.small-offset-4 {
  margin-left: 16.66667%; }

.small-6 {
  -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

.small-offset-5 {
  margin-left: 20.83333%; }

.small-7 {
  -webkit-flex: 0 0 29.16667%;
      -ms-flex: 0 0 29.16667%;
          flex: 0 0 29.16667%;
  max-width: 29.16667%; }

.small-offset-6 {
  margin-left: 25%; }

.small-8 {
  -webkit-flex: 0 0 33.33333%;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.small-offset-7 {
  margin-left: 29.16667%; }

.small-9 {
  -webkit-flex: 0 0 37.5%;
      -ms-flex: 0 0 37.5%;
          flex: 0 0 37.5%;
  max-width: 37.5%; }

.small-offset-8 {
  margin-left: 33.33333%; }

.small-10 {
  -webkit-flex: 0 0 41.66667%;
      -ms-flex: 0 0 41.66667%;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.small-offset-9 {
  margin-left: 37.5%; }

.small-11 {
  -webkit-flex: 0 0 45.83333%;
      -ms-flex: 0 0 45.83333%;
          flex: 0 0 45.83333%;
  max-width: 45.83333%; }

.small-offset-10 {
  margin-left: 41.66667%; }

.small-12, .cs-logo {
  -webkit-flex: 0 0 50%;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

.small-offset-11 {
  margin-left: 45.83333%; }

.small-13 {
  -webkit-flex: 0 0 54.16667%;
      -ms-flex: 0 0 54.16667%;
          flex: 0 0 54.16667%;
  max-width: 54.16667%; }

.small-offset-12 {
  margin-left: 50%; }

.small-14 {
  -webkit-flex: 0 0 58.33333%;
      -ms-flex: 0 0 58.33333%;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.small-offset-13 {
  margin-left: 54.16667%; }

.small-15 {
  -webkit-flex: 0 0 62.5%;
      -ms-flex: 0 0 62.5%;
          flex: 0 0 62.5%;
  max-width: 62.5%; }

.small-offset-14 {
  margin-left: 58.33333%; }

.small-16, .ui .assets .colors .columns {
  -webkit-flex: 0 0 66.66667%;
      -ms-flex: 0 0 66.66667%;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.small-offset-15 {
  margin-left: 62.5%; }

.small-17 {
  -webkit-flex: 0 0 70.83333%;
      -ms-flex: 0 0 70.83333%;
          flex: 0 0 70.83333%;
  max-width: 70.83333%; }

.small-offset-16 {
  margin-left: 66.66667%; }

.small-18, .ui .assets .fonts {
  -webkit-flex: 0 0 75%;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

.small-offset-17 {
  margin-left: 70.83333%; }

.small-19 {
  -webkit-flex: 0 0 79.16667%;
      -ms-flex: 0 0 79.16667%;
          flex: 0 0 79.16667%;
  max-width: 79.16667%; }

.small-offset-18 {
  margin-left: 75%; }

.small-20 {
  -webkit-flex: 0 0 83.33333%;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.small-offset-19 {
  margin-left: 79.16667%; }

.small-21 {
  -webkit-flex: 0 0 87.5%;
      -ms-flex: 0 0 87.5%;
          flex: 0 0 87.5%;
  max-width: 87.5%; }

.small-offset-20 {
  margin-left: 83.33333%; }

.small-22 {
  -webkit-flex: 0 0 91.66667%;
      -ms-flex: 0 0 91.66667%;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.small-offset-21 {
  margin-left: 87.5%; }

.small-23 {
  -webkit-flex: 0 0 95.83333%;
      -ms-flex: 0 0 95.83333%;
          flex: 0 0 95.83333%;
  max-width: 95.83333%; }

.small-offset-22 {
  margin-left: 91.66667%; }

.small-24, .cs-profil, .cs-profil .quote-01.active, .cs-profil .quote-02.active, .cs-profil .quote-03.active, .cs-profil .quote-04.active, .cs-profil .quote-end.active, .cs-intro .cs-devices, .cs-intro .cs-devices-mobile, .skills .consulting, .skills .webdesign, .skills .development, .clients .block-logos, .clients .reviews, .clients .reviews .avatar, .cs-portfolio-home .cs-boostravel, .cs-portfolio-home .cs-otorim, .cs-portfolio-home .cs-citydrive, .bs-detail, .bs-magazine .text, .bs-skills .skill-list, .bs-skills .skill-list ul .columns, .ui .assets .colors {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

.small-offset-23 {
  margin-left: 95.83333%; }

.small-order-1, .cs-slide, .bs-visual {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2, .cs-profil, .bs-detail {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

.small-up-1 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -webkit-flex: 0 0 20%;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -webkit-flex: 0 0 14.28571%;
        -ms-flex: 0 0 14.28571%;
            flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.75rem;
  padding-left: 0.75rem; }

@media print, screen and (min-width: 30em) {
  .xsmall-1 {
    -webkit-flex: 0 0 4.16667%;
        -ms-flex: 0 0 4.16667%;
            flex: 0 0 4.16667%;
    max-width: 4.16667%; }
  .xsmall-offset-0 {
    margin-left: 0%; }
  .xsmall-2 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xsmall-offset-1 {
    margin-left: 4.16667%; }
  .xsmall-3 {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }
  .xsmall-offset-2 {
    margin-left: 8.33333%; }
  .xsmall-4 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xsmall-offset-3 {
    margin-left: 12.5%; }
  .xsmall-5, .cs-logo {
    -webkit-flex: 0 0 20.83333%;
        -ms-flex: 0 0 20.83333%;
            flex: 0 0 20.83333%;
    max-width: 20.83333%; }
  .xsmall-offset-4 {
    margin-left: 16.66667%; }
  .xsmall-6 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xsmall-offset-5 {
    margin-left: 20.83333%; }
  .xsmall-7 {
    -webkit-flex: 0 0 29.16667%;
        -ms-flex: 0 0 29.16667%;
            flex: 0 0 29.16667%;
    max-width: 29.16667%; }
  .xsmall-offset-6 {
    margin-left: 25%; }
  .xsmall-8 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xsmall-offset-7 {
    margin-left: 29.16667%; }
  .xsmall-9 {
    -webkit-flex: 0 0 37.5%;
        -ms-flex: 0 0 37.5%;
            flex: 0 0 37.5%;
    max-width: 37.5%; }
  .xsmall-offset-8 {
    margin-left: 33.33333%; }
  .xsmall-10 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xsmall-offset-9 {
    margin-left: 37.5%; }
  .xsmall-11 {
    -webkit-flex: 0 0 45.83333%;
        -ms-flex: 0 0 45.83333%;
            flex: 0 0 45.83333%;
    max-width: 45.83333%; }
  .xsmall-offset-10 {
    margin-left: 41.66667%; }
  .xsmall-12, .ui .assets .colors .columns {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xsmall-offset-11 {
    margin-left: 45.83333%; }
  .xsmall-13 {
    -webkit-flex: 0 0 54.16667%;
        -ms-flex: 0 0 54.16667%;
            flex: 0 0 54.16667%;
    max-width: 54.16667%; }
  .xsmall-offset-12 {
    margin-left: 50%; }
  .xsmall-14 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xsmall-offset-13 {
    margin-left: 54.16667%; }
  .xsmall-15 {
    -webkit-flex: 0 0 62.5%;
        -ms-flex: 0 0 62.5%;
            flex: 0 0 62.5%;
    max-width: 62.5%; }
  .xsmall-offset-14 {
    margin-left: 58.33333%; }
  .xsmall-16 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xsmall-offset-15 {
    margin-left: 62.5%; }
  .xsmall-17, .cs-portfolio-home .cs-otorim a.cs-infos .text {
    -webkit-flex: 0 0 70.83333%;
        -ms-flex: 0 0 70.83333%;
            flex: 0 0 70.83333%;
    max-width: 70.83333%; }
  .xsmall-offset-16 {
    margin-left: 66.66667%; }
  .xsmall-18 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xsmall-offset-17 {
    margin-left: 70.83333%; }
  .xsmall-19, .cs-portfolio-home .cs-boostravel a.cs-infos .text, .cs-portfolio-home .cs-citydrive a.cs-infos .text {
    -webkit-flex: 0 0 79.16667%;
        -ms-flex: 0 0 79.16667%;
            flex: 0 0 79.16667%;
    max-width: 79.16667%; }
  .xsmall-offset-18 {
    margin-left: 75%; }
  .xsmall-20 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xsmall-offset-19 {
    margin-left: 79.16667%; }
  .xsmall-21 {
    -webkit-flex: 0 0 87.5%;
        -ms-flex: 0 0 87.5%;
            flex: 0 0 87.5%;
    max-width: 87.5%; }
  .xsmall-offset-20 {
    margin-left: 83.33333%; }
  .xsmall-22, .ui .assets .colors {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xsmall-offset-21 {
    margin-left: 87.5%; }
  .xsmall-23 {
    -webkit-flex: 0 0 95.83333%;
        -ms-flex: 0 0 95.83333%;
            flex: 0 0 95.83333%;
    max-width: 95.83333%; }
  .xsmall-offset-22 {
    margin-left: 91.66667%; }
  .xsmall-24 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xsmall-offset-23 {
    margin-left: 95.83333%; }
  .xsmall-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xsmall-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xsmall-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xsmall-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xsmall-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xsmall-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .xsmall-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xsmall-up-1 > .column, .xsmall-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xsmall-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xsmall-up-2 > .column, .xsmall-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xsmall-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xsmall-up-3 > .column, .xsmall-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xsmall-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xsmall-up-4 > .column, .xsmall-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xsmall-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xsmall-up-5 > .column, .xsmall-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xsmall-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xsmall-up-6 > .column, .xsmall-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xsmall-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xsmall-up-7 > .column, .xsmall-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xsmall-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xsmall-up-8 > .column, .xsmall-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 30em) and (min-width: 30em) {
  .xsmall-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

@media print, screen and (min-width: 30em) {
  .xsmall-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xsmall-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xsmall-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xsmall-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .xsmall-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xsmall-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xsmall-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

.row.xsmall-unstack > .column, .row.xsmall-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 30em) {
    .row.xsmall-unstack > .column, .row.xsmall-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 30em) {
  .xsmall-collapse > .column, .xsmall-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xsmall-uncollapse > .column, .xsmall-uncollapse > .columns {
    padding-right: 0.75rem;
    padding-left: 0.75rem; } }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    -webkit-flex: 0 0 4.16667%;
        -ms-flex: 0 0 4.16667%;
            flex: 0 0 4.16667%;
    max-width: 4.16667%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-1 {
    margin-left: 4.16667%; }
  .medium-3 {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }
  .medium-offset-2 {
    margin-left: 8.33333%; }
  .medium-4 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-3 {
    margin-left: 12.5%; }
  .medium-5 {
    -webkit-flex: 0 0 20.83333%;
        -ms-flex: 0 0 20.83333%;
            flex: 0 0 20.83333%;
    max-width: 20.83333%; }
  .medium-offset-4 {
    margin-left: 16.66667%; }
  .medium-6 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-5 {
    margin-left: 20.83333%; }
  .medium-7 {
    -webkit-flex: 0 0 29.16667%;
        -ms-flex: 0 0 29.16667%;
            flex: 0 0 29.16667%;
    max-width: 29.16667%; }
  .medium-offset-6 {
    margin-left: 25%; }
  .medium-8, .ui .assets .colors .columns {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-7 {
    margin-left: 29.16667%; }
  .medium-9 {
    -webkit-flex: 0 0 37.5%;
        -ms-flex: 0 0 37.5%;
            flex: 0 0 37.5%;
    max-width: 37.5%; }
  .medium-offset-8 {
    margin-left: 33.33333%; }
  .medium-10 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-9 {
    margin-left: 37.5%; }
  .medium-11 {
    -webkit-flex: 0 0 45.83333%;
        -ms-flex: 0 0 45.83333%;
            flex: 0 0 45.83333%;
    max-width: 45.83333%; }
  .medium-offset-10 {
    margin-left: 41.66667%; }
  .medium-12, .skills .consulting, .skills .webdesign, .skills .development, .ui .assets .fonts {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-11 {
    margin-left: 45.83333%; }
  .medium-13 {
    -webkit-flex: 0 0 54.16667%;
        -ms-flex: 0 0 54.16667%;
            flex: 0 0 54.16667%;
    max-width: 54.16667%; }
  .medium-offset-12 {
    margin-left: 50%; }
  .medium-14 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-13 {
    margin-left: 54.16667%; }
  .medium-15 {
    -webkit-flex: 0 0 62.5%;
        -ms-flex: 0 0 62.5%;
            flex: 0 0 62.5%;
    max-width: 62.5%; }
  .medium-offset-14 {
    margin-left: 58.33333%; }
  .medium-16 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-15 {
    margin-left: 62.5%; }
  .medium-17 {
    -webkit-flex: 0 0 70.83333%;
        -ms-flex: 0 0 70.83333%;
            flex: 0 0 70.83333%;
    max-width: 70.83333%; }
  .medium-offset-16 {
    margin-left: 66.66667%; }
  .medium-18 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-17 {
    margin-left: 70.83333%; }
  .medium-19 {
    -webkit-flex: 0 0 79.16667%;
        -ms-flex: 0 0 79.16667%;
            flex: 0 0 79.16667%;
    max-width: 79.16667%; }
  .medium-offset-18 {
    margin-left: 75%; }
  .medium-20 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-19 {
    margin-left: 79.16667%; }
  .medium-21 {
    -webkit-flex: 0 0 87.5%;
        -ms-flex: 0 0 87.5%;
            flex: 0 0 87.5%;
    max-width: 87.5%; }
  .medium-offset-20 {
    margin-left: 83.33333%; }
  .medium-22 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-21 {
    margin-left: 87.5%; }
  .medium-23 {
    -webkit-flex: 0 0 95.83333%;
        -ms-flex: 0 0 95.83333%;
            flex: 0 0 95.83333%;
    max-width: 95.83333%; }
  .medium-offset-22 {
    margin-left: 91.66667%; }
  .medium-24, .skills .development {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-23 {
    margin-left: 95.83333%; }
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .medium-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .medium-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

@media print, screen and (min-width: 40em) {
  .medium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .medium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 40em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 40em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 1rem;
    padding-left: 1rem; } }

@media print, screen and (min-width: 52.5em) {
  .xmedium-1 {
    -webkit-flex: 0 0 4.16667%;
        -ms-flex: 0 0 4.16667%;
            flex: 0 0 4.16667%;
    max-width: 4.16667%; }
  .xmedium-offset-0 {
    margin-left: 0%; }
  .xmedium-2 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xmedium-offset-1 {
    margin-left: 4.16667%; }
  .xmedium-3 {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }
  .xmedium-offset-2 {
    margin-left: 8.33333%; }
  .xmedium-4 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xmedium-offset-3 {
    margin-left: 12.5%; }
  .xmedium-5 {
    -webkit-flex: 0 0 20.83333%;
        -ms-flex: 0 0 20.83333%;
            flex: 0 0 20.83333%;
    max-width: 20.83333%; }
  .xmedium-offset-4 {
    margin-left: 16.66667%; }
  .xmedium-6 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xmedium-offset-5 {
    margin-left: 20.83333%; }
  .xmedium-7 {
    -webkit-flex: 0 0 29.16667%;
        -ms-flex: 0 0 29.16667%;
            flex: 0 0 29.16667%;
    max-width: 29.16667%; }
  .xmedium-offset-6 {
    margin-left: 25%; }
  .xmedium-8, .clients .reviews .avatar, .ui .assets .fonts {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xmedium-offset-7 {
    margin-left: 29.16667%; }
  .xmedium-9 {
    -webkit-flex: 0 0 37.5%;
        -ms-flex: 0 0 37.5%;
            flex: 0 0 37.5%;
    max-width: 37.5%; }
  .xmedium-offset-8 {
    margin-left: 33.33333%; }
  .xmedium-10, .cs-profil, .cs-profil .quote-01.active, .cs-profil .quote-02.active, .cs-profil .quote-03.active, .cs-profil .quote-04.active, .cs-profil .quote-end.active, .bs-detail {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xmedium-offset-9 {
    margin-left: 37.5%; }
  .xmedium-11 {
    -webkit-flex: 0 0 45.83333%;
        -ms-flex: 0 0 45.83333%;
            flex: 0 0 45.83333%;
    max-width: 45.83333%; }
  .xmedium-offset-10 {
    margin-left: 41.66667%; }
  .xmedium-12, .bs-magazine .text, .bs-skills .skill-list ul .columns, .ui .assets .colors, .ui .assets .colors .columns {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xmedium-offset-11 {
    margin-left: 45.83333%; }
  .xmedium-13 {
    -webkit-flex: 0 0 54.16667%;
        -ms-flex: 0 0 54.16667%;
            flex: 0 0 54.16667%;
    max-width: 54.16667%; }
  .xmedium-offset-12 {
    margin-left: 50%; }
  .xmedium-14 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xmedium-offset-13 {
    margin-left: 54.16667%; }
  .xmedium-15 {
    -webkit-flex: 0 0 62.5%;
        -ms-flex: 0 0 62.5%;
            flex: 0 0 62.5%;
    max-width: 62.5%; }
  .xmedium-offset-14 {
    margin-left: 58.33333%; }
  .xmedium-16 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xmedium-offset-15 {
    margin-left: 62.5%; }
  .xmedium-17 {
    -webkit-flex: 0 0 70.83333%;
        -ms-flex: 0 0 70.83333%;
            flex: 0 0 70.83333%;
    max-width: 70.83333%; }
  .xmedium-offset-16 {
    margin-left: 66.66667%; }
  .xmedium-18 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xmedium-offset-17 {
    margin-left: 70.83333%; }
  .xmedium-19 {
    -webkit-flex: 0 0 79.16667%;
        -ms-flex: 0 0 79.16667%;
            flex: 0 0 79.16667%;
    max-width: 79.16667%; }
  .xmedium-offset-18 {
    margin-left: 75%; }
  .xmedium-20 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xmedium-offset-19 {
    margin-left: 79.16667%; }
  .xmedium-21 {
    -webkit-flex: 0 0 87.5%;
        -ms-flex: 0 0 87.5%;
            flex: 0 0 87.5%;
    max-width: 87.5%; }
  .xmedium-offset-20 {
    margin-left: 83.33333%; }
  .xmedium-22 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xmedium-offset-21 {
    margin-left: 87.5%; }
  .xmedium-23 {
    -webkit-flex: 0 0 95.83333%;
        -ms-flex: 0 0 95.83333%;
            flex: 0 0 95.83333%;
    max-width: 95.83333%; }
  .xmedium-offset-22 {
    margin-left: 91.66667%; }
  .xmedium-24 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xmedium-offset-23 {
    margin-left: 95.83333%; }
  .xmedium-order-1, .cs-profil, .bs-detail {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xmedium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xmedium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xmedium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xmedium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xmedium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .xmedium-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xmedium-up-1 > .column, .xmedium-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xmedium-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xmedium-up-2 > .column, .xmedium-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xmedium-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xmedium-up-3 > .column, .xmedium-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xmedium-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xmedium-up-4 > .column, .xmedium-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xmedium-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xmedium-up-5 > .column, .xmedium-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xmedium-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xmedium-up-6 > .column, .xmedium-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xmedium-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xmedium-up-7 > .column, .xmedium-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xmedium-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xmedium-up-8 > .column, .xmedium-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 52.5em) and (min-width: 52.5em) {
  .xmedium-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

@media print, screen and (min-width: 52.5em) {
  .xmedium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xmedium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xmedium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xmedium-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .xmedium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xmedium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xmedium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

.row.xmedium-unstack > .column, .row.xmedium-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 52.5em) {
    .row.xmedium-unstack > .column, .row.xmedium-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 52.5em) {
  .xmedium-collapse > .column, .xmedium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xmedium-uncollapse > .column, .xmedium-uncollapse > .columns {
    padding-right: 1rem;
    padding-left: 1rem; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    -webkit-flex: 0 0 4.16667%;
        -ms-flex: 0 0 4.16667%;
            flex: 0 0 4.16667%;
    max-width: 4.16667%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-1 {
    margin-left: 4.16667%; }
  .large-3 {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }
  .large-offset-2 {
    margin-left: 8.33333%; }
  .large-4 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-3 {
    margin-left: 12.5%; }
  .large-5 {
    -webkit-flex: 0 0 20.83333%;
        -ms-flex: 0 0 20.83333%;
            flex: 0 0 20.83333%;
    max-width: 20.83333%; }
  .large-offset-4 {
    margin-left: 16.66667%; }
  .large-6 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-5 {
    margin-left: 20.83333%; }
  .large-7 {
    -webkit-flex: 0 0 29.16667%;
        -ms-flex: 0 0 29.16667%;
            flex: 0 0 29.16667%;
    max-width: 29.16667%; }
  .large-offset-6 {
    margin-left: 25%; }
  .large-8, .skills .consulting, .skills .webdesign, .skills .development, .ui .assets .colors .columns, .ui .assets .fonts {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-7 {
    margin-left: 29.16667%; }
  .large-9 {
    -webkit-flex: 0 0 37.5%;
        -ms-flex: 0 0 37.5%;
            flex: 0 0 37.5%;
    max-width: 37.5%; }
  .large-offset-8 {
    margin-left: 33.33333%; }
  .large-10 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-9 {
    margin-left: 37.5%; }
  .large-11 {
    -webkit-flex: 0 0 45.83333%;
        -ms-flex: 0 0 45.83333%;
            flex: 0 0 45.83333%;
    max-width: 45.83333%; }
  .large-offset-10 {
    margin-left: 41.66667%; }
  .large-12, .bs-skills .skill-list {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-11 {
    margin-left: 45.83333%; }
  .large-13, .bs-magazine .text, .ui .assets .colors {
    -webkit-flex: 0 0 54.16667%;
        -ms-flex: 0 0 54.16667%;
            flex: 0 0 54.16667%;
    max-width: 54.16667%; }
  .large-offset-12 {
    margin-left: 50%; }
  .large-14 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-13 {
    margin-left: 54.16667%; }
  .large-15 {
    -webkit-flex: 0 0 62.5%;
        -ms-flex: 0 0 62.5%;
            flex: 0 0 62.5%;
    max-width: 62.5%; }
  .large-offset-14 {
    margin-left: 58.33333%; }
  .large-16, .cs-intro .cs-devices {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-15 {
    margin-left: 62.5%; }
  .large-17 {
    -webkit-flex: 0 0 70.83333%;
        -ms-flex: 0 0 70.83333%;
            flex: 0 0 70.83333%;
    max-width: 70.83333%; }
  .large-offset-16 {
    margin-left: 66.66667%; }
  .large-18 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-17 {
    margin-left: 70.83333%; }
  .large-19 {
    -webkit-flex: 0 0 79.16667%;
        -ms-flex: 0 0 79.16667%;
            flex: 0 0 79.16667%;
    max-width: 79.16667%; }
  .large-offset-18 {
    margin-left: 75%; }
  .large-20 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-19 {
    margin-left: 79.16667%; }
  .large-21 {
    -webkit-flex: 0 0 87.5%;
        -ms-flex: 0 0 87.5%;
            flex: 0 0 87.5%;
    max-width: 87.5%; }
  .large-offset-20 {
    margin-left: 83.33333%; }
  .large-22 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-21 {
    margin-left: 87.5%; }
  .large-23 {
    -webkit-flex: 0 0 95.83333%;
        -ms-flex: 0 0 95.83333%;
            flex: 0 0 95.83333%;
    max-width: 95.83333%; }
  .large-offset-22 {
    margin-left: 91.66667%; }
  .large-24, .bs-skills .skill-list ul .columns {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-23 {
    margin-left: 95.83333%; }
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .large-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) {
  .large-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .large-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 64em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 1rem;
    padding-left: 1rem; } }

@media screen and (min-width: 75em) {
  .xlarge-1 {
    -webkit-flex: 0 0 4.16667%;
        -ms-flex: 0 0 4.16667%;
            flex: 0 0 4.16667%;
    max-width: 4.16667%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xlarge-offset-1 {
    margin-left: 4.16667%; }
  .xlarge-3 {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }
  .xlarge-offset-2 {
    margin-left: 8.33333%; }
  .xlarge-4 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xlarge-offset-3 {
    margin-left: 12.5%; }
  .xlarge-5 {
    -webkit-flex: 0 0 20.83333%;
        -ms-flex: 0 0 20.83333%;
            flex: 0 0 20.83333%;
    max-width: 20.83333%; }
  .xlarge-offset-4 {
    margin-left: 16.66667%; }
  .xlarge-6 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xlarge-offset-5 {
    margin-left: 20.83333%; }
  .xlarge-7, .clients .reviews .avatar {
    -webkit-flex: 0 0 29.16667%;
        -ms-flex: 0 0 29.16667%;
            flex: 0 0 29.16667%;
    max-width: 29.16667%; }
  .xlarge-offset-6 {
    margin-left: 25%; }
  .xlarge-8, .cs-profil, .cs-profil .quote-01.active, .cs-profil .quote-02.active, .cs-profil .quote-03.active, .cs-profil .quote-04.active, .cs-profil .quote-end.active, .bs-detail {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xlarge-offset-7 {
    margin-left: 29.16667%; }
  .xlarge-9 {
    -webkit-flex: 0 0 37.5%;
        -ms-flex: 0 0 37.5%;
            flex: 0 0 37.5%;
    max-width: 37.5%; }
  .xlarge-offset-8 {
    margin-left: 33.33333%; }
  .xlarge-10 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xlarge-offset-9 {
    margin-left: 37.5%; }
  .xlarge-11 {
    -webkit-flex: 0 0 45.83333%;
        -ms-flex: 0 0 45.83333%;
            flex: 0 0 45.83333%;
    max-width: 45.83333%; }
  .xlarge-offset-10 {
    margin-left: 41.66667%; }
  .xlarge-12, .cs-portfolio-home .cs-otorim, .cs-portfolio-home .cs-citydrive {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xlarge-offset-11 {
    margin-left: 45.83333%; }
  .xlarge-13 {
    -webkit-flex: 0 0 54.16667%;
        -ms-flex: 0 0 54.16667%;
            flex: 0 0 54.16667%;
    max-width: 54.16667%; }
  .xlarge-offset-12 {
    margin-left: 50%; }
  .xlarge-14 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xlarge-offset-13 {
    margin-left: 54.16667%; }
  .xlarge-15 {
    -webkit-flex: 0 0 62.5%;
        -ms-flex: 0 0 62.5%;
            flex: 0 0 62.5%;
    max-width: 62.5%; }
  .xlarge-offset-14 {
    margin-left: 58.33333%; }
  .xlarge-16, .cs-intro .cs-devices {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xlarge-offset-15 {
    margin-left: 62.5%; }
  .xlarge-17 {
    -webkit-flex: 0 0 70.83333%;
        -ms-flex: 0 0 70.83333%;
            flex: 0 0 70.83333%;
    max-width: 70.83333%; }
  .xlarge-offset-16 {
    margin-left: 66.66667%; }
  .xlarge-18 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xlarge-offset-17 {
    margin-left: 70.83333%; }
  .xlarge-19 {
    -webkit-flex: 0 0 79.16667%;
        -ms-flex: 0 0 79.16667%;
            flex: 0 0 79.16667%;
    max-width: 79.16667%; }
  .xlarge-offset-18 {
    margin-left: 75%; }
  .xlarge-20 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xlarge-offset-19 {
    margin-left: 79.16667%; }
  .xlarge-21 {
    -webkit-flex: 0 0 87.5%;
        -ms-flex: 0 0 87.5%;
            flex: 0 0 87.5%;
    max-width: 87.5%; }
  .xlarge-offset-20 {
    margin-left: 83.33333%; }
  .xlarge-22 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xlarge-offset-21 {
    margin-left: 87.5%; }
  .xlarge-23 {
    -webkit-flex: 0 0 95.83333%;
        -ms-flex: 0 0 95.83333%;
            flex: 0 0 95.83333%;
    max-width: 95.83333%; }
  .xlarge-offset-22 {
    margin-left: 91.66667%; }
  .xlarge-24 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xlarge-offset-23 {
    margin-left: 95.83333%; }
  .xlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .xlarge-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xlarge-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xlarge-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xlarge-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xlarge-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xlarge-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xlarge-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xlarge-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 75em) and (min-width: 75em) {
  .xlarge-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

@media screen and (min-width: 75em) {
  .xlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .xlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

.row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 75em) {
    .row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 75em) {
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-right: 1rem;
    padding-left: 1rem; } }

@media screen and (min-width: 90em) {
  .xxlarge-1 {
    -webkit-flex: 0 0 4.16667%;
        -ms-flex: 0 0 4.16667%;
            flex: 0 0 4.16667%;
    max-width: 4.16667%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xxlarge-offset-1 {
    margin-left: 4.16667%; }
  .xxlarge-3 {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }
  .xxlarge-offset-2 {
    margin-left: 8.33333%; }
  .xxlarge-4 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xxlarge-offset-3 {
    margin-left: 12.5%; }
  .xxlarge-5 {
    -webkit-flex: 0 0 20.83333%;
        -ms-flex: 0 0 20.83333%;
            flex: 0 0 20.83333%;
    max-width: 20.83333%; }
  .xxlarge-offset-4 {
    margin-left: 16.66667%; }
  .xxlarge-6 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xxlarge-offset-5 {
    margin-left: 20.83333%; }
  .xxlarge-7, .ui .assets .fonts {
    -webkit-flex: 0 0 29.16667%;
        -ms-flex: 0 0 29.16667%;
            flex: 0 0 29.16667%;
    max-width: 29.16667%; }
  .xxlarge-offset-6 {
    margin-left: 25%; }
  .xxlarge-8, .clients .block-logos .columns, .clients .reviews .avatar {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xxlarge-offset-7 {
    margin-left: 29.16667%; }
  .xxlarge-9 {
    -webkit-flex: 0 0 37.5%;
        -ms-flex: 0 0 37.5%;
            flex: 0 0 37.5%;
    max-width: 37.5%; }
  .xxlarge-offset-8 {
    margin-left: 33.33333%; }
  .xxlarge-10, .clients .block-logos {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xxlarge-offset-9 {
    margin-left: 37.5%; }
  .xxlarge-11, .ui .assets .colors {
    -webkit-flex: 0 0 45.83333%;
        -ms-flex: 0 0 45.83333%;
            flex: 0 0 45.83333%;
    max-width: 45.83333%; }
  .xxlarge-offset-10 {
    margin-left: 41.66667%; }
  .xxlarge-12 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xxlarge-offset-11 {
    margin-left: 45.83333%; }
  .xxlarge-13 {
    -webkit-flex: 0 0 54.16667%;
        -ms-flex: 0 0 54.16667%;
            flex: 0 0 54.16667%;
    max-width: 54.16667%; }
  .xxlarge-offset-12 {
    margin-left: 50%; }
  .xxlarge-14, .clients .reviews {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xxlarge-offset-13 {
    margin-left: 54.16667%; }
  .xxlarge-15 {
    -webkit-flex: 0 0 62.5%;
        -ms-flex: 0 0 62.5%;
            flex: 0 0 62.5%;
    max-width: 62.5%; }
  .xxlarge-offset-14 {
    margin-left: 58.33333%; }
  .xxlarge-16 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xxlarge-offset-15 {
    margin-left: 62.5%; }
  .xxlarge-17 {
    -webkit-flex: 0 0 70.83333%;
        -ms-flex: 0 0 70.83333%;
            flex: 0 0 70.83333%;
    max-width: 70.83333%; }
  .xxlarge-offset-16 {
    margin-left: 66.66667%; }
  .xxlarge-18 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xxlarge-offset-17 {
    margin-left: 70.83333%; }
  .xxlarge-19 {
    -webkit-flex: 0 0 79.16667%;
        -ms-flex: 0 0 79.16667%;
            flex: 0 0 79.16667%;
    max-width: 79.16667%; }
  .xxlarge-offset-18 {
    margin-left: 75%; }
  .xxlarge-20 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xxlarge-offset-19 {
    margin-left: 79.16667%; }
  .xxlarge-21 {
    -webkit-flex: 0 0 87.5%;
        -ms-flex: 0 0 87.5%;
            flex: 0 0 87.5%;
    max-width: 87.5%; }
  .xxlarge-offset-20 {
    margin-left: 83.33333%; }
  .xxlarge-22 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xxlarge-offset-21 {
    margin-left: 87.5%; }
  .xxlarge-23 {
    -webkit-flex: 0 0 95.83333%;
        -ms-flex: 0 0 95.83333%;
            flex: 0 0 95.83333%;
    max-width: 95.83333%; }
  .xxlarge-offset-22 {
    margin-left: 91.66667%; }
  .xxlarge-24 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xxlarge-offset-23 {
    margin-left: 95.83333%; }
  .xxlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .xxlarge-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xxlarge-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xxlarge-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xxlarge-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xxlarge-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xxlarge-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xxlarge-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xxlarge-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 90em) and (min-width: 90em) {
  .xxlarge-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

@media screen and (min-width: 90em) {
  .xxlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .xxlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

.row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 90em) {
    .row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 90em) {
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-right: 1rem;
    padding-left: 1rem; } }

@media screen and (min-width: 100em) {
  .xxxlarge-1 {
    -webkit-flex: 0 0 4.16667%;
        -ms-flex: 0 0 4.16667%;
            flex: 0 0 4.16667%;
    max-width: 4.16667%; }
  .xxxlarge-offset-0 {
    margin-left: 0%; }
  .xxxlarge-2 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xxxlarge-offset-1 {
    margin-left: 4.16667%; }
  .xxxlarge-3 {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }
  .xxxlarge-offset-2, .cs-intro .cs-devices {
    margin-left: 8.33333%; }
  .xxxlarge-4 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xxxlarge-offset-3 {
    margin-left: 12.5%; }
  .xxxlarge-5 {
    -webkit-flex: 0 0 20.83333%;
        -ms-flex: 0 0 20.83333%;
            flex: 0 0 20.83333%;
    max-width: 20.83333%; }
  .xxxlarge-offset-4 {
    margin-left: 16.66667%; }
  .xxxlarge-6, .cs-intro .cs-text, .bs-detail {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xxxlarge-offset-5 {
    margin-left: 20.83333%; }
  .xxxlarge-7, .cs-profil, .cs-profil .quote-01.active, .cs-profil .quote-02.active, .cs-profil .quote-03.active, .cs-profil .quote-04.active, .cs-profil .quote-end.active {
    -webkit-flex: 0 0 29.16667%;
        -ms-flex: 0 0 29.16667%;
            flex: 0 0 29.16667%;
    max-width: 29.16667%; }
  .xxxlarge-offset-6 {
    margin-left: 25%; }
  .xxxlarge-8, .clients .reviews .avatar {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xxxlarge-offset-7 {
    margin-left: 29.16667%; }
  .xxxlarge-9 {
    -webkit-flex: 0 0 37.5%;
        -ms-flex: 0 0 37.5%;
            flex: 0 0 37.5%;
    max-width: 37.5%; }
  .xxxlarge-offset-8 {
    margin-left: 33.33333%; }
  .xxxlarge-10 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xxxlarge-offset-9 {
    margin-left: 37.5%; }
  .xxxlarge-11 {
    -webkit-flex: 0 0 45.83333%;
        -ms-flex: 0 0 45.83333%;
            flex: 0 0 45.83333%;
    max-width: 45.83333%; }
  .xxxlarge-offset-10 {
    margin-left: 41.66667%; }
  .xxxlarge-12, .clients .block-logos, .clients .reviews {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xxxlarge-offset-11 {
    margin-left: 45.83333%; }
  .xxxlarge-13 {
    -webkit-flex: 0 0 54.16667%;
        -ms-flex: 0 0 54.16667%;
            flex: 0 0 54.16667%;
    max-width: 54.16667%; }
  .xxxlarge-offset-12 {
    margin-left: 50%; }
  .xxxlarge-14, .cs-intro .cs-devices {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xxxlarge-offset-13 {
    margin-left: 54.16667%; }
  .xxxlarge-15 {
    -webkit-flex: 0 0 62.5%;
        -ms-flex: 0 0 62.5%;
            flex: 0 0 62.5%;
    max-width: 62.5%; }
  .xxxlarge-offset-14 {
    margin-left: 58.33333%; }
  .xxxlarge-16 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xxxlarge-offset-15 {
    margin-left: 62.5%; }
  .xxxlarge-17 {
    -webkit-flex: 0 0 70.83333%;
        -ms-flex: 0 0 70.83333%;
            flex: 0 0 70.83333%;
    max-width: 70.83333%; }
  .xxxlarge-offset-16 {
    margin-left: 66.66667%; }
  .xxxlarge-18 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xxxlarge-offset-17 {
    margin-left: 70.83333%; }
  .xxxlarge-19 {
    -webkit-flex: 0 0 79.16667%;
        -ms-flex: 0 0 79.16667%;
            flex: 0 0 79.16667%;
    max-width: 79.16667%; }
  .xxxlarge-offset-18 {
    margin-left: 75%; }
  .xxxlarge-20 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xxxlarge-offset-19 {
    margin-left: 79.16667%; }
  .xxxlarge-21 {
    -webkit-flex: 0 0 87.5%;
        -ms-flex: 0 0 87.5%;
            flex: 0 0 87.5%;
    max-width: 87.5%; }
  .xxxlarge-offset-20 {
    margin-left: 83.33333%; }
  .xxxlarge-22 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xxxlarge-offset-21 {
    margin-left: 87.5%; }
  .xxxlarge-23 {
    -webkit-flex: 0 0 95.83333%;
        -ms-flex: 0 0 95.83333%;
            flex: 0 0 95.83333%;
    max-width: 95.83333%; }
  .xxxlarge-offset-22 {
    margin-left: 91.66667%; }
  .xxxlarge-24 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xxxlarge-offset-23 {
    margin-left: 95.83333%; }
  .xxxlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxxlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxxlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxxlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxxlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxxlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .xxxlarge-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxxlarge-up-1 > .column, .xxxlarge-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xxxlarge-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxxlarge-up-2 > .column, .xxxlarge-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xxxlarge-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxxlarge-up-3 > .column, .xxxlarge-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xxxlarge-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxxlarge-up-4 > .column, .xxxlarge-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xxxlarge-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxxlarge-up-5 > .column, .xxxlarge-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xxxlarge-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxxlarge-up-6 > .column, .xxxlarge-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xxxlarge-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxxlarge-up-7 > .column, .xxxlarge-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xxxlarge-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxxlarge-up-8 > .column, .xxxlarge-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .xxxlarge-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

@media screen and (min-width: 100em) {
  .xxxlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xxxlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xxxlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xxxlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .xxxlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xxxlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xxxlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

.row.xxxlarge-unstack > .column, .row.xxxlarge-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 100em) {
    .row.xxxlarge-unstack > .column, .row.xxxlarge-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 100em) {
  .xxxlarge-collapse > .column, .xxxlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xxxlarge-uncollapse > .column, .xxxlarge-uncollapse > .columns {
    padding-right: 1rem;
    padding-left: 1rem; } }

.shrink {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 29.9375em) {
  .hide-for-small-only, .cs-profil .cs-presentation div p.paragraph2, .ui .wallpaper .laptop {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 30em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 30em) {
  .hide-for-xsmall, .cs-menu-modal .cs-social-link {
    display: none !important; } }

@media screen and (max-width: 29.9375em) {
  .show-for-xsmall, .clients .block-logos .columns.hsbc {
    display: none !important; } }

@media screen and (min-width: 30em) and (max-width: 39.9375em) {
  .hide-for-xsmall-only {
    display: none !important; } }

@media screen and (max-width: 29.9375em), screen and (min-width: 40em) {
  .show-for-xsmall-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium, .cs-intro .cs-devices-mobile {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-medium, .cs-intro .cs-devices, .clients .block-logos .columns.fox, .bs-masonry .grid-item.w2, .bs-masonry .grid-item.w3 {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 52.4375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 52.5em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 52.5em) {
  .hide-for-xmedium {
    display: none !important; } }

@media screen and (max-width: 52.4375em) {
  .show-for-xmedium {
    display: none !important; } }

@media screen and (min-width: 52.5em) and (max-width: 63.9375em) {
  .hide-for-xmedium-only {
    display: none !important; } }

@media screen and (max-width: 52.4375em), screen and (min-width: 64em) {
  .show-for-xmedium-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large, .plane-animation .cloud2, .plane-animation .cloud3 {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 75em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 74.9375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 75em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 74.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-only {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 90em) and (max-width: 99.9375em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 89.9375em), screen and (min-width: 100em) {
  .show-for-xxlarge-only {
    display: none !important; } }

@media screen and (min-width: 100em) {
  .hide-for-xxxlarge {
    display: none !important; } }

@media screen and (max-width: 99.9375em) {
  .show-for-xxxlarge {
    display: none !important; } }

@media screen and (min-width: 100em) {
  .hide-for-xxxlarge-only {
    display: none !important; } }

@media screen and (max-width: 99.9375em) {
  .show-for-xxxlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.clearfix::before, .clearfix::after {
  display: table;
  content: ' '; }

.clearfix::after {
  clear: both; }

.align-right {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center, .cs-profil .quote-01, .cs-profil .quote-02, .cs-profil .quote-03, .cs-profil .quote-04, .cs-profil .quote-end, .ui .assets {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced, .ui .assets .colors .row {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.align-top {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.align-bottom {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.align-middle, .bs-wireframe {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle, .cs-profil .quote-01.active .quote, .cs-profil .quote-02.active .quote, .cs-profil .quote-03.active .quote, .cs-profil .quote-04.active .quote, .cs-profil .quote-end.active .quote, .cs-intro .cs-text, .cs-portfolio-home .cs-boostravel > .row .columns, .cs-portfolio-home .cs-otorim > .row .columns, .cs-portfolio-home .cs-citydrive > .row .columns, footer .row .columns {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.align-stretch {
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch, .bs-visual {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch; }

.small-order-1, .cs-slide, .bs-visual {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2, .cs-profil, .bs-detail {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 30em) {
  .xsmall-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xsmall-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xsmall-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xsmall-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xsmall-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xsmall-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 52.5em) {
  .xmedium-order-1, .cs-profil, .bs-detail {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xmedium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xmedium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xmedium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xmedium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xmedium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 100em) {
  .xxxlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxxlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxxlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxxlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxxlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxxlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

/*
==================================================
====================== Mixin & Variables            			
==================================================
*/
.g-reverse, .cs-contact-modal .cs-tel:after, .cs-menu-modal .cs-tel:after, .cs-contact-modal .cs-mail:after, .cs-menu-modal .cs-mail:after {
  unicode-bidi: bidi-override;
  direction: rtl; }

/*
==================================================
====================== Global            			
==================================================
*/
body {
  background: #ddd;
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 400;
  color: #282D33;
  font-size: 1.1rem; }
  body .cs-dark, body .cs-dark2 {
    position: fixed;
    z-index: 200;
    width: 100vw;
    height: 100vh;
    top: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    display: none;
    visibility: hidden; }
    body .cs-dark.active, body .cs-dark2.active {
      opacity: 0;
      -webkit-animation-name: fade-in;
              animation-name: fade-in;
      -webkit-animation-duration: 0.5s;
              animation-duration: 0.5s;
      -webkit-animation-delay: 0s;
              animation-delay: 0s;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
              animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
      display: block;
      visibility: visible; }
    body .cs-dark .cs-dark2, body .cs-dark2 .cs-dark2 {
      z-index: 99; }
  body > .cs-container {
    padding: 5%;
    padding-top: 0; }
    @media screen and (max-width: 74.9375em) {
      body > .cs-container {
        padding: 80px;
        padding-top: 0; } }
    @media screen and (max-width: 63.9375em) {
      body > .cs-container {
        padding: 6%;
        padding-top: 0; } }

.block {
  height: 50px;
  width: 50px;
  background: #000; }

.hidden {
  display: none; }

h1, .cs-contact-modal h3, .cs-menu-modal h3, h2, h3 {
  font-family: 'Montserrat', 'Titillium Web', arial;
  text-transform: uppercase;
  padding: 0;
  margin: 0; }

a {
  text-decoration: none;
  color: #63EDC5; }

/*
==================================================
====================== Modal Contact            			
==================================================
*/
.cs-contact-modal, .cs-menu-modal {
  opacity: 0;
  visibility: hidden;
  display: none;
  position: fixed;
  width: 50vw;
  top: 35vh;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 680px;
  background: #fff;
  z-index: 250;
  padding: 2.5rem 3rem;
  border-bottom: 5px solid #3DC39C;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.5);
  color: #999; }
  .cs-contact-modal h3, .cs-menu-modal h3 {
    color: #3DC39C; }
  .cs-contact-modal a.cs-close, .cs-menu-modal a.cs-close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1rem 1.2rem;
    box-shadow: 0 1px 0 0 #fff inset;
    transition: all ease 0.3s; }
    .cs-contact-modal a.cs-close .icon-ico-plus, .cs-menu-modal a.cs-close .icon-ico-plus {
      color: #b2b2b2;
      display: inline-block;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
    .cs-contact-modal a.cs-close:hover, .cs-menu-modal a.cs-close:hover {
      box-shadow: 0 80px 0 0 #3DC39C inset; }
      .cs-contact-modal a.cs-close:hover .icon-ico-plus, .cs-menu-modal a.cs-close:hover .icon-ico-plus {
        color: #fff; }
  .cs-contact-modal .cs-tel, .cs-menu-modal .cs-tel {
    display: inline-block;
    color: #282D33;
    font-size: 1.2rem; }
    .cs-contact-modal .cs-tel:after, .cs-menu-modal .cs-tel:after {
      content: "66.38.01.41.60"; }
  .cs-contact-modal .cs-mail, .cs-menu-modal .cs-mail {
    color: #3DC39C;
    display: inline-block;
    font-size: 1.2rem; }
    .cs-contact-modal .cs-mail:after, .cs-menu-modal .cs-mail:after {
      content: "rf.hcuarts\40liryc"; }
  @media screen and (max-width: 74.9375em) {
    .cs-contact-modal, .cs-menu-modal {
      top: 30vh;
      width: 60vw;
      padding: 2.5rem; } }
  @media screen and (max-width: 52.4375em) {
    .cs-contact-modal, .cs-menu-modal {
      top: 25vh;
      width: 75vw;
      padding: 2rem; } }
  @media screen and (max-width: 29.9375em) {
    .cs-contact-modal, .cs-menu-modal {
      top: 20vh;
      width: 85vw;
      padding: 2rem; } }
  .cs-contact-modal.active, .cs-menu-modal.active {
    display: inline-block;
    opacity: 0;
    -webkit-animation-name: contact-modal;
            animation-name: contact-modal;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
            animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
  .cs-contact-modal.inactive, .cs-menu-modal.inactive {
    display: inline-block;
    opacity: 0;
    -webkit-animation-name: contact-modal-off;
            animation-name: contact-modal-off;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
            animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }

.cs-menu-modal {
  max-width: 400px;
  padding: 2rem;
  top: 20vh; }
  .cs-menu-modal nav, .cs-menu-modal .cs-social-link {
    padding: 0 1rem;
    background: #fff;
    text-transform: uppercase;
    text-align: center; }
    .cs-menu-modal nav ul, .cs-menu-modal .cs-social-link ul {
      padding: 0;
      margin: 0; }
    .cs-menu-modal nav li, .cs-menu-modal .cs-social-link li {
      list-style: none;
      display: block; }
    .cs-menu-modal nav a, .cs-menu-modal .cs-social-link a {
      padding: 1rem;
      font-size: 1.4rem;
      font-weight: 600;
      color: #666;
      display: inline-block; }
      .cs-menu-modal nav a:hover, .cs-menu-modal .cs-social-link a:hover {
        color: #3DC39C; }
  .cs-menu-modal .cs-social-link {
    margin-top: 1rem; }
    .cs-menu-modal .cs-social-link li {
      display: inline-block; }

/*
==================================================
====================== Logo          			
==================================================
*/
.cs-logo {
  padding-left: 0;
  opacity: 0;
  -webkit-animation-name: fade-from-top;
          animation-name: fade-from-top;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-delay: 3.8s;
          animation-delay: 3.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
          animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
  .cs-logo .cs-flag {
    height: 80px;
    padding: 17px 20px;
    background: #111;
    background: linear-gradient(to bottom, #111 0%, #333 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$color1', endColorstr='$color2',GradientType=0 );
    color: #63EDC5;
    display: inline-block;
    font-size: 1.8rem; }
    @media screen and (max-width: 29.9375em) {
      .cs-logo .cs-flag {
        height: 60px;
        padding: 13px 16px;
        background: #111;
        background: linear-gradient(to bottom, #111 0%, #333 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$color1', endColorstr='$color2',GradientType=0 );
        color: #63EDC5;
        display: inline-block;
        font-size: 1.4rem; } }

/*
==================================================
====================== Top bar            			
==================================================
*/
.cs-top-bar {
  height: 80px;
  margin-bottom: 40px; }
  @media screen and (max-width: 29.9375em) {
    .cs-top-bar {
      margin-bottom: 0; } }
  .cs-top-bar .cs-social-link {
    text-align: right;
    padding-right: 0; }
    .cs-top-bar .cs-social-link ul {
      margin: 0; }
    .cs-top-bar .cs-social-link li {
      list-style: none;
      display: inline-block;
      text-transform: uppercase;
      font-weight: 600; }
      .cs-top-bar .cs-social-link li a {
        font-size: 1.5rem;
        display: inline-block;
        padding: 20px;
        color: #b2b2b2;
        transition: all ease 0.3s;
        text-shadow: 0 1px 0 #fff; }
        .cs-top-bar .cs-social-link li a:hover {
          color: #3DC39C;
          text-shadow: 0 1px 20px #fff; }
        @media screen and (max-width: 52.4375em) {
          .cs-top-bar .cs-social-link li a {
            font-size: 1.3rem;
            padding: 20px 1rem; } }
        @media screen and (max-width: 29.9375em) {
          .cs-top-bar .cs-social-link li a:not(.cs-burger) {
            display: none; } }
      .cs-top-bar .cs-social-link li a.cs-burger {
        font-size: 1.5rem;
        background: white;
        color: #3DC39C;
        margin-left: 10px;
        box-shadow: 0 0 0 0 #fff inset;
        text-shadow: none;
        height: 80px; }
        .cs-top-bar .cs-social-link li a.cs-burger:hover {
          box-shadow: 0 -80px 0 0 #3DC39C inset;
          color: #fff;
          text-shadow: none; }
        @media screen and (max-width: 29.9375em) {
          .cs-top-bar .cs-social-link li a.cs-burger {
            height: 60px;
            padding: 13px 1rem;
            background: transparent;
            color: #b2b2b2; } }
      .cs-top-bar .cs-social-link li:nth-child(1) {
        opacity: 0;
        -webkit-animation-name: fade-from-top;
                animation-name: fade-from-top;
        -webkit-animation-duration: 0.5s;
                animation-duration: 0.5s;
        -webkit-animation-delay: 4.2s;
                animation-delay: 4.2s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
                animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
        margin-left: 0; }
      .cs-top-bar .cs-social-link li:nth-child(2) {
        opacity: 0;
        -webkit-animation-name: fade-from-top;
                animation-name: fade-from-top;
        -webkit-animation-duration: 0.5s;
                animation-duration: 0.5s;
        -webkit-animation-delay: 4s;
                animation-delay: 4s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
                animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
      .cs-top-bar .cs-social-link li:nth-child(3) {
        opacity: 0;
        -webkit-animation-name: fade-from-top;
                animation-name: fade-from-top;
        -webkit-animation-duration: 0.5s;
                animation-duration: 0.5s;
        -webkit-animation-delay: 3.8s;
                animation-delay: 3.8s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
                animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
      .cs-top-bar .cs-social-link li:nth-child(4) {
        opacity: 0;
        -webkit-animation-name: fade-from-top;
                animation-name: fade-from-top;
        -webkit-animation-duration: 0.5s;
                animation-duration: 0.5s;
        -webkit-animation-delay: 3.6s;
                animation-delay: 3.6s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
                animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }

/*
==================================================
====================== Header / Slider     			
==================================================
*/
header {
  position: relative;
  overflow: hidden; }

@media screen and (min-width: 100em) {
  .reveral-header {
    position: absolute;
    -webkit-animation-name: header-xlarge;
            animation-name: header-xlarge;
    height: 100%;
    background: #282D33;
    z-index: 150;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-delay: 2.8s;
            animation-delay: 2.8s;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; } }

@media screen and (max-width: 99.9375em) {
  .reveral-header {
    position: absolute;
    -webkit-animation-name: header-large;
            animation-name: header-large;
    height: 100%;
    background: #282D33;
    z-index: 150;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-delay: 2.8s;
            animation-delay: 2.8s;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; } }

@media screen and (max-width: 74.9375em) {
  .reveral-header {
    position: absolute;
    -webkit-animation-name: header-small;
            animation-name: header-small;
    height: 100%;
    background: #282D33;
    z-index: 150;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-delay: 2.8s;
            animation-delay: 2.8s;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; } }

@media screen and (max-width: 52.4375em) {
  .reveral-header {
    position: absolute;
    -webkit-animation-name: header-small;
            animation-name: header-small;
    height: 100%;
    background: #282D33;
    z-index: 150;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-delay: 2.8s;
            animation-delay: 2.8s;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; } }

.cs-profil {
  color: #fff;
  background: #282D33;
  opacity: 0;
  -webkit-animation-name: fade-in;
          animation-name: fade-in;
  -webkit-animation-duration: 0;
          animation-duration: 0;
  -webkit-animation-delay: 3.4s;
          animation-delay: 3.4s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
          animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
  .cs-profil .cs-presentation {
    padding: 0 1.5em 1.5em 1.5em;
    position: relative; }
    .cs-profil .cs-presentation img.photo {
      margin-left: calc(-15px - 1.5em);
      max-width: calc(100% + 30px + 3em);
      display: block;
      opacity: 0;
      -webkit-animation-name: fade-in;
              animation-name: fade-in;
      -webkit-animation-duration: 6s;
              animation-duration: 6s;
      -webkit-animation-delay: 4s;
              animation-delay: 4s;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
              animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
      @media screen and (min-width: 40em) and (max-width: 52.4375em) {
        .cs-profil .cs-presentation img.photo {
          width: 350px;
          position: absolute;
          top: 0;
          left: 0; } }
    @media screen and (min-width: 30em) and (max-width: 39.9375em) {
      .cs-profil .cs-presentation {
        text-align: right; }
        .cs-profil .cs-presentation div {
          text-align: left; }
        .cs-profil .cs-presentation img.photo {
          -webkit-transform: scaleX(-1);
              -ms-transform: scaleX(-1);
                  transform: scaleX(-1);
          width: 400px;
          display: inline;
          margin-right: calc(-15px - 1.5em); } }
    @media screen and (min-width: 40em) and (max-width: 52.4375em) {
      .cs-profil .cs-presentation div {
        display: inline-block;
        max-width: 70%;
        margin-left: 32%; } }
    .cs-profil .cs-presentation div h2 {
      color: rgba(255, 255, 255, 0.15);
      font-size: 2rem;
      margin-top: -140px;
      opacity: 0;
      -webkit-animation-name: fade-from-top;
              animation-name: fade-from-top;
      -webkit-animation-duration: 2s;
              animation-duration: 2s;
      -webkit-animation-delay: 4s;
              animation-delay: 4s;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
              animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
      @media screen and (min-width: 40em) and (max-width: 52.4375em) {
        .cs-profil .cs-presentation div h2 {
          margin-top: 0.7em; } }
      @media screen and (max-width: 39.9375em) {
        .cs-profil .cs-presentation div h2 {
          margin-top: -140px; } }
      @media screen and (max-width: 29.9375em) {
        .cs-profil .cs-presentation div h2 {
          margin-top: -100px; } }
    .cs-profil .cs-presentation div p {
      font-size: 1rem;
      opacity: 0;
      -webkit-animation-name: fade-from-bottom;
              animation-name: fade-from-bottom;
      -webkit-animation-duration: 2s;
              animation-duration: 2s;
      -webkit-animation-delay: 4s;
              animation-delay: 4s;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
              animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
      @media (max-height: 600px) and (max-width: 1400px) {
        .cs-profil .cs-presentation div p.paragraph2 {
          display: none; } }
      @media screen and (max-width: 29.9375em) {
        .cs-profil .cs-presentation div p {
          font-size: 1rem; } }
  .cs-profil a.cs-more {
    font-size: 1.1rem;
    padding: 8px 16px;
    background: #111;
    display: inline-block;
    margin: 0.8em 1px;
    transition: all ease 0.3s;
    opacity: 0;
    -webkit-animation-name: fade-in;
            animation-name: fade-in;
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
    -webkit-animation-delay: 5s;
            animation-delay: 5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
            animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
    @media screen and (min-width: 40em) and (max-width: 52.4375em) {
      .cs-profil a.cs-more {
        position: absolute;
        bottom: 1rem;
        left: 5%; } }
    .cs-profil a.cs-more:hover {
      box-shadow: 0 0 0 1px #fff;
      background: #3DC39C;
      color: #fff; }
  .cs-profil a.cs-more2, .cs-profil a.cs-more2, .cs-profil a.cs-more3, .cs-profil a.cs-close {
    font-size: 1.1rem;
    display: inline-block;
    background: rgba(0, 0, 0, 0.2);
    padding: 8px 16px;
    margin-top: 1.5rem;
    transition: all ease 0.3s; }
    .cs-profil a.cs-more2:hover, .cs-profil a.cs-more2:hover, .cs-profil a.cs-more3:hover, .cs-profil a.cs-close:hover {
      background: #fff;
      color: #3DC39C; }
  .cs-profil .reveral-quote {
    display: none;
    position: absolute;
    -webkit-animation-name: slide-h;
            animation-name: slide-h;
    height: 100%;
    background: #111;
    z-index: 300;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }
    @media screen and (max-width: 63.9375em) {
      .cs-profil .reveral-quote {
        padding-top: 0; } }
  .cs-profil .quote {
    display: none;
    text-align: center;
    color: #fff;
    font-size: 1.8rem; }
    @media screen and (max-width: 39.9375em) {
      .cs-profil .quote {
        font-size: 1.5rem; } }
    .cs-profil .quote svg {
      vertical-align: top; }
    .cs-profil .quote svg.cyril {
      width: 150px; }
      .cs-profil .quote svg.cyril .sparkle {
        -webkit-animation-name: sparkle;
                animation-name: sparkle;
        -webkit-animation-duration: 0.1s;
                animation-duration: 0.1s;
        -webkit-animation-timing-function: ease-in-out;
                animation-timing-function: ease-in-out;
        -webkit-animation-delay: 0;
                animation-delay: 0;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-direction: alternate;
                animation-direction: alternate;
        -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite; }

@-webkit-keyframes sparkle {
  0% {
    -webkit-transform: translateX(0) scale(1);
            transform: translateX(0) scale(1); }
  100% {
    -webkit-transform: translateX(1px) scale(1.01);
            transform: translateX(1px) scale(1.01); } }

@keyframes sparkle {
  0% {
    -webkit-transform: translateX(0) scale(1);
            transform: translateX(0) scale(1); }
  100% {
    -webkit-transform: translateX(1px) scale(1.01);
            transform: translateX(1px) scale(1.01); } }
      .cs-profil .quote svg.cyril .sparkle-min {
        -webkit-animation-name: sparkle-min;
                animation-name: sparkle-min;
        -webkit-animation-duration: 0.1s;
                animation-duration: 0.1s;
        -webkit-animation-timing-function: ease-in-out;
                animation-timing-function: ease-in-out;
        -webkit-animation-delay: 0;
                animation-delay: 0;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-direction: alternate;
                animation-direction: alternate;
        -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite; }

@-webkit-keyframes sparkle-min {
  0% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes sparkle-min {
  0% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
    .cs-profil .quote svg.highlander {
      width: 170px; }
      .cs-profil .quote svg.highlander .light {
        opacity: 0;
        -webkit-animation-name: light;
                animation-name: light;
        -webkit-animation-duration: 3s;
                animation-duration: 3s;
        -webkit-animation-timing-function: ease-in-out;
                animation-timing-function: ease-in-out;
        -webkit-animation-delay: 0s;
                animation-delay: 0s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite;
        -webkit-transform-origin: 30px 24px;
            -ms-transform-origin: 30px 24px;
                transform-origin: 30px 24px; }

@-webkit-keyframes light {
  0% {
    opacity: 0;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  15% {
    opacity: 1; }
  30%, 100% {
    opacity: 0;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes light {
  0% {
    opacity: 0;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  15% {
    opacity: 1; }
  30%, 100% {
    opacity: 0;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }
    .cs-profil .quote svg.monitor {
      width: 170px; }
      .cs-profil .quote svg.monitor #yellow {
        -webkit-animation-name: yellow;
                animation-name: yellow;
        -webkit-animation-duration: 5s;
                animation-duration: 5s;
        -webkit-animation-timing-function: ease-in-out;
                animation-timing-function: ease-in-out;
        -webkit-animation-delay: 0s;
                animation-delay: 0s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite; }

@-webkit-keyframes yellow {
  0%, 6% {
    opacity: 1; }
  13%, 100% {
    opacity: 0; } }

@keyframes yellow {
  0%, 6% {
    opacity: 1; }
  13%, 100% {
    opacity: 0; } }
      .cs-profil .quote svg.monitor #cyan {
        -webkit-animation-name: cyan;
                animation-name: cyan;
        -webkit-animation-duration: 5s;
                animation-duration: 5s;
        -webkit-animation-timing-function: ease-in-out;
                animation-timing-function: ease-in-out;
        -webkit-animation-delay: 0s;
                animation-delay: 0s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite; }

@-webkit-keyframes cyan {
  0%, 16% {
    opacity: 1; }
  23%, 100% {
    opacity: 0; } }

@keyframes cyan {
  0%, 16% {
    opacity: 1; }
  23%, 100% {
    opacity: 0; } }
      .cs-profil .quote svg.monitor #green {
        -webkit-animation-name: green;
                animation-name: green;
        -webkit-animation-duration: 5s;
                animation-duration: 5s;
        -webkit-animation-timing-function: ease-in-out;
                animation-timing-function: ease-in-out;
        -webkit-animation-delay: 0s;
                animation-delay: 0s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite; }

@-webkit-keyframes green {
  0%, 26% {
    opacity: 1; }
  33%, 100% {
    opacity: 0; } }

@keyframes green {
  0%, 26% {
    opacity: 1; }
  33%, 100% {
    opacity: 0; } }
      .cs-profil .quote svg.monitor #rose {
        -webkit-animation-name: rose;
                animation-name: rose;
        -webkit-animation-duration: 5s;
                animation-duration: 5s;
        -webkit-animation-timing-function: ease-in-out;
                animation-timing-function: ease-in-out;
        -webkit-animation-delay: 0s;
                animation-delay: 0s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite; }

@-webkit-keyframes rose {
  0%, 36% {
    opacity: 1; }
  43%, 100% {
    opacity: 0; } }

@keyframes rose {
  0%, 36% {
    opacity: 1; }
  43%, 100% {
    opacity: 0; } }
      .cs-profil .quote svg.monitor #red {
        -webkit-animation-name: red;
                animation-name: red;
        -webkit-animation-duration: 5s;
                animation-duration: 5s;
        -webkit-animation-timing-function: ease-in-out;
                animation-timing-function: ease-in-out;
        -webkit-animation-delay: 0s;
                animation-delay: 0s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite; }

@-webkit-keyframes red {
  0%, 46% {
    opacity: 1; }
  53%, 100% {
    opacity: 0; } }

@keyframes red {
  0%, 46% {
    opacity: 1; }
  53%, 100% {
    opacity: 0; } }
      .cs-profil .quote svg.monitor #blue {
        -webkit-animation-name: blue;
                animation-name: blue;
        -webkit-animation-duration: 5s;
                animation-duration: 5s;
        -webkit-animation-timing-function: ease-in-out;
                animation-timing-function: ease-in-out;
        -webkit-animation-delay: 0s;
                animation-delay: 0s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite; }

@-webkit-keyframes blue {
  0%, 56% {
    opacity: 1; }
  63%, 100% {
    opacity: 0; } }

@keyframes blue {
  0%, 56% {
    opacity: 1; }
  63%, 100% {
    opacity: 0; } }
      .cs-profil .quote svg.monitor #black {
        -webkit-animation-name: black;
                animation-name: black;
        -webkit-animation-duration: 5s;
                animation-duration: 5s;
        -webkit-animation-timing-function: ease-in-out;
                animation-timing-function: ease-in-out;
        -webkit-animation-delay: 0s;
                animation-delay: 0s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite; }

@-webkit-keyframes black {
  0%, 66% {
    opacity: 1; }
  83%, 100% {
    opacity: 0; } }

@keyframes black {
  0%, 66% {
    opacity: 1; }
  83%, 100% {
    opacity: 0; } }
    .cs-profil .quote img {
      max-width: 130px; }
  .cs-profil .quote-01, .cs-profil .quote-02, .cs-profil .quote-03, .cs-profil .quote-04, .cs-profil .quote-end {
    background: transparent;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .cs-profil .quote-01.active, .cs-profil .quote-02.active, .cs-profil .quote-03.active, .cs-profil .quote-04.active, .cs-profil .quote-end.active {
      height: 100%;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      padding: 0 3em;
      background: #3DC39C;
      transition: 0.2s 0.5s background-color ease;
      z-index: 200; }
      @media screen and (max-width: 52.4375em) {
        .cs-profil .quote-01.active, .cs-profil .quote-02.active, .cs-profil .quote-03.active, .cs-profil .quote-04.active, .cs-profil .quote-end.active {
          top: 50vh;
          height: calc(100% - 50vh); } }
      .cs-profil .quote-01.active .quote, .cs-profil .quote-01.active .reveral-quote, .cs-profil .quote-02.active .quote, .cs-profil .quote-02.active .reveral-quote, .cs-profil .quote-03.active .quote, .cs-profil .quote-03.active .reveral-quote, .cs-profil .quote-04.active .quote, .cs-profil .quote-04.active .reveral-quote, .cs-profil .quote-end.active .quote, .cs-profil .quote-end.active .reveral-quote {
        display: block; }
      .cs-profil .quote-01.active .quote, .cs-profil .quote-02.active .quote, .cs-profil .quote-03.active .quote, .cs-profil .quote-04.active .quote, .cs-profil .quote-end.active .quote {
        width: 100%;
        opacity: 0;
        -webkit-animation-name: fade-in;
                animation-name: fade-in;
        -webkit-animation-duration: 0s;
                animation-duration: 0s;
        -webkit-animation-delay: 0.5s;
                animation-delay: 0.5s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
                animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
        @media screen and (min-width: 40em) and (max-width: 52.4375em) {
          .cs-profil .quote-01.active .quote p, .cs-profil .quote-02.active .quote p, .cs-profil .quote-03.active .quote p, .cs-profil .quote-04.active .quote p, .cs-profil .quote-end.active .quote p {
            display: inline-block;
            width: 65%; }
          .cs-profil .quote-01.active .quote img, .cs-profil .quote-02.active .quote img, .cs-profil .quote-03.active .quote img, .cs-profil .quote-04.active .quote img, .cs-profil .quote-end.active .quote img {
            display: inline-block;
            width: 30%; } }
  .cs-profil .quote-end.active {
    background: transparent; }
  .cs-profil button.cs-more, .cs-profil button.cs-more2, .cs-profil button.cs-more3,
  .cs-profil button.cs-more4, .cs-profil button.cs-more5, .cs-profil button.cs-close {
    padding: 13px 20px 14px 20px;
    cursor: pointer;
    font-size: 1.8rem;
    position: absolute;
    top: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.05); }
    .cs-profil button.cs-more svg, .cs-profil button.cs-more2 svg, .cs-profil button.cs-more3 svg,
    .cs-profil button.cs-more4 svg, .cs-profil button.cs-more5 svg, .cs-profil button.cs-close svg {
      width: 25px;
      height: 25px; }
  .cs-profil button.cs-more2, .cs-profil button.cs-more3, .cs-profil button.cs-more4,
  .cs-profil button.cs-more5, .cs-profil button.cs-close {
    background: transparent;
    background: rgba(0, 0, 0, 0.1);
    transition: all ease 0.4s; }
    .cs-profil button.cs-more2 .cs-plus-btn, .cs-profil button.cs-more3 .cs-plus-btn, .cs-profil button.cs-more4 .cs-plus-btn,
    .cs-profil button.cs-more5 .cs-plus-btn, .cs-profil button.cs-close .cs-plus-btn {
      transition: all ease 0.4s;
      fill: #63EDC5; }
    .cs-profil button.cs-more2:hover, .cs-profil button.cs-more3:hover, .cs-profil button.cs-more4:hover,
    .cs-profil button.cs-more5:hover, .cs-profil button.cs-close:hover {
      background: #63EDC5; }
      .cs-profil button.cs-more2:hover .cs-plus-btn, .cs-profil button.cs-more3:hover .cs-plus-btn, .cs-profil button.cs-more4:hover .cs-plus-btn,
      .cs-profil button.cs-more5:hover .cs-plus-btn, .cs-profil button.cs-close:hover .cs-plus-btn {
        fill: #fff; }
  .cs-profil button.cs-more {
    right: -15px; }
    .cs-profil button.cs-more .cs-plus-btn {
      transition: all ease 0.4s;
      fill: rgba(255, 255, 255, 0.2);
      fill: #63EDC5; }
    .cs-profil button.cs-more:hover .cs-plus-btn {
      fill: white; }

.cs-slide {
  background: url(../img/blur1.1.jpg) no-repeat 50% 50%/cover;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  opacity: 0;
  -webkit-animation-name: fade-in;
          animation-name: fade-in;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 3.4s;
          animation-delay: 3.4s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
          animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
  @media screen and (max-width: 52.4375em) {
    .cs-slide {
      height: 50vh; } }
  .cs-slide .cs-logo-cyril {
    max-width: 30vw;
    max-height: 70%;
    margin-left: 4%; }
    @media screen and (max-width: 39.9375em) {
      .cs-slide .cs-logo-cyril {
        max-width: 85vw;
        height: auto; } }

/*
==================================================
====================== Intro            			
==================================================
*/
.cs-intro {
  position: relative; }
  .cs-intro .reveral-intro {
    position: absolute;
    -webkit-animation-name: slide-v;
            animation-name: slide-v;
    height: 100%;
    background: #fff;
    z-index: 10;
    -webkit-animation-duration: 0.4s;
            animation-duration: 0.4s;
    -webkit-animation-delay: 3.4s;
            animation-delay: 3.4s;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    z-index: 10; }
  .cs-intro .cs-devices {
    position: relative;
    height: 420px;
    z-index: 11; }
    @media screen and (max-width: 89.9375em) {
      .cs-intro .cs-devices {
        height: 360px; } }
    @media screen and (max-width: 74.9375em) {
      .cs-intro .cs-devices {
        height: 290px; } }
    @media screen and (max-width: 63.9375em) {
      .cs-intro .cs-devices {
        height: 40vw; } }
    @media screen and (max-width: 52.4375em) {
      .cs-intro .cs-devices {
        height: 40vw;
        margin-top: 80px; } }
    .cs-intro .cs-devices img {
      display: inline-block;
      position: absolute; }
      .cs-intro .cs-devices img.shadow-devices {
        width: 100%;
        height: 50%;
        bottom: 0;
        left: 0;
        opacity: 0;
        -webkit-animation-name: fade-in;
                animation-name: fade-in;
        -webkit-animation-duration: 2s;
                animation-duration: 2s;
        -webkit-animation-delay: 3.5s;
                animation-delay: 3.5s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
                animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
      .cs-intro .cs-devices img.minitel {
        width: 290px;
        top: 100px;
        width: 33%;
        max-width: 380px;
        left: 5%;
        opacity: 0;
        -webkit-animation-name: fade-from-right;
                animation-name: fade-from-right;
        -webkit-animation-duration: 0.2s;
                animation-duration: 0.2s;
        -webkit-animation-delay: 4.3s;
                animation-delay: 4.3s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
                animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
      .cs-intro .cs-devices img.iphone {
        width: 140px;
        top: 70px;
        width: 16%;
        max-width: 180px;
        left: 27%;
        opacity: 0;
        -webkit-animation-name: fade-from-right;
                animation-name: fade-from-right;
        -webkit-animation-duration: 0.2s;
                animation-duration: 0.2s;
        -webkit-animation-delay: 4.1s;
                animation-delay: 4.1s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
                animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
      .cs-intro .cs-devices img.gameboy {
        left: 285px;
        top: -3vh;
        width: 350px;
        width: 42%;
        max-width: 400px;
        left: 32%;
        opacity: 0;
        -webkit-animation-name: fade-from-bottom;
                animation-name: fade-from-bottom;
        -webkit-animation-duration: 0.2s;
                animation-duration: 0.2s;
        -webkit-animation-delay: 4s;
                animation-delay: 4s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
                animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
        @media (min-height: 800px) and (min-width: 2100px) {
          .cs-intro .cs-devices img.gameboy {
            top: -2vh; } }
      .cs-intro .cs-devices img.mabrouk {
        left: 470px;
        top: 80px;
        width: 450px;
        width: 50%;
        max-width: 570px;
        left: 49%;
        opacity: 0;
        -webkit-animation-name: fade-from-left;
                animation-name: fade-from-left;
        -webkit-animation-duration: 0.2s;
                animation-duration: 0.2s;
        -webkit-animation-delay: 4.2s;
                animation-delay: 4.2s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
                animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
  .cs-intro .cs-devices-mobile {
    z-index: 11;
    margin-top: 40px; }
    .cs-intro .cs-devices-mobile img {
      height: 250px;
      width: auto;
      margin: auto; }
      .cs-intro .cs-devices-mobile img.iphone {
        height: 230px; }
  .cs-intro .cs-text {
    z-index: 11;
    font-family: 'SourceSerifPro', Georgia;
    text-align: center;
    font-size: 1.4rem;
    color: #999;
    opacity: 0;
    -webkit-animation-name: fade-from-left;
            animation-name: fade-from-left;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-delay: 4.6s;
            animation-delay: 4.6s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
            animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
    @media screen and (max-width: 74.9375em) {
      .cs-intro .cs-text .show-for-large, .cs-intro .cs-text .plane-animation .cloud2, .plane-animation .cs-intro .cs-text .cloud2, .cs-intro .cs-text .plane-animation .cloud3, .plane-animation .cs-intro .cs-text .cloud3 {
        display: none; } }
    .cs-intro .cs-text .microwave {
      width: 46px;
      display: inline-block;
      margin-top: 10px; }
    @media screen and (max-width: 99.9375em) {
      .cs-intro .cs-text {
        padding-right: 5em; } }
    @media screen and (max-width: 89.9375em) {
      .cs-intro .cs-text {
        padding-right: 2em; } }
    @media screen and (max-width: 74.9375em) {
      .cs-intro .cs-text {
        padding-right: 30px;
        padding-left: 0;
        font-size: 1.2rem; } }
    @media screen and (max-width: 63.9375em) {
      .cs-intro .cs-text {
        padding-right: 2em;
        padding-left: 2em;
        font-size: 1.4rem;
        opacity: 0;
        -webkit-animation-name: fade-from-top;
                animation-name: fade-from-top;
        -webkit-animation-duration: 1s;
                animation-duration: 1s;
        -webkit-animation-delay: 4.6s;
                animation-delay: 4.6s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
                animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); } }
    @media screen and (max-width: 29.9375em) {
      .cs-intro .cs-text {
        margin-bottom: 30px;
        font-size: 1.2rem;
        min-height: 100px; } }

/*
==================================================
====================== Skills            			
==================================================
*/
.skills .consulting, .skills .webdesign, .skills .development {
  background: #444;
  text-align: center;
  padding: 3em 2em; }
  @media screen and (max-width: 39.9375em) {
    .skills .consulting, .skills .webdesign, .skills .development {
      padding: 2em; } }
  @media screen and (max-width: 29.9375em) {
    .skills .consulting, .skills .webdesign, .skills .development {
      padding: 1.5em; } }
  .skills .consulting img, .skills .webdesign img, .skills .development img {
    max-width: 55px;
    min-height: 60px;
    display: block;
    margin: 0 auto 30px; }
    @media screen and (max-width: 29.9375em) {
      .skills .consulting img, .skills .webdesign img, .skills .development img {
        margin-bottom: 15px; } }
    @media screen and (min-width: 30em) and (max-width: 39.9375em) {
      .skills .consulting img, .skills .webdesign img, .skills .development img {
        display: inline-block;
        float: left;
        margin: 0; } }
  .skills .consulting h3, .skills .webdesign h3, .skills .development h3 {
    color: #999;
    font-weight: 400;
    font-size: 1.1rem; }
    @media screen and (max-width: 99.9375em) {
      .skills .consulting h3, .skills .webdesign h3, .skills .development h3 {
        font-size: 1rem; } }
    @media screen and (max-width: 63.9375em) {
      .skills .consulting h3, .skills .webdesign h3, .skills .development h3 {
        font-size: 1rem; } }
    @media screen and (min-width: 30em) and (max-width: 39.9375em) {
      .skills .consulting h3, .skills .webdesign h3, .skills .development h3 {
        display: inline-block;
        text-align: left;
        float: left;
        max-width: 75%;
        margin-left: 2rem; } }
    @media screen and (max-width: 29.9375em) {
      .skills .consulting h3, .skills .webdesign h3, .skills .development h3 {
        font-size: 0.8rem; } }

.skills .webdesign {
  background: #333; }

.skills .development {
  background: #111; }

/*
==================================================
====================== Clients            			
==================================================
*/
.clients {
  background: #fff; }
  .clients .block-logos {
    padding: 3em 3em 4rem 3rem; }
    @media screen and (max-width: 39.9375em) {
      .clients .block-logos {
        padding: 2em; } }
    .clients .block-logos h2 {
      margin-bottom: 2em;
      color: #444; }
      @media screen and (min-width: 90em) {
        .clients .block-logos h2 {
          margin-bottom: 1.5rem; } }
      @media screen and (max-width: 39.9375em) {
        .clients .block-logos h2 {
          font-size: 1.4rem; } }
      @media screen and (max-width: 29.9375em) {
        .clients .block-logos h2 {
          font-size: 1rem; } }
    .clients .block-logos .columns {
      text-align: center; }
      @media screen and (min-width: 90em) {
        .clients .block-logos .columns img {
          max-height: 70px; }
        .clients .block-logos .columns.meteofrance img, .clients .block-logos .columns.fox img, .clients .block-logos .columns.peugeot img {
          margin-bottom: 2rem; } }
    .clients .block-logos img {
      max-height: 80px;
      display: inline-block;
      -webkit-align-self: flex-end;
          -ms-flex-item-align: end;
              align-self: flex-end; }
  .clients .reviews {
    padding: 3rem 0;
    background-image: radial-gradient(1px at -100px 50%, rgba(0, 0, 0, 0.2) 0%, transparent 200px); }
    @media screen and (max-width: 89.9375em) {
      .clients .reviews {
        background-image: radial-gradient(1px at 50% -30vw, rgba(0, 0, 0, 0.3) 0%, transparent 50vw); } }
    @media screen and (max-width: 52.4375em) {
      .clients .reviews .avatar {
        text-align: center; } }
    .clients .reviews .avatar-photo {
      margin: 2rem 0 2rem;
      width: 200px;
      height: 200px;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      overflow: hidden;
      display: inline-block;
      float: right;
      box-shadow: 0 0 0 5px #fff; }
      .clients .reviews .avatar-photo img {
        height: 200px;
        width: auto;
        border-radius: 50%; }
      @media screen and (max-width: 89.9375em) {
        .clients .reviews .avatar-photo {
          margin: 0; } }
      @media screen and (max-width: 52.4375em) {
        .clients .reviews .avatar-photo {
          float: none;
          margin: 0;
          width: 150px;
          height: 150px; }
          .clients .reviews .avatar-photo img {
            height: 150px;
            width: auto; } }
    .clients .reviews .cs-text {
      font-family: 'SourceSerifPro', Georgia;
      color: #808080;
      font-size: 1.3rem;
      padding-right: 3rem;
      padding-left: 2rem;
      background: url(../img/ico-quote.svg) no-repeat 0 0;
      background-size: 25px; }
      @media screen and (max-width: 52.4375em) {
        .clients .reviews .cs-text {
          text-align: center;
          padding: 1rem 3rem;
          background-position: 10% 0;
          background-size: 30px;
          font-size: 1.2em; } }
      @media screen and (max-width: 29.9375em) {
        .clients .reviews .cs-text {
          padding: 1.5rem;
          padding-bottom: 0;
          font-size: 1.1rem; } }
    .clients .reviews .cs-profile {
      padding-left: 2rem; }
      @media screen and (max-width: 52.4375em) {
        .clients .reviews .cs-profile {
          text-align: center;
          padding-right: 1rem;
          padding-left: 1rem; } }
      .clients .reviews .cs-profile span, .clients .reviews .cs-profile a {
        font-family: 'Titillium Web';
        font-weight: 600;
        font-size: 1.1rem;
        line-height: 1; }
      .clients .reviews .cs-profile .cs-name {
        color: #282D33;
        font-size: 1.4rem; }
      .clients .reviews .cs-profile .cs-job {
        color: #808080; }
      .clients .reviews .cs-profile a.cs-compagny {
        color: #3DC39C; }

/*
==================================================
====================== Portfolio            			
==================================================
*/
.cs-portfolio-home {
  background: #fff; }
  .cs-portfolio-home .cs-boostravel > .row, .cs-portfolio-home .cs-otorim > .row, .cs-portfolio-home .cs-citydrive > .row {
    height: 500px; }
  .cs-portfolio-home .cs-boostravel a.cs-infos, .cs-portfolio-home .cs-otorim a.cs-infos, .cs-portfolio-home .cs-citydrive a.cs-infos {
    display: block;
    margin: auto;
    transition: all ease 0.4s;
    padding: 1.2rem 2rem;
    padding-right: 0.8rem;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0) inset; }
    @media screen and (max-width: 52.4375em) {
      .cs-portfolio-home .cs-boostravel a.cs-infos, .cs-portfolio-home .cs-otorim a.cs-infos, .cs-portfolio-home .cs-citydrive a.cs-infos {
        display: none; } }
    .cs-portfolio-home .cs-boostravel a.cs-infos svg, .cs-portfolio-home .cs-otorim a.cs-infos svg, .cs-portfolio-home .cs-citydrive a.cs-infos svg {
      display: inline-block;
      margin: 0.6rem 0; }
    .cs-portfolio-home .cs-boostravel a.cs-infos .logo, .cs-portfolio-home .cs-otorim a.cs-infos .logo, .cs-portfolio-home .cs-citydrive a.cs-infos .logo {
      fill: #fff; }
    .cs-portfolio-home .cs-boostravel a.cs-infos .text, .cs-portfolio-home .cs-otorim a.cs-infos .text, .cs-portfolio-home .cs-citydrive a.cs-infos .text {
      opacity: 0;
      visibility: hidden;
      height: 0px;
      padding-left: 0;
      margin-left: -15px;
      margin-top: -15px; }
      .cs-portfolio-home .cs-boostravel a.cs-infos .text h3, .cs-portfolio-home .cs-otorim a.cs-infos .text h3, .cs-portfolio-home .cs-citydrive a.cs-infos .text h3 {
        margin-top: 0; }
      .cs-portfolio-home .cs-boostravel a.cs-infos .text p, .cs-portfolio-home .cs-otorim a.cs-infos .text p, .cs-portfolio-home .cs-citydrive a.cs-infos .text p {
        color: #282D33;
        margin: 0;
        font-size: 1rem;
        padding-right: 1.5rem; }
    .cs-portfolio-home .cs-boostravel a.cs-infos:hover, .cs-portfolio-home .cs-otorim a.cs-infos:hover, .cs-portfolio-home .cs-citydrive a.cs-infos:hover {
      width: 570px;
      background: #fff; }
      .cs-portfolio-home .cs-boostravel a.cs-infos:hover .text, .cs-portfolio-home .cs-otorim a.cs-infos:hover .text, .cs-portfolio-home .cs-citydrive a.cs-infos:hover .text {
        opacity: 0;
        -webkit-animation-name: cta-text;
                animation-name: cta-text;
        -webkit-animation-duration: 1s;
                animation-duration: 1s;
        -webkit-animation-delay: 0.4s;
                animation-delay: 0.4s;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
                animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
      @media (min-width: 1200px) and (max-width: 1300px) {
        .cs-portfolio-home .cs-boostravel a.cs-infos:hover, .cs-portfolio-home .cs-otorim a.cs-infos:hover, .cs-portfolio-home .cs-citydrive a.cs-infos:hover {
          width: 530px; } }
  @media screen and (max-width: 52.4375em) {
    .cs-portfolio-home .cs-boostravel > .row, .cs-portfolio-home .cs-otorim > .row, .cs-portfolio-home .cs-citydrive > .row {
      height: 70vh; }
    .cs-portfolio-home .cs-boostravel a.cs-infos:hover, .cs-portfolio-home .cs-otorim a.cs-infos:hover, .cs-portfolio-home .cs-citydrive a.cs-infos:hover {
      width: auto;
      background: transparent;
      box-shadow: 0 0 0 0 rgba(255, 255, 255, 0) inset !important; }
      .cs-portfolio-home .cs-boostravel a.cs-infos:hover .text, .cs-portfolio-home .cs-otorim a.cs-infos:hover .text, .cs-portfolio-home .cs-citydrive a.cs-infos:hover .text {
        display: none; }
      .cs-portfolio-home .cs-boostravel a.cs-infos:hover .logo, .cs-portfolio-home .cs-boostravel a.cs-infos:hover .logo-top, .cs-portfolio-home .cs-boostravel a.cs-infos:hover .logo-bottom, .cs-portfolio-home .cs-otorim a.cs-infos:hover .logo, .cs-portfolio-home .cs-otorim a.cs-infos:hover .logo-top, .cs-portfolio-home .cs-otorim a.cs-infos:hover .logo-bottom, .cs-portfolio-home .cs-citydrive a.cs-infos:hover .logo, .cs-portfolio-home .cs-citydrive a.cs-infos:hover .logo-top, .cs-portfolio-home .cs-citydrive a.cs-infos:hover .logo-bottom {
        fill: #fff !important;
        text-align: center;
        padding-left: 0 !important; } }
  @media print, screen and (min-width: 52.5em) {
    .cs-portfolio-home .cs-boostravel a.cs-infos-mobile, .cs-portfolio-home .cs-otorim a.cs-infos-mobile, .cs-portfolio-home .cs-citydrive a.cs-infos-mobile {
      display: none; } }
  @media screen and (max-width: 52.4375em) {
    .cs-portfolio-home .cs-boostravel a.cs-infos-mobile, .cs-portfolio-home .cs-otorim a.cs-infos-mobile, .cs-portfolio-home .cs-citydrive a.cs-infos-mobile {
      position: relative;
      width: 100%;
      height: 70vh;
      display: inline-block;
      text-align: center; }
      .cs-portfolio-home .cs-boostravel a.cs-infos-mobile svg, .cs-portfolio-home .cs-otorim a.cs-infos-mobile svg, .cs-portfolio-home .cs-citydrive a.cs-infos-mobile svg {
        display: inline-block;
        width: 60px;
        fill: #fff; }
      .cs-portfolio-home .cs-boostravel a.cs-infos-mobile .text, .cs-portfolio-home .cs-otorim a.cs-infos-mobile .text, .cs-portfolio-home .cs-citydrive a.cs-infos-mobile .text {
        margin: auto;
        bottom: 10px;
        position: absolute;
        width: 100%;
        color: #fff; }
        .cs-portfolio-home .cs-boostravel a.cs-infos-mobile .text h3, .cs-portfolio-home .cs-otorim a.cs-infos-mobile .text h3, .cs-portfolio-home .cs-citydrive a.cs-infos-mobile .text h3 {
          font-size: 1.2rem;
          margin-bottom: 0.5rem; }
        .cs-portfolio-home .cs-boostravel a.cs-infos-mobile .text p, .cs-portfolio-home .cs-otorim a.cs-infos-mobile .text p, .cs-portfolio-home .cs-citydrive a.cs-infos-mobile .text p {
          font-size: 0.9rem;
          padding: 0 2rem; } }
  .cs-portfolio-home .cs-boostravel {
    background: url(../img/bg-boostravel-home.jpg) no-repeat 50% 50%/cover; }
    .cs-portfolio-home .cs-boostravel a.cs-infos {
      width: calc(70px + 4rem); }
      .cs-portfolio-home .cs-boostravel a.cs-infos svg {
        width: 70px; }
      .cs-portfolio-home .cs-boostravel a.cs-infos .text h3 {
        color: #F17221; }
      .cs-portfolio-home .cs-boostravel a.cs-infos .text span {
        color: #F17221; }
      .cs-portfolio-home .cs-boostravel a.cs-infos:hover {
        box-shadow: 0 -5px 0 #F17221 inset; }
        .cs-portfolio-home .cs-boostravel a.cs-infos:hover .logo {
          fill: #F17221; }
  .cs-portfolio-home .cs-otorim {
    background: url(../img/bg-otorim-home.jpg) no-repeat 50% 50%/cover; }
    .cs-portfolio-home .cs-otorim a.cs-infos-mobile svg {
      width: 90px; }
    .cs-portfolio-home .cs-otorim a.cs-infos {
      width: calc(110px + 4rem); }
      .cs-portfolio-home .cs-otorim a.cs-infos svg {
        width: 110px; }
      .cs-portfolio-home .cs-otorim a.cs-infos .text h3 {
        color: #CA3000; }
      .cs-portfolio-home .cs-otorim a.cs-infos .text span {
        color: #CA3000; }
      .cs-portfolio-home .cs-otorim a.cs-infos:hover {
        box-shadow: 0 -5px 0 #CA3000 inset; }
        .cs-portfolio-home .cs-otorim a.cs-infos:hover .logo {
          fill: #CA3000; }
  .cs-portfolio-home .cs-citydrive {
    background: url(../img/bg-citydrive-home.jpg) no-repeat 50% 50%/cover; }
    .cs-portfolio-home .cs-citydrive a.cs-infos {
      width: calc(70px + 4rem); }
      .cs-portfolio-home .cs-citydrive a.cs-infos svg {
        width: 70px; }
      .cs-portfolio-home .cs-citydrive a.cs-infos .text h3 {
        color: #32B3C0; }
      .cs-portfolio-home .cs-citydrive a.cs-infos .text span {
        color: #F18534; }
      .cs-portfolio-home .cs-citydrive a.cs-infos:hover {
        box-shadow: 0 -5px 0 #32B3C0 inset; }
        .cs-portfolio-home .cs-citydrive a.cs-infos:hover .logo-top {
          fill: #32B3C0; }
        .cs-portfolio-home .cs-citydrive a.cs-infos:hover .logo-bottom {
          fill: #F18534; }

/*
==================================================
====================== Hire me            			
==================================================
*/
.hire-me {
  background: #fff;
  text-align: center;
  padding: 3rem; }
  @media screen and (max-width: 39.9375em) {
    .hire-me {
      padding: 2rem; } }
  .hire-me p {
    font-family: 'SourceSerifPro', Georgia;
    text-align: center;
    font-size: 1.6rem;
    color: #999; }
    @media screen and (max-width: 52.4375em) {
      .hire-me p {
        font-size: 1.4rem; } }
    @media screen and (max-width: 39.9375em) {
      .hire-me p {
        font-size: 1.3rem; } }
    @media screen and (max-width: 29.9375em) {
      .hire-me p {
        font-size: 1.1rem; } }
  .hire-me a {
    font-size: 1.2rem;
    text-transform: uppercase;
    font-weight: 600;
    padding: 10px 18px;
    color: #3DC39C;
    box-shadow: 0 0 0 2px #3DC39C;
    display: inline-block;
    transition: all ease 0.4s;
    margin-bottom: 1rem; }
    .hire-me a:hover {
      background: #111;
      color: #63EDC5;
      box-shadow: 0 0 0 6px #eee; }
    @media screen and (max-width: 39.9375em) {
      .hire-me a {
        font-size: 1.2rem; } }

/*
==================================================
====================== Footer            			
==================================================
*/
footer .row {
  height: 250px;
  background-color: #1a1a1a;
  border-top: 3px solid #1a1a1a;
  background-image: radial-gradient(ellipse at 50% -20%, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.1) 40%, rgba(255, 255, 255, 0) 70%); }
  footer .row .columns {
    text-align: center; }
    footer .row .columns img {
      max-height: 90px;
      width: auto; }
    footer .row .columns h3 {
      font-size: 0.9rem;
      color: #666;
      margin-top: 30px;
      font-family: 'Titillium Web';
      font-weight: 500;
      text-transform: none; }
      footer .row .columns h3 a {
        color: #999;
        transition: all ease 0.4s; }
        footer .row .columns h3 a:hover {
          color: #63EDC5; }

/* ################################################################################# 
/* ################################################################################# 
/* ################################################################################# 
/* ################################################################################# 
/* ################################################################################# 
/* ################################################################################# 
*/
/*
==================================================
====================== Boostravel            			
==================================================
*/
/*
==================================================
====================== Header            			
==================================================
*/
.bs-detail {
  background: #282D33;
  color: #fff;
  padding: 2rem 3rem;
  opacity: 0;
  -webkit-animation-name: fade-in;
          animation-name: fade-in;
  -webkit-animation-duration: 0;
          animation-duration: 0;
  -webkit-animation-delay: 3.4s;
          animation-delay: 3.4s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
          animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
  .bs-detail h1, .bs-detail .cs-contact-modal h3, .cs-contact-modal .bs-detail h3, .bs-detail .cs-menu-modal h3, .cs-menu-modal .bs-detail h3 {
    font-size: 1.4rem;
    margin-bottom: 2rem;
    margin-top: 1rem; }
  @media screen and (max-width: 52.4375em) {
    .bs-detail {
      padding: 1.5rem 2rem; }
      .bs-detail h1, .bs-detail .cs-contact-modal h3, .cs-contact-modal .bs-detail h3, .bs-detail .cs-menu-modal h3, .cs-menu-modal .bs-detail h3 {
        margin-top: 0;
        margin-bottom: 1rem; } }
  @media screen and (max-width: 29.9375em) {
    .bs-detail p {
      font-size: 1rem; } }

.bs-visual {
  background: url(../img/boostravel/bg-boostravel.jpg) no-repeat 50% 40%/cover;
  height: 500px;
  overflow: hidden;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  opacity: 0;
  -webkit-animation-name: fade-in;
          animation-name: fade-in;
  -webkit-animation-duration: 0;
          animation-duration: 0;
  -webkit-animation-delay: 3.4s;
          animation-delay: 3.4s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
          animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
  .bs-visual img {
    margin-top: -10rem;
    margin-left: -55%;
    height: auto; }
    @media screen and (max-width: 29.9375em) {
      .bs-visual img {
        max-width: 140%;
        margin-left: -80%; } }
  @media screen and (max-width: 52.4375em) {
    .bs-visual {
      height: 60vh; } }

/*
==================================================
====================== Magazine            			
==================================================
*/
.bs-magazine {
  background: #fff;
  background-image: radial-gradient(1px at 50% -30vw, rgba(0, 0, 0, 0.3) 0%, transparent 50vw);
  position: relative;
  padding: 0 4rem;
  text-align: center;
  text-shadow: 0 2px 0 rgba(255, 255, 255, 0.8);
  opacity: 0;
  -webkit-animation-name: fade-in;
          animation-name: fade-in;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-delay: 3.5s;
          animation-delay: 3.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99);
          animation-timing-function: cubic-bezier(0.1, 0.89, 0.64, 0.99); }
  @media screen and (max-width: 39.9375em) {
    .bs-magazine {
      padding: 0 2.5rem; } }
  @media screen and (max-width: 29.9375em) {
    .bs-magazine {
      padding: 0 1.5rem; } }
  .bs-magazine .text {
    font-family: 'SourceSerifPro', Georgia;
    text-align: center;
    color: #999; }
    @media screen and (min-width: 90em) {
      .bs-magazine .text {
        padding: 6.5rem 5rem 6.5rem 14rem;
        font-size: 1.4rem; } }
    @media screen and (max-width: 89.9375em) {
      .bs-magazine .text {
        padding: 4.5rem 3rem;
        font-size: 1.3rem; } }
    @media screen and (max-width: 74.9375em) {
      .bs-magazine .text {
        padding: 3.5rem 0rem;
        font-size: 1.2rem; } }
    @media screen and (max-width: 52.4375em) {
      .bs-magazine .text {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        margin-top: 13rem; } }
    @media screen and (max-width: 39.9375em) {
      .bs-magazine .text {
        margin-top: 35vw; } }
    @media screen and (max-width: 29.9375em) {
      .bs-magazine .text {
        margin-top: 35vw;
        font-size: 1.1rem; } }
  .bs-magazine .image {
    position: absolute;
    margin-top: -80px;
    margin-left: auto;
    margin-right: auto; }
    .bs-magazine .image img {
      width: 100%;
      max-width: 450px; }
    @media screen and (min-width: 90em) {
      .bs-magazine .image img {
        max-width: 600px; } }
    @media screen and (min-width: 100em) {
      .bs-magazine .image img {
        max-width: 550px; } }
    @media screen and (max-width: 63.9375em) {
      .bs-magazine .image {
        margin-top: -40px;
        margin-left: -3rem; }
        .bs-magazine .image img {
          width: 80%; } }
    @media screen and (max-width: 52.4375em) {
      .bs-magazine .image {
        margin-left: 1vw; }
        .bs-magazine .image img {
          width: 100%; } }
    @media screen and (max-width: 39.9375em) {
      .bs-magazine .image {
        margin-left: -2rem; }
        .bs-magazine .image img {
          width: 100%; } }
    @media screen and (max-width: 29.9375em) {
      .bs-magazine .image {
        margin-left: -3rem;
        margin-top: -30px; }
        .bs-magazine .image img {
          width: 90%; } }

/*
==================================================
====================== Plane animation            			
==================================================
*/
.plane-animation .container {
  height: 300px;
  background: #F68700;
  background: linear-gradient(to right, #F68700 0%, #DA3A2D 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$color1', endColorstr='$color2',GradientType=1 );
  overflow: hidden;
  position: relative; }

.plane-animation .cloud1, .plane-animation .cloud2, .plane-animation .cloud3, .plane-animation .cloud4 {
  position: absolute;
  background: url(../img/ico-cloud.svg) no-repeat;
  width: 1000px;
  height: 800px;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.plane-animation .cloud1 {
  -webkit-transform: rotate(-25deg) translateZ(0);
          transform: rotate(-25deg) translateZ(0);
  -webkit-animation-name: cloud1;
          animation-name: cloud1;
  -webkit-animation-duration: 25s;
          animation-duration: 25s; }

.plane-animation .cloud2 {
  top: -2000px;
  opacity: 0.4;
  -webkit-transform: rotate(155deg) translate3d(0, 0, 0);
          transform: rotate(155deg) translate3d(0, 0, 0);
  -webkit-animation-name: cloud2;
          animation-name: cloud2;
  -webkit-animation-duration: 35s;
          animation-duration: 35s; }

.plane-animation .cloud3 {
  top: 0px;
  opacity: 0.4;
  -webkit-transform: rotate(155deg) translate3d(0, 0, 0);
          transform: rotate(155deg) translate3d(0, 0, 0);
  -webkit-animation-name: cloud3;
          animation-name: cloud3;
  -webkit-animation-duration: 38s;
          animation-duration: 38s; }

.plane-animation .cloud4 {
  top: 0px;
  -webkit-transform: rotate(-25deg) translate3d(0, 0, 0);
          transform: rotate(-25deg) translate3d(0, 0, 0);
  -webkit-animation-name: cloud4;
          animation-name: cloud4;
  -webkit-animation-duration: 24s;
          animation-duration: 24s; }

.plane-animation .plane {
  width: 800px;
  height: 100px;
  background: url(../img/ico-plane.svg) no-repeat;
  position: absolute;
  top: 250px;
  left: calc(50% - 700px);
  -webkit-animation-name: plane;
          animation-name: plane;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-delay: 0;
          animation-delay: 0;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.plane-animation .plane-shadow {
  width: 60px;
  height: 60px;
  background: url(../img/ico-plane-shadow.svg) no-repeat;
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 5px);
  opacity: 0.2;
  -webkit-animation-name: plane-shadow;
          animation-name: plane-shadow;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-delay: 0;
          animation-delay: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

/*
==================================================
====================== List skill       			
==================================================
*/
.bs-skills .skill-list {
  background: #282D33;
  padding: 3rem 3rem 2rem 3rem;
  color: #fff; }
  .bs-skills .skill-list ul {
    padding: 0;
    margin: 0; }
  .bs-skills .skill-list li {
    list-style: none;
    display: block;
    margin-bottom: 1.5rem;
    font-size: 'Montserrat', arial;
    text-transform: uppercase;
    font-size: 1.2rem; }
    .bs-skills .skill-list li span {
      color: #3DC39C;
      margin-right: 2rem;
      font-size: 1.5rem;
      vertical-align: baseline; }
  @media screen and (max-width: 29.9375em) {
    .bs-skills .skill-list {
      padding: 2rem 1rem 1rem 1rem; }
      .bs-skills .skill-list li {
        font-size: 0.9rem; }
        .bs-skills .skill-list li span {
          margin-right: 1rem; } }

/*
==================================================
====================== Wireframe       			
==================================================
*/
.bs-wireframe {
  text-align: center;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
  height: 50vh;
  min-height: 300px;
  background: url(../img/boostravel/boostravel-wireframe.jpg) 50% 50%/cover;
  background-attachment: fixed; }
  .bs-wireframe .number {
    color: #fff;
    padding: 3.3rem 1rem;
    border-radius: 50%;
    height: 200px;
    width: 200px;
    display: inline-block;
    background: #63EDC5;
    background: linear-gradient(to right, #63EDC5 0%, #3DC39C 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$color1', endColorstr='$color2',GradientType=1 ); }
    .bs-wireframe .number span {
      font-family: 'Montserrat', arial;
      font-size: 4rem;
      font-weight: 700;
      line-height: 3rem; }

/*
==================================================
====================== UI     			
==================================================
*/
.ui {
  /* End Wallpaper */ }
  .ui .wallpaper {
    background: url("../img/boostravel/bg03.jpg") no-repeat 50% 100%/cover;
    height: 50vh;
    min-height: 400px;
    max-height: 620px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    z-index: 50; }
    .ui .wallpaper .punchline {
      position: absolute;
      left: 30%;
      top: 80px; }
    .ui .wallpaper .laptop {
      width: 60%;
      position: absolute;
      bottom: -70px;
      -webkit-align-self: flex-end;
          -ms-flex-item-align: end;
              align-self: flex-end; }
    .ui .wallpaper .mobile {
      width: 15%;
      position: absolute;
      bottom: -90px;
      left: 50%;
      -webkit-align-self: flex-end;
          -ms-flex-item-align: end;
              align-self: flex-end; }
    @media screen and (min-width: 100em) {
      .ui .wallpaper {
        min-height: calc( (50vh + 35vw) / 2); } }
    @media screen and (max-width: 74.9375em) {
      .ui .wallpaper .punchline {
        width: 350px;
        left: 25%; }
      .ui .wallpaper .laptop {
        width: 75%;
        bottom: -50px; }
      .ui .wallpaper .mobile {
        width: 20%;
        bottom: -70px;
        left: 50%; } }
    @media screen and (max-width: 52.4375em) {
      .ui .wallpaper .laptop {
        min-width: 560px;
        bottom: -50px;
        left: -5%; }
      .ui .wallpaper .mobile {
        width: 25%;
        min-width: 170px;
        bottom: -70px;
        left: 53%; } }
    @media screen and (max-width: 39.9375em) {
      .ui .wallpaper {
        min-height: auto;
        height: 300px; }
        .ui .wallpaper .punchline {
          width: 300px;
          top: 40px;
          left: 15%; }
        .ui .wallpaper .laptop {
          min-width: 500px;
          width: 75%;
          bottom: -70px; }
        .ui .wallpaper .mobile {
          width: 30%;
          min-width: auto;
          bottom: -90px;
          left: 60%; } }
    @media screen and (max-width: 29.9375em) {
      .ui .wallpaper .punchline {
        width: 80%;
        left: 10%; }
      .ui .wallpaper .mobile {
        width: 70%;
        left: 15%;
        bottom: auto;
        top: 120px; } }
  .ui .assets {
    min-height: 50vh;
    background: #fff url(../img/boostravel/world-map.png) no-repeat 50% 50%/cover;
    position: relative;
    text-align: center;
    overflow: hidden; }
    @media print, screen and (min-width: 64em) {
      .ui .assets {
        height: calc( 0 + 80vh);
        height: 400px; } }
    .ui .assets .shadow {
      height: 100px;
      width: 100%;
      position: relative;
      background: rgba(0, 0, 0, 0.15);
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 0%, transparent 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$color1', endColorstr='$color2',GradientType=0 ); }
    .ui .assets .shadow-white {
      height: 100px;
      width: 100%;
      position: absolute;
      bottom: 0;
      background: rgba(255, 255, 255, 0);
      background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$color1', endColorstr='$color2',GradientType=0 ); }
    .ui .assets .colors {
      text-align: center;
      margin-top: calc( 100vw / 2); }
      @media print, screen and (min-width: 30em) {
        .ui .assets .colors {
          margin-top: 80px; } }
      @media screen and (min-width: 75em) {
        .ui .assets .colors {
          margin-top: 120px; } }
      .ui .assets .colors .columns {
        margin-top: 20px; }
    .ui .assets .fonts {
      margin-top: 20px; }
      @media print, screen and (min-width: 30em) {
        .ui .assets .fonts {
          margin-bottom: 100px; } }
      @media print, screen and (min-width: 52.5em) {
        .ui .assets .fonts {
          margin-top: 100px; } }
      @media screen and (min-width: 75em) {
        .ui .assets .fonts {
          margin-top: 140px;
          margin-left: 3vw; } }

/* End UI */
/*
==================================================
====================== Masonry     			
==================================================
*/
/* ---- grid ---- */
.bs-masonry {
  background: #fff;
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: 60px;
  /* clearfix */
  /* ---- grid-item ---- */
  --grid-sizer: calc(100% / 6); }
  @media screen and (min-width: 90em) {
    .bs-masonry {
      padding-right: 40px;
      padding-left: 40px; } }
  .bs-masonry .grid:after {
    content: '';
    display: block;
    clear: both; }
  @media screen and (min-width: 1020px) and (min-height: 100px) {
    .bs-masonry {
      margin-top: -20vh; } }
  @media screen and (max-width: 1200px) {
    .bs-masonry .grid-item, .bs-masonry .grid-sizer {
      --grid-sizer: calc(100% / 4); } }
  @media screen and (max-width: 900px) {
    .bs-masonry .grid-item, .bs-masonry .grid-sizer {
      --grid-sizer: calc(100% / 3); } }
  @media screen and (max-width: 700px) {
    .bs-masonry .grid-item, .bs-masonry .grid-sizer {
      --grid-sizer: calc(100% / 2); } }
  .bs-masonry .grid-sizer {
    width: 10%;
    width: var(--grid-sizer); }
  .bs-masonry .grid-item {
    float: left;
    padding: 20px;
    width: 20%;
    width: calc(100% / 6);
    width: var(--grid-sizer);
    opacity: 0.8;
    transition: opacity ease 0.3s; }
    .bs-masonry .grid-item:hover {
      opacity: 1; }
    @media screen and (min-width: 90em) {
      .bs-masonry .grid-item {
        padding: 40px; } }
    .bs-masonry .grid-item.w1 {
      width: calc( 100% / 6); }
    .bs-masonry .grid-item.w2 {
      width: calc( 100% / 6 * 2); }
    .bs-masonry .grid-item.w3 {
      width: calc( 100% / 6 * 3); }
    .bs-masonry .grid-item.w4 {
      width: calc( 100% / 6 * 4); }
    .bs-masonry .grid-item.w5 {
      width: calc( 100% / 6 * 5); }
    .bs-masonry .grid-item.w6 {
      width: calc( 100% / 6 * 6); }
    .bs-masonry .grid-item.w1 {
      width: calc( var(--grid-sizer) *1); }
    .bs-masonry .grid-item.w2 {
      width: calc( var(--grid-sizer) * 2); }
    .bs-masonry .grid-item.w3 {
      width: calc( var(--grid-sizer) * 3); }
    .bs-masonry .grid-item.w4 {
      width: calc( var(--grid-sizer) * 4); }
    .bs-masonry .grid-item.w5 {
      width: calc( var(--grid-sizer) * 5); }
    .bs-masonry .grid-item.w6 {
      width: calc( var(--grid-sizer) * 6); }
    @media screen and (max-width: 700px) {
      .bs-masonry .grid-item.w2 {
        width: calc( var(--grid-sizer) * 1); }
      .bs-masonry .grid-item.w3 {
        width: calc( var(--grid-sizer) * 2); } }
    @media screen and (max-width: 460px) {
      .bs-masonry .grid-item.w2 {
        width: calc( var(--grid-sizer) * 2); }
      .bs-masonry .grid-item.w1 {
        width: calc( var(--grid-sizer) * 2); } }
    .bs-masonry .grid-item.w30 {
      width: 30%; }
    .bs-masonry .grid-item.w40 {
      width: 40%; }
    .bs-masonry .grid-item.w60 {
      width: 60%; }
    .bs-masonry .grid-item.w70 {
      width: 70%; }
    .bs-masonry .grid-item img:not(.no-shadow) {
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.3); }

/*
==================================================
====================== Hire me            			
==================================================
*/
.bs-hire-me {
  background: #eee;
  background-image: radial-gradient(1px at 50% -30vw, rgba(0, 0, 0, 0.3) 0%, transparent 40vw), radial-gradient(1px at 50% 300px, white 0%, transparent 40vw); }
  .bs-hire-me a:hover {
    box-shadow: 0 0 0 3px #fff; }

/*
==================================================
====================== Other portfolio     			
==================================================
*/
.bs-portfolio .cs-boostravel > .row, .bs-portfolio .cs-otorim > .row, .bs-portfolio .cs-citydrive > .row {
  height: 300px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm93bC5jYXJvdXNlbC5taW4uY3NzIiwib3dsLnRoZW1lLmRlZmF1bHQubWluLmNzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIl9mb250cy5zY3NzIiwiYXBwLmNzcyIsIl9rZXlmcmFtZXMuc2NzcyIsIl9mYWtlTG9hZGVyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsImFwcC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSDtFQUFzQyx5Q0FBd0M7RUFBQyxtQkFBa0IsRUFBRTs7QUFBRDtFQUFjLGNBQWE7RUFBQyxZQUFXO0VBQUMsV0FBVSxFQUFFOztBQUFEO0VBQXlCLG1CQUFrQjtFQUFDLHdCQUF1QixFQUFFOztBQUFEO0VBQStCLGFBQVk7RUFBQyxlQUFjO0VBQUMsWUFBVztFQUFDLG1CQUFrQjtFQUFDLGVBQWM7RUFBQyxVQUFTLEVBQUU7O0FBQUQ7RUFBK0IsbUJBQWtCO0VBQUMsaUJBQWdCO0VBQUMsd0NBQTZCLEVBQVM7O0FBQUQ7RUFBd0IsZ0JBQWU7RUFBQyxZQUFXO0VBQUMsb0NBQW1DO0VBQUMsNEJBQTJCLEVBQUU7O0FBQUQ7RUFBNEIsZUFBYztFQUFDLFlBQVc7RUFBQyxx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K0toQix3Qk0vS2dCO1VOK0toQixvQk0vS2dCO0VOZ0xoQixxQk1oTGdCLEVOaUxqQjs7QUFLRDtFT3pLSixtQkRic0IsRU53TGpCOztBQVZEO0VBQ0UsNEJNL0tnQjtNTitLaEIsd0JNL0tnQjtVTitLaEIsb0JNL0tnQjtFTmdMaEIscUJNaExnQixFTmlMakI7O0FBS0Q7RU96S0osdUJEYnNCLEVOd0xqQjs7QUFWRDtFQUNFLHNCTS9LZ0I7TU4rS2hCLGtCTS9LZ0I7VU4rS2hCLGNNL0tnQjtFTmdMaEIsZU1oTGdCLEVOaUxqQjs7QUFLRDtFT3pLSix1QkRic0IsRU53TGpCOztBQVZEO0VBQ0UsNEJNL0tnQjtNTitLaEIsd0JNL0tnQjtVTitLaEIsb0JNL0tnQjtFTmdMaEIscUJNaExnQixFTmlMakI7O0FBS0Q7RU96S0osaUJEYnNCLEVOd0xqQjs7QUFWRDtFQUNFLDRCTS9LZ0I7TU4rS2hCLHdCTS9LZ0I7VU4rS2hCLG9CTS9LZ0I7RU5nTGhCLHFCTWhMZ0IsRU5pTGpCOztBQUtEO0VPektKLHVCRGJzQixFTndMakI7O0FBVkQ7RUFDRSx3Qk0vS2dCO01OK0toQixvQk0vS2dCO1VOK0toQixnQk0vS2dCO0VOZ0xoQixpQk1oTGdCLEVOaUxqQjs7QUFLRDtFT3pLSix1QkRic0IsRU53TGpCOztBQVZEO0VBQ0UsNEJNL0tnQjtNTitLaEIsd0JNL0tnQjtVTitLaEIsb0JNL0tnQjtFTmdMaEIscUJNaExnQixFTmlMakI7O0FBS0Q7RU96S0osbUJEYnNCLEVOd0xqQjs7QUFWRDtFQUNFLDRCTS9LZ0I7TU4rS2hCLHdCTS9LZ0I7VU4rS2hCLG9CTS9LZ0I7RU5nTGhCLHFCTWhMZ0IsRU5pTGpCOztBQUtEO0VPektKLHVCRGJzQixFTndMakI7O0FBVkQ7RUFDRSxzQk0vS2dCO01OK0toQixrQk0vS2dCO1VOK0toQixjTS9LZ0I7RU5nTGhCLGVNaExnQixFTmlMakI7O0FBS0Q7RU96S0osdUJEYnNCLEVOd0xqQjs7QUFWRDtFQUNFLDRCTS9LZ0I7TU4rS2hCLHdCTS9LZ0I7VU4rS2hCLG9CTS9LZ0I7RU5nTGhCLHFCTWhMZ0IsRU5pTGpCOztBQUtEO0VPektKLGlCRGJzQixFTndMakI7O0FBVkQ7RUFDRSw0Qk0vS2dCO01OK0toQix3Qk0vS2dCO1VOK0toQixvQk0vS2dCO0VOZ0xoQixxQk1oTGdCLEVOaUxqQjs7QUFLRDtFT3pLSix1QkRic0IsRU53TGpCOztBQVZEO0VBQ0Usd0JNL0tnQjtNTitLaEIsb0JNL0tnQjtVTitLaEIsZ0JNL0tnQjtFTmdMaEIsaUJNaExnQixFTmlMakI7O0FBS0Q7RU96S0osdUJEYnNCLEVOd0xqQjs7QUFWRDtFQUNFLDRCTS9LZ0I7TU4rS2hCLHdCTS9LZ0I7VU4rS2hCLG9CTS9LZ0I7RU5nTGhCLHFCTWhMZ0IsRU5pTGpCOztBQUtEO0VPektKLG1CRGJzQixFTndMakI7O0FBVkQ7RUFDRSw0Qk0vS2dCO01OK0toQix3Qk0vS2dCO1VOK0toQixvQk0vS2dCO0VOZ0xoQixxQk1oTGdCLEVOaUxqQjs7QUFLRDtFT3pLSix1QkRic0IsRU53TGpCOztBQVZEO0VBQ0Usc0JNL0tnQjtNTitLaEIsa0JNL0tnQjtVTitLaEIsY00vS2dCO0VOZ0xoQixlTWhMZ0IsRU5pTGpCOztBQUtEO0VPektKLHVCRGJzQixFTndMakI7O0FBVkQ7RUFDRSw0Qk0vS2dCO01OK0toQix3Qk0vS2dCO1VOK0toQixvQk0vS2dCO0VOZ0xoQixxQk1oTGdCLEVOaUxqQjs7QUFLRDtFT3pLSixpQkRic0IsRU53TGpCOztBQVZEO0VBQ0UsNEJNL0tnQjtNTitLaEIsd0JNL0tnQjtVTitLaEIsb0JNL0tnQjtFTmdMaEIscUJNaExnQixFTmlMakI7O0FBS0Q7RU96S0osdUJEYnNCLEVOd0xqQjs7QUFWRDtFQUNFLHdCTS9LZ0I7TU4rS2hCLG9CTS9LZ0I7VU4rS2hCLGdCTS9LZ0I7RU5nTGhCLGlCTWhMZ0IsRU5pTGpCOztBQUtEO0VPektKLHVCRGJzQixFTndMakI7O0FBVkQ7RUFDRSw0Qk0vS2dCO01OK0toQix3Qk0vS2dCO1VOK0toQixvQk0vS2dCO0VOZ0xoQixxQk1oTGdCLEVOaUxqQjs7QUFLRDtFT3pL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SU96S0osc0JEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixtQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHNCTS9LZ0I7UU4rS2hCLGtCTS9LZ0I7WU4rS2hCLGNNL0tnQjtJTmdMaEIsZU1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osaUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSx3Qk0vS2dCO1FOK0toQixvQk0vS2dCO1lOK0toQixnQk0vS2dCO0lOZ0xoQixpQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osbUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSxzQk0vS2dCO1FOK0toQixrQk0vS2dCO1lOK0toQixjTS9LZ0I7SU5nTGhCLGVNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLGlCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usd0JNL0tnQjtRTitLaEIsb0JNL0tnQjtZTitLaEIsZ0JNL0tnQjtJTmdMaEIsaUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLG1CRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usc0JNL0tnQjtRTitLaEIsa0JNL0tnQjtZTitLaEIsY00vS2dCO0lOZ0xoQixlTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixpQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHdCTS9LZ0I7UU4rS2hCLG9CTS9LZ0I7WU4rS2hCLGdCTS9LZ0I7SU5nTGhCLGlCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJ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LEVBQ2hCO0VBRUQ7SUFDRSx1QkFBZTtRQUFmLG1CQUFlO1lBQWYsZUFBZSxFQUNoQixFQUFBOztBQUlDO0VBRUksdUJBQTJCO01BQTNCLG1CQUEyQjtVQUEzQixlQUEyQixFQUs1QjtFRy9HTDtJSHdHRTtNQUtNLHNCQTdNRTtVQTZNRixrQkE3TUU7Y0E2TUYsY0E3TUUsRUErTUwsRUFBQTs7QUcvR0w7RUhxSEY7SUkxUEEsaUJBRmtCO0lBR2xCLGdCQUhrQixFSjZQMEI7RUFHNUM7SUk5UEEsdUJBRmtCO0lBR2xCLHNCQUhrQixFSmlRbUMsRUFBQTs7QUcxSG5EO0VIZ0RBO0lBQ0UsMkJNL0tnQjtRTitLaEIsdUJNL0tnQjtZTitLaEIsbUJNL0tnQjtJTmdMaEIsb0JNaExnQixFTmlMakI7RUFLRDtJT3pLSixnQkRoQnNCLEVOMkxqQjtFQVZEO0lBQ0UsMkJNL0tnQjtRTitLaEIsdUJNL0tnQjtZTitLaEIsbUJNL0tnQjtJTmdMaEIsb0JNaExnQixFTmlMakI7RUFLRDtJT3pLSixzQkRic0IsRU53TGpCO0VBVkQ7SUFDRSx3Qk0vS2dCO1FOK0toQixvQk0vS2dCO1lOK0toQixnQk0vS2dCO0lOZ0xoQixpQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHNCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osbUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSxzQk0vS2dCO1FOK0toQixrQk0vS2dCO1lOK0toQixjTS9LZ0I7SU5nTGhCLGVNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLGlCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usd0JNL0tnQjtRTitLaEIsb0JNL0tnQjtZTitLaEIsZ0JNL0tnQjtJTmdMaEIsaUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLG1CRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usc0JNL0tnQjtRTitLaEIsa0JNL0tnQjtZTitLaEIsY00vS2dCO0lOZ0xoQixlTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixpQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHdCTS9LZ0I7UU4rS2hCLG9CTS9LZ0I7WU4rS2hCLGdCTS9LZ0I7SU5nTGhCLGlCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixtQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHNCTS9LZ0I7UU4rS2hCLGtCTS9LZ0I7WU4rS2hCLGNNL0tnQjtJTmdMaEIsZU1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osaUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSx3Qk0vS2dCO1FOK0toQixvQk0vS2dCO1lOK0toQixnQk0vS2dCO0lOZ0xoQixpQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osbUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSx1Qk0vS2dCO1FOK0toQixtQk0vS2dCO1lOK0toQixlTS9LZ0I7SU5nTGhCLGdCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQUtEO0lLakpKLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUZE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TS9LZ0I7UU4rS2hCLHVCTS9LZ0I7WU4rS2hCLG1CTS9LZ0I7SU5nTGhCLG9CTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osc0JEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usd0JNL0tnQjtRTitLaEIsb0JNL0tnQjtZTitLaEIsZ0JNL0tnQjtJTmdMaEIsaUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixzQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLG1CRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usc0JNL0tnQjtRTitLaEIsa0JNL0tnQjtZTitLaEIsY00vS2dCO0lOZ0xoQixlTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixpQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHdCTS9LZ0I7UU4rS2hCLG9CTS9LZ0I7WU4rS2hCLGdCTS9LZ0I7SU5nTGhCLGlCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixtQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHNCTS9LZ0I7UU4rS2hCLGtCTS9LZ0I7WU4rS2hCLGNNL0tnQjtJTmdMaEIsZU1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osaUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSx3Qk0vS2dCO1FOK0toQixvQk0vS2dCO1lOK0toQixnQk0vS2dCO0lOZ0xoQixpQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osbUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSxzQk0vS2dCO1FOK0toQixrQk0vS2dCO1lOK0toQixjTS9LZ0I7SU5nTGhCLGVNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLGlCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usd0JNL0tnQjtRTitLaEIsb0JNL0tnQjtZTitLaEIsZ0JNL0tnQjtJTmdMaEIsaUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLG1CRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsdUJNL0tnQjtRTitLaEIsbUJNL0tnQjtZTitLaEIsZU0vS2dCO0lOZ0xoQixnQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFLRDtJS2pKSixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUZEO0lLakpKLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUZEO0lLakpKLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFLRDtJQXpISix3QkFBZ0I7UUFBaEIsb0JBQWdCO1lBQWhCLGdCQUFnQixFQTJIWDtJQXpISDtNQUdBLHVCQUZnQjtVQUVoQixtQkFGZ0I7Y0FFaEIsZUFGZ0I7TUFHaEIsZ0JBSGdCLEVBSWpCO0VBa0hHO0lBekhKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCLEVBMkhYO0lBekhIO01BR0Esc0JBRmdCO1VBRWhCLGtCQUZnQjtjQUVoQixjQUZnQjtNQUdoQixlQUhn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RDtJQUNFLHNCTS9LZ0I7UU4rS2hCLGtCTS9LZ0I7WU4rS2hCLGNNL0tnQjtJTmdMaEIsZU1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osaUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSx3Qk0vS2dCO1FOK0toQixvQk0vS2dCO1lOK0toQixnQk0vS2dCO0lOZ0xoQixpQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osbUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSxzQk0vS2dCO1FOK0toQixrQk0vS2dCO1lOK0toQixjTS9LZ0I7SU5nTGhCLGVNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLGlCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usd0JNL0tnQjtRTitLaEIsb0JNL0tnQjtZTitLaEIsZ0JNL0tnQjtJTmdMaEIsaUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLG1CRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usc0JNL0tnQjtRTitLaEIsa0JNL0tnQjtZTitLaEIsY00vS2dCO0lOZ0xoQixlTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixpQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHdCTS9LZ0I7UU4rS2hCLG9CTS9LZ0I7WU4rS2hCLGdCTS9LZ0I7SU5nTGhCLGlCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixtQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHVCTS9LZ0I7UU4rS2hCLG1CTS9LZ0I7WU4rS2hCLGVNL0tnQjtJTmdMaEIsZ0JNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBS0Q7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NUM7SUk5UEEsb0JBRmtCO0lBR2xCLG1CQUhrQixFSmlRbUMsRUFBQTs7QUdySG5EO0VIMkNBO0lBQ0UsMkJNL0tnQjtRTitLaEIsdUJNL0tnQjtZTitLaEIsbUJNL0tnQjtJTmdMaEIsb0JNaExnQixFTmlMakI7RUFLRDtJT3pLSixnQkRoQnNCLEVOMkxqQjtFQVZEO0lBQ0UsMkJNL0tnQjtRTitLaEIsdUJNL0tnQjtZTitLaEIsbUJNL0tnQjtJTmdMaEIsb0JNaExnQixFTmlMakI7RUFLRDtJT3pLSixzQkRic0IsRU53TGpCO0VBVkQ7SUFDRSx3Qk0vS2dCO1FOK0toQixvQk0vS2dCO1lOK0toQixnQk0vS2dCO0lOZ0xoQixpQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHNCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osbUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSxzQk0vS2dCO1FOK0toQixrQk0vS2dCO1lOK0toQixjTS9LZ0I7SU5nTGhCLGVNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLGlCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usd0JNL0tnQjtRTitLaEIsb0JNL0tnQjtZTitLaEIsZ0JNL0tnQjtJTmdMaEIsaUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLG1CRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usc0JNL0tnQjtRTitLaEIsa0JNL0tnQjtZTitLaEIsY00vS2dCO0lOZ0xoQixlTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixpQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHdCTS9LZ0I7UU4rS2hCLG9CTS9LZ0I7WU4rS2hCLGdCTS9LZ0I7SU5nTGhCLGlCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixtQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHNCTS9LZ0I7UU4rS2hCLGtCTS9LZ0I7WU4rS2hCLGNNL0tnQjtJTmdMaEIsZU1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osaUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSx3Qk0vS2dCO1FOK0toQixvQk0vS2dCO1lOK0toQixnQk0vS2dCO0lOZ0xoQixpQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osbUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSx1Qk0vS2dCO1FOK0toQixtQk0vS2dCO1lOK0toQixlTS9LZ0I7SU5nTGhCLGdCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQUtEO0lLakpKLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUZEO0lLakpKLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUtEO0lBekhKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCLEVBMkhYO0lBekhIO01B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K0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLG1CRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usc0JNL0tnQjtRTitLaEIsa0JNL0tnQjtZTitLaEIsY00vS2dCO0lOZ0xoQixlTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixpQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHdCTS9LZ0I7UU4rS2hCLG9CTS9LZ0I7WU4rS2hCLGdCTS9LZ0I7SU5nTGhCLGlCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixtQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHNCTS9LZ0I7UU4rS2hCLGtCTS9LZ0I7WU4rS2hCLGNNL0tnQjtJTmdMaEIsZU1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osaUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSx3Qk0vS2dCO1FOK0toQixvQk0vS2dCO1lOK0toQixnQk0vS2dCO0lOZ0xoQixpQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osbUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSxzQk0vS2dCO1FOK0toQixrQk0vS2dCO1lOK0toQixjTS9LZ0I7SU5nTGhCLGVNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLGlCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usd0JNL0tnQjtRTitLaEIsb0JNL0tnQjtZTitLaEIsZ0JNL0tnQjtJTmdMaEIsaUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLG1CRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsdUJNL0tnQjtRTitLaEIsbUJNL0tnQjtZTitLaEIsZU0vS2dCO0lOZ0xoQixnQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFLRDtJS2pKSixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUZEO0lLakpKLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUZEO0lLakpKLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFLRDtJQXpISix3QkFBZ0I7UUFBaEIsb0JBQWdCO1lBQWhCLGdCQUFnQixFQTJIWDtJQXpISDtNQUdBLHVCQUZnQjtVQUVoQixtQkFGZ0I7Y0FFaEIsZUFGZ0I7TUFHaEIsZ0JBSGdCLEVBSWpCO0VBa0hHO0lBekhKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCLEVBMkhYO0lBekhIO01BR0Esc0JBRmdCO1VBRWhCLGtCQUZnQjtjQUVoQixjQUZnQjtNQUdoQixlQUhnQixFQUlqQjtFQWtIRztJQXpISix3QkFBZ0I7UUFBaEIsb0JBQWdCO1lBQWhCLGdCQUFnQixFQTJIWDtJQXpISDtNQUdBLDRCQUZnQjtVQUVoQix3QkFGZ0I7Y0FFaEIsb0JBRmdCO01BR2hCLHFCQUhnQixFQUlqQjtFQWtIRztJQXpISix3QkFBZ0I7UUFBaEIsb0JBQWdCO1lBQWhCLGdCQUFnQixFQTJIWDtJQXpISDtNQUdBLHNCQUZnQjtVQUVoQixrQkFGZ0I7Y0FFaEIsY0FGZ0I7TUFHaEIsZUFIZ0IsRUFJakI7RUFrSEc7SUF6SEosd0JBQWdCO1FBQWhCLG9CQUFnQjtZQUFoQixnQkFBZ0IsRUEySFg7SUF6SEg7TUFHQSxzQkFGZ0I7VUFFaEIsa0JBRmdCO2NBRWhCLGNBRmdCO01BR2hCLGVBSGdCLEVBSWpCO0VBa0hHO0lBekhKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCLEVBMkhYO0lBekhIO01BR0EsNEJBRmdCO1VBRWhCLHdCQUZnQjtjQUVoQixvQkFGZ0I7TUFHaEIscUJBSGdCLEVBSWpCO0VBa0hHO0lBekhKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCLEVBMkhYO0lBekhIO01BR0EsNEJBRmdCO1VBRWhCLHdCQUZnQjtjQUVoQixvQkFGZ0I7TUFHaEIscUJBSGdCLEVBSWpCO0VBa0hHO0lBekhKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCLEVBMkhYO0lBekhIO01BR0Esd0JBRmdCO1VBRWhCLG9CQUZnQjtjQUVoQixnQkFGZ0I7TUFHaEIsaUJBSGdCLEVBSWpCLEVBQUE7O0FHaURHO0VIeUVFO0lBQ0Usc0JBL0tNO1FBK0tOLGtCQS9LTTtZQStLTixjQS9LTSxFQWdMUCxFQUFBOztBRzNFSDtFSGdGRTtJSzdKTiw0QkFuRVU7UUFtRVYsd0JBbkVVO1lBbUVWLG9CQW5FVSxFTGtPSDtFQUZEO0lLN0pOLG9DQWxFMEI7UUFrRTFCLGdDQWxFMEI7WUFrRTFCLDRCQWxFMEIsRUxpT25CO0VBRkQ7SUs3Sk4sK0JBakVnQjtRQWlFaEIsMkJBakVnQjtZQWlFaEIsdUJBakVnQixFTGdPVDtFQUZEO0lLN0pOLHVDQWhFZ0M7UUFnRWhDLG1DQWhFZ0M7WUFnRWhDLCtCQWhFZ0MsRUwrTnpCO0VBR0g7SUFDRSx1QkFBZTtRQUFmLG1CQUFlO1lBQWYsZUFBZSxFQUNoQjtFQUVEO0lBQ0UsdUJBQWU7UUFBZixtQkFBZTtZQUFmLGVBQWUsRUFDaEI7RUFFRDtJQUNFLHVCQUFlO1FBQWYsbUJBQWU7WUFBZixlQUFlLEVBQ2hCLEVBQUE7O0FBSUM7RUFFSSx1QkFBMkI7TUFBM0IsbUJBQTJCO1VBQTNCLGVBQTJCLEVBSzVCO0VHMUdMO0lIbUdFO01BS00sc0JBN01FO1VBNk1GLGtCQTdNRTtjQTZNRixjQTdNRSxFQStNTCxFQUFBOztBRzFHTDtFSGdIRjtJSTFQQSxpQkFGa0I7SUFHbEIsZ0JBSGtCLEVKNlAwQjtFQUc1QztJSTlQQSxvQkFGa0I7SUFHbEIsbUJBSGtCLEVKaVFtQyxFQUFBOztBR3JIbkQ7RUgyQ0E7SUFDRSwyQk0vS2dCO1FOK0toQix1Qk0vS2dCO1lOK0toQixtQk0vS2dCO0lOZ0xoQixvQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLGdCRGhCc0IsRU4yTGpCO0VBVkQ7SUFDRSwyQk0vS2dCO1FOK0toQix1Qk0vS2dCO1lOK0toQixtQk0vS2dCO0lOZ0xoQixvQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHNCRGJzQixFTndMakI7RUFWRDtJQUNFLHdCTS9LZ0I7UU4rS2hCLG9CTS9LZ0I7WU4rS2hCLGdCTS9LZ0I7SU5nTGhCLGlCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osc0JEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixtQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHNCTS9LZ0I7UU4rS2hCLGtCTS9LZ0I7WU4rS2hCLGNNL0tnQjtJTmdMaEIsZU1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osaUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSx3Qk0vS2dCO1FOK0toQixvQk0vS2dCO1lOK0toQixnQk0vS2dCO0lOZ0xoQixpQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osbUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSxzQk0vS2dCO1FOK0toQixrQk0vS2dCO1lOK0toQixjTS9LZ0I7SU5nTGhCLGVNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLGlCRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usd0JNL0tnQjtRTitLaEIsb0JNL0tnQjtZTitLaEIsZ0JNL0tnQjtJTmdMaEIsaUJNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLG1CRGJzQixFTndMakI7RUFWRDtJQUNFLDRCTS9LZ0I7UU4rS2hCLHdCTS9LZ0I7WU4rS2hCLG9CTS9LZ0I7SU5nTGhCLHFCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0Usc0JNL0tnQjtRTitLaEIsa0JNL0tnQjtZTitLaEIsY00vS2dCO0lOZ0xoQixlTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixpQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHdCTS9LZ0I7UU4rS2hCLG9CTS9LZ0I7WU4rS2hCLGdCTS9LZ0I7SU5nTGhCLGlCTWhMZ0IsRU5pTGpCO0VBS0Q7SU96S0osdUJEYnNCLEVOd0xqQjtFQVZEO0lBQ0UsNEJNL0tnQjtRTitLaEIsd0JNL0tnQjtZTitLaEIsb0JNL0tnQjtJTmdMaEIscUJNaExnQixFTmlMakI7RUFLRDtJT3pLSixtQkRic0IsRU53TGpCO0VBVkQ7SUFDRSw0Qk0vS2dCO1FOK0toQix3Qk0vS2dCO1lOK0toQixvQk0vS2dCO0lOZ0xoQixxQk1oTGdCLEVOaUxqQjtFQUtEO0lPektKLHVCRGJzQixFTndMakI7RUFWRDtJQUNFLHVCTS9LZ0I7UU4rS2hCLG1CTS9LZ0I7WU4rS2hCLGVNL0tnQjtJTmdMaEIsZ0JNaExnQixFTmlMakI7RUFLRDtJT3pLSix1QkRic0IsRU53TGpCO0VBS0Q7SUtqSkosaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUZEO0lLakpKLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJ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O0lMbURKLGlCS3BEZ0I7UUxvRGhCLGtCS3BEZ0I7WUxvRGhCLFNLcERnQixFQUdYO0VBRkQ7SUxtREosaUJLcERnQjtRTG9EaEIsa0JLcERnQjtZTG9EaEIsU0twRGdCLEVBR1g7RUFGRDtJTG1ESixpQktwRGdCO1FMb0RoQixrQktwRGdCO1lMb0RoQixTS3BEZ0IsRUFHWDtFQUZEO0lMbURKLGlCS3BEZ0I7UUxvRGhCLGtCS3BEZ0I7WUxvRGhCLFNLcERnQixFQUdYLEVBQUE7O0FQbUlEO0VPcklBO0lMbURKLGlCS3BEZ0I7UUxvRGhCLGtCS3BEZ0I7WUxvRGhCLFNLcERnQixFQUdYO0VBRkQ7SUxtREosaUJLcERnQjtRTG9EaEIsa0JLcERnQjtZTG9EaEIsU0twRGdCLEVBR1g7RUFGRDtJTG1ESixpQktwRGdCO1FMb0RoQixrQktwRGdCO1lMb0RoQixTS3BEZ0IsRUFHWDtFQUZEO0lMbURKLGlCS3BEZ0I7UUxvRGhCLGtCS3BEZ0I7WUxvRGhCLFNLcERnQixFQUdYO0VBRkQ7SUxtREosaUJLcERnQjtRTG9EaEIsa0JLcERnQjtZTG9EaEIsU0twRGdCLEVBR1g7RUFGRDtJTG1ESixpQktwRGdCO1FMb0RoQixrQktwRGdCO1lMb0RoQixTS3BEZ0IsRUFHWCxFQUFBOztBUG1JRDtFT3JJQTtJTG1ESixpQktwRGdCO1FMb0RoQixrQktwRGdCO1lMb0RoQixTS3BEZ0IsRUFHWDtFQUZEO0lMbURKLGlCS3BEZ0I7UUxvRGhCLGtCS3BEZ0I7WUxvRGhCLFNLcERnQixFQUdYO0VBRkQ7SUxtREosaUJLcERnQjtRTG9EaEIsa0JLcERnQjtZTG9EaEIsU0twRGdCLEVBR1g7RUFGRDtJTG1ESixpQktwRGdCO1FMb0RoQixrQktwRGdCO1lMb0RoQixTS3BEZ0IsRUFHWDtFQUZEO0lMbURKLGlCS3BEZ0I7UUxvRGhCLGtCS3BEZ0I7WUxvRGhCLFNLcERnQixFQUdYO0VBRkQ7SUxtREosaUJLcERnQjtRTG9EaEIsa0JLcERnQjtZTG9EaEIsU0twRGdCLEVBR1gsRUFBQTs7QVBtSUQ7RU9ySUE7SUxtREosaUJLcERnQjtRTG9EaEIsa0JLcERnQjtZTG9EaEIsU0twRGdCLEVBR1g7RUFGRDtJTG1ESixpQktwRGdCO1FMb0RoQixrQktwRGdCO1lMb0RoQixTS3BEZ0IsRUFHWDtFQUZEO0lMbURKLGlCS3BEZ0I7UUxvRGhCLGtCS3BEZ0I7WUxvRGhCLFNLcERnQixFQUdYO0VBRkQ7SUxtREosaUJLcERnQjtRTG9EaEIsa0JLcERnQjtZTG9EaEIsU0twRGdCLEVBR1g7RUFGRDtJTG1ESixpQktwRGdCO1FMb0RoQixrQktwRGdCO1lMb0RoQixTS3BEZ0IsRUFHWDtFQUZEO0lMbURKLGlCS3BEZ0I7UUxvRGhCLGtCS3BEZ0I7WUxvRGhCLFNLcERnQixFQUdYLEVBQUE7O0FQd0lEO0VPMUlBO0lMbURKLGlCS3BEZ0I7UUxvRGhCLGtCS3BEZ0I7WUxvRGhCLFNLcERnQixFQUdYO0VBRkQ7SUxtREosaUJLcERnQjtRTG9EaEIsa0JLcERnQjtZTG9EaEIsU0twRGdCLEVBR1g7RUFGRDtJTG1ESixpQktwRGdCO1FMb0RoQixrQktwRGdCO1lMb0RoQixTS3BEZ0IsRUFHWDtFQUZEO0lMbURKLGlCS3BEZ0I7UUxvRGhCLGtCS3BEZ0I7WUxvRGhCLFNLcERnQixFQUdYO0VBRkQ7SUxtREosaUJLcERnQjtRTG9EaEIsa0JLcERnQjtZTG9EaEIsU0twRGdCLEVBR1g7RUFGRDtJTG1ESixpQktwRGdCO1FMb0RoQixrQktwRGdCO1lMb0RoQixTS3BEZ0IsRUFHWCxFQUFBOztBUHdJRDtFTzFJQTtJTG1ESixpQktwRGdCO1FMb0RoQixrQktwRGdCO1lMb0RoQixTS3BEZ0IsRUFHWDtFQUZEO0lMbURKLGlCS3BEZ0I7UUxvRGhCLGtCS3BEZ0I7WUxvRGhCLFNLcERnQixFQUdYO0VBRkQ7SUxtREosaUJLcERnQjtRTG9EaEIsa0JLcERnQjtZTG9EaEIsU0twRGdCLEVBR1g7RUFGRDtJTG1ESixpQktwRGdCO1FMb0RoQixrQktwRGdCO1lMb0RoQixTS3BEZ0IsRUFHWDtFQUZEO0lMbURKLGlCS3BEZ0I7UUxvRGhCLGtCS3BEZ0I7WUxvRGhCLFNL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LEVBQWtCO0lBdEVwQztNQXVFTywyQkFBVyxFQUFrQjtJQXZFcEM7TUF3RU8sMkJBQVcsRUFBa0I7SUF4RXBDO01BMEVPLG1DQUFXLEVBQTBCO0lBMUU1QztNQTJFTyxvQ0FBVyxFQUFxRDtJQTNFdkU7TUE0RU8sb0NBQVcsRUFBcUQ7SUE1RXZFO01BNkVPLG9DQUFXLEVBQTJCO0lBN0U3QztNQThFTyxvQ0FBVyxFQUEyQjtJQTlFN0M7TUErRU8sb0NBQVcsRUFBMkI7SUFFM0M7TUFqRkY7UUFrRlEsb0NBQVcsRUFBMkI7TUFsRjlDO1FBbUZRLG9DQUFXLEVBQTJCLEVBQUE7SUFFNUM7TUFyRkY7UUFzRlEsb0NBQVcsRUFBMkI7TUF0RjlDO1FBdUZRLG9DQUFXLEVBQTJCLEVBQUE7SUF2RjlDO01BMEZTLFdBQVcsRUFBRztJQTFGdkI7TUEyRlMsV0FBVyxFQUFHO0lBM0Z2QjtNQTRGUyxXQUFXLEVBQUc7SUE1RnZCO01BNkZTLFdBQVcsRUFBRztJQTdGdkI7TUErRkcsd0NBQXlCLEVBQ3pCOztBQVdIOzs7O0VBSUU7QUFDRjtFQUNDLGlCQUFnQjtFQUNoQiw0SkFDZSxFQU9mO0VBVkQ7SUFPRywyQkFBMkIsRUFDM0I7O0FBS0g7Ozs7RUFJRTtBQUVGO0VBR0csY0FBYyxFQUNkIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE93bCBDYXJvdXNlbCB2Mi4yLjBcbiAqIENvcHlyaWdodCAyMDEzLTIwMTYgRGF2aWQgRGV1dHNjaFxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vT3dsQ2Fyb3VzZWwyL093bENhcm91c2VsMi9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG4ub3dsLWNhcm91c2VsLC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtwb3NpdGlvbjpyZWxhdGl2ZX0ub3dsLWNhcm91c2Vse2Rpc3BsYXk6bm9uZTt3aWR0aDoxMDAlO3otaW5kZXg6MX0ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2V7cG9zaXRpb246cmVsYXRpdmU7LW1zLXRvdWNoLWFjdGlvbjpwYW4tWX0ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXJ7Y29udGVudDpcIi5cIjtkaXNwbGF5OmJsb2NrO2NsZWFyOmJvdGg7dmlzaWJpbGl0eTpoaWRkZW47bGluZS1oZWlnaHQ6MDtoZWlnaHQ6MH0ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXJ7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbXttaW4taGVpZ2h0OjFweDtmbG9hdDpsZWZ0Oy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmV9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1ne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZH0ub3dsLWNhcm91c2VsIC5vd2wtZG90cy5kaXNhYmxlZCwub3dsLWNhcm91c2VsIC5vd2wtbmF2LmRpc2FibGVke2Rpc3BsYXk6bm9uZX0ubm8tanMgLm93bC1jYXJvdXNlbCwub3dsLWNhcm91c2VsLm93bC1sb2FkZWR7ZGlzcGxheTpibG9ja30ub3dsLWNhcm91c2VsIC5vd2wtZG90LC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2e2N1cnNvcjpwb2ludGVyO2N1cnNvcjpoYW5kOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTsta2h0bWwtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ub3dsLWNhcm91c2VsLm93bC1sb2FkaW5ne29wYWNpdHk6MDtkaXNwbGF5OmJsb2NrfS5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbntvcGFjaXR5OjB9Lm93bC1jYXJvdXNlbC5vd2wtcmVmcmVzaCAub3dsLWl0ZW17dmlzaWJpbGl0eTpoaWRkZW59Lm93bC1jYXJvdXNlbC5vd2wtZHJhZyAub3dsLWl0ZW17LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5vd2wtY2Fyb3VzZWwub3dsLWdyYWJ7Y3Vyc29yOm1vdmU7Y3Vyc29yOmdyYWJ9Lm93bC1jYXJvdXNlbC5vd2wtcnRse2RpcmVjdGlvbjpydGx9Lm93bC1jYXJvdXNlbC5vd2wtcnRsIC5vd2wtaXRlbXtmbG9hdDpyaWdodH0ub3dsLWNhcm91c2VsIC5hbmltYXRlZHstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmJvdGg7YW5pbWF0aW9uLWZpbGwtbW9kZTpib3RofS5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1pbnt6LWluZGV4OjB9Lm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dHt6LWluZGV4OjF9Lm93bC1jYXJvdXNlbCAuZmFkZU91dHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXQ7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dHswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmFkZU91dHswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjB9fS5vd2wtaGVpZ2h0e3RyYW5zaXRpb246aGVpZ2h0IC41cyBlYXNlLWluLW91dH0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenl7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZX0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcub3dsLWxhenl7LXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6IzAwMH0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDo4MHB4O3dpZHRoOjgwcHg7bGVmdDo1MCU7dG9wOjUwJTttYXJnaW4tbGVmdDotNDBweDttYXJnaW4tdG9wOi00MHB4O2JhY2tncm91bmQ6dXJsKG93bC52aWRlby5wbGF5LnBuZykgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyO3otaW5kZXg6MTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGVhc2U7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2V9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMsMS4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMywxLjMpO3RyYW5zZm9ybTpzY2FsZSgxLjMsMS4zKX0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiwub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRue2Rpc3BsYXk6bm9uZX0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG57b3BhY2l0eTowO2hlaWdodDoxMDAlO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBlYXNlfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0iLCIvKipcbiAqIE93bCBDYXJvdXNlbCB2Mi4yLjBcbiAqIENvcHlyaWdodCAyMDEzLTIwMTYgRGF2aWQgRGV1dHNjaFxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vT3dsQ2Fyb3VzZWwyL093bENhcm91c2VsMi9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG4ub3dsLXRoZW1lIC5vd2wtZG90cywub3dsLXRoZW1lIC5vd2wtbmF2e3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ub3dsLXRoZW1lIC5vd2wtbmF2e21hcmdpbi10b3A6MTBweH0ub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9b3dsLV17Y29sb3I6I0ZGRjtmb250LXNpemU6MTRweDttYXJnaW46NXB4O3BhZGRpbmc6NHB4IDdweDtiYWNrZ3JvdW5kOiNENkQ2RDY7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czozcHh9Lm93bC10aGVtZSAub3dsLW5hdiBbY2xhc3MqPW93bC1dOmhvdmVye2JhY2tncm91bmQ6Izg2OTc5MTtjb2xvcjojRkZGO3RleHQtZGVjb3JhdGlvbjpub25lfS5vd2wtdGhlbWUgLm93bC1uYXYgLmRpc2FibGVke29wYWNpdHk6LjU7Y3Vyc29yOmRlZmF1bHR9Lm93bC10aGVtZSAub3dsLW5hdi5kaXNhYmxlZCsub3dsLWRvdHN7bWFyZ2luLXRvcDoxMHB4fS5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3pvb206MX0ub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdCBzcGFue3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7bWFyZ2luOjVweCA3cHg7YmFja2dyb3VuZDojRDZENkQ2O2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO2JvcmRlci1yYWRpdXM6MzBweH0ub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUgc3Bhbiwub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFue2JhY2tncm91bmQ6Izg2OTc5MX0iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4zLjBcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCBcIi4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemVcIjtcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgXCJzZXR0aW5ncy9zZXR0aW5nc1wiO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vID09PT09PT09PT0gTUlYSU5cclxuXHJcbi8vIEBtaXhpbiBmb250LWZhY2UoJGZhbWlseSwgJGZpbGUtbmFtZSwgJHdlaWdodDogbm9ybWFsLCAkc3R5bGU6IG5vcm1hbCkge1xyXG4vLyBcdEBmb250LWZhY2Uge1xyXG4vLyBcdFx0Zm9udC1mYW1pbHk6ICRmYW1pbHk7XHJcbi8vIFx0XHRzcmM6IHVybChcIi4uL2ZvbnRzLyN7JGZpbGUtbmFtZX0uZW90XCIpO1xyXG4vLyBcdFx0c3JjOiB1cmwoXCIuLi9mb250cy8jeyRmaWxlLW5hbWV9LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXHJcbi8vIFx0XHR1cmwoXCIuLi9mb250cy8jeyRmaWxlLW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuLy8gXHRcdHVybChcIi4uL2ZvbnRzLyN7JGZpbGUtbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4vLyBcdFx0dXJsKFwiLi4vZm9udHMvI3skZmlsZS1uYW1lfS5vdGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbi8vIFx0XHR1cmwoXCIuLi9mb250cy8jeyRmaWxlLW5hbWV9LnN2ZyNcIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4vLyBcdFx0Zm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbi8vIFx0XHRmb250LXN0eWxlOiAkc3R5bGU7XHJcbi8vIFx0fVxyXG4vLyB9XHJcblxyXG4vLyA9PT09PT09PT09IEBJTkNMVURFXHJcbi8vIC8vIE1vbnRzZXJyYXRcclxuLy8gQGluY2x1ZGUgZm9udC1mYWNlKE1vbnRzZXJyYXQsIE1vbnRzZXJyYXQtSGFpcmxpbmUsIDEwMCk7XHJcbi8vIEBpbmNsdWRlIGZvbnQtZmFjZShNb250c2VycmF0LCBNb250c2VycmF0LVVsdHJhTGlnaHQsIDIwMCk7XHJcbi8vIEBpbmNsdWRlIGZvbnQtZmFjZShNb250c2VycmF0LCBNb250c2VycmF0LUxpZ2h0LCAzMDApO1xyXG4vLyBAaW5jbHVkZSBmb250LWZhY2UoTW9udHNlcnJhdCwgTW9udHNlcnJhdC1SZWd1bGFyLCA1MDApO1xyXG4vLyBAaW5jbHVkZSBmb250LWZhY2UoTW9udHNlcnJhdCwgTW9udHNlcnJhdC1Cb2xkLCA3MDApO1xyXG4vLyBAaW5jbHVkZSBmb250LWZhY2UoTW9udHNlcnJhdCwgTW9udHNlcnJhdC1TZW1pQm9sZCwgNjAwKTtcclxuLy8gLy8gU291cmNlU2Fuc1xyXG4vLyBAaW5jbHVkZSBmb250LWZhY2UoU291cmNlU2VyaWZQcm8sIFNvdXJjZVNlcmlmUHJvLUV4dHJhTGlnaHQsIDEwMCk7XHJcbi8vIEBpbmNsdWRlIGZvbnQtZmFjZShTb3VyY2VTZXJpZlBybywgU291cmNlU2VyaWZQcm8tTGlnaHQsIDIwMCk7XHJcbi8vIEBpbmNsdWRlIGZvbnQtZmFjZShTb3VyY2VTZXJpZlBybywgU291cmNlU2VyaWZQcm8tUmVndWxhciwgNTAwKTtcclxuLy8gQGluY2x1ZGUgZm9udC1mYWNlKFNvdXJjZVNlcmlmUHJvLCBTb3VyY2VTZXJpZlByby1TZW1pYm9sZCwgNjAwKTtcclxuLy8gQGluY2x1ZGUgZm9udC1mYWNlKFNvdXJjZVNlcmlmUHJvLCBTb3VyY2VTZXJpZlByby1Cb2xkLCA3MDApO1xyXG4vLyBAaW5jbHVkZSBmb250LWZhY2UoU291cmNlU2VyaWZQcm8sIFNvdXJjZVNlcmlmUHJvLUJsYWNrLCA4MDApO1xyXG5cclxuXHJcblxyXG4vLyA9PT09PT09PT09IENsYXNzaWMgLSBieSBodHRwczovL2dvb2dsZS13ZWJmb250cy1oZWxwZXIuaGVyb2t1YXBwLmNvbS9cclxuXHJcbi8qIG1vbnRzZXJyYXQtMjAwIC0gbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC13ZWlnaHQ6IDIwMDtcclxuICBzcmM6IHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTIwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ01vbnRzZXJyYXQgRXh0cmFMaWdodCcpLCBsb2NhbCgnTW9udHNlcnJhdC1FeHRyYUxpZ2h0JyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi0yMDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tMjAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTIwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tMjAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTIwMC5zdmcjTW9udHNlcnJhdCcpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICAgfVxyXG5cclxuLyogbW9udHNlcnJhdC0zMDAgLSBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LXdlaWdodDogMzAwO1xyXG4gIHNyYzogdXJsKCcuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tMzAwLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcbiAgc3JjOiBsb2NhbCgnTW9udHNlcnJhdCBMaWdodCcpLCBsb2NhbCgnTW9udHNlcnJhdC1MaWdodCcpLFxyXG4gICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tMzAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTMwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi0zMDAud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTMwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi0zMDAuc3ZnI01vbnRzZXJyYXQnKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgIH1cclxuXHJcbi8qIG1vbnRzZXJyYXQtcmVndWxhciAtIGxhdGluICovXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi1yZWd1bGFyLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcbiAgc3JjOiBsb2NhbCgnTW9udHNlcnJhdCBSZWd1bGFyJyksIGxvY2FsKCdNb250c2VycmF0LVJlZ3VsYXInKSxcclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLXJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi1yZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi1yZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLXJlZ3VsYXIuc3ZnI01vbnRzZXJyYXQnKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgIH1cclxuXHJcbi8qIG1vbnRzZXJyYXQtNTAwIC0gbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuICBzcmM6IHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTUwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ01vbnRzZXJyYXQgTWVkaXVtJyksIGxvY2FsKCdNb250c2VycmF0LU1lZGl1bScpLFxyXG4gICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tNTAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTUwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi01MDAud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTUwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi01MDAuc3ZnI01vbnRzZXJyYXQnKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgIH1cclxuXHJcbi8qIG1vbnRzZXJyYXQtNjAwIC0gbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuICBzcmM6IHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTYwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ01vbnRzZXJyYXQgU2VtaUJvbGQnKSwgbG9jYWwoJ01vbnRzZXJyYXQtU2VtaUJvbGQnKSxcclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTYwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi02MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tNjAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi02MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tNjAwLnN2ZyNNb250c2VycmF0JykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gICB9XHJcblxyXG4vKiBtb250c2VycmF0LTcwMCAtIGxhdGluICovXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi03MDAuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICBzcmM6IGxvY2FsKCdNb250c2VycmF0IEJvbGQnKSwgbG9jYWwoJ01vbnRzZXJyYXQtQm9sZCcpLFxyXG4gICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tNzAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi03MDAud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTcwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi03MDAuc3ZnI01vbnRzZXJyYXQnKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgIH1cclxuXHJcbi8qIG1vbnRzZXJyYXQtODAwIC0gbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC13ZWlnaHQ6IDgwMDtcclxuICBzcmM6IHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTgwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ01vbnRzZXJyYXQgRXh0cmFCb2xkJyksIGxvY2FsKCdNb250c2VycmF0LUV4dHJhQm9sZCcpLFxyXG4gICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tODAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTgwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi04MDAud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTgwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi04MDAuc3ZnI01vbnRzZXJyYXQnKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgIH1cclxuXHJcbi8qIG1vbnRzZXJyYXQtOTAwIC0gbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuICBzcmM6IHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTkwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ01vbnRzZXJyYXQgQmxhY2snKSwgbG9jYWwoJ01vbnRzZXJyYXQtQmxhY2snKSxcclxuICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTkwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi05MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tOTAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi05MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tOTAwLnN2ZyNNb250c2VycmF0JykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gICB9XHJcblxyXG5cclxuXHJcblxyXG4vKiB0aXRpbGxpdW0td2ViLTMwMCAtIGxhdGluICovXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYic7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTMwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ1RpdGlsbGl1bSBXZWJMaWdodCcpLCBsb2NhbCgnVGl0aWxsaXVtV2ViLUxpZ2h0JyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTMwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTMwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTMwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi0zMDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi0zMDAuc3ZnI1RpdGlsbGl1bVdlYicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICAgfVxyXG5cclxuLyogdGl0aWxsaXVtLXdlYi1yZWd1bGFyIC0gbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdUaXRpbGxpdW0gV2ViJztcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuICBzcmM6IHVybCgnLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tcmVndWxhci5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ1RpdGlsbGl1bSBXZWInKSwgbG9jYWwoJ1RpdGlsbGl1bVdlYi1SZWd1bGFyJyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLXJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi1yZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tcmVndWxhci5zdmcjVGl0aWxsaXVtV2ViJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gICB9XHJcblxyXG4vKiB0aXRpbGxpdW0td2ViLTYwMCAtIGxhdGluICovXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYic7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTYwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ1RpdGlsbGl1bSBXZWJTZW1pQm9sZCcpLCBsb2NhbCgnVGl0aWxsaXVtV2ViLVNlbWlCb2xkJyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTYwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTYwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTYwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi02MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi02MDAuc3ZnI1RpdGlsbGl1bVdlYicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICAgfVxyXG5cclxuLyogdGl0aWxsaXVtLXdlYi03MDAgLSBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ1RpdGlsbGl1bSBXZWInO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG4gIHNyYzogdXJsKCcuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi03MDAuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICBzcmM6IGxvY2FsKCdUaXRpbGxpdW0gV2ViQm9sZCcpLCBsb2NhbCgnVGl0aWxsaXVtV2ViLUJvbGQnKSxcclxuICAgICAgIHVybCgnLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tNzAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tNzAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTcwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTcwMC5zdmcjVGl0aWxsaXVtV2ViJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gICB9XHJcblxyXG4vKiB0aXRpbGxpdW0td2ViLTkwMCAtIGxhdGluICovXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYic7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTkwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ1RpdGlsbGl1bSBXZWJCbGFjaycpLCBsb2NhbCgnVGl0aWxsaXVtV2ViLUJsYWNrJyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTkwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTkwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTkwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi05MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi05MDAuc3ZnI1RpdGlsbGl1bVdlYicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICAgfVxyXG5cclxuXHJcbi8qIHNvdXJjZS1zZXJpZi1wcm8tcmVndWxhciAtIGxhdGluICovXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnU291cmNlU2VyaWZQcm8nO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG4gIHNyYzogdXJsKCcuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLXJlZ3VsYXIuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICBzcmM6IGxvY2FsKCdTb3VyY2UgU2VyaWYgUHJvJyksIGxvY2FsKCdTb3VyY2VTZXJpZlByby1SZWd1bGFyJyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tcmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLXJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLXJlZ3VsYXIuc3ZnI1NvdXJjZVNlcmlmUHJvJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gICB9XHJcblxyXG4vKiBzb3VyY2Utc2VyaWYtcHJvLTYwMCAtIGxhdGluICovXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnU291cmNlU2VyaWZQcm8nO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG4gIHNyYzogdXJsKCcuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLTYwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gIHNyYzogbG9jYWwoJ1NvdXJjZSBTZXJpZiBQcm8gU2VtaWJvbGQnKSwgbG9jYWwoJ1NvdXJjZVNlcmlmUHJvLVNlbWlib2xkJyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tNjAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvc291cmNlLXNlcmlmc291cmNlLXNlcmlmLXByby12NC1sYXRpbi02MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLTYwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLTYwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tNjAwLnN2ZyNTb3VyY2VTZXJpZlBybycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICAgfVxyXG5cclxuLyogc291cmNlLXNlcmlmLXByby03MDAgLSBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ1NvdXJjZVNlcmlmUHJvJztcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuICBzcmM6IHVybCgnLi4vZm9udHMvc291cmNlLXNlcmlmc291cmNlLXNlcmlmLXByby12NC1sYXRpbi03MDAuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICBzcmM6IGxvY2FsKCdTb3VyY2UgU2VyaWYgUHJvIEJvbGQnKSwgbG9jYWwoJ1NvdXJjZVNlcmlmUHJvLUJvbGQnKSxcclxuICAgICAgIHVybCgnLi4vZm9udHMvc291cmNlLXNlcmlmc291cmNlLXNlcmlmLXByby12NC1sYXRpbi03MDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG4gICAgICAgdXJsKCcuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tNzAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tNzAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuICAgICAgIHVybCgnLi4vZm9udHMvc291cmNlLXNlcmlmc291cmNlLXNlcmlmLXByby12NC1sYXRpbi03MDAuc3ZnI1NvdXJjZVNlcmlmUHJvJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gICB9XHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8gSWNvbW9vblxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ2ljb21vb24nO1xyXG5cdHNyYzogIHVybCgnLi4vZm9udHMvaWNvbW9vbi5lb3Q/bjhmbGF2Jyk7XHJcblx0c3JjOiAgdXJsKCcuLi9mb250cy9pY29tb29uLmVvdD9uOGZsYXYjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0dXJsKCcuLi9mb250cy9pY29tb29uLnR0Zj9uOGZsYXYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcblx0dXJsKCcuLi9mb250cy9pY29tb29uLndvZmY/bjhmbGF2JykgZm9ybWF0KCd3b2ZmJyksXHJcblx0dXJsKCcuLi9mb250cy9pY29tb29uLnN2Zz9uOGZsYXYjaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XHJcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cclxuICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XHJcbiAgc3BlYWs6IG5vbmU7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcblxyXG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbi5pY29uLWljby11eDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlOTA5XCI7XHJcbn1cclxuLmljb24tbG9nby0za2Rlc2lnbjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlOTEyXCI7XHJcbn1cclxuLmljb24taWNvLWJlaGFuY2U6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTkwMFwiO1xyXG59XHJcbi5pY29uLWljby1ib29zdHJhdmVsOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MDFcIjtcclxufVxyXG4uaWNvbi1pY28tYnVyZ2VyOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MDJcIjtcclxufVxyXG4uaWNvbi1pY28tY2l0eWRyaXZlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MDNcIjtcclxufVxyXG4uaWNvbi1pY28tY29uc3VsdGluZzpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlOTA0XCI7XHJcbn1cclxuLmljb24taWNvLWRldmVsb3BtZW50OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MDVcIjtcclxufVxyXG4uaWNvbi1pY28tZHJpYmJibGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTkwNlwiO1xyXG59XHJcbi5pY29uLWljby1HZW1hbHRvOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MDdcIjtcclxufVxyXG4uaWNvbi1pY28tbGlua2VkaW46YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTkwOFwiO1xyXG59XHJcbi5pY29uLWljby1tZXRlb2ZyYW5jZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlOTBhXCI7XHJcbn1cclxuLmljb24taWNvLW9yYW5nZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlOTBiXCI7XHJcbn1cclxuLmljb24taWNvLW90b3JpbTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlOTBjXCI7XHJcbn1cclxuLmljb24taWNvLXBldWdlb3Q6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTkwZFwiO1xyXG59XHJcbi5pY29uLWljby1wbHVzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MGVcIjtcclxufVxyXG4uaWNvbi1pY28tcHVibGljaXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTkwZlwiO1xyXG59XHJcbi5pY29uLWljby10d2l0dGVyOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MTBcIjtcclxufVxyXG4uaWNvbi1pY28td2ViZGVzaWduOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MTFcIjtcclxufVxyXG5cclxuIiwiLyoqXG4gKiBPd2wgQ2Fyb3VzZWwgdjIuMi4wXG4gKiBDb3B5cmlnaHQgMjAxMy0yMDE2IERhdmlkIERldXRzY2hcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL093bENhcm91c2VsMi9Pd2xDYXJvdXNlbDIvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuLm93bC1jYXJvdXNlbCwgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHtcbiAgY29udGVudDogXCIuXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgbWluLWhlaWdodDogMXB4O1xuICBmbG9hdDogbGVmdDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtZG90cy5kaXNhYmxlZCwgLm93bC1jYXJvdXNlbCAub3dsLW5hdi5kaXNhYmxlZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm5vLWpzIC5vd2wtY2Fyb3VzZWwsIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1kb3QsIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LCAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtcHJldiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiBoYW5kO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZyB7XG4gIG9wYWNpdHk6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWdyYWIge1xuICBjdXJzb3I6IG1vdmU7XG4gIGN1cnNvcjogZ3JhYjsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVtIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5vd2wtY2Fyb3VzZWwgLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLWluIHtcbiAgei1pbmRleDogMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0IHtcbiAgei1pbmRleDogMTsgfVxuXG4ub3dsLWNhcm91c2VsIC5mYWRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5vd2wtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IC41cyBlYXNlLWluLW91dDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenkge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZy5vd2wtbGF6eSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogODBweDtcbiAgd2lkdGg6IDgwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgbWFyZ2luLXRvcDogLTQwcHg7XG4gIGJhY2tncm91bmQ6IHVybChvd2wudmlkZW8ucGxheS5wbmcpIG5vLXJlcGVhdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiwgLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10biB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRuIHtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLWZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qKlxuICogT3dsIENhcm91c2VsIHYyLjIuMFxuICogQ29weXJpZ2h0IDIwMTMtMjAxNiBEYXZpZCBEZXV0c2NoXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9Pd2xDYXJvdXNlbDIvT3dsQ2Fyb3VzZWwyL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKi9cbi5vd2wtdGhlbWUgLm93bC1kb3RzLCAub3dsLXRoZW1lIC5vd2wtbmF2IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5vd2wtdGhlbWUgLm93bC1uYXYge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5vd2wtdGhlbWUgLm93bC1uYXYgW2NsYXNzKj1vd2wtXSB7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbjogNXB4O1xuICBwYWRkaW5nOiA0cHggN3B4O1xuICBiYWNrZ3JvdW5kOiAjRDZENkQ2O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5vd2wtdGhlbWUgLm93bC1uYXYgW2NsYXNzKj1vd2wtXTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4Njk3OTE7XG4gIGNvbG9yOiAjRkZGO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLm93bC10aGVtZSAub3dsLW5hdiAuZGlzYWJsZWQge1xuICBvcGFjaXR5OiAuNTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5vd2wtdGhlbWUgLm93bC1uYXYuZGlzYWJsZWQgKyAub3dsLWRvdHMge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB6b29tOiAxOyB9XG5cbi5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90IHNwYW4ge1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW46IDVweCA3cHg7XG4gIGJhY2tncm91bmQ6ICNENkQ2RDY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7IH1cblxuLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4sIC5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90OmhvdmVyIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiAjODY5NzkxOyB9XG5cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjMuMFxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qIG1vbnRzZXJyYXQtMjAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTIwMC5lb3RcIik7XG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiBsb2NhbChcIk1vbnRzZXJyYXQgRXh0cmFMaWdodFwiKSwgbG9jYWwoXCJNb250c2VycmF0LUV4dHJhTGlnaHRcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi0yMDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTIwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTIwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi0yMDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tMjAwLnN2ZyNNb250c2VycmF0XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgLyogTGVnYWN5IGlPUyAqLyB9XG5cbi8qIG1vbnRzZXJyYXQtMzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTMwMC5lb3RcIik7XG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiBsb2NhbChcIk1vbnRzZXJyYXQgTGlnaHRcIiksIGxvY2FsKFwiTW9udHNlcnJhdC1MaWdodFwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTMwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tMzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tMzAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTMwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi0zMDAuc3ZnI01vbnRzZXJyYXRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAvKiBMZWdhY3kgaU9TICovIH1cblxuLyogbW9udHNlcnJhdC1yZWd1bGFyIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLXJlZ3VsYXIuZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogbG9jYWwoXCJNb250c2VycmF0IFJlZ3VsYXJcIiksIGxvY2FsKFwiTW9udHNlcnJhdC1SZWd1bGFyXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tcmVndWxhci5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tcmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi1yZWd1bGFyLnN2ZyNNb250c2VycmF0XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgLyogTGVnYWN5IGlPUyAqLyB9XG5cbi8qIG1vbnRzZXJyYXQtNTAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTUwMC5lb3RcIik7XG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiBsb2NhbChcIk1vbnRzZXJyYXQgTWVkaXVtXCIpLCBsb2NhbChcIk1vbnRzZXJyYXQtTWVkaXVtXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tNTAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi01MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi01MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tNTAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTUwMC5zdmcjTW9udHNlcnJhdFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIC8qIExlZ2FjeSBpT1MgKi8gfVxuXG4vKiBtb250c2VycmF0LTYwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi02MDAuZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogbG9jYWwoXCJNb250c2VycmF0IFNlbWlCb2xkXCIpLCBsb2NhbChcIk1vbnRzZXJyYXQtU2VtaUJvbGRcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi02MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTYwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTYwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi02MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tNjAwLnN2ZyNNb250c2VycmF0XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgLyogTGVnYWN5IGlPUyAqLyB9XG5cbi8qIG1vbnRzZXJyYXQtNzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTcwMC5lb3RcIik7XG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiBsb2NhbChcIk1vbnRzZXJyYXQgQm9sZFwiKSwgbG9jYWwoXCJNb250c2VycmF0LUJvbGRcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi03MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTcwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi03MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tNzAwLnN2ZyNNb250c2VycmF0XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgLyogTGVnYWN5IGlPUyAqLyB9XG5cbi8qIG1vbnRzZXJyYXQtODAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTgwMC5lb3RcIik7XG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiBsb2NhbChcIk1vbnRzZXJyYXQgRXh0cmFCb2xkXCIpLCBsb2NhbChcIk1vbnRzZXJyYXQtRXh0cmFCb2xkXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tODAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi04MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi04MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tODAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTgwMC5zdmcjTW9udHNlcnJhdFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIC8qIExlZ2FjeSBpT1MgKi8gfVxuXG4vKiBtb250c2VycmF0LTkwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi05MDAuZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogbG9jYWwoXCJNb250c2VycmF0IEJsYWNrXCIpLCBsb2NhbChcIk1vbnRzZXJyYXQtQmxhY2tcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi05MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTkwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdG1vbnRzZXJyYXQtdjEwLWxhdGluLTkwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXRtb250c2VycmF0LXYxMC1sYXRpbi05MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0bW9udHNlcnJhdC12MTAtbGF0aW4tOTAwLnN2ZyNNb250c2VycmF0XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgLyogTGVnYWN5IGlPUyAqLyB9XG5cbi8qIHRpdGlsbGl1bS13ZWItMzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1RpdGlsbGl1bSBXZWInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tMzAwLmVvdFwiKTtcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IGxvY2FsKFwiVGl0aWxsaXVtIFdlYkxpZ2h0XCIpLCBsb2NhbChcIlRpdGlsbGl1bVdlYi1MaWdodFwiKSwgdXJsKFwiLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tMzAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTMwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tMzAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tMzAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tMzAwLnN2ZyNUaXRpbGxpdW1XZWJcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAvKiBMZWdhY3kgaU9TICovIH1cblxuLyogdGl0aWxsaXVtLXdlYi1yZWd1bGFyIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1RpdGlsbGl1bSBXZWInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tcmVndWxhci5lb3RcIik7XG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiBsb2NhbChcIlRpdGlsbGl1bSBXZWJcIiksIGxvY2FsKFwiVGl0aWxsaXVtV2ViLVJlZ3VsYXJcIiksIHVybChcIi4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLXJlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tcmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLXJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi1yZWd1bGFyLnN2ZyNUaXRpbGxpdW1XZWJcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAvKiBMZWdhY3kgaU9TICovIH1cblxuLyogdGl0aWxsaXVtLXdlYi02MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi02MDAuZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogbG9jYWwoXCJUaXRpbGxpdW0gV2ViU2VtaUJvbGRcIiksIGxvY2FsKFwiVGl0aWxsaXVtV2ViLVNlbWlCb2xkXCIpLCB1cmwoXCIuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi02MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tNjAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi02MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi02MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi02MDAuc3ZnI1RpdGlsbGl1bVdlYlwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIC8qIExlZ2FjeSBpT1MgKi8gfVxuXG4vKiB0aXRpbGxpdW0td2ViLTcwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdUaXRpbGxpdW0gV2ViJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTcwMC5lb3RcIik7XG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiBsb2NhbChcIlRpdGlsbGl1bSBXZWJCb2xkXCIpLCBsb2NhbChcIlRpdGlsbGl1bVdlYi1Cb2xkXCIpLCB1cmwoXCIuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi03MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvdGl0aWxsaXVtL3RpdGlsbGl1bS13ZWItdjQtbGF0aW4tNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi03MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi03MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi03MDAuc3ZnI1RpdGlsbGl1bVdlYlwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIC8qIExlZ2FjeSBpT1MgKi8gfVxuXG4vKiB0aXRpbGxpdW0td2ViLTkwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdUaXRpbGxpdW0gV2ViJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTkwMC5lb3RcIik7XG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiBsb2NhbChcIlRpdGlsbGl1bSBXZWJCbGFja1wiKSwgbG9jYWwoXCJUaXRpbGxpdW1XZWItQmxhY2tcIiksIHVybChcIi4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTkwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy90aXRpbGxpdW0vdGl0aWxsaXVtLXdlYi12NC1sYXRpbi05MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTkwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTkwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3RpdGlsbGl1bS90aXRpbGxpdW0td2ViLXY0LWxhdGluLTkwMC5zdmcjVGl0aWxsaXVtV2ViXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgLyogTGVnYWN5IGlPUyAqLyB9XG5cbi8qIHNvdXJjZS1zZXJpZi1wcm8tcmVndWxhciAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdTb3VyY2VTZXJpZlBybyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLXJlZ3VsYXIuZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogbG9jYWwoXCJTb3VyY2UgU2VyaWYgUHJvXCIpLCBsb2NhbChcIlNvdXJjZVNlcmlmUHJvLVJlZ3VsYXJcIiksIHVybChcIi4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tcmVndWxhci5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tcmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tcmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tcmVndWxhci5zdmcjU291cmNlU2VyaWZQcm9cIikgZm9ybWF0KFwic3ZnXCIpO1xuICAvKiBMZWdhY3kgaU9TICovIH1cblxuLyogc291cmNlLXNlcmlmLXByby02MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnU291cmNlU2VyaWZQcm8nO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvc291cmNlLXNlcmlmc291cmNlLXNlcmlmLXByby12NC1sYXRpbi02MDAuZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogbG9jYWwoXCJTb3VyY2UgU2VyaWYgUHJvIFNlbWlib2xkXCIpLCBsb2NhbChcIlNvdXJjZVNlcmlmUHJvLVNlbWlib2xkXCIpLCB1cmwoXCIuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLTYwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLTYwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvc291cmNlLXNlcmlmc291cmNlLXNlcmlmLXByby12NC1sYXRpbi02MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLTYwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tNjAwLnN2ZyNTb3VyY2VTZXJpZlByb1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIC8qIExlZ2FjeSBpT1MgKi8gfVxuXG4vKiBzb3VyY2Utc2VyaWYtcHJvLTcwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdTb3VyY2VTZXJpZlBybyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLTcwMC5lb3RcIik7XG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiBsb2NhbChcIlNvdXJjZSBTZXJpZiBQcm8gQm9sZFwiKSwgbG9jYWwoXCJTb3VyY2VTZXJpZlByby1Cb2xkXCIpLCB1cmwoXCIuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLTcwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvc291cmNlLXNlcmlmc291cmNlLXNlcmlmLXByby12NC1sYXRpbi03MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9zb3VyY2Utc2VyaWZzb3VyY2Utc2VyaWYtcHJvLXY0LWxhdGluLTcwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3NvdXJjZS1zZXJpZnNvdXJjZS1zZXJpZi1wcm8tdjQtbGF0aW4tNzAwLnN2ZyNTb3VyY2VTZXJpZlByb1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIC8qIExlZ2FjeSBpT1MgKi8gfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29tb29uLmVvdD9uOGZsYXZcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbW9vbi5lb3Q/bjhmbGF2I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pY29tb29uLnR0Zj9uOGZsYXZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ljb21vb24ud29mZj9uOGZsYXZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbW9vbi5zdmc/bjhmbGF2I2ljb21vb25cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmljb24taWNvLXV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA5XCI7IH1cblxuLmljb24tbG9nby0za2Rlc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMlwiOyB9XG5cbi5pY29uLWljby1iZWhhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7IH1cblxuLmljb24taWNvLWJvb3N0cmF2ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDFcIjsgfVxuXG4uaWNvbi1pY28tYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7IH1cblxuLmljb24taWNvLWNpdHlkcml2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiOyB9XG5cbi5pY29uLWljby1jb25zdWx0aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7IH1cblxuLmljb24taWNvLWRldmVsb3BtZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA1XCI7IH1cblxuLmljb24taWNvLWRyaWJiYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7IH1cblxuLmljb24taWNvLUdlbWFsdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjsgfVxuXG4uaWNvbi1pY28tbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDhcIjsgfVxuXG4uaWNvbi1pY28tbWV0ZW9mcmFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGFcIjsgfVxuXG4uaWNvbi1pY28tb3JhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBiXCI7IH1cblxuLmljb24taWNvLW90b3JpbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwY1wiOyB9XG5cbi5pY29uLWljby1wZXVnZW90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBkXCI7IH1cblxuLmljb24taWNvLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGVcIjsgfVxuXG4uaWNvbi1pY28tcHVibGljaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGZcIjsgfVxuXG4uaWNvbi1pY28tdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMFwiOyB9XG5cbi5pY29uLWljby13ZWJkZXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTFcIjsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGUtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlLW91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZS1mcm9tLXJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFlbSkgdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlLWZyb20tbGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMWVtKSB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGUtZnJvbS10b3Age1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgtMWVtKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlLWZyb20tYm90dG9tIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMWVtKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZS1oIHtcbiAgMCUge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgd2lkdGg6IDA7IH1cbiAgMzAlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIDcwJSB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZS12IHtcbiAgMCUge1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5Aa2V5ZnJhbWVzIGNvbnRhY3QtbW9kYWwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoLTFlbSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGNvbnRhY3QtbW9kYWwtb2ZmIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDFlbSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHRlbGVwb3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMDBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzUwcHgpOyB9IH1cblxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBIb21lICAgICAgICAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXG5Aa2V5ZnJhbWVzIGhlYWRlci14bGFyZ2Uge1xuICAwJSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgd2lkdGg6IDA7IH1cbiAgNDAlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIDYwJSB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAyOSU7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhlYWRlci1sYXJnZSB7XG4gIDAlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogMDsgfVxuICA0MCUge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgNjAlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDMzJTsgfSB9XG5cbkBrZXlmcmFtZXMgaGVhZGVyLW1lZGl1bSB7XG4gIDAlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogMDsgfVxuICA0MCUge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgNjAlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDI5JTsgfSB9XG5cbkBrZXlmcmFtZXMgaGVhZGVyLXNtYWxsIHtcbiAgMCUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHdpZHRoOiAwOyB9XG4gIDQwJSB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICA2MCUge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgMTAwJSB7XG4gICAgbGVmdDogMCU7XG4gICAgd2lkdGg6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGN0YS10ZXh0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xZW0pIHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbj09PT09PT09PT09PT09PT09PT09PT0gQm9vc3RyYXZlbCAgICAgICAgICAgIFx0XHRcdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xuQGtleWZyYW1lcyBjbG91ZDEge1xuICAwJSB7XG4gICAgdG9wOiAtNjAwcHg7XG4gICAgbGVmdDogMzUlOyB9XG4gIDEwMCUge1xuICAgIHRvcDogLTEwMHB4O1xuICAgIGxlZnQ6IC0xMDAwcHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGNsb3VkMiB7XG4gIDAlIHtcbiAgICB0b3A6IC05MDBweDtcbiAgICBsZWZ0OiAzMCU7IH1cbiAgMTAwJSB7XG4gICAgdG9wOiAtNDAwcHg7XG4gICAgbGVmdDogLTEwMDBweDsgfSB9XG5cbkBrZXlmcmFtZXMgY2xvdWQzIHtcbiAgMCUge1xuICAgIHRvcDogLTQwMHB4O1xuICAgIGxlZnQ6IDgyJTsgfVxuICAxMDAlIHtcbiAgICB0b3A6IDIwMHB4O1xuICAgIGxlZnQ6IC04MDBweDsgfSB9XG5cbkBrZXlmcmFtZXMgY2xvdWQ0IHtcbiAgMCUge1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgMTAwJSB7XG4gICAgdG9wOiA1MDBweDtcbiAgICBsZWZ0OiAtMTAwMHB4OyB9IH1cblxuQGtleWZyYW1lcyBwbGFuZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHJvdGF0ZSgtMjVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KSByb3RhdGUoLTI1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgcGxhbmUtc2hhZG93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzNXB4KSBzY2FsZSgwLjgpIHJvdGF0ZSgtMjVkZWcpIHRyYW5zbGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMC4xOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KSBzY2FsZSgxKSByb3RhdGUoLTI1ZGVnKSB0cmFuc2xhdGVaKDApO1xuICAgIG9wYWNpdHk6IDAuMjsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqXG4gKkNTUyBBbmltYXRpb25zIGJ5OlxuICpodHRwOi8vY29kZXBlbi5pby92aXZpbmFudG9ueVxuKioqKioqKioqKioqKioqKioqKioqKiovXG4uc3Bpbm5lcjEge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmRvdWJsZS1ib3VuY2UxLCAuZG91YmxlLWJvdW5jZTIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG9wYWNpdHk6IDAuNjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBib3VuY2UgMi4wcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uOiBib3VuY2UgMi4wcyBpbmZpbml0ZSBlYXNlLWluLW91dDsgfVxuXG4uZG91YmxlLWJvdW5jZTIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTEuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogLTEuMHM7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuLnNwaW5uZXIyIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jb250YWluZXIxID4gZGl2LCAuY29udGFpbmVyMiA+IGRpdiwgLmNvbnRhaW5lcjMgPiBkaXYge1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogYm91bmNlZGVsYXkgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uOiBib3VuY2VkZWxheSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICAvKiBQcmV2ZW50IGZpcnN0IGZyYW1lIGZyb20gZmxpY2tlcmluZyB3aGVuIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5zcGlubmVyMiAuc3Bpbm5lci1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmNvbnRhaW5lcjIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7IH1cblxuLmNvbnRhaW5lcjMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWig5MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlWig5MGRlZyk7IH1cblxuLmNpcmNsZTEge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuLmNpcmNsZTIge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi5jaXJjbGUzIHtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4uY2lyY2xlNCB7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4uY29udGFpbmVyMiAuY2lyY2xlMSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMS4xcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMS4xczsgfVxuXG4uY29udGFpbmVyMyAuY2lyY2xlMSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMS4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMS4wczsgfVxuXG4uY29udGFpbmVyMSAuY2lyY2xlMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC45cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC45czsgfVxuXG4uY29udGFpbmVyMiAuY2lyY2xlMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC44cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC44czsgfVxuXG4uY29udGFpbmVyMyAuY2lyY2xlMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC43cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC43czsgfVxuXG4uY29udGFpbmVyMSAuY2lyY2xlMyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC42cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC42czsgfVxuXG4uY29udGFpbmVyMiAuY2lyY2xlMyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC41czsgfVxuXG4uY29udGFpbmVyMyAuY2lyY2xlMyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC40cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC40czsgfVxuXG4uY29udGFpbmVyMSAuY2lyY2xlNCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4zcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zczsgfVxuXG4uY29udGFpbmVyMiAuY2lyY2xlNCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4ycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC4yczsgfVxuXG4uY29udGFpbmVyMyAuY2lyY2xlNCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4xcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC4xczsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlZGVsYXkge1xuICAwJSwgODAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZWRlbGF5IHtcbiAgMCUsIDgwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5zcGlubmVyMyB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZSAyLjBzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiByb3RhdGUgMi4wcyBpbmZpbml0ZSBsaW5lYXI7IH1cblxuLmRvdDEsIC5kb3QyIHtcbiAgd2lkdGg6IDYwJTtcbiAgaGVpZ2h0OiA2MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBib3VuY2UgMi4wcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uOiBib3VuY2UgMi4wcyBpbmZpbml0ZSBlYXNlLWluLW91dDsgfVxuXG4uZG90MiB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMS4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMS4wczsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5zcGlubmVyNCB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVwbGFuZSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb246IHJvdGF0ZXBsYW5lIDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZXBsYW5lIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMjBweCk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVkoMTgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVkoMTgwZGVnKSByb3RhdGVYKDE4MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZXBsYW5lIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoMGRlZykgcm90YXRlWSgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoMGRlZykgcm90YXRlWSgwZGVnKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoLTE4MC4xZGVnKSByb3RhdGVZKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMjBweCkgcm90YXRlWCgtMTgwLjFkZWcpIHJvdGF0ZVkoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMjBweCkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKC0xNzkuOWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE3OS45ZGVnKTsgfSB9XG5cbi5zcGlubmVyNSB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY3ViZTEsIC5jdWJlMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICAtd2Via2l0LWFuaW1hdGlvbjogY3ViZW1vdmUgMS44cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uOiBjdWJlbW92ZSAxLjhzIGluZmluaXRlIGVhc2UtaW4tb3V0OyB9XG5cbi5jdWJlMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC45cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC45czsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgY3ViZW1vdmUge1xuICAyNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQycHgpIHJvdGF0ZSgtOTBkZWcpIHNjYWxlKDAuNSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MnB4KSB0cmFuc2xhdGVZKDQycHgpIHJvdGF0ZSgtMTgwZGVnKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgdHJhbnNsYXRlWSg0MnB4KSByb3RhdGUoLTI3MGRlZykgc2NhbGUoMC41KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBjdWJlbW92ZSB7XG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQycHgpIHJvdGF0ZSgtOTBkZWcpIHNjYWxlKDAuNSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDJweCkgcm90YXRlKC05MGRlZykgc2NhbGUoMC41KTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MnB4KSB0cmFuc2xhdGVZKDQycHgpIHJvdGF0ZSgtMTc5ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MnB4KSB0cmFuc2xhdGVZKDQycHgpIHJvdGF0ZSgtMTc5ZGVnKTsgfVxuICA1MC4xJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQycHgpIHRyYW5zbGF0ZVkoNDJweCkgcm90YXRlKC0xODBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQycHgpIHRyYW5zbGF0ZVkoNDJweCkgcm90YXRlKC0xODBkZWcpOyB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgdHJhbnNsYXRlWSg0MnB4KSByb3RhdGUoLTI3MGRlZykgc2NhbGUoMC41KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHRyYW5zbGF0ZVkoNDJweCkgcm90YXRlKC0yNzBkZWcpIHNjYWxlKDAuNSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTsgfSB9XG5cbi5zcGlubmVyNiB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc3Bpbm5lcjYgPiBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiA2cHg7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC1hbmltYXRpb246IHN0cmV0Y2hkZWxheSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb246IHN0cmV0Y2hkZWxheSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0OyB9XG5cbi5zcGlubmVyNiAucmVjdDIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTEuMXM7XG4gIGFuaW1hdGlvbi1kZWxheTogLTEuMXM7IH1cblxuLnNwaW5uZXI2IC5yZWN0MyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMS4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMS4wczsgfVxuXG4uc3Bpbm5lcjYgLnJlY3Q0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjlzO1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjlzOyB9XG5cbi5zcGlubmVyNiAucmVjdDUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuOHM7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuOHM7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN0cmV0Y2hkZWxheSB7XG4gIDAlLCA0MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMC40KTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN0cmV0Y2hkZWxheSB7XG4gIDAlLCA0MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDAuNCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwLjQpOyB9XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTsgfSB9XG5cbi5zcGlubmVyNyB7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc3Bpbm5lcjcgPiBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxNXB4O1xuICBtYXJnaW4tbGVmdDogM3B4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC1hbmltYXRpb246IHN0cmV0Y2hkZWxheSAwLjdzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb246IHN0cmV0Y2hkZWxheSAwLjdzIGluZmluaXRlIGVhc2UtaW4tb3V0OyB9XG5cbi5zcGlubmVyNyAuY2lyYzIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuNnM7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuNnM7IH1cblxuLnNwaW5uZXI3IC5jaXJjMyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC41czsgfVxuXG4uc3Bpbm5lcjcgLmNpcmM0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjRzO1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjRzOyB9XG5cbi5zcGlubmVyNyAuY2lyYzUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuM3M7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuM3M7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN0cmV0Y2hkZWxheSB7XG4gIDAlLCA0MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgc3RyZXRjaGRlbGF5IHtcbiAgMCUsIDQwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfSB9XG5cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuaDEsIC5jcy1jb250YWN0LW1vZGFsIGgzLCAuY3MtbWVudS1tb2RhbCBoMyB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJnhzbWFsbD0zMGVtJm1lZGl1bT00MGVtJnhtZWRpdW09NTIuNWVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtJnh4eGxhcmdlPTEwMGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogMTIwcmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIuNWVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5yb3cuaXMtY29sbGFwc2UtY2hpbGQsXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyxcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zID4gLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICBtaW4td2lkdGg6IGluaXRpYWw7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbi5zbWFsbC0xIHtcbiAgZmxleDogMCAwIDQuMTY2NjclO1xuICBtYXgtd2lkdGg6IDQuMTY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogNC4xNjY2NyU7IH1cblxuLnNtYWxsLTMge1xuICBmbGV4OiAwIDAgMTIuNSU7XG4gIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDEyLjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDIwLjgzMzMzJTtcbiAgbWF4LXdpZHRoOiAyMC44MzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiAyMC44MzMzMyU7IH1cblxuLnNtYWxsLTcge1xuICBmbGV4OiAwIDAgMjkuMTY2NjclO1xuICBtYXgtd2lkdGg6IDI5LjE2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDI5LjE2NjY3JTsgfVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCAzNy41JTtcbiAgbWF4LXdpZHRoOiAzNy41JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiAzNy41JTsgfVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgNDUuODMzMzMlO1xuICBtYXgtd2lkdGg6IDQ1LjgzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtMTIsIC5jcy1sb2dvIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA0NS44MzMzMyU7IH1cblxuLnNtYWxsLTEzIHtcbiAgZmxleDogMCAwIDU0LjE2NjY3JTtcbiAgbWF4LXdpZHRoOiA1NC4xNjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLnNtYWxsLTE0IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMyB7XG4gIG1hcmdpbi1sZWZ0OiA1NC4xNjY2NyU7IH1cblxuLnNtYWxsLTE1IHtcbiAgZmxleDogMCAwIDYyLjUlO1xuICBtYXgtd2lkdGg6IDYyLjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTQge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC0xNiwgLnVpIC5hc3NldHMgLmNvbG9ycyAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTUge1xuICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cblxuLnNtYWxsLTE3IHtcbiAgZmxleDogMCAwIDcwLjgzMzMzJTtcbiAgbWF4LXdpZHRoOiA3MC44MzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0xNiB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTE4LCAudWkgLmFzc2V0cyAuZm9udHMge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTE3IHtcbiAgbWFyZ2luLWxlZnQ6IDcwLjgzMzMzJTsgfVxuXG4uc21hbGwtMTkge1xuICBmbGV4OiAwIDAgNzkuMTY2NjclO1xuICBtYXgtd2lkdGg6IDc5LjE2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTE4IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMjAge1xuICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTE5IHtcbiAgbWFyZ2luLWxlZnQ6IDc5LjE2NjY3JTsgfVxuXG4uc21hbGwtMjEge1xuICBmbGV4OiAwIDAgODcuNSU7XG4gIG1heC13aWR0aDogODcuNSU7IH1cblxuLnNtYWxsLW9mZnNldC0yMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTIyIHtcbiAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0yMSB7XG4gIG1hcmdpbi1sZWZ0OiA4Ny41JTsgfVxuXG4uc21hbGwtMjMge1xuICBmbGV4OiAwIDAgOTUuODMzMzMlO1xuICBtYXgtd2lkdGg6IDk1LjgzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIyIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtMjQsIC5jcy1wcm9maWwsIC5jcy1wcm9maWwgLnF1b3RlLTAxLmFjdGl2ZSwgLmNzLXByb2ZpbCAucXVvdGUtMDIuYWN0aXZlLCAuY3MtcHJvZmlsIC5xdW90ZS0wMy5hY3RpdmUsIC5jcy1wcm9maWwgLnF1b3RlLTA0LmFjdGl2ZSwgLmNzLXByb2ZpbCAucXVvdGUtZW5kLmFjdGl2ZSwgLmNzLWludHJvIC5jcy1kZXZpY2VzLCAuY3MtaW50cm8gLmNzLWRldmljZXMtbW9iaWxlLCAuc2tpbGxzIC5jb25zdWx0aW5nLCAuc2tpbGxzIC53ZWJkZXNpZ24sIC5za2lsbHMgLmRldmVsb3BtZW50LCAuY2xpZW50cyAuYmxvY2stbG9nb3MsIC5jbGllbnRzIC5yZXZpZXdzLCAuY2xpZW50cyAucmV2aWV3cyAuYXZhdGFyLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWJvb3N0cmF2ZWwsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3Mtb3RvcmltLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSwgLmJzLWRldGFpbCwgLmJzLW1hZ2F6aW5lIC50ZXh0LCAuYnMtc2tpbGxzIC5za2lsbC1saXN0LCAuYnMtc2tpbGxzIC5za2lsbC1saXN0IHVsIC5jb2x1bW5zLCAudWkgLmFzc2V0cyAuY29sb3JzIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIzIHtcbiAgbWFyZ2luLWxlZnQ6IDk1LjgzMzMzJTsgfVxuXG4uc21hbGwtb3JkZXItMSwgLmNzLXNsaWRlLCAuYnMtdmlzdWFsIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIsIC5jcy1wcm9maWwsIC5icy1kZXRhaWwge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbi5zbWFsbC11cC0xIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC54c21hbGwtMSB7XG4gICAgZmxleDogMCAwIDQuMTY2NjclO1xuICAgIG1heC13aWR0aDogNC4xNjY2NyU7IH1cbiAgLnhzbWFsbC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC54c21hbGwtMiB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhzbWFsbC1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQuMTY2NjclOyB9XG4gIC54c21hbGwtMyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cbiAgLnhzbWFsbC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54c21hbGwtNCB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHNtYWxsLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbiAgLnhzbWFsbC01LCAuY3MtbG9nbyB7XG4gICAgZmxleDogMCAwIDIwLjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDIwLjgzMzMzJTsgfVxuICAueHNtYWxsLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54c21hbGwtNiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHNtYWxsLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogMjAuODMzMzMlOyB9XG4gIC54c21hbGwtNyB7XG4gICAgZmxleDogMCAwIDI5LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDI5LjE2NjY3JTsgfVxuICAueHNtYWxsLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54c21hbGwtOCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHNtYWxsLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogMjkuMTY2NjclOyB9XG4gIC54c21hbGwtOSB7XG4gICAgZmxleDogMCAwIDM3LjUlO1xuICAgIG1heC13aWR0aDogMzcuNSU7IH1cbiAgLnhzbWFsbC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueHNtYWxsLTEwIHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC54c21hbGwtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiAzNy41JTsgfVxuICAueHNtYWxsLTExIHtcbiAgICBmbGV4OiAwIDAgNDUuODMzMzMlO1xuICAgIG1heC13aWR0aDogNDUuODMzMzMlOyB9XG4gIC54c21hbGwtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54c21hbGwtMTIsIC51aSAuYXNzZXRzIC5jb2xvcnMgLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnhzbWFsbC1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA0NS44MzMzMyU7IH1cbiAgLnhzbWFsbC0xMyB7XG4gICAgZmxleDogMCAwIDU0LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDU0LjE2NjY3JTsgfVxuICAueHNtYWxsLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueHNtYWxsLTE0IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC54c21hbGwtb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogNTQuMTY2NjclOyB9XG4gIC54c21hbGwtMTUge1xuICAgIGZsZXg6IDAgMCA2Mi41JTtcbiAgICBtYXgtd2lkdGg6IDYyLjUlOyB9XG4gIC54c21hbGwtb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54c21hbGwtMTYge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhzbWFsbC1vZmZzZXQtMTUge1xuICAgIG1hcmdpbi1sZWZ0OiA2Mi41JTsgfVxuICAueHNtYWxsLTE3LCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSBhLmNzLWluZm9zIC50ZXh0IHtcbiAgICBmbGV4OiAwIDAgNzAuODMzMzMlO1xuICAgIG1heC13aWR0aDogNzAuODMzMzMlOyB9XG4gIC54c21hbGwtb2Zmc2V0LTE2IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54c21hbGwtMTgge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLnhzbWFsbC1vZmZzZXQtMTcge1xuICAgIG1hcmdpbi1sZWZ0OiA3MC44MzMzMyU7IH1cbiAgLnhzbWFsbC0xOSwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3MgLnRleHQsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtY2l0eWRyaXZlIGEuY3MtaW5mb3MgLnRleHQge1xuICAgIGZsZXg6IDAgMCA3OS4xNjY2NyU7XG4gICAgbWF4LXdpZHRoOiA3OS4xNjY2NyU7IH1cbiAgLnhzbWFsbC1vZmZzZXQtMTgge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnhzbWFsbC0yMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHNtYWxsLW9mZnNldC0xOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc5LjE2NjY3JTsgfVxuICAueHNtYWxsLTIxIHtcbiAgICBmbGV4OiAwIDAgODcuNSU7XG4gICAgbWF4LXdpZHRoOiA4Ny41JTsgfVxuICAueHNtYWxsLW9mZnNldC0yMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueHNtYWxsLTIyLCAudWkgLmFzc2V0cyAuY29sb3JzIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC54c21hbGwtb2Zmc2V0LTIxIHtcbiAgICBtYXJnaW4tbGVmdDogODcuNSU7IH1cbiAgLnhzbWFsbC0yMyB7XG4gICAgZmxleDogMCAwIDk1LjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDk1LjgzMzMzJTsgfVxuICAueHNtYWxsLW9mZnNldC0yMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueHNtYWxsLTI0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnhzbWFsbC1vZmZzZXQtMjMge1xuICAgIG1hcmdpbi1sZWZ0OiA5NS44MzMzMyU7IH1cbiAgLnhzbWFsbC1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHNtYWxsLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54c21hbGwtb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhzbWFsbC1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHNtYWxsLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54c21hbGwtb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLnhzbWFsbC11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHNtYWxsLXVwLTEgPiAuY29sdW1uLCAueHNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueHNtYWxsLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54c21hbGwtdXAtMiA+IC5jb2x1bW4sIC54c21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueHNtYWxsLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54c21hbGwtdXAtMyA+IC5jb2x1bW4sIC54c21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHNtYWxsLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54c21hbGwtdXAtNCA+IC5jb2x1bW4sIC54c21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHNtYWxsLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54c21hbGwtdXAtNSA+IC5jb2x1bW4sIC54c21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAueHNtYWxsLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54c21hbGwtdXAtNiA+IC5jb2x1bW4sIC54c21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHNtYWxsLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54c21hbGwtdXAtNyA+IC5jb2x1bW4sIC54c21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHNtYWxsLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54c21hbGwtdXAtOCA+IC5jb2x1bW4sIC54c21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnhzbWFsbC1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAueHNtYWxsLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueHNtYWxsLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnhzbWFsbC1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnhzbWFsbC1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gIC54c21hbGwtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueHNtYWxsLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhzbWFsbC1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH0gfVxuXG4ucm93LnhzbWFsbC11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54c21hbGwtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAucm93LnhzbWFsbC11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54c21hbGwtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAueHNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnhzbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAueHNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueHNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLTEge1xuICAgIGZsZXg6IDAgMCA0LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQuMTY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA0LjE2NjY3JTsgfVxuICAubWVkaXVtLTMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTQge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEyLjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDIwLjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDIwLjgzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogMjAuODMzMzMlOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgZmxleDogMCAwIDI5LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDI5LjE2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tOCwgLnVpIC5hc3NldHMgLmNvbG9ycyAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogMjkuMTY2NjclOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgZmxleDogMCAwIDM3LjUlO1xuICAgIG1heC13aWR0aDogMzcuNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiAzNy41JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgNDUuODMzMzMlO1xuICAgIG1heC13aWR0aDogNDUuODMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTIsIC5za2lsbHMgLmNvbnN1bHRpbmcsIC5za2lsbHMgLndlYmRlc2lnbiwgLnNraWxscyAuZGV2ZWxvcG1lbnQsIC51aSAuYXNzZXRzIC5mb250cyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ1LjgzMzMzJTsgfVxuICAubWVkaXVtLTEzIHtcbiAgICBmbGV4OiAwIDAgNTQuMTY2NjclO1xuICAgIG1heC13aWR0aDogNTQuMTY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tMTQge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiA1NC4xNjY2NyU7IH1cbiAgLm1lZGl1bS0xNSB7XG4gICAgZmxleDogMCAwIDYyLjUlO1xuICAgIG1heC13aWR0aDogNjIuNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xNiB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC5tZWRpdW0tMTcge1xuICAgIGZsZXg6IDAgMCA3MC44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA3MC44MzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTYge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xOCB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW9mZnNldC0xNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwLjgzMzMzJTsgfVxuICAubWVkaXVtLTE5IHtcbiAgICBmbGV4OiAwIDAgNzkuMTY2NjclO1xuICAgIG1heC13aWR0aDogNzkuMTY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTE4IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMjAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3OS4xNjY2NyU7IH1cbiAgLm1lZGl1bS0yMSB7XG4gICAgZmxleDogMCAwIDg3LjUlO1xuICAgIG1heC13aWR0aDogODcuNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMjAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0yMiB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0yMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG4gIC5tZWRpdW0tMjMge1xuICAgIGZsZXg6IDAgMCA5NS44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA5NS44MzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMjIge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS0yNCwgLnNraWxscyAuZGV2ZWxvcG1lbnQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0yMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDk1LjgzMzMzJTsgfVxuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAubWVkaXVtLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG5cbi5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Mi41ZW0pIHtcbiAgLnhtZWRpdW0tMSB7XG4gICAgZmxleDogMCAwIDQuMTY2NjclO1xuICAgIG1heC13aWR0aDogNC4xNjY2NyU7IH1cbiAgLnhtZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueG1lZGl1bS0yIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAueG1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQuMTY2NjclOyB9XG4gIC54bWVkaXVtLTMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG4gIC54bWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnhtZWRpdW0tNCB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueG1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEyLjUlOyB9XG4gIC54bWVkaXVtLTUge1xuICAgIGZsZXg6IDAgMCAyMC44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiAyMC44MzMzMyU7IH1cbiAgLnhtZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnhtZWRpdW0tNiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueG1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwLjgzMzMzJTsgfVxuICAueG1lZGl1bS03IHtcbiAgICBmbGV4OiAwIDAgMjkuMTY2NjclO1xuICAgIG1heC13aWR0aDogMjkuMTY2NjclOyB9XG4gIC54bWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54bWVkaXVtLTgsIC5jbGllbnRzIC5yZXZpZXdzIC5hdmF0YXIsIC51aSAuYXNzZXRzIC5mb250cyB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueG1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI5LjE2NjY3JTsgfVxuICAueG1lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgMzcuNSU7XG4gICAgbWF4LXdpZHRoOiAzNy41JTsgfVxuICAueG1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueG1lZGl1bS0xMCwgLmNzLXByb2ZpbCwgLmNzLXByb2ZpbCAucXVvdGUtMDEuYWN0aXZlLCAuY3MtcHJvZmlsIC5xdW90ZS0wMi5hY3RpdmUsIC5jcy1wcm9maWwgLnF1b3RlLTAzLmFjdGl2ZSwgLmNzLXByb2ZpbCAucXVvdGUtMDQuYWN0aXZlLCAuY3MtcHJvZmlsIC5xdW90ZS1lbmQuYWN0aXZlLCAuYnMtZGV0YWlsIHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogMzcuNSU7IH1cbiAgLnhtZWRpdW0tMTEge1xuICAgIGZsZXg6IDAgMCA0NS44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA0NS44MzMzMyU7IH1cbiAgLnhtZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54bWVkaXVtLTEyLCAuYnMtbWFnYXppbmUgLnRleHQsIC5icy1za2lsbHMgLnNraWxsLWxpc3QgdWwgLmNvbHVtbnMsIC51aSAuYXNzZXRzIC5jb2xvcnMsIC51aSAuYXNzZXRzIC5jb2xvcnMgLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnhtZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogNDUuODMzMzMlOyB9XG4gIC54bWVkaXVtLTEzIHtcbiAgICBmbGV4OiAwIDAgNTQuMTY2NjclO1xuICAgIG1heC13aWR0aDogNTQuMTY2NjclOyB9XG4gIC54bWVkaXVtLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueG1lZGl1bS0xNCB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueG1lZGl1bS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiA1NC4xNjY2NyU7IH1cbiAgLnhtZWRpdW0tMTUge1xuICAgIGZsZXg6IDAgMCA2Mi41JTtcbiAgICBtYXgtd2lkdGg6IDYyLjUlOyB9XG4gIC54bWVkaXVtLW9mZnNldC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueG1lZGl1bS0xNiB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueG1lZGl1bS1vZmZzZXQtMTUge1xuICAgIG1hcmdpbi1sZWZ0OiA2Mi41JTsgfVxuICAueG1lZGl1bS0xNyB7XG4gICAgZmxleDogMCAwIDcwLjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDcwLjgzMzMzJTsgfVxuICAueG1lZGl1bS1vZmZzZXQtMTYge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnhtZWRpdW0tMTgge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLnhtZWRpdW0tb2Zmc2V0LTE3IHtcbiAgICBtYXJnaW4tbGVmdDogNzAuODMzMzMlOyB9XG4gIC54bWVkaXVtLTE5IHtcbiAgICBmbGV4OiAwIDAgNzkuMTY2NjclO1xuICAgIG1heC13aWR0aDogNzkuMTY2NjclOyB9XG4gIC54bWVkaXVtLW9mZnNldC0xOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueG1lZGl1bS0yMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueG1lZGl1bS1vZmZzZXQtMTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3OS4xNjY2NyU7IH1cbiAgLnhtZWRpdW0tMjEge1xuICAgIGZsZXg6IDAgMCA4Ny41JTtcbiAgICBtYXgtd2lkdGg6IDg3LjUlOyB9XG4gIC54bWVkaXVtLW9mZnNldC0yMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueG1lZGl1bS0yMiB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueG1lZGl1bS1vZmZzZXQtMjEge1xuICAgIG1hcmdpbi1sZWZ0OiA4Ny41JTsgfVxuICAueG1lZGl1bS0yMyB7XG4gICAgZmxleDogMCAwIDk1LjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDk1LjgzMzMzJTsgfVxuICAueG1lZGl1bS1vZmZzZXQtMjIge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnhtZWRpdW0tMjQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueG1lZGl1bS1vZmZzZXQtMjMge1xuICAgIG1hcmdpbi1sZWZ0OiA5NS44MzMzMyU7IH1cbiAgLnhtZWRpdW0tb3JkZXItMSwgLmNzLXByb2ZpbCwgLmJzLWRldGFpbCB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhtZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhtZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhtZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhtZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhtZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLnhtZWRpdW0tdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhtZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC54bWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueG1lZGl1bS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueG1lZGl1bS11cC0yID4gLmNvbHVtbiwgLnhtZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueG1lZGl1bS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueG1lZGl1bS11cC0zID4gLmNvbHVtbiwgLnhtZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueG1lZGl1bS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueG1lZGl1bS11cC00ID4gLmNvbHVtbiwgLnhtZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueG1lZGl1bS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueG1lZGl1bS11cC01ID4gLmNvbHVtbiwgLnhtZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAueG1lZGl1bS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueG1lZGl1bS11cC02ID4gLmNvbHVtbiwgLnhtZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueG1lZGl1bS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueG1lZGl1bS11cC03ID4gLmNvbHVtbiwgLnhtZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueG1lZGl1bS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueG1lZGl1bS11cC04ID4gLmNvbHVtbiwgLnhtZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIuNWVtKSBhbmQgKG1pbi13aWR0aDogNTIuNWVtKSB7XG4gIC54bWVkaXVtLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Mi41ZW0pIHtcbiAgLnhtZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54bWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnhtZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgLnhtZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueG1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54bWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG5cbi5yb3cueG1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54bWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Mi41ZW0pIHtcbiAgICAucm93LnhtZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueG1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Mi41ZW0pIHtcbiAgLnhtZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAueG1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAueG1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnhtZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgNC4xNjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0LjE2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogNC4xNjY2NyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEyLjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgMjAuODMzMzMlO1xuICAgIG1heC13aWR0aDogMjAuODMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiAyMC44MzMzMyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCAyOS4xNjY2NyU7XG4gICAgbWF4LXdpZHRoOiAyOS4xNjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS04LCAuc2tpbGxzIC5jb25zdWx0aW5nLCAuc2tpbGxzIC53ZWJkZXNpZ24sIC5za2lsbHMgLmRldmVsb3BtZW50LCAudWkgLmFzc2V0cyAuY29sb3JzIC5jb2x1bW5zLCAudWkgLmFzc2V0cyAuZm9udHMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogMjkuMTY2NjclOyB9XG4gIC5sYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgMzcuNSU7XG4gICAgbWF4LXdpZHRoOiAzNy41JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDQ1LjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDQ1LjgzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS0xMiwgLmJzLXNraWxscyAuc2tpbGwtbGlzdCB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogNDUuODMzMzMlOyB9XG4gIC5sYXJnZS0xMywgLmJzLW1hZ2F6aW5lIC50ZXh0LCAudWkgLmFzc2V0cyAuY29sb3JzIHtcbiAgICBmbGV4OiAwIDAgNTQuMTY2NjclO1xuICAgIG1heC13aWR0aDogNTQuMTY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTE0IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiA1NC4xNjY2NyU7IH1cbiAgLmxhcmdlLTE1IHtcbiAgICBmbGV4OiAwIDAgNjIuNSU7XG4gICAgbWF4LXdpZHRoOiA2Mi41JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS0xNiwgLmNzLWludHJvIC5jcy1kZXZpY2VzIHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTUge1xuICAgIG1hcmdpbi1sZWZ0OiA2Mi41JTsgfVxuICAubGFyZ2UtMTcge1xuICAgIGZsZXg6IDAgMCA3MC44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA3MC44MzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTgge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW9mZnNldC0xNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwLjgzMzMzJTsgfVxuICAubGFyZ2UtMTkge1xuICAgIGZsZXg6IDAgMCA3OS4xNjY2NyU7XG4gICAgbWF4LXdpZHRoOiA3OS4xNjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMjAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc5LjE2NjY3JTsgfVxuICAubGFyZ2UtMjEge1xuICAgIGZsZXg6IDAgMCA4Ny41JTtcbiAgICBtYXgtd2lkdGg6IDg3LjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMjAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTIyIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMjEge1xuICAgIG1hcmdpbi1sZWZ0OiA4Ny41JTsgfVxuICAubGFyZ2UtMjMge1xuICAgIGZsZXg6IDAgMCA5NS44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA5NS44MzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0yMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtMjQsIC5icy1za2lsbHMgLnNraWxsLWxpc3QgdWwgLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIzIHtcbiAgICBtYXJnaW4tbGVmdDogOTUuODMzMzMlOyB9XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5sYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG5cbi5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDQuMTY2NjclO1xuICAgIG1heC13aWR0aDogNC4xNjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC54bGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQuMTY2NjclOyB9XG4gIC54bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbiAgLnhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgMjAuODMzMzMlO1xuICAgIG1heC13aWR0aDogMjAuODMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiAyMC44MzMzMyU7IH1cbiAgLnhsYXJnZS03LCAuY2xpZW50cyAucmV2aWV3cyAuYXZhdGFyIHtcbiAgICBmbGV4OiAwIDAgMjkuMTY2NjclO1xuICAgIG1heC13aWR0aDogMjkuMTY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnhsYXJnZS04LCAuY3MtcHJvZmlsLCAuY3MtcHJvZmlsIC5xdW90ZS0wMS5hY3RpdmUsIC5jcy1wcm9maWwgLnF1b3RlLTAyLmFjdGl2ZSwgLmNzLXByb2ZpbCAucXVvdGUtMDMuYWN0aXZlLCAuY3MtcHJvZmlsIC5xdW90ZS0wNC5hY3RpdmUsIC5jcy1wcm9maWwgLnF1b3RlLWVuZC5hY3RpdmUsIC5icy1kZXRhaWwge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI5LjE2NjY3JTsgfVxuICAueGxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCAzNy41JTtcbiAgICBtYXgtd2lkdGg6IDM3LjUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogMzcuNSU7IH1cbiAgLnhsYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDQ1LjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDQ1LjgzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLTEyLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1jaXR5ZHJpdmUge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA0NS44MzMzMyU7IH1cbiAgLnhsYXJnZS0xMyB7XG4gICAgZmxleDogMCAwIDU0LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDU0LjE2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueGxhcmdlLTE0IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogNTQuMTY2NjclOyB9XG4gIC54bGFyZ2UtMTUge1xuICAgIGZsZXg6IDAgMCA2Mi41JTtcbiAgICBtYXgtd2lkdGg6IDYyLjUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtMTYsIC5jcy1pbnRybyAuY3MtZGV2aWNlcyB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC54bGFyZ2UtMTcge1xuICAgIGZsZXg6IDAgMCA3MC44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA3MC44MzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTYge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS0xOCB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW9mZnNldC0xNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwLjgzMzMzJTsgfVxuICAueGxhcmdlLTE5IHtcbiAgICBmbGV4OiAwIDAgNzkuMTY2NjclO1xuICAgIG1heC13aWR0aDogNzkuMTY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTE4IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC54bGFyZ2UtMjAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3OS4xNjY2NyU7IH1cbiAgLnhsYXJnZS0yMSB7XG4gICAgZmxleDogMCAwIDg3LjUlO1xuICAgIG1heC13aWR0aDogODcuNSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMjAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS0yMiB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0yMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG4gIC54bGFyZ2UtMjMge1xuICAgIGZsZXg6IDAgMCA5NS44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA5NS44MzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMjIge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS0yNCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIzIHtcbiAgICBtYXJnaW4tbGVmdDogOTUuODMzMzMlOyB9XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC54bGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0xID4gLmNvbHVtbiwgLnhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLnhsYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnhsYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTggPiAuY29sdW1uLCAueGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG5cbi5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA0LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQuMTY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnh4bGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA0LjE2NjY3JTsgfVxuICAueHhsYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAueHhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgMjAuODMzMzMlO1xuICAgIG1heC13aWR0aDogMjAuODMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiAyMC44MzMzMyU7IH1cbiAgLnh4bGFyZ2UtNywgLnVpIC5hc3NldHMgLmZvbnRzIHtcbiAgICBmbGV4OiAwIDAgMjkuMTY2NjclO1xuICAgIG1heC13aWR0aDogMjkuMTY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54eGxhcmdlLTgsIC5jbGllbnRzIC5ibG9jay1sb2dvcyAuY29sdW1ucywgLmNsaWVudHMgLnJldmlld3MgLmF2YXRhciB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI5LjE2NjY3JTsgfVxuICAueHhsYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgMzcuNSU7XG4gICAgbWF4LXdpZHRoOiAzNy41JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS0xMCwgLmNsaWVudHMgLmJsb2NrLWxvZ29zIHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogMzcuNSU7IH1cbiAgLnh4bGFyZ2UtMTEsIC51aSAuYXNzZXRzIC5jb2xvcnMge1xuICAgIGZsZXg6IDAgMCA0NS44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA0NS44MzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ1LjgzMzMzJTsgfVxuICAueHhsYXJnZS0xMyB7XG4gICAgZmxleDogMCAwIDU0LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDU0LjE2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnh4bGFyZ2UtMTQsIC5jbGllbnRzIC5yZXZpZXdzIHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU0LjE2NjY3JTsgfVxuICAueHhsYXJnZS0xNSB7XG4gICAgZmxleDogMCAwIDYyLjUlO1xuICAgIG1heC13aWR0aDogNjIuNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLTE2IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC54eGxhcmdlLTE3IHtcbiAgICBmbGV4OiAwIDAgNzAuODMzMzMlO1xuICAgIG1heC13aWR0aDogNzAuODMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS0xOCB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTcge1xuICAgIG1hcmdpbi1sZWZ0OiA3MC44MzMzMyU7IH1cbiAgLnh4bGFyZ2UtMTkge1xuICAgIGZsZXg6IDAgMCA3OS4xNjY2NyU7XG4gICAgbWF4LXdpZHRoOiA3OS4xNjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTE4IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC54eGxhcmdlLTIwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc5LjE2NjY3JTsgfVxuICAueHhsYXJnZS0yMSB7XG4gICAgZmxleDogMCAwIDg3LjUlO1xuICAgIG1heC13aWR0aDogODcuNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLTIyIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG4gIC54eGxhcmdlLTIzIHtcbiAgICBmbGV4OiAwIDAgOTUuODMzMzMlO1xuICAgIG1heC13aWR0aDogOTUuODMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS0yNCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDk1LjgzMzMzJTsgfVxuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAueHhsYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0xID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueHhsYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueHhsYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueHhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueHhsYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC54eGxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueHhsYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueHhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC54eGxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTggPiAuY29sdW1uLCAueHhsYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG5cbi5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAueHhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAueHhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54eHhsYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgNC4xNjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0LjE2NjY3JTsgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueHh4bGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogNC4xNjY2NyU7IH1cbiAgLnh4eGxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG4gIC54eHhsYXJnZS1vZmZzZXQtMiwgLmNzLWludHJvIC5jcy1kZXZpY2VzIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnh4eGxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbiAgLnh4eGxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCAyMC44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiAyMC44MzMzMyU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54eHhsYXJnZS02LCAuY3MtaW50cm8gLmNzLXRleHQsIC5icy1kZXRhaWwge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogMjAuODMzMzMlOyB9XG4gIC54eHhsYXJnZS03LCAuY3MtcHJvZmlsLCAuY3MtcHJvZmlsIC5xdW90ZS0wMS5hY3RpdmUsIC5jcy1wcm9maWwgLnF1b3RlLTAyLmFjdGl2ZSwgLmNzLXByb2ZpbCAucXVvdGUtMDMuYWN0aXZlLCAuY3MtcHJvZmlsIC5xdW90ZS0wNC5hY3RpdmUsIC5jcy1wcm9maWwgLnF1b3RlLWVuZC5hY3RpdmUge1xuICAgIGZsZXg6IDAgMCAyOS4xNjY2NyU7XG4gICAgbWF4LXdpZHRoOiAyOS4xNjY2NyU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54eHhsYXJnZS04LCAuY2xpZW50cyAucmV2aWV3cyAuYXZhdGFyIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI5LjE2NjY3JTsgfVxuICAueHh4bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDM3LjUlO1xuICAgIG1heC13aWR0aDogMzcuNSU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54eHhsYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiAzNy41JTsgfVxuICAueHh4bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA0NS44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA0NS44MzMzMyU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueHh4bGFyZ2UtMTIsIC5jbGllbnRzIC5ibG9jay1sb2dvcywgLmNsaWVudHMgLnJldmlld3Mge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ1LjgzMzMzJTsgfVxuICAueHh4bGFyZ2UtMTMge1xuICAgIGZsZXg6IDAgMCA1NC4xNjY2NyU7XG4gICAgbWF4LXdpZHRoOiA1NC4xNjY2NyU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueHh4bGFyZ2UtMTQsIC5jcy1pbnRybyAuY3MtZGV2aWNlcyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogNTQuMTY2NjclOyB9XG4gIC54eHhsYXJnZS0xNSB7XG4gICAgZmxleDogMCAwIDYyLjUlO1xuICAgIG1heC13aWR0aDogNjIuNSU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtMTYge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC54eHhsYXJnZS0xNyB7XG4gICAgZmxleDogMCAwIDcwLjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDcwLjgzMzMzJTsgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTE2IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54eHhsYXJnZS0xOCB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTE3IHtcbiAgICBtYXJnaW4tbGVmdDogNzAuODMzMzMlOyB9XG4gIC54eHhsYXJnZS0xOSB7XG4gICAgZmxleDogMCAwIDc5LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDc5LjE2NjY3JTsgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTE4IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC54eHhsYXJnZS0yMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTE5IHtcbiAgICBtYXJnaW4tbGVmdDogNzkuMTY2NjclOyB9XG4gIC54eHhsYXJnZS0yMSB7XG4gICAgZmxleDogMCAwIDg3LjUlO1xuICAgIG1heC13aWR0aDogODcuNSU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC0yMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtMjIge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC0yMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG4gIC54eHhsYXJnZS0yMyB7XG4gICAgZmxleDogMCAwIDk1LjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDk1LjgzMzMzJTsgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTIyIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC54eHhsYXJnZS0yNCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54eHhsYXJnZS1vZmZzZXQtMjMge1xuICAgIG1hcmdpbi1sZWZ0OiA5NS44MzMzMyU7IH1cbiAgLnh4eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLnh4eGxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eHhsYXJnZS11cC0xID4gLmNvbHVtbiwgLnh4eGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueHh4bGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4eGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueHh4bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueHh4bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4eGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueHh4bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4eGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueHh4bGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHh4bGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4eGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueHh4bGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAueHh4bGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4eGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueHh4bGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHh4bGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4eGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueHh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHh4bGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4eGxhcmdlLXVwLTggPiAuY29sdW1uLCAueHh4bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54eHhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueHh4bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54eHhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54eHhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnh4eGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgLnh4eGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnh4eGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnh4eGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG5cbi5yb3cueHh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueHh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAucm93Lnh4eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lnh4eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnh4eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnh4eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC54eHhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnh4eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuXG4uc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSwgLmNzLXByb2ZpbCAuY3MtcHJlc2VudGF0aW9uIGRpdiBwLnBhcmFncmFwaDIsIC51aSAud2FsbHBhcGVyIC5sYXB0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmhpZGUtZm9yLXhzbWFsbCwgLmNzLW1lbnUtbW9kYWwgLmNzLXNvY2lhbC1saW5rIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhzbWFsbCwgLmNsaWVudHMgLmJsb2NrLWxvZ29zIC5jb2x1bW5zLmhzYmMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhzbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXhzbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLCAuY3MtaW50cm8gLmNzLWRldmljZXMtbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSwgLmNzLWludHJvIC5jcy1kZXZpY2VzLCAuY2xpZW50cyAuYmxvY2stbG9nb3MgLmNvbHVtbnMuZm94LCAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtLncyLCAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtLnczIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNTIuNDM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Mi41ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIuNWVtKSB7XG4gIC5oaWRlLWZvci14bWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhtZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyLjVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3IteG1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLXhtZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLCAucGxhbmUtYW5pbWF0aW9uIC5jbG91ZDIsIC5wbGFuZS1hbmltYXRpb24gLmNsb3VkMyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmhpZGUtZm9yLXh4eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuaGlkZS1mb3IteHh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14eHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bzsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciwgLmNzLXByb2ZpbCAucXVvdGUtMDEsIC5jcy1wcm9maWwgLnF1b3RlLTAyLCAuY3MtcHJvZmlsIC5xdW90ZS0wMywgLmNzLXByb2ZpbCAucXVvdGUtMDQsIC5jcy1wcm9maWwgLnF1b3RlLWVuZCwgLnVpIC5hc3NldHMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkLCAudWkgLmFzc2V0cyAuY29sb3JzIC5yb3cge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUsIC5icy13aXJlZnJhbWUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSwgLmNzLXByb2ZpbCAucXVvdGUtMDEuYWN0aXZlIC5xdW90ZSwgLmNzLXByb2ZpbCAucXVvdGUtMDIuYWN0aXZlIC5xdW90ZSwgLmNzLXByb2ZpbCAucXVvdGUtMDMuYWN0aXZlIC5xdW90ZSwgLmNzLXByb2ZpbCAucXVvdGUtMDQuYWN0aXZlIC5xdW90ZSwgLmNzLXByb2ZpbCAucXVvdGUtZW5kLmFjdGl2ZSAucXVvdGUsIC5jcy1pbnRybyAuY3MtdGV4dCwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsID4gLnJvdyAuY29sdW1ucywgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1vdG9yaW0gPiAucm93IC5jb2x1bW5zLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSA+IC5yb3cgLmNvbHVtbnMsIGZvb3RlciAucm93IC5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCwgLmJzLXZpc3VhbCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLnNtYWxsLW9yZGVyLTEsIC5jcy1zbGlkZSwgLmJzLXZpc3VhbCB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yLCAuY3MtcHJvZmlsLCAuYnMtZGV0YWlsIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAueHNtYWxsLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54c21hbGwtb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhzbWFsbC1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHNtYWxsLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54c21hbGwtb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhzbWFsbC1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyLjVlbSkge1xuICAueG1lZGl1bS1vcmRlci0xLCAuY3MtcHJvZmlsLCAuYnMtZGV0YWlsIHtcbiAgICBvcmRlcjogMTsgfVxuICAueG1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueG1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueG1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueG1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueG1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueHh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnh4eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnh4eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbj09PT09PT09PT09PT09PT09PT09PT0gTWl4aW4gJiBWYXJpYWJsZXMgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cbi5nLXJldmVyc2UsIC5jcy1jb250YWN0LW1vZGFsIC5jcy10ZWw6YWZ0ZXIsIC5jcy1tZW51LW1vZGFsIC5jcy10ZWw6YWZ0ZXIsIC5jcy1jb250YWN0LW1vZGFsIC5jcy1tYWlsOmFmdGVyLCAuY3MtbWVudS1tb2RhbCAuY3MtbWFpbDphZnRlciB7XG4gIHVuaWNvZGUtYmlkaTogYmlkaS1vdmVycmlkZTtcbiAgZGlyZWN0aW9uOiBydGw7IH1cblxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBHbG9iYWwgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xuICBmb250LWZhbWlseTogJ1RpdGlsbGl1bSBXZWInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMjgyRDMzO1xuICBmb250LXNpemU6IDEuMXJlbTsgfVxuICBib2R5IC5jcy1kYXJrLCBib2R5IC5jcy1kYXJrMiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICBib2R5IC5jcy1kYXJrLmFjdGl2ZSwgYm9keSAuY3MtZGFyazIuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBhbmltYXRpb24tbmFtZTogZmFkZS1pbjtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjEsIDAuODksIDAuNjQsIDAuOTkpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgYm9keSAuY3MtZGFyayAuY3MtZGFyazIsIGJvZHkgLmNzLWRhcmsyIC5jcy1kYXJrMiB7XG4gICAgICB6LWluZGV4OiA5OTsgfVxuICBib2R5ID4gLmNzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNSU7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAgIGJvZHkgPiAuY3MtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogODBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgYm9keSA+IC5jcy1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA2JTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4uYmxvY2sge1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiA1MHB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmgxLCAuY3MtY29udGFjdC1tb2RhbCBoMywgLmNzLW1lbnUtbW9kYWwgaDMsIGgyLCBoMyB7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdUaXRpbGxpdW0gV2ViJywgYXJpYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzYzRURDNTsgfVxuXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IE1vZGFsIENvbnRhY3QgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cbi5jcy1jb250YWN0LW1vZGFsLCAuY3MtbWVudS1tb2RhbCB7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogNTB2dztcbiAgdG9wOiAzNXZoO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IDY4MHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiAyNTA7XG4gIHBhZGRpbmc6IDIuNXJlbSAzcmVtO1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgIzNEQzM5QztcbiAgYm94LXNoYWRvdzogMCAxcmVtIDJyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjb2xvcjogIzk5OTsgfVxuICAuY3MtY29udGFjdC1tb2RhbCBoMywgLmNzLW1lbnUtbW9kYWwgaDMge1xuICAgIGNvbG9yOiAjM0RDMzlDOyB9XG4gIC5jcy1jb250YWN0LW1vZGFsIGEuY3MtY2xvc2UsIC5jcy1tZW51LW1vZGFsIGEuY3MtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMXJlbSAxLjJyZW07XG4gICAgYm94LXNoYWRvdzogMCAxcHggMCAwICNmZmYgaW5zZXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4zczsgfVxuICAgIC5jcy1jb250YWN0LW1vZGFsIGEuY3MtY2xvc2UgLmljb24taWNvLXBsdXMsIC5jcy1tZW51LW1vZGFsIGEuY3MtY2xvc2UgLmljb24taWNvLXBsdXMge1xuICAgICAgY29sb3I6ICNiMmIyYjI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAuY3MtY29udGFjdC1tb2RhbCBhLmNzLWNsb3NlOmhvdmVyLCAuY3MtbWVudS1tb2RhbCBhLmNzLWNsb3NlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgODBweCAwIDAgIzNEQzM5QyBpbnNldDsgfVxuICAgICAgLmNzLWNvbnRhY3QtbW9kYWwgYS5jcy1jbG9zZTpob3ZlciAuaWNvbi1pY28tcGx1cywgLmNzLW1lbnUtbW9kYWwgYS5jcy1jbG9zZTpob3ZlciAuaWNvbi1pY28tcGx1cyB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5jcy1jb250YWN0LW1vZGFsIC5jcy10ZWwsIC5jcy1tZW51LW1vZGFsIC5jcy10ZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzI4MkQzMztcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIC5jcy1jb250YWN0LW1vZGFsIC5jcy10ZWw6YWZ0ZXIsIC5jcy1tZW51LW1vZGFsIC5jcy10ZWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCI2Ni4zOC4wMS40MS42MFwiOyB9XG4gIC5jcy1jb250YWN0LW1vZGFsIC5jcy1tYWlsLCAuY3MtbWVudS1tb2RhbCAuY3MtbWFpbCB7XG4gICAgY29sb3I6ICMzREMzOUM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgLmNzLWNvbnRhY3QtbW9kYWwgLmNzLW1haWw6YWZ0ZXIsIC5jcy1tZW51LW1vZGFsIC5jcy1tYWlsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwicmYuaGN1YXJ0c1xcNDBsaXJ5Y1wiOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC5jcy1jb250YWN0LW1vZGFsLCAuY3MtbWVudS1tb2RhbCB7XG4gICAgICB0b3A6IDMwdmg7XG4gICAgICB3aWR0aDogNjB2dztcbiAgICAgIHBhZGRpbmc6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUyLjQzNzVlbSkge1xuICAgIC5jcy1jb250YWN0LW1vZGFsLCAuY3MtbWVudS1tb2RhbCB7XG4gICAgICB0b3A6IDI1dmg7XG4gICAgICB3aWR0aDogNzV2dztcbiAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAuY3MtY29udGFjdC1tb2RhbCwgLmNzLW1lbnUtbW9kYWwge1xuICAgICAgdG9wOiAyMHZoO1xuICAgICAgd2lkdGg6IDg1dnc7XG4gICAgICBwYWRkaW5nOiAycmVtOyB9IH1cbiAgLmNzLWNvbnRhY3QtbW9kYWwuYWN0aXZlLCAuY3MtbWVudS1tb2RhbC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBjb250YWN0LW1vZGFsO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjEsIDAuODksIDAuNjQsIDAuOTkpOyB9XG4gIC5jcy1jb250YWN0LW1vZGFsLmluYWN0aXZlLCAuY3MtbWVudS1tb2RhbC5pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGNvbnRhY3QtbW9kYWwtb2ZmO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjEsIDAuODksIDAuNjQsIDAuOTkpOyB9XG5cbi5jcy1tZW51LW1vZGFsIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgcGFkZGluZzogMnJlbTtcbiAgdG9wOiAyMHZoOyB9XG4gIC5jcy1tZW51LW1vZGFsIG5hdiwgLmNzLW1lbnUtbW9kYWwgLmNzLXNvY2lhbC1saW5rIHtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jcy1tZW51LW1vZGFsIG5hdiB1bCwgLmNzLW1lbnUtbW9kYWwgLmNzLXNvY2lhbC1saW5rIHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtbWVudS1tb2RhbCBuYXYgbGksIC5jcy1tZW51LW1vZGFsIC5jcy1zb2NpYWwtbGluayBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3MtbWVudS1tb2RhbCBuYXYgYSwgLmNzLW1lbnUtbW9kYWwgLmNzLXNvY2lhbC1saW5rIGEge1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuY3MtbWVudS1tb2RhbCBuYXYgYTpob3ZlciwgLmNzLW1lbnUtbW9kYWwgLmNzLXNvY2lhbC1saW5rIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzNEQzM5QzsgfVxuICAuY3MtbWVudS1tb2RhbCAuY3Mtc29jaWFsLWxpbmsge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAuY3MtbWVudS1tb2RhbCAuY3Mtc29jaWFsLWxpbmsgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbj09PT09PT09PT09PT09PT09PT09PT0gTG9nbyAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cbi5jcy1sb2dvIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZS1mcm9tLXRvcDtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDMuOHM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLjg5LCAwLjY0LCAwLjk5KTsgfVxuICAuY3MtbG9nbyAuY3MtZmxhZyB7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIHBhZGRpbmc6IDE3cHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjMTExO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzExMSAwJSwgIzMzMyAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMxMTEgMCUsICMzMzMgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzExMSAwJSwgIzMzMyAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nJGNvbG9yMScsIGVuZENvbG9yc3RyPSckY29sb3IyJyxHcmFkaWVudFR5cGU9MCApO1xuICAgIGNvbG9yOiAjNjNFREM1O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuOHJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgICAgLmNzLWxvZ28gLmNzLWZsYWcge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMTZweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzExMTtcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMTExIDAlLCAjMzMzIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMxMTEgMCUsICMzMzMgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMxMTEgMCUsICMzMzMgMTAwJSk7XG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSckY29sb3IxJywgZW5kQ29sb3JzdHI9JyRjb2xvcjInLEdyYWRpZW50VHlwZT0wICk7XG4gICAgICAgIGNvbG9yOiAjNjNFREM1O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cblxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBUb3AgYmFyICAgICAgICAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXG4uY3MtdG9wLWJhciB7XG4gIGhlaWdodDogODBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAuY3MtdG9wLWJhciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmNzLXRvcC1iYXIgLmNzLXNvY2lhbC1saW5rIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLmNzLXRvcC1iYXIgLmNzLXNvY2lhbC1saW5rIHVsIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy10b3AtYmFyIC5jcy1zb2NpYWwtbGluayBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5jcy10b3AtYmFyIC5jcy1zb2NpYWwtbGluayBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgY29sb3I6ICNiMmIyYjI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuM3M7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7IH1cbiAgICAgICAgLmNzLXRvcC1iYXIgLmNzLXNvY2lhbC1saW5rIGxpIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjM0RDMzlDO1xuICAgICAgICAgIHRleHQtc2hhZG93OiAwIDFweCAyMHB4ICNmZmY7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTIuNDM3NWVtKSB7XG4gICAgICAgICAgLmNzLXRvcC1iYXIgLmNzLXNvY2lhbC1saW5rIGxpIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDFyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAgICAgICAuY3MtdG9wLWJhciAuY3Mtc29jaWFsLWxpbmsgbGkgYTpub3QoLmNzLWJ1cmdlcikge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAuY3MtdG9wLWJhciAuY3Mtc29jaWFsLWxpbmsgbGkgYS5jcy1idXJnZXIge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGNvbG9yOiAjM0RDMzlDO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCAjZmZmIGluc2V0O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiA4MHB4OyB9XG4gICAgICAgIC5jcy10b3AtYmFyIC5jcy1zb2NpYWwtbGluayBsaSBhLmNzLWJ1cmdlcjpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAtODBweCAwIDAgIzNEQzM5QyBpbnNldDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAgICAgICAuY3MtdG9wLWJhciAuY3Mtc29jaWFsLWxpbmsgbGkgYS5jcy1idXJnZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTNweCAxcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogI2IyYjJiMjsgfSB9XG4gICAgICAuY3MtdG9wLWJhciAuY3Mtc29jaWFsLWxpbmsgbGk6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtZnJvbS10b3A7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiA0LjJzO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMSwgMC44OSwgMC42NCwgMC45OSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAuY3MtdG9wLWJhciAuY3Mtc29jaWFsLWxpbmsgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtZnJvbS10b3A7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiA0cztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjEsIDAuODksIDAuNjQsIDAuOTkpOyB9XG4gICAgICAuY3MtdG9wLWJhciAuY3Mtc29jaWFsLWxpbmsgbGk6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtZnJvbS10b3A7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAzLjhzO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMSwgMC44OSwgMC42NCwgMC45OSk7IH1cbiAgICAgIC5jcy10b3AtYmFyIC5jcy1zb2NpYWwtbGluayBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZS1mcm9tLXRvcDtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDMuNnM7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLjg5LCAwLjY0LCAwLjk5KTsgfVxuXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IEhlYWRlciAvIFNsaWRlciAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXG5oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnJldmVyYWwtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGhlYWRlci14bGFyZ2U7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMyODJEMzM7XG4gICAgei1pbmRleDogMTUwO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyLjhzO1xuICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5LjkzNzVlbSkge1xuICAucmV2ZXJhbC1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBhbmltYXRpb24tbmFtZTogaGVhZGVyLWxhcmdlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMjgyRDMzO1xuICAgIHotaW5kZXg6IDE1MDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMi44cztcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLnJldmVyYWwtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGhlYWRlci1zbWFsbDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzI4MkQzMztcbiAgICB6LWluZGV4OiAxNTA7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICBhbmltYXRpb24tZGVsYXk6IDIuOHM7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTIuNDM3NWVtKSB7XG4gIC5yZXZlcmFsLWhlYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBoZWFkZXItc21hbGw7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMyODJEMzM7XG4gICAgei1pbmRleDogMTUwO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyLjhzO1xuICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSB9XG5cbi5jcy1wcm9maWwge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogIzI4MkQzMztcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtaW47XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMDtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjRzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMSwgMC44OSwgMC42NCwgMC45OSk7IH1cbiAgLmNzLXByb2ZpbCAuY3MtcHJlc2VudGF0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDEuNWVtIDEuNWVtIDEuNWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1wcm9maWwgLmNzLXByZXNlbnRhdGlvbiBpbWcucGhvdG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTE1cHggLSAxLjVlbSk7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDMwcHggKyAzZW0pO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtaW47XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDZzO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiA0cztcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMSwgMC44OSwgMC42NCwgMC45OSk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgICAgICAgLmNzLXByb2ZpbCAuY3MtcHJlc2VudGF0aW9uIGltZy5waG90byB7XG4gICAgICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmNzLXByb2ZpbCAuY3MtcHJlc2VudGF0aW9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgLmNzLXByb2ZpbCAuY3MtcHJlc2VudGF0aW9uIGRpdiB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAuY3MtcHJvZmlsIC5jcy1wcmVzZW50YXRpb24gaW1nLnBob3RvIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTE1cHggLSAxLjVlbSk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgICAgIC5jcy1wcm9maWwgLmNzLXByZXNlbnRhdGlvbiBkaXYge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMzIlOyB9IH1cbiAgICAuY3MtcHJvZmlsIC5jcy1wcmVzZW50YXRpb24gZGl2IGgyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTE0MHB4O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlLWZyb20tdG9wO1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogNHM7XG4gICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjEsIDAuODksIDAuNjQsIDAuOTkpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNTIuNDM3NWVtKSB7XG4gICAgICAgIC5jcy1wcm9maWwgLmNzLXByZXNlbnRhdGlvbiBkaXYgaDIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuN2VtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuY3MtcHJvZmlsIC5jcy1wcmVzZW50YXRpb24gZGl2IGgyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTQwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gICAgICAgIC5jcy1wcm9maWwgLmNzLXByZXNlbnRhdGlvbiBkaXYgaDIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMDBweDsgfSB9XG4gICAgLmNzLXByb2ZpbCAuY3MtcHJlc2VudGF0aW9uIGRpdiBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBhbmltYXRpb24tbmFtZTogZmFkZS1mcm9tLWJvdHRvbTtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDRzO1xuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLjg5LCAwLjY0LCAwLjk5KTsgfVxuICAgICAgQG1lZGlhIChtYXgtaGVpZ2h0OiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgICAgICAuY3MtcHJvZmlsIC5jcy1wcmVzZW50YXRpb24gZGl2IHAucGFyYWdyYXBoMiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAgICAgLmNzLXByb2ZpbCAuY3MtcHJlc2VudGF0aW9uIGRpdiBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAuY3MtcHJvZmlsIGEuY3MtbW9yZSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogIzExMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwLjhlbSAxcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4zcztcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlLWluO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiA1cztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLjg5LCAwLjY0LCAwLjk5KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgICAgIC5jcy1wcm9maWwgYS5jcy1tb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDFyZW07XG4gICAgICAgIGxlZnQ6IDUlOyB9IH1cbiAgICAuY3MtcHJvZmlsIGEuY3MtbW9yZTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6ICMzREMzOUM7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuY3MtcHJvZmlsIGEuY3MtbW9yZTIsIC5jcy1wcm9maWwgYS5jcy1tb3JlMiwgLmNzLXByb2ZpbCBhLmNzLW1vcmUzLCAuY3MtcHJvZmlsIGEuY3MtY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuM3M7IH1cbiAgICAuY3MtcHJvZmlsIGEuY3MtbW9yZTI6aG92ZXIsIC5jcy1wcm9maWwgYS5jcy1tb3JlMjpob3ZlciwgLmNzLXByb2ZpbCBhLmNzLW1vcmUzOmhvdmVyLCAuY3MtcHJvZmlsIGEuY3MtY2xvc2U6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGNvbG9yOiAjM0RDMzlDOyB9XG4gIC5jcy1wcm9maWwgLnJldmVyYWwtcXVvdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZS1oO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMTExO1xuICAgIHotaW5kZXg6IDMwMDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuY3MtcHJvZmlsIC5yZXZlcmFsLXF1b3RlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY3MtcHJvZmlsIC5xdW90ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxLjhyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5jcy1wcm9maWwgLnF1b3RlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgIC5jcy1wcm9maWwgLnF1b3RlIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgLmNzLXByb2ZpbCAucXVvdGUgc3ZnLmN5cmlsIHtcbiAgICAgIHdpZHRoOiAxNTBweDsgfVxuICAgICAgLmNzLXByb2ZpbCAucXVvdGUgc3ZnLmN5cmlsIC5zcGFya2xlIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwYXJrbGU7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMDtcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBzcGFya2xlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSBzY2FsZSgxLjAxKTsgfSB9XG4gICAgICAuY3MtcHJvZmlsIC5xdW90ZSBzdmcuY3lyaWwgLnNwYXJrbGUtbWluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwYXJrbGUtbWluO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMXM7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDA7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgc3BhcmtsZS1taW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG4gICAgLmNzLXByb2ZpbCAucXVvdGUgc3ZnLmhpZ2hsYW5kZXIge1xuICAgICAgd2lkdGg6IDE3MHB4OyB9XG4gICAgICAuY3MtcHJvZmlsIC5xdW90ZSBzdmcuaGlnaGxhbmRlciAubGlnaHQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogbGlnaHQ7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDMwcHggMjRweDsgfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTUlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDMwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cbiAgICAuY3MtcHJvZmlsIC5xdW90ZSBzdmcubW9uaXRvciB7XG4gICAgICB3aWR0aDogMTcwcHg7IH1cbiAgICAgIC5jcy1wcm9maWwgLnF1b3RlIHN2Zy5tb25pdG9yICN5ZWxsb3cge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogeWVsbG93O1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDVzO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgeWVsbG93IHtcbiAgMCUsIDYlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEzJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG4gICAgICAuY3MtcHJvZmlsIC5xdW90ZSBzdmcubW9uaXRvciAjY3lhbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBjeWFuO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDVzO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgY3lhbiB7XG4gIDAlLCAxNiUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjMlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cbiAgICAgIC5jcy1wcm9maWwgLnF1b3RlIHN2Zy5tb25pdG9yICNncmVlbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBncmVlbjtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1cztcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIGdyZWVuIHtcbiAgMCUsIDI2JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAzMyUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuICAgICAgLmNzLXByb2ZpbCAucXVvdGUgc3ZnLm1vbml0b3IgI3Jvc2Uge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogcm9zZTtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1cztcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHJvc2Uge1xuICAwJSwgMzYlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDQzJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG4gICAgICAuY3MtcHJvZmlsIC5xdW90ZSBzdmcubW9uaXRvciAjcmVkIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHJlZDtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1cztcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHJlZCB7XG4gIDAlLCA0NiUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTMlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cbiAgICAgIC5jcy1wcm9maWwgLnF1b3RlIHN2Zy5tb25pdG9yICNibHVlIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGJsdWU7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNXM7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBibHVlIHtcbiAgMCUsIDU2JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA2MyUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuICAgICAgLmNzLXByb2ZpbCAucXVvdGUgc3ZnLm1vbml0b3IgI2JsYWNrIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGJsYWNrO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDVzO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgYmxhY2sge1xuICAwJSwgNjYlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgzJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG4gICAgLmNzLXByb2ZpbCAucXVvdGUgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTMwcHg7IH1cbiAgLmNzLXByb2ZpbCAucXVvdGUtMDEsIC5jcy1wcm9maWwgLnF1b3RlLTAyLCAuY3MtcHJvZmlsIC5xdW90ZS0wMywgLmNzLXByb2ZpbCAucXVvdGUtMDQsIC5jcy1wcm9maWwgLnF1b3RlLWVuZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5jcy1wcm9maWwgLnF1b3RlLTAxLmFjdGl2ZSwgLmNzLXByb2ZpbCAucXVvdGUtMDIuYWN0aXZlLCAuY3MtcHJvZmlsIC5xdW90ZS0wMy5hY3RpdmUsIC5jcy1wcm9maWwgLnF1b3RlLTA0LmFjdGl2ZSwgLmNzLXByb2ZpbCAucXVvdGUtZW5kLmFjdGl2ZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwIDNlbTtcbiAgICAgIGJhY2tncm91bmQ6ICMzREMzOUM7XG4gICAgICB0cmFuc2l0aW9uOiAwLjJzIDAuNXMgYmFja2dyb3VuZC1jb2xvciBlYXNlO1xuICAgICAgei1pbmRleDogMjAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgICAgICAgLmNzLXByb2ZpbCAucXVvdGUtMDEuYWN0aXZlLCAuY3MtcHJvZmlsIC5xdW90ZS0wMi5hY3RpdmUsIC5jcy1wcm9maWwgLnF1b3RlLTAzLmFjdGl2ZSwgLmNzLXByb2ZpbCAucXVvdGUtMDQuYWN0aXZlLCAuY3MtcHJvZmlsIC5xdW90ZS1lbmQuYWN0aXZlIHtcbiAgICAgICAgICB0b3A6IDUwdmg7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1MHZoKTsgfSB9XG4gICAgICAuY3MtcHJvZmlsIC5xdW90ZS0wMS5hY3RpdmUgLnF1b3RlLCAuY3MtcHJvZmlsIC5xdW90ZS0wMS5hY3RpdmUgLnJldmVyYWwtcXVvdGUsIC5jcy1wcm9maWwgLnF1b3RlLTAyLmFjdGl2ZSAucXVvdGUsIC5jcy1wcm9maWwgLnF1b3RlLTAyLmFjdGl2ZSAucmV2ZXJhbC1xdW90ZSwgLmNzLXByb2ZpbCAucXVvdGUtMDMuYWN0aXZlIC5xdW90ZSwgLmNzLXByb2ZpbCAucXVvdGUtMDMuYWN0aXZlIC5yZXZlcmFsLXF1b3RlLCAuY3MtcHJvZmlsIC5xdW90ZS0wNC5hY3RpdmUgLnF1b3RlLCAuY3MtcHJvZmlsIC5xdW90ZS0wNC5hY3RpdmUgLnJldmVyYWwtcXVvdGUsIC5jcy1wcm9maWwgLnF1b3RlLWVuZC5hY3RpdmUgLnF1b3RlLCAuY3MtcHJvZmlsIC5xdW90ZS1lbmQuYWN0aXZlIC5yZXZlcmFsLXF1b3RlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5jcy1wcm9maWwgLnF1b3RlLTAxLmFjdGl2ZSAucXVvdGUsIC5jcy1wcm9maWwgLnF1b3RlLTAyLmFjdGl2ZSAucXVvdGUsIC5jcy1wcm9maWwgLnF1b3RlLTAzLmFjdGl2ZSAucXVvdGUsIC5jcy1wcm9maWwgLnF1b3RlLTA0LmFjdGl2ZSAucXVvdGUsIC5jcy1wcm9maWwgLnF1b3RlLWVuZC5hY3RpdmUgLnF1b3RlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlLWluO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDBzO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLjg5LCAwLjY0LCAwLjk5KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNTIuNDM3NWVtKSB7XG4gICAgICAgICAgLmNzLXByb2ZpbCAucXVvdGUtMDEuYWN0aXZlIC5xdW90ZSBwLCAuY3MtcHJvZmlsIC5xdW90ZS0wMi5hY3RpdmUgLnF1b3RlIHAsIC5jcy1wcm9maWwgLnF1b3RlLTAzLmFjdGl2ZSAucXVvdGUgcCwgLmNzLXByb2ZpbCAucXVvdGUtMDQuYWN0aXZlIC5xdW90ZSBwLCAuY3MtcHJvZmlsIC5xdW90ZS1lbmQuYWN0aXZlIC5xdW90ZSBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA2NSU7IH1cbiAgICAgICAgICAuY3MtcHJvZmlsIC5xdW90ZS0wMS5hY3RpdmUgLnF1b3RlIGltZywgLmNzLXByb2ZpbCAucXVvdGUtMDIuYWN0aXZlIC5xdW90ZSBpbWcsIC5jcy1wcm9maWwgLnF1b3RlLTAzLmFjdGl2ZSAucXVvdGUgaW1nLCAuY3MtcHJvZmlsIC5xdW90ZS0wNC5hY3RpdmUgLnF1b3RlIGltZywgLmNzLXByb2ZpbCAucXVvdGUtZW5kLmFjdGl2ZSAucXVvdGUgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7IH0gfVxuICAuY3MtcHJvZmlsIC5xdW90ZS1lbmQuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1tb3JlLCAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1tb3JlMiwgLmNzLXByb2ZpbCBidXR0b24uY3MtbW9yZTMsXG4gIC5jcy1wcm9maWwgYnV0dG9uLmNzLW1vcmU0LCAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1tb3JlNSwgLmNzLXByb2ZpbCBidXR0b24uY3MtY2xvc2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjBweCAxNHB4IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgfVxuICAgIC5jcy1wcm9maWwgYnV0dG9uLmNzLW1vcmUgc3ZnLCAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1tb3JlMiBzdmcsIC5jcy1wcm9maWwgYnV0dG9uLmNzLW1vcmUzIHN2ZyxcbiAgICAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1tb3JlNCBzdmcsIC5jcy1wcm9maWwgYnV0dG9uLmNzLW1vcmU1IHN2ZywgLmNzLXByb2ZpbCBidXR0b24uY3MtY2xvc2Ugc3ZnIHtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4OyB9XG4gIC5jcy1wcm9maWwgYnV0dG9uLmNzLW1vcmUyLCAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1tb3JlMywgLmNzLXByb2ZpbCBidXR0b24uY3MtbW9yZTQsXG4gIC5jcy1wcm9maWwgYnV0dG9uLmNzLW1vcmU1LCAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1jbG9zZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuNHM7IH1cbiAgICAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1tb3JlMiAuY3MtcGx1cy1idG4sIC5jcy1wcm9maWwgYnV0dG9uLmNzLW1vcmUzIC5jcy1wbHVzLWJ0biwgLmNzLXByb2ZpbCBidXR0b24uY3MtbW9yZTQgLmNzLXBsdXMtYnRuLFxuICAgIC5jcy1wcm9maWwgYnV0dG9uLmNzLW1vcmU1IC5jcy1wbHVzLWJ0biwgLmNzLXByb2ZpbCBidXR0b24uY3MtY2xvc2UgLmNzLXBsdXMtYnRuIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuNHM7XG4gICAgICBmaWxsOiAjNjNFREM1OyB9XG4gICAgLmNzLXByb2ZpbCBidXR0b24uY3MtbW9yZTI6aG92ZXIsIC5jcy1wcm9maWwgYnV0dG9uLmNzLW1vcmUzOmhvdmVyLCAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1tb3JlNDpob3ZlcixcbiAgICAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1tb3JlNTpob3ZlciwgLmNzLXByb2ZpbCBidXR0b24uY3MtY2xvc2U6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzYzRURDNTsgfVxuICAgICAgLmNzLXByb2ZpbCBidXR0b24uY3MtbW9yZTI6aG92ZXIgLmNzLXBsdXMtYnRuLCAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1tb3JlMzpob3ZlciAuY3MtcGx1cy1idG4sIC5jcy1wcm9maWwgYnV0dG9uLmNzLW1vcmU0OmhvdmVyIC5jcy1wbHVzLWJ0bixcbiAgICAgIC5jcy1wcm9maWwgYnV0dG9uLmNzLW1vcmU1OmhvdmVyIC5jcy1wbHVzLWJ0biwgLmNzLXByb2ZpbCBidXR0b24uY3MtY2xvc2U6aG92ZXIgLmNzLXBsdXMtYnRuIHtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1tb3JlIHtcbiAgICByaWdodDogLTE1cHg7IH1cbiAgICAuY3MtcHJvZmlsIGJ1dHRvbi5jcy1tb3JlIC5jcy1wbHVzLWJ0biB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjRzO1xuICAgICAgZmlsbDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgZmlsbDogIzYzRURDNTsgfVxuICAgIC5jcy1wcm9maWwgYnV0dG9uLmNzLW1vcmU6aG92ZXIgLmNzLXBsdXMtYnRuIHtcbiAgICAgIGZpbGw6IHdoaXRlOyB9XG5cbi5jcy1zbGlkZSB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmx1cjEuMS5qcGcpIG5vLXJlcGVhdCA1MCUgNTAlL2NvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlLWluO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZGVsYXk6IDMuNHM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLjg5LCAwLjY0LCAwLjk5KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgICAuY3Mtc2xpZGUge1xuICAgICAgaGVpZ2h0OiA1MHZoOyB9IH1cbiAgLmNzLXNsaWRlIC5jcy1sb2dvLWN5cmlsIHtcbiAgICBtYXgtd2lkdGg6IDMwdnc7XG4gICAgbWF4LWhlaWdodDogNzAlO1xuICAgIG1hcmdpbi1sZWZ0OiA0JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmNzLXNsaWRlIC5jcy1sb2dvLWN5cmlsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4NXZ3O1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IEludHJvICAgICAgICAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXG4uY3MtaW50cm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLWludHJvIC5yZXZlcmFsLWludHJvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLXY7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgei1pbmRleDogMTA7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMy40cztcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgei1pbmRleDogMTA7IH1cbiAgLmNzLWludHJvIC5jcy1kZXZpY2VzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA0MjBweDtcbiAgICB6LWluZGV4OiAxMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAgICAgLmNzLWludHJvIC5jcy1kZXZpY2VzIHtcbiAgICAgICAgaGVpZ2h0OiAzNjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAuY3MtaW50cm8gLmNzLWRldmljZXMge1xuICAgICAgICBoZWlnaHQ6IDI5MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5jcy1pbnRybyAuY3MtZGV2aWNlcyB7XG4gICAgICAgIGhlaWdodDogNDB2dzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTIuNDM3NWVtKSB7XG4gICAgICAuY3MtaW50cm8gLmNzLWRldmljZXMge1xuICAgICAgICBoZWlnaHQ6IDQwdnc7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7IH0gfVxuICAgIC5jcy1pbnRybyAuY3MtZGV2aWNlcyBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAuY3MtaW50cm8gLmNzLWRldmljZXMgaW1nLnNoYWRvdy1kZXZpY2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlLWluO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLjg5LCAwLjY0LCAwLjk5KTsgfVxuICAgICAgLmNzLWludHJvIC5jcy1kZXZpY2VzIGltZy5taW5pdGVsIHtcbiAgICAgICAgd2lkdGg6IDI5MHB4O1xuICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgICAgICBsZWZ0OiA1JTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtZnJvbS1yaWdodDtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDQuM3M7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLjg5LCAwLjY0LCAwLjk5KTsgfVxuICAgICAgLmNzLWludHJvIC5jcy1kZXZpY2VzIGltZy5pcGhvbmUge1xuICAgICAgICB3aWR0aDogMTQwcHg7XG4gICAgICAgIHRvcDogNzBweDtcbiAgICAgICAgd2lkdGg6IDE2JTtcbiAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICAgICAgbGVmdDogMjclO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZS1mcm9tLXJpZ2h0O1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogNC4xcztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjEsIDAuODksIDAuNjQsIDAuOTkpOyB9XG4gICAgICAuY3MtaW50cm8gLmNzLWRldmljZXMgaW1nLmdhbWVib3kge1xuICAgICAgICBsZWZ0OiAyODVweDtcbiAgICAgICAgdG9wOiAtM3ZoO1xuICAgICAgICB3aWR0aDogMzUwcHg7XG4gICAgICAgIHdpZHRoOiA0MiU7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIGxlZnQ6IDMyJTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtZnJvbS1ib3R0b207XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiA0cztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjEsIDAuODksIDAuNjQsIDAuOTkpOyB9XG4gICAgICAgIEBtZWRpYSAobWluLWhlaWdodDogODAwcHgpIGFuZCAobWluLXdpZHRoOiAyMTAwcHgpIHtcbiAgICAgICAgICAuY3MtaW50cm8gLmNzLWRldmljZXMgaW1nLmdhbWVib3kge1xuICAgICAgICAgICAgdG9wOiAtMnZoOyB9IH1cbiAgICAgIC5jcy1pbnRybyAuY3MtZGV2aWNlcyBpbWcubWFicm91ayB7XG4gICAgICAgIGxlZnQ6IDQ3MHB4O1xuICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgIHdpZHRoOiA0NTBweDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICAgICAgbGVmdDogNDklO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZS1mcm9tLWxlZnQ7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiA0LjJzO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMSwgMC44OSwgMC42NCwgMC45OSk7IH1cbiAgLmNzLWludHJvIC5jcy1kZXZpY2VzLW1vYmlsZSB7XG4gICAgei1pbmRleDogMTE7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgIC5jcy1pbnRybyAuY3MtZGV2aWNlcy1tb2JpbGUgaW1nIHtcbiAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICAgLmNzLWludHJvIC5jcy1kZXZpY2VzLW1vYmlsZSBpbWcuaXBob25lIHtcbiAgICAgICAgaGVpZ2h0OiAyMzBweDsgfVxuICAuY3MtaW50cm8gLmNzLXRleHQge1xuICAgIHotaW5kZXg6IDExO1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlU2VyaWZQcm8nLCBHZW9yZ2lhO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlLWZyb20tbGVmdDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kZWxheTogNC42cztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLjg5LCAwLjY0LCAwLjk5KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLmNzLWludHJvIC5jcy10ZXh0IC5zaG93LWZvci1sYXJnZSwgLmNzLWludHJvIC5jcy10ZXh0IC5wbGFuZS1hbmltYXRpb24gLmNsb3VkMiwgLnBsYW5lLWFuaW1hdGlvbiAuY3MtaW50cm8gLmNzLXRleHQgLmNsb3VkMiwgLmNzLWludHJvIC5jcy10ZXh0IC5wbGFuZS1hbmltYXRpb24gLmNsb3VkMywgLnBsYW5lLWFuaW1hdGlvbiAuY3MtaW50cm8gLmNzLXRleHQgLmNsb3VkMyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5jcy1pbnRybyAuY3MtdGV4dCAubWljcm93YXZlIHtcbiAgICAgIHdpZHRoOiA0NnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5LjkzNzVlbSkge1xuICAgICAgLmNzLWludHJvIC5jcy10ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNWVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgICAgIC5jcy1pbnRybyAuY3MtdGV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAuY3MtaW50cm8gLmNzLXRleHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5jcy1pbnRybyAuY3MtdGV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZS1mcm9tLXRvcDtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiA0LjZzO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMSwgMC44OSwgMC42NCwgMC45OSk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgICAgLmNzLWludHJvIC5jcy10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4OyB9IH1cblxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBTa2lsbHMgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cbi5za2lsbHMgLmNvbnN1bHRpbmcsIC5za2lsbHMgLndlYmRlc2lnbiwgLnNraWxscyAuZGV2ZWxvcG1lbnQge1xuICBiYWNrZ3JvdW5kOiAjNDQ0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDNlbSAyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnNraWxscyAuY29uc3VsdGluZywgLnNraWxscyAud2ViZGVzaWduLCAuc2tpbGxzIC5kZXZlbG9wbWVudCB7XG4gICAgICBwYWRkaW5nOiAyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAuc2tpbGxzIC5jb25zdWx0aW5nLCAuc2tpbGxzIC53ZWJkZXNpZ24sIC5za2lsbHMgLmRldmVsb3BtZW50IHtcbiAgICAgIHBhZGRpbmc6IDEuNWVtOyB9IH1cbiAgLnNraWxscyAuY29uc3VsdGluZyBpbWcsIC5za2lsbHMgLndlYmRlc2lnbiBpbWcsIC5za2lsbHMgLmRldmVsb3BtZW50IGltZyB7XG4gICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgICAgLnNraWxscyAuY29uc3VsdGluZyBpbWcsIC5za2lsbHMgLndlYmRlc2lnbiBpbWcsIC5za2lsbHMgLmRldmVsb3BtZW50IGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5za2lsbHMgLmNvbnN1bHRpbmcgaW1nLCAuc2tpbGxzIC53ZWJkZXNpZ24gaW1nLCAuc2tpbGxzIC5kZXZlbG9wbWVudCBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuc2tpbGxzIC5jb25zdWx0aW5nIGgzLCAuc2tpbGxzIC53ZWJkZXNpZ24gaDMsIC5za2lsbHMgLmRldmVsb3BtZW50IGgzIHtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgICAuc2tpbGxzIC5jb25zdWx0aW5nIGgzLCAuc2tpbGxzIC53ZWJkZXNpZ24gaDMsIC5za2lsbHMgLmRldmVsb3BtZW50IGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5za2lsbHMgLmNvbnN1bHRpbmcgaDMsIC5za2lsbHMgLndlYmRlc2lnbiBoMywgLnNraWxscyAuZGV2ZWxvcG1lbnQgaDMge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5za2lsbHMgLmNvbnN1bHRpbmcgaDMsIC5za2lsbHMgLndlYmRlc2lnbiBoMywgLnNraWxscyAuZGV2ZWxvcG1lbnQgaDMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgICAgLnNraWxscyAuY29uc3VsdGluZyBoMywgLnNraWxscyAud2ViZGVzaWduIGgzLCAuc2tpbGxzIC5kZXZlbG9wbWVudCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtOyB9IH1cblxuLnNraWxscyAud2ViZGVzaWduIHtcbiAgYmFja2dyb3VuZDogIzMzMzsgfVxuXG4uc2tpbGxzIC5kZXZlbG9wbWVudCB7XG4gIGJhY2tncm91bmQ6ICMxMTE7IH1cblxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBDbGllbnRzICAgICAgICAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXG4uY2xpZW50cyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLmNsaWVudHMgLmJsb2NrLWxvZ29zIHtcbiAgICBwYWRkaW5nOiAzZW0gM2VtIDRyZW0gM3JlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmNsaWVudHMgLmJsb2NrLWxvZ29zIHtcbiAgICAgICAgcGFkZGluZzogMmVtOyB9IH1cbiAgICAuY2xpZW50cyAuYmxvY2stbG9nb3MgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgY29sb3I6ICM0NDQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgLmNsaWVudHMgLmJsb2NrLWxvZ29zIGgyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5jbGllbnRzIC5ibG9jay1sb2dvcyBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gICAgICAgIC5jbGllbnRzIC5ibG9jay1sb2dvcyBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAuY2xpZW50cyAuYmxvY2stbG9nb3MgLmNvbHVtbnMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgIC5jbGllbnRzIC5ibG9jay1sb2dvcyAuY29sdW1ucyBpbWcge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDcwcHg7IH1cbiAgICAgICAgLmNsaWVudHMgLmJsb2NrLWxvZ29zIC5jb2x1bW5zLm1ldGVvZnJhbmNlIGltZywgLmNsaWVudHMgLmJsb2NrLWxvZ29zIC5jb2x1bW5zLmZveCBpbWcsIC5jbGllbnRzIC5ibG9jay1sb2dvcyAuY29sdW1ucy5wZXVnZW90IGltZyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG4gICAgLmNsaWVudHMgLmJsb2NrLWxvZ29zIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiA4MHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgLmNsaWVudHMgLnJldmlld3Mge1xuICAgIHBhZGRpbmc6IDNyZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoMXB4IGF0IC0xMDBweCA1MCUsIHJnYmEoMCwgMCwgMCwgMC4yKSAwJSwgdHJhbnNwYXJlbnQgMjAwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gICAgICAuY2xpZW50cyAucmV2aWV3cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCgxcHggYXQgNTAlIC0zMHZ3LCByZ2JhKDAsIDAsIDAsIDAuMykgMCUsIHRyYW5zcGFyZW50IDUwdncpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgICAgIC5jbGllbnRzIC5yZXZpZXdzIC5hdmF0YXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC5jbGllbnRzIC5yZXZpZXdzIC5hdmF0YXItcGhvdG8ge1xuICAgICAgbWFyZ2luOiAycmVtIDAgMnJlbTtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA1cHggI2ZmZjsgfVxuICAgICAgLmNsaWVudHMgLnJldmlld3MgLmF2YXRhci1waG90byBpbWcge1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgICAgICAgLmNsaWVudHMgLnJldmlld3MgLmF2YXRhci1waG90byB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUyLjQzNzVlbSkge1xuICAgICAgICAuY2xpZW50cyAucmV2aWV3cyAuYXZhdGFyLXBob3RvIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgIGhlaWdodDogMTUwcHg7IH1cbiAgICAgICAgICAuY2xpZW50cyAucmV2aWV3cyAuYXZhdGFyLXBob3RvIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5jbGllbnRzIC5yZXZpZXdzIC5jcy10ZXh0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlU2VyaWZQcm8nLCBHZW9yZ2lhO1xuICAgICAgY29sb3I6ICM4MDgwODA7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljby1xdW90ZS5zdmcpIG5vLXJlcGVhdCAwIDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUyLjQzNzVlbSkge1xuICAgICAgICAuY2xpZW50cyAucmV2aWV3cyAuY3MtdGV4dCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW0gM3JlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAgICAgLmNsaWVudHMgLnJldmlld3MgLmNzLXRleHQge1xuICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsgfSB9XG4gICAgLmNsaWVudHMgLnJldmlld3MgLmNzLXByb2ZpbGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgICAgICAgLmNsaWVudHMgLnJldmlld3MgLmNzLXByb2ZpbGUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfSB9XG4gICAgICAuY2xpZW50cyAucmV2aWV3cyAuY3MtcHJvZmlsZSBzcGFuLCAuY2xpZW50cyAucmV2aWV3cyAuY3MtcHJvZmlsZSBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdUaXRpbGxpdW0gV2ViJztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAuY2xpZW50cyAucmV2aWV3cyAuY3MtcHJvZmlsZSAuY3MtbmFtZSB7XG4gICAgICAgIGNvbG9yOiAjMjgyRDMzO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgICAgLmNsaWVudHMgLnJldmlld3MgLmNzLXByb2ZpbGUgLmNzLWpvYiB7XG4gICAgICAgIGNvbG9yOiAjODA4MDgwOyB9XG4gICAgICAuY2xpZW50cyAucmV2aWV3cyAuY3MtcHJvZmlsZSBhLmNzLWNvbXBhZ255IHtcbiAgICAgICAgY29sb3I6ICMzREMzOUM7IH1cblxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBQb3J0Zm9saW8gICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cbi5jcy1wb3J0Zm9saW8taG9tZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsID4gLnJvdywgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1vdG9yaW0gPiAucm93LCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSA+IC5yb3cge1xuICAgIGhlaWdodDogNTAwcHg7IH1cbiAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3MsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3Mtb3RvcmltIGEuY3MtaW5mb3MsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtY2l0eWRyaXZlIGEuY3MtaW5mb3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjRzO1xuICAgIHBhZGRpbmc6IDEuMnJlbSAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOHJlbTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgaW5zZXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgICAgIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtYm9vc3RyYXZlbCBhLmNzLWluZm9zLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSBhLmNzLWluZm9zLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSBhLmNzLWluZm9zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3Mgc3ZnLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSBhLmNzLWluZm9zIHN2ZywgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1jaXR5ZHJpdmUgYS5jcy1pbmZvcyBzdmcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwLjZyZW0gMDsgfVxuICAgIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtYm9vc3RyYXZlbCBhLmNzLWluZm9zIC5sb2dvLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSBhLmNzLWluZm9zIC5sb2dvLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSBhLmNzLWluZm9zIC5sb2dvIHtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWJvb3N0cmF2ZWwgYS5jcy1pbmZvcyAudGV4dCwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1vdG9yaW0gYS5jcy1pbmZvcyAudGV4dCwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1jaXR5ZHJpdmUgYS5jcy1pbmZvcyAudGV4dCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTVweDsgfVxuICAgICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3MgLnRleHQgaDMsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3Mtb3RvcmltIGEuY3MtaW5mb3MgLnRleHQgaDMsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtY2l0eWRyaXZlIGEuY3MtaW5mb3MgLnRleHQgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWJvb3N0cmF2ZWwgYS5jcy1pbmZvcyAudGV4dCBwLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSBhLmNzLWluZm9zIC50ZXh0IHAsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtY2l0eWRyaXZlIGEuY3MtaW5mb3MgLnRleHQgcCB7XG4gICAgICAgIGNvbG9yOiAjMjgyRDMzO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3M6aG92ZXIsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3Mtb3RvcmltIGEuY3MtaW5mb3M6aG92ZXIsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtY2l0eWRyaXZlIGEuY3MtaW5mb3M6aG92ZXIge1xuICAgICAgd2lkdGg6IDU3MHB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3M6aG92ZXIgLnRleHQsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3Mtb3RvcmltIGEuY3MtaW5mb3M6aG92ZXIgLnRleHQsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtY2l0eWRyaXZlIGEuY3MtaW5mb3M6aG92ZXIgLnRleHQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogY3RhLXRleHQ7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC40cztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjEsIDAuODksIDAuNjQsIDAuOTkpOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gICAgICAgIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtYm9vc3RyYXZlbCBhLmNzLWluZm9zOmhvdmVyLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSBhLmNzLWluZm9zOmhvdmVyLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSBhLmNzLWluZm9zOmhvdmVyIHtcbiAgICAgICAgICB3aWR0aDogNTMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWJvb3N0cmF2ZWwgPiAucm93LCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSA+IC5yb3csIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtY2l0eWRyaXZlID4gLnJvdyB7XG4gICAgICBoZWlnaHQ6IDcwdmg7IH1cbiAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWJvb3N0cmF2ZWwgYS5jcy1pbmZvczpob3ZlciwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1vdG9yaW0gYS5jcy1pbmZvczpob3ZlciwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1jaXR5ZHJpdmUgYS5jcy1pbmZvczpob3ZlciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIGluc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtYm9vc3RyYXZlbCBhLmNzLWluZm9zOmhvdmVyIC50ZXh0LCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSBhLmNzLWluZm9zOmhvdmVyIC50ZXh0LCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSBhLmNzLWluZm9zOmhvdmVyIC50ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3M6aG92ZXIgLmxvZ28sIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtYm9vc3RyYXZlbCBhLmNzLWluZm9zOmhvdmVyIC5sb2dvLXRvcCwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3M6aG92ZXIgLmxvZ28tYm90dG9tLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSBhLmNzLWluZm9zOmhvdmVyIC5sb2dvLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSBhLmNzLWluZm9zOmhvdmVyIC5sb2dvLXRvcCwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1vdG9yaW0gYS5jcy1pbmZvczpob3ZlciAubG9nby1ib3R0b20sIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtY2l0eWRyaXZlIGEuY3MtaW5mb3M6aG92ZXIgLmxvZ28sIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtY2l0eWRyaXZlIGEuY3MtaW5mb3M6aG92ZXIgLmxvZ28tdG9wLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSBhLmNzLWluZm9zOmhvdmVyIC5sb2dvLWJvdHRvbSB7XG4gICAgICAgIGZpbGw6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Mi41ZW0pIHtcbiAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWJvb3N0cmF2ZWwgYS5jcy1pbmZvcy1tb2JpbGUsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3Mtb3RvcmltIGEuY3MtaW5mb3MtbW9iaWxlLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSBhLmNzLWluZm9zLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTIuNDM3NWVtKSB7XG4gICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3MtbW9iaWxlLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSBhLmNzLWluZm9zLW1vYmlsZSwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1jaXR5ZHJpdmUgYS5jcy1pbmZvcy1tb2JpbGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDcwdmg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtYm9vc3RyYXZlbCBhLmNzLWluZm9zLW1vYmlsZSBzdmcsIC5jcy1wb3J0Zm9saW8taG9tZSAuY3Mtb3RvcmltIGEuY3MtaW5mb3MtbW9iaWxlIHN2ZywgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1jaXR5ZHJpdmUgYS5jcy1pbmZvcy1tb2JpbGUgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3MtbW9iaWxlIC50ZXh0LCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSBhLmNzLWluZm9zLW1vYmlsZSAudGV4dCwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1jaXR5ZHJpdmUgYS5jcy1pbmZvcy1tb2JpbGUgLnRleHQge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3MtbW9iaWxlIC50ZXh0IGgzLCAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLW90b3JpbSBhLmNzLWluZm9zLW1vYmlsZSAudGV4dCBoMywgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1jaXR5ZHJpdmUgYS5jcy1pbmZvcy1tb2JpbGUgLnRleHQgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgICAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWJvb3N0cmF2ZWwgYS5jcy1pbmZvcy1tb2JpbGUgLnRleHQgcCwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1vdG9yaW0gYS5jcy1pbmZvcy1tb2JpbGUgLnRleHQgcCwgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1jaXR5ZHJpdmUgYS5jcy1pbmZvcy1tb2JpbGUgLnRleHQgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgcGFkZGluZzogMCAycmVtOyB9IH1cbiAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2JnLWJvb3N0cmF2ZWwtaG9tZS5qcGcpIG5vLXJlcGVhdCA1MCUgNTAlL2NvdmVyOyB9XG4gICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3Mge1xuICAgICAgd2lkdGg6IGNhbGMoNzBweCArIDRyZW0pOyB9XG4gICAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWJvb3N0cmF2ZWwgYS5jcy1pbmZvcyBzdmcge1xuICAgICAgICB3aWR0aDogNzBweDsgfVxuICAgICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3MgLnRleHQgaDMge1xuICAgICAgICBjb2xvcjogI0YxNzIyMTsgfVxuICAgICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3MgLnRleHQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjRjE3MjIxOyB9XG4gICAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWJvb3N0cmF2ZWwgYS5jcy1pbmZvczpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTVweCAwICNGMTcyMjEgaW5zZXQ7IH1cbiAgICAgICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1ib29zdHJhdmVsIGEuY3MtaW5mb3M6aG92ZXIgLmxvZ28ge1xuICAgICAgICAgIGZpbGw6ICNGMTcyMjE7IH1cbiAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1vdG9yaW0ge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmctb3RvcmltLWhvbWUuanBnKSBuby1yZXBlYXQgNTAlIDUwJS9jb3ZlcjsgfVxuICAgIC5jcy1wb3J0Zm9saW8taG9tZSAuY3Mtb3RvcmltIGEuY3MtaW5mb3MtbW9iaWxlIHN2ZyB7XG4gICAgICB3aWR0aDogOTBweDsgfVxuICAgIC5jcy1wb3J0Zm9saW8taG9tZSAuY3Mtb3RvcmltIGEuY3MtaW5mb3Mge1xuICAgICAgd2lkdGg6IGNhbGMoMTEwcHggKyA0cmVtKTsgfVxuICAgICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1vdG9yaW0gYS5jcy1pbmZvcyBzdmcge1xuICAgICAgICB3aWR0aDogMTEwcHg7IH1cbiAgICAgIC5jcy1wb3J0Zm9saW8taG9tZSAuY3Mtb3RvcmltIGEuY3MtaW5mb3MgLnRleHQgaDMge1xuICAgICAgICBjb2xvcjogI0NBMzAwMDsgfVxuICAgICAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1vdG9yaW0gYS5jcy1pbmZvcyAudGV4dCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNDQTMwMDA7IH1cbiAgICAgIC5jcy1wb3J0Zm9saW8taG9tZSAuY3Mtb3RvcmltIGEuY3MtaW5mb3M6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIC01cHggMCAjQ0EzMDAwIGluc2V0OyB9XG4gICAgICAgIC5jcy1wb3J0Zm9saW8taG9tZSAuY3Mtb3RvcmltIGEuY3MtaW5mb3M6aG92ZXIgLmxvZ28ge1xuICAgICAgICAgIGZpbGw6ICNDQTMwMDA7IH1cbiAgLmNzLXBvcnRmb2xpby1ob21lIC5jcy1jaXR5ZHJpdmUge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmctY2l0eWRyaXZlLWhvbWUuanBnKSBuby1yZXBlYXQgNTAlIDUwJS9jb3ZlcjsgfVxuICAgIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtY2l0eWRyaXZlIGEuY3MtaW5mb3Mge1xuICAgICAgd2lkdGg6IGNhbGMoNzBweCArIDRyZW0pOyB9XG4gICAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSBhLmNzLWluZm9zIHN2ZyB7XG4gICAgICAgIHdpZHRoOiA3MHB4OyB9XG4gICAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSBhLmNzLWluZm9zIC50ZXh0IGgzIHtcbiAgICAgICAgY29sb3I6ICMzMkIzQzA7IH1cbiAgICAgIC5jcy1wb3J0Zm9saW8taG9tZSAuY3MtY2l0eWRyaXZlIGEuY3MtaW5mb3MgLnRleHQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjRjE4NTM0OyB9XG4gICAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSBhLmNzLWluZm9zOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAtNXB4IDAgIzMyQjNDMCBpbnNldDsgfVxuICAgICAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSBhLmNzLWluZm9zOmhvdmVyIC5sb2dvLXRvcCB7XG4gICAgICAgICAgZmlsbDogIzMyQjNDMDsgfVxuICAgICAgICAuY3MtcG9ydGZvbGlvLWhvbWUgLmNzLWNpdHlkcml2ZSBhLmNzLWluZm9zOmhvdmVyIC5sb2dvLWJvdHRvbSB7XG4gICAgICAgICAgZmlsbDogI0YxODUzNDsgfVxuXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IEhpcmUgbWUgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cbi5oaXJlLW1lIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5oaXJlLW1lIHtcbiAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuICAuaGlyZS1tZSBwIHtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZVNlcmlmUHJvJywgR2VvcmdpYTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgY29sb3I6ICM5OTk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgICAgIC5oaXJlLW1lIHAge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuaGlyZS1tZSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgICAgLmhpcmUtbWUgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9IH1cbiAgLmhpcmUtbWUgYSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDEwcHggMThweDtcbiAgICBjb2xvcjogIzNEQzM5QztcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggIzNEQzM5QztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC40cztcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLmhpcmUtbWUgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTExO1xuICAgICAgY29sb3I6ICM2M0VEQzU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA2cHggI2VlZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmhpcmUtbWUgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cblxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBGb290ZXIgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cbmZvb3RlciAucm93IHtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICMxYTFhMWE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDUwJSAtMjAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSA0MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNzAlKTsgfVxuICBmb290ZXIgLnJvdyAuY29sdW1ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgZm9vdGVyIC5yb3cgLmNvbHVtbnMgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIGZvb3RlciAucm93IC5jb2x1bW5zIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgY29sb3I6ICM2NjY7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdUaXRpbGxpdW0gV2ViJztcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgZm9vdGVyIC5yb3cgLmNvbHVtbnMgaDMgYSB7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjRzOyB9XG4gICAgICAgIGZvb3RlciAucm93IC5jb2x1bW5zIGgzIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNjNFREM1OyB9XG5cbi8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBcclxuLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFxyXG4vKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgXHJcbi8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBcclxuLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFxyXG4vKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgXHJcbiovXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IEJvb3N0cmF2ZWwgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbj09PT09PT09PT09PT09PT09PT09PT0gSGVhZGVyICAgICAgICAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXG4uYnMtZGV0YWlsIHtcbiAgYmFja2dyb3VuZDogIzI4MkQzMztcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDJyZW0gM3JlbTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtaW47XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMDtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjRzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMSwgMC44OSwgMC42NCwgMC45OSk7IH1cbiAgLmJzLWRldGFpbCBoMSwgLmJzLWRldGFpbCAuY3MtY29udGFjdC1tb2RhbCBoMywgLmNzLWNvbnRhY3QtbW9kYWwgLmJzLWRldGFpbCBoMywgLmJzLWRldGFpbCAuY3MtbWVudS1tb2RhbCBoMywgLmNzLW1lbnUtbW9kYWwgLmJzLWRldGFpbCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUyLjQzNzVlbSkge1xuICAgIC5icy1kZXRhaWwge1xuICAgICAgcGFkZGluZzogMS41cmVtIDJyZW07IH1cbiAgICAgIC5icy1kZXRhaWwgaDEsIC5icy1kZXRhaWwgLmNzLWNvbnRhY3QtbW9kYWwgaDMsIC5jcy1jb250YWN0LW1vZGFsIC5icy1kZXRhaWwgaDMsIC5icy1kZXRhaWwgLmNzLW1lbnUtbW9kYWwgaDMsIC5jcy1tZW51LW1vZGFsIC5icy1kZXRhaWwgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gICAgLmJzLWRldGFpbCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5icy12aXN1YWwge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Jvb3N0cmF2ZWwvYmctYm9vc3RyYXZlbC5qcGcpIG5vLXJlcGVhdCA1MCUgNDAlL2NvdmVyO1xuICBoZWlnaHQ6IDUwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZS1pbjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwO1xuICBhbmltYXRpb24tZGVsYXk6IDMuNHM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLjg5LCAwLjY0LCAwLjk5KTsgfVxuICAuYnMtdmlzdWFsIGltZyB7XG4gICAgbWFyZ2luLXRvcDogLTEwcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTUlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgICAgLmJzLXZpc3VhbCBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDE0MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtODAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTIuNDM3NWVtKSB7XG4gICAgLmJzLXZpc3VhbCB7XG4gICAgICBoZWlnaHQ6IDYwdmg7IH0gfVxuXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IE1hZ2F6aW5lICAgICAgICAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXG4uYnMtbWFnYXppbmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoMXB4IGF0IDUwJSAtMzB2dywgcmdiYSgwLCAwLCAwLCAwLjMpIDAlLCB0cmFuc3BhcmVudCA1MHZ3KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDRyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDAgMnB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZS1pbjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMSwgMC44OSwgMC42NCwgMC45OSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmJzLW1hZ2F6aW5lIHtcbiAgICAgIHBhZGRpbmc6IDAgMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gICAgLmJzLW1hZ2F6aW5lIHtcbiAgICAgIHBhZGRpbmc6IDAgMS41cmVtOyB9IH1cbiAgLmJzLW1hZ2F6aW5lIC50ZXh0IHtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZVNlcmlmUHJvJywgR2VvcmdpYTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM5OTk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuYnMtbWFnYXppbmUgLnRleHQge1xuICAgICAgICBwYWRkaW5nOiA2LjVyZW0gNXJlbSA2LjVyZW0gMTRyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgICAgIC5icy1tYWdhemluZSAudGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDQuNXJlbSAzcmVtO1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAuYnMtbWFnYXppbmUgLnRleHQge1xuICAgICAgICBwYWRkaW5nOiAzLjVyZW0gMHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUyLjQzNzVlbSkge1xuICAgICAgLmJzLW1hZ2F6aW5lIC50ZXh0IHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIG1hcmdpbi10b3A6IDEzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5icy1tYWdhemluZSAudGV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1dnc7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgICAgLmJzLW1hZ2F6aW5lIC50ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzV2dztcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07IH0gfVxuICAuYnMtbWFnYXppbmUgLmltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogLTgwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLmJzLW1hZ2F6aW5lIC5pbWFnZSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDQ1MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmJzLW1hZ2F6aW5lIC5pbWFnZSBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmJzLW1hZ2F6aW5lIC5pbWFnZSBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDU1MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5icy1tYWdhemluZSAuaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zcmVtOyB9XG4gICAgICAgIC5icy1tYWdhemluZSAuaW1hZ2UgaW1nIHtcbiAgICAgICAgICB3aWR0aDogODAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgICAgIC5icy1tYWdhemluZSAuaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXZ3OyB9XG4gICAgICAgIC5icy1tYWdhemluZSAuaW1hZ2UgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuYnMtbWFnYXppbmUgLmltYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycmVtOyB9XG4gICAgICAgIC5icy1tYWdhemluZSAuaW1hZ2UgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gICAgICAuYnMtbWFnYXppbmUgLmltYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMzBweDsgfVxuICAgICAgICAuYnMtbWFnYXppbmUgLmltYWdlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDkwJTsgfSB9XG5cbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbj09PT09PT09PT09PT09PT09PT09PT0gUGxhbmUgYW5pbWF0aW9uICAgICAgICAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXG4ucGxhbmUtYW5pbWF0aW9uIC5jb250YWluZXIge1xuICBoZWlnaHQ6IDMwMHB4O1xuICBiYWNrZ3JvdW5kOiAjRjY4NzAwO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjRjY4NzAwIDAlLCAjREEzQTJEIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjRjY4NzAwIDAlLCAjREEzQTJEIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNGNjg3MDAgMCUsICNEQTNBMkQgMTAwJSk7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSckY29sb3IxJywgZW5kQ29sb3JzdHI9JyRjb2xvcjInLEdyYWRpZW50VHlwZT0xICk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucGxhbmUtYW5pbWF0aW9uIC5jbG91ZDEsIC5wbGFuZS1hbmltYXRpb24gLmNsb3VkMiwgLnBsYW5lLWFuaW1hdGlvbiAuY2xvdWQzLCAucGxhbmUtYW5pbWF0aW9uIC5jbG91ZDQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvLWNsb3VkLnN2Zykgbm8tcmVwZWF0O1xuICB3aWR0aDogMTAwMHB4O1xuICBoZWlnaHQ6IDgwMHB4O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5wbGFuZS1hbmltYXRpb24gLmNsb3VkMSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0yNWRlZykgdHJhbnNsYXRlWigwKTtcbiAgYW5pbWF0aW9uLW5hbWU6IGNsb3VkMTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNXM7IH1cblxuLnBsYW5lLWFuaW1hdGlvbiAuY2xvdWQyIHtcbiAgdG9wOiAtMjAwMHB4O1xuICBvcGFjaXR5OiAwLjQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE1NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIGFuaW1hdGlvbi1uYW1lOiBjbG91ZDI7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMzVzOyB9XG5cbi5wbGFuZS1hbmltYXRpb24gLmNsb3VkMyB7XG4gIHRvcDogMHB4O1xuICBvcGFjaXR5OiAwLjQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE1NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIGFuaW1hdGlvbi1uYW1lOiBjbG91ZDM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMzhzOyB9XG5cbi5wbGFuZS1hbmltYXRpb24gLmNsb3VkNCB7XG4gIHRvcDogMHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICBhbmltYXRpb24tbmFtZTogY2xvdWQ0O1xuICBhbmltYXRpb24tZHVyYXRpb246IDI0czsgfVxuXG4ucGxhbmUtYW5pbWF0aW9uIC5wbGFuZSB7XG4gIHdpZHRoOiA4MDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY28tcGxhbmUuc3ZnKSBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyNTBweDtcbiAgbGVmdDogY2FsYyg1MCUgLSA3MDBweCk7XG4gIGFuaW1hdGlvbi1uYW1lOiBwbGFuZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwO1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4ucGxhbmUtYW5pbWF0aW9uIC5wbGFuZS1zaGFkb3cge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljby1wbGFuZS1zaGFkb3cuc3ZnKSBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDUwJSAtIDI1cHgpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDVweCk7XG4gIG9wYWNpdHk6IDAuMjtcbiAgYW5pbWF0aW9uLW5hbWU6IHBsYW5lLXNoYWRvdztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBMaXN0IHNraWxsICAgICAgIFx0XHRcdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xuLmJzLXNraWxscyAuc2tpbGwtbGlzdCB7XG4gIGJhY2tncm91bmQ6ICMyODJEMzM7XG4gIHBhZGRpbmc6IDNyZW0gM3JlbSAycmVtIDNyZW07XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5icy1za2lsbHMgLnNraWxsLWxpc3QgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5icy1za2lsbHMgLnNraWxsLWxpc3QgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogJ01vbnRzZXJyYXQnLCBhcmlhbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgLmJzLXNraWxscyAuc2tpbGwtbGlzdCBsaSBzcGFuIHtcbiAgICAgIGNvbG9yOiAjM0RDMzlDO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gICAgLmJzLXNraWxscyAuc2tpbGwtbGlzdCB7XG4gICAgICBwYWRkaW5nOiAycmVtIDFyZW0gMXJlbSAxcmVtOyB9XG4gICAgICAuYnMtc2tpbGxzIC5za2lsbC1saXN0IGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07IH1cbiAgICAgICAgLmJzLXNraWxscyAuc2tpbGwtbGlzdCBsaSBzcGFuIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH0gfVxuXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IFdpcmVmcmFtZSAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cbi5icy13aXJlZnJhbWUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGhlaWdodDogNTB2aDtcbiAgbWluLWhlaWdodDogMzAwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYm9vc3RyYXZlbC9ib29zdHJhdmVsLXdpcmVmcmFtZS5qcGcpIDUwJSA1MCUvY292ZXI7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7IH1cbiAgLmJzLXdpcmVmcmFtZSAubnVtYmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAzLjNyZW0gMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICM2M0VEQzU7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIzYzRURDNSAwJSwgIzNEQzM5QyAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjNjNFREM1IDAlLCAjM0RDMzlDIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzYzRURDNSAwJSwgIzNEQzM5QyAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nJGNvbG9yMScsIGVuZENvbG9yc3RyPSckY29sb3IyJyxHcmFkaWVudFR5cGU9MSApOyB9XG4gICAgLmJzLXdpcmVmcmFtZSAubnVtYmVyIHNwYW4ge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgYXJpYWw7XG4gICAgICBmb250LXNpemU6IDRyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDNyZW07IH1cblxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBVSSAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXG4udWkge1xuICAvKiBFbmQgV2FsbHBhcGVyICovIH1cbiAgLnVpIC53YWxscGFwZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ib29zdHJhdmVsL2JnMDMuanBnXCIpIG5vLXJlcGVhdCA1MCUgMTAwJS9jb3ZlcjtcbiAgICBoZWlnaHQ6IDUwdmg7XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgbWF4LWhlaWdodDogNjIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTA7IH1cbiAgICAudWkgLndhbGxwYXBlciAucHVuY2hsaW5lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDMwJTtcbiAgICAgIHRvcDogODBweDsgfVxuICAgIC51aSAud2FsbHBhcGVyIC5sYXB0b3Age1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTcwcHg7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAgIC51aSAud2FsbHBhcGVyIC5tb2JpbGUge1xuICAgICAgd2lkdGg6IDE1JTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTkwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAudWkgLndhbGxwYXBlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoICg1MHZoICsgMzV2dykgLyAyKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAudWkgLndhbGxwYXBlciAucHVuY2hsaW5lIHtcbiAgICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgICBsZWZ0OiAyNSU7IH1cbiAgICAgIC51aSAud2FsbHBhcGVyIC5sYXB0b3Age1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICBib3R0b206IC01MHB4OyB9XG4gICAgICAudWkgLndhbGxwYXBlciAubW9iaWxlIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgYm90dG9tOiAtNzBweDtcbiAgICAgICAgbGVmdDogNTAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Mi40Mzc1ZW0pIHtcbiAgICAgIC51aSAud2FsbHBhcGVyIC5sYXB0b3Age1xuICAgICAgICBtaW4td2lkdGg6IDU2MHB4O1xuICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgICBsZWZ0OiAtNSU7IH1cbiAgICAgIC51aSAud2FsbHBhcGVyIC5tb2JpbGUge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgICAgICBib3R0b206IC03MHB4O1xuICAgICAgICBsZWZ0OiA1MyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnVpIC53YWxscGFwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDMwMHB4OyB9XG4gICAgICAgIC51aSAud2FsbHBhcGVyIC5wdW5jaGxpbmUge1xuICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgICAgbGVmdDogMTUlOyB9XG4gICAgICAgIC51aSAud2FsbHBhcGVyIC5sYXB0b3Age1xuICAgICAgICAgIG1pbi13aWR0aDogNTAwcHg7XG4gICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICBib3R0b206IC03MHB4OyB9XG4gICAgICAgIC51aSAud2FsbHBhcGVyIC5tb2JpbGUge1xuICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgIGJvdHRvbTogLTkwcHg7XG4gICAgICAgICAgbGVmdDogNjAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAgIC51aSAud2FsbHBhcGVyIC5wdW5jaGxpbmUge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBsZWZ0OiAxMCU7IH1cbiAgICAgIC51aSAud2FsbHBhcGVyIC5tb2JpbGUge1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICBsZWZ0OiAxNSU7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgdG9wOiAxMjBweDsgfSB9XG4gIC51aSAuYXNzZXRzIHtcbiAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltZy9ib29zdHJhdmVsL3dvcmxkLW1hcC5wbmcpIG5vLXJlcGVhdCA1MCUgNTAlL2NvdmVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudWkgLmFzc2V0cyB7XG4gICAgICAgIGhlaWdodDogY2FsYyggMCArIDgwdmgpO1xuICAgICAgICBoZWlnaHQ6IDQwMHB4OyB9IH1cbiAgICAudWkgLmFzc2V0cyAuc2hhZG93IHtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC4xNSkgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuMTUpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC4xNSkgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyRjb2xvcjEnLCBlbmRDb2xvcnN0cj0nJGNvbG9yMicsR3JhZGllbnRUeXBlPTAgKTsgfVxuICAgIC51aSAuYXNzZXRzIC5zaGFkb3ctd2hpdGUge1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgd2hpdGUgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHdoaXRlIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgd2hpdGUgMTAwJSk7XG4gICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nJGNvbG9yMScsIGVuZENvbG9yc3RyPSckY29sb3IyJyxHcmFkaWVudFR5cGU9MCApOyB9XG4gICAgLnVpIC5hc3NldHMgLmNvbG9ycyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKCAxMDB2dyAvIDIpOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAudWkgLmFzc2V0cyAuY29sb3JzIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA4MHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLnVpIC5hc3NldHMgLmNvbG9ycyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTIwcHg7IH0gfVxuICAgICAgLnVpIC5hc3NldHMgLmNvbG9ycyAuY29sdW1ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAudWkgLmFzc2V0cyAuZm9udHMge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLnVpIC5hc3NldHMgLmZvbnRzIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIuNWVtKSB7XG4gICAgICAgIC51aSAuYXNzZXRzIC5mb250cyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAudWkgLmFzc2V0cyAuZm9udHMge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDE0MHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzdnc7IH0gfVxuXG4vKiBFbmQgVUkgKi9cbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbj09PT09PT09PT09PT09PT09PT09PT0gTWFzb25yeSAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXG4vKiAtLS0tIGdyaWQgLS0tLSAqL1xuLmJzLW1hc29ucnkge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAvKiBjbGVhcmZpeCAqL1xuICAvKiAtLS0tIGdyaWQtaXRlbSAtLS0tICovXG4gIC0tZ3JpZC1zaXplcjogY2FsYygxMDAlIC8gNik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5icy1tYXNvbnJ5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuICAuYnMtbWFzb25yeSAuZ3JpZDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyMHB4KSBhbmQgKG1pbi1oZWlnaHQ6IDEwMHB4KSB7XG4gICAgLmJzLW1hc29ucnkge1xuICAgICAgbWFyZ2luLXRvcDogLTIwdmg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtLCAuYnMtbWFzb25yeSAuZ3JpZC1zaXplciB7XG4gICAgICAtLWdyaWQtc2l6ZXI6IGNhbGMoMTAwJSAvIDQpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtLCAuYnMtbWFzb25yeSAuZ3JpZC1zaXplciB7XG4gICAgICAtLWdyaWQtc2l6ZXI6IGNhbGMoMTAwJSAvIDMpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtLCAuYnMtbWFzb25yeSAuZ3JpZC1zaXplciB7XG4gICAgICAtLWdyaWQtc2l6ZXI6IGNhbGMoMTAwJSAvIDIpOyB9IH1cbiAgLmJzLW1hc29ucnkgLmdyaWQtc2l6ZXIge1xuICAgIHdpZHRoOiAxMCU7XG4gICAgd2lkdGg6IHZhcigtLWdyaWQtc2l6ZXIpOyB9XG4gIC5icy1tYXNvbnJ5IC5ncmlkLWl0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgd2lkdGg6IDIwJTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gNik7XG4gICAgd2lkdGg6IHZhcigtLWdyaWQtc2l6ZXIpO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IGVhc2UgMC4zczsgfVxuICAgIC5icy1tYXNvbnJ5IC5ncmlkLWl0ZW06aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5icy1tYXNvbnJ5IC5ncmlkLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiA0MHB4OyB9IH1cbiAgICAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtLncxIHtcbiAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC8gNik7IH1cbiAgICAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtLncyIHtcbiAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC8gNiAqIDIpOyB9XG4gICAgLmJzLW1hc29ucnkgLmdyaWQtaXRlbS53MyB7XG4gICAgICB3aWR0aDogY2FsYyggMTAwJSAvIDYgKiAzKTsgfVxuICAgIC5icy1tYXNvbnJ5IC5ncmlkLWl0ZW0udzQge1xuICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLyA2ICogNCk7IH1cbiAgICAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtLnc1IHtcbiAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC8gNiAqIDUpOyB9XG4gICAgLmJzLW1hc29ucnkgLmdyaWQtaXRlbS53NiB7XG4gICAgICB3aWR0aDogY2FsYyggMTAwJSAvIDYgKiA2KTsgfVxuICAgIC5icy1tYXNvbnJ5IC5ncmlkLWl0ZW0udzEge1xuICAgICAgd2lkdGg6IGNhbGMoIHZhcigtLWdyaWQtc2l6ZXIpICoxKTsgfVxuICAgIC5icy1tYXNvbnJ5IC5ncmlkLWl0ZW0udzIge1xuICAgICAgd2lkdGg6IGNhbGMoIHZhcigtLWdyaWQtc2l6ZXIpICogMik7IH1cbiAgICAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtLnczIHtcbiAgICAgIHdpZHRoOiBjYWxjKCB2YXIoLS1ncmlkLXNpemVyKSAqIDMpOyB9XG4gICAgLmJzLW1hc29ucnkgLmdyaWQtaXRlbS53NCB7XG4gICAgICB3aWR0aDogY2FsYyggdmFyKC0tZ3JpZC1zaXplcikgKiA0KTsgfVxuICAgIC5icy1tYXNvbnJ5IC5ncmlkLWl0ZW0udzUge1xuICAgICAgd2lkdGg6IGNhbGMoIHZhcigtLWdyaWQtc2l6ZXIpICogNSk7IH1cbiAgICAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtLnc2IHtcbiAgICAgIHdpZHRoOiBjYWxjKCB2YXIoLS1ncmlkLXNpemVyKSAqIDYpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5icy1tYXNvbnJ5IC5ncmlkLWl0ZW0udzIge1xuICAgICAgICB3aWR0aDogY2FsYyggdmFyKC0tZ3JpZC1zaXplcikgKiAxKTsgfVxuICAgICAgLmJzLW1hc29ucnkgLmdyaWQtaXRlbS53MyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCB2YXIoLS1ncmlkLXNpemVyKSAqIDIpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLmJzLW1hc29ucnkgLmdyaWQtaXRlbS53MiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCB2YXIoLS1ncmlkLXNpemVyKSAqIDIpOyB9XG4gICAgICAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtLncxIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoIHZhcigtLWdyaWQtc2l6ZXIpICogMik7IH0gfVxuICAgIC5icy1tYXNvbnJ5IC5ncmlkLWl0ZW0udzMwIHtcbiAgICAgIHdpZHRoOiAzMCU7IH1cbiAgICAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtLnc0MCB7XG4gICAgICB3aWR0aDogNDAlOyB9XG4gICAgLmJzLW1hc29ucnkgLmdyaWQtaXRlbS53NjAge1xuICAgICAgd2lkdGg6IDYwJTsgfVxuICAgIC5icy1tYXNvbnJ5IC5ncmlkLWl0ZW0udzcwIHtcbiAgICAgIHdpZHRoOiA3MCU7IH1cbiAgICAuYnMtbWFzb25yeSAuZ3JpZC1pdGVtIGltZzpub3QoLm5vLXNoYWRvdykge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbj09PT09PT09PT09PT09PT09PT09PT0gSGlyZSBtZSAgICAgICAgICAgIFx0XHRcdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xuLmJzLWhpcmUtbWUge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoMXB4IGF0IDUwJSAtMzB2dywgcmdiYSgwLCAwLCAwLCAwLjMpIDAlLCB0cmFuc3BhcmVudCA0MHZ3KSwgcmFkaWFsLWdyYWRpZW50KDFweCBhdCA1MCUgMzAwcHgsIHdoaXRlIDAlLCB0cmFuc3BhcmVudCA0MHZ3KTsgfVxuICAuYnMtaGlyZS1tZSBhOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggI2ZmZjsgfVxuXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IE90aGVyIHBvcnRmb2xpbyAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXG4uYnMtcG9ydGZvbGlvIC5jcy1ib29zdHJhdmVsID4gLnJvdywgLmJzLXBvcnRmb2xpbyAuY3Mtb3RvcmltID4gLnJvdywgLmJzLXBvcnRmb2xpbyAuY3MtY2l0eWRyaXZlID4gLnJvdyB7XG4gIGhlaWdodDogMzAwcHg7IH1cbiIsIi8vID09PT09PT09PT0gS2V5ZnJhbWVcclxuXHJcbi8vIENvbnRlbnQgYW5pbWF0aW9uXHJcbkBrZXlmcmFtZXMgZmFkZS1pbiB7XHJcblx0MCUgICB7b3BhY2l0eTogMDt9XHJcblx0MTAwJSB7b3BhY2l0eTogMTt9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlLW91dCB7XHJcblx0MCUgICB7b3BhY2l0eTogMTt9XHJcblx0MTAwJSB7b3BhY2l0eTogMDsgZGlzcGxheTogbm9uZTt9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlLWZyb20tcmlnaHQge1xyXG5cdDAlICAge29wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxZW0pIHRyYW5zbGF0ZVkoMCk7fVxyXG5cdDEwMCUge29wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApO31cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGUtZnJvbS1sZWZ0IHtcclxuXHQwJSAgIHtvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFlbSkgdHJhbnNsYXRlWSgwKTt9XHJcblx0MTAwJSB7b3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7fVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZS1mcm9tLXRvcCB7XHJcblx0MCUgICB7b3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoLTFlbSk7fVxyXG5cdDEwMCUge29wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApO31cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGUtZnJvbS1ib3R0b20ge1xyXG5cdDAlICAge29wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDFlbSk7fVxyXG5cdDEwMCUge29wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApO31cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZS1oIHtcclxuXHQwJSB7bGVmdDogMTAwJTsgd2lkdGggOiAwO30gXHJcblx0MzAlIHtsZWZ0OiAwOyB3aWR0aCA6IDEwMCU7fVxyXG5cdDcwJSB7bGVmdDogMDsgd2lkdGggOiAxMDAlO31cclxuXHQxMDAlIHtsZWZ0OiAwOyB3aWR0aCA6IDA7fVxyXG59XHJcbkBrZXlmcmFtZXMgc2xpZGUtdiB7XHJcblx0MCUge2hlaWdodCA6IDA7IHdpZHRoOiAxMDAlO30gXHJcblx0Ly8gMzAlIHtib3R0b206IDA7IGhlaWdodCA6IDQwMHB4O31cclxuXHQvLyA3MCUge2JvdHRvbTogMDsgaGVpZ2h0IDogNDAwcHg7fVxyXG5cdDEwMCUge2hlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7fVxyXG59XHJcblxyXG5cclxuLy8tLS0gQ29udGFjdCBtb2RhbFxyXG5Aa2V5ZnJhbWVzIGNvbnRhY3QtbW9kYWwge1xyXG5cdDAlICAge29wYWNpdHk6IDA7IHZpc2liaWxpdHk6IHZpc2libGU7IG1hcmdpbi10b3A6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKC0xZW0pO31cclxuXHQxMDAlIHtvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyBtYXJnaW4tdG9wOiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTt9XHJcbn1cclxuQGtleWZyYW1lcyBjb250YWN0LW1vZGFsLW9mZiB7XHJcblx0MCUgICB7b3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgbWFyZ2luLXRvcDogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7fVxyXG5cdDEwMCUge29wYWNpdHk6IDA7IHZpc2liaWxpdHk6IHZpc2libGU7IG1hcmdpbi10b3A6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDFlbSk7fVxyXG59XHJcblxyXG4vLyA9PT09PT09PT09IERpdmVyc1xyXG5Aa2V5ZnJhbWVzIHRlbGVwb3J0IHtcclxuXHQwJSB7b3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO30gXHJcblx0NDUlIHtvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7fSBcclxuXHQ1NSUge29wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMDBweCk7fSBcclxuXHQxMDAlIHtvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzUwcHgpO30gXHJcbn1cclxuXHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IEhvbWUgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcbi8vLS0tIEhlYWRlclxyXG5Aa2V5ZnJhbWVzIGhlYWRlci14bGFyZ2Uge1xyXG5cdDAlIHt0b3AgOiAwOyBsZWZ0OiAxMDAlOyB3aWR0aCA6IDA7fSBcclxuXHQ0MCUge2xlZnQ6IDA7IHdpZHRoIDogMTAwJTt9XHJcblx0NjAlIHtsZWZ0OiAwOyB3aWR0aCA6IDEwMCU7fVxyXG5cdDEwMCUge2xlZnQ6IDA7IHdpZHRoIDogMjklO31cclxufVxyXG5Aa2V5ZnJhbWVzIGhlYWRlci1sYXJnZSB7XHJcblx0MCUge3RvcCA6IDA7IGxlZnQ6IDEwMCU7IHdpZHRoIDogMDt9IFxyXG5cdDQwJSB7bGVmdDogMDsgd2lkdGggOiAxMDAlO31cclxuXHQ2MCUge2xlZnQ6IDA7IHdpZHRoIDogMTAwJTt9XHJcblx0MTAwJSB7bGVmdDogMDsgd2lkdGggOiAzMyU7fVxyXG59XHJcbkBrZXlmcmFtZXMgaGVhZGVyLW1lZGl1bSB7XHJcblx0MCUge3RvcCA6IDA7IGxlZnQ6IDEwMCU7IHdpZHRoIDogMDt9IFxyXG5cdDQwJSB7bGVmdDogMDsgd2lkdGggOiAxMDAlO31cclxuXHQ2MCUge2xlZnQ6IDA7IHdpZHRoIDogMTAwJTt9XHJcblx0MTAwJSB7bGVmdDogMDsgd2lkdGggOiAyOSU7fVxyXG59XHJcbkBrZXlmcmFtZXMgaGVhZGVyLXNtYWxse1xyXG5cdDAlIHt0b3AgOiAwOyBsZWZ0OiAxMDAlOyB3aWR0aCA6IDA7fSBcclxuXHQ0MCUge2xlZnQ6IDA7IHdpZHRoIDogMTAwJTt9XHJcblx0NjAlIHtsZWZ0OiAwOyB3aWR0aCA6IDEwMCU7fVxyXG5cdDEwMCUge2xlZnQ6IDAlOyB3aWR0aCA6IDA7fVxyXG59XHJcblxyXG4vLy0tLSBQb3J0Zm9saW9cclxuQGtleWZyYW1lcyBjdGEtdGV4dHtcclxuXHQwJSB7b3BhY2l0eTogMDsgaGVpZ2h0OiAxMDAlOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFlbSkgdHJhbnNsYXRlWSgwKTt9XHJcblx0MTAwJSB7b3BhY2l0eTogMTsgaGVpZ2h0OiAxMDAlO3Zpc2liaWxpdHk6IHZpc2libGU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApO31cclxufVxyXG5cclxuXHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IEJvb3N0cmF2ZWwgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcblxyXG4vLyA9PT09PT09PT09IFBsYW5lIGFuaW1hdGlvblxyXG5cclxuQGtleWZyYW1lcyBjbG91ZDEge1xyXG5cdDAlICAge3RvcDogLTYwMHB4OyBsZWZ0OiAzNSU7fVxyXG5cdDEwMCUge3RvcDotMTAwcHg7IGxlZnQ6IC0xMDAwcHg7fVxyXG59XHJcbkBrZXlmcmFtZXMgY2xvdWQyIHtcclxuXHQwJSAgIHt0b3A6IC05MDBweDsgbGVmdDogMzAlO31cclxuXHQxMDAlIHt0b3A6LTQwMHB4OyBsZWZ0OiAtMTAwMHB4O31cclxufVxyXG5Aa2V5ZnJhbWVzIGNsb3VkMyB7XHJcblx0MCUgICB7dG9wOiAtNDAwcHg7IGxlZnQ6IDgyJTt9XHJcblx0MTAwJSB7dG9wOjIwMHB4OyBsZWZ0OiAtODAwcHg7fVxyXG59XHJcbkBrZXlmcmFtZXMgY2xvdWQ0IHtcclxuXHQwJSAgIHt0b3A6IDBweDsgbGVmdDogMTAwJTt9XHJcblx0MTAwJSB7dG9wOjUwMHB4OyBsZWZ0OiAtMTAwMHB4O31cclxufVxyXG5Aa2V5ZnJhbWVzIHBsYW5lIHtcclxuXHQwJVx0XHR7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSByb3RhdGUoLTI1ZGVnKSAgdHJhbnNsYXRlM2QoMCwwLDApO31cclxuXHQxMDAlXHR7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpIHJvdGF0ZSgtMjVkZWcpICB0cmFuc2xhdGUzZCgwLDAsMCk7fVxyXG59XHJcbkBrZXlmcmFtZXMgcGxhbmUtc2hhZG93IHtcclxuXHQwJVx0XHR7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDM1cHgpIHNjYWxlKDAuOCkgcm90YXRlKC0yNWRlZykgdHJhbnNsYXRlWigwKTsgb3BhY2l0eTogMC4xO31cclxuXHQxMDAlXHR7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpIHNjYWxlKDEpIHJvdGF0ZSgtMjVkZWcpIHRyYW5zbGF0ZVooMCk7IG9wYWNpdHk6IDAuMjt9XHJcbn1cclxuXHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqXG4gKkNTUyBBbmltYXRpb25zIGJ5OlxuICpodHRwOi8vY29kZXBlbi5pby92aXZpbmFudG9ueVxuKioqKioqKioqKioqKioqKioqKioqKiovXG4uc3Bpbm5lcjEge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLmRvdWJsZS1ib3VuY2UxLCAuZG91YmxlLWJvdW5jZTIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG9wYWNpdHk6IDAuNjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIFxuICAtd2Via2l0LWFuaW1hdGlvbjogYm91bmNlIDIuMHMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbjogYm91bmNlIDIuMHMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG5cbi5kb3VibGUtYm91bmNlMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMS4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMS4wcztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLCAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMCkgfVxuICA1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKSB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUsIDEwMCUgeyBcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMCk7XG4gIH0gNTAlIHsgXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xuICB9XG59XG5cbi5zcGlubmVyMiB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4uY29udGFpbmVyMSA+IGRpdiwgLmNvbnRhaW5lcjIgPiBkaXYsIC5jb250YWluZXIzID4gZGl2IHtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogYm91bmNlZGVsYXkgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uOiBib3VuY2VkZWxheSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICAvKiBQcmV2ZW50IGZpcnN0IGZyYW1lIGZyb20gZmxpY2tlcmluZyB3aGVuIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4uc3Bpbm5lcjIgLnNwaW5uZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uY29udGFpbmVyMiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGVaKDQ1ZGVnKTtcbn1cblxuLmNvbnRhaW5lcjMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWig5MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlWig5MGRlZyk7XG59XG5cbi5jaXJjbGUxIHsgdG9wOiAwOyBsZWZ0OiAwOyB9XG4uY2lyY2xlMiB7IHRvcDogMDsgcmlnaHQ6IDA7IH1cbi5jaXJjbGUzIHsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgfVxuLmNpcmNsZTQgeyBsZWZ0OiAwOyBib3R0b206IDA7IH1cblxuLmNvbnRhaW5lcjIgLmNpcmNsZTEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTEuMXM7XG4gIGFuaW1hdGlvbi1kZWxheTogLTEuMXM7XG59XG5cbi5jb250YWluZXIzIC5jaXJjbGUxIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0xLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IC0xLjBzO1xufVxuXG4uY29udGFpbmVyMSAuY2lyY2xlMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC45cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC45cztcbn1cblxuLmNvbnRhaW5lcjIgLmNpcmNsZTIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuOHM7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuOHM7XG59XG5cbi5jb250YWluZXIzIC5jaXJjbGUyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjdzO1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjdzO1xufVxuXG4uY29udGFpbmVyMSAuY2lyY2xlMyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC42cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC42cztcbn1cblxuLmNvbnRhaW5lcjIgLmNpcmNsZTMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuNXM7XG59XG5cbi5jb250YWluZXIzIC5jaXJjbGUzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjRzO1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjRzO1xufVxuXG4uY29udGFpbmVyMSAuY2lyY2xlNCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4zcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zcztcbn1cblxuLmNvbnRhaW5lcjIgLmNpcmNsZTQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuMnM7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuMnM7XG59XG5cbi5jb250YWluZXIzIC5jaXJjbGU0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjFzO1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjFzO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlZGVsYXkge1xuICAwJSwgODAlLCAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMCkgfVxuICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKSB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlZGVsYXkge1xuICAwJSwgODAlLCAxMDAlIHsgXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjApO1xuICB9IDQwJSB7IFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKTtcbiAgfVxufVxuXG4uc3Bpbm5lcjMge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7ICBcbiAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZSAyLjBzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiByb3RhdGUgMi4wcyBpbmZpbml0ZSBsaW5lYXI7XG59XG5cbi5kb3QxLCAuZG90MiB7XG4gIHdpZHRoOiA2MCU7XG4gIGhlaWdodDogNjAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBcbiAgLXdlYmtpdC1hbmltYXRpb246IGJvdW5jZSAyLjBzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb246IGJvdW5jZSAyLjBzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG4uZG90MiB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMS4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMS4wcztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZSB7IDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgfX1cbkBrZXlmcmFtZXMgcm90YXRlIHsgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSB9fVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUsIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wKSB9XG4gIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSwgMTAwJSB7IFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4wKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wKTtcbiAgfSA1MCUgeyBcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCk7XG4gIH1cbn1cblxuLnNwaW5uZXI0IHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZXBsYW5lIDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbjogcm90YXRlcGxhbmUgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZXBsYW5lIHtcbiAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIH1cbiAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVZKDE4MGRlZykgfVxuICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVZKDE4MGRlZykgIHJvdGF0ZVgoMTgwZGVnKSB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlcGxhbmUge1xuICAwJSB7IFxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoMGRlZykgcm90YXRlWSgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoMGRlZykgcm90YXRlWSgwZGVnKSBcbiAgfSA1MCUgeyBcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKC0xODAuMWRlZykgcm90YXRlWSgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoLTE4MC4xZGVnKSByb3RhdGVZKDBkZWcpIFxuICB9IDEwMCUgeyBcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE3OS45ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTc5LjlkZWcpO1xuICB9XG59XG5cbi5zcGlubmVyNSB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmN1YmUxLCAuY3ViZTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBjdWJlbW92ZSAxLjhzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb246IGN1YmVtb3ZlIDEuOHMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG5cbi5jdWJlMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC45cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC45cztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGN1YmVtb3ZlIHtcbiAgMjUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDJweCkgcm90YXRlKC05MGRlZykgc2NhbGUoMC41KSB9XG4gIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQycHgpIHRyYW5zbGF0ZVkoNDJweCkgcm90YXRlKC0xODBkZWcpIH1cbiAgNzUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSB0cmFuc2xhdGVZKDQycHgpIHJvdGF0ZSgtMjcwZGVnKSBzY2FsZSgwLjUpIH1cbiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZykgfVxufVxuXG5Aa2V5ZnJhbWVzIGN1YmVtb3ZlIHtcbiAgMjUlIHsgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQycHgpIHJvdGF0ZSgtOTBkZWcpIHNjYWxlKDAuNSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDJweCkgcm90YXRlKC05MGRlZykgc2NhbGUoMC41KTtcbiAgfSA1MCUgeyBcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDJweCkgdHJhbnNsYXRlWSg0MnB4KSByb3RhdGUoLTE3OWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDJweCkgdHJhbnNsYXRlWSg0MnB4KSByb3RhdGUoLTE3OWRlZyk7XG4gIH0gNTAuMSUgeyBcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDJweCkgdHJhbnNsYXRlWSg0MnB4KSByb3RhdGUoLTE4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDJweCkgdHJhbnNsYXRlWSg0MnB4KSByb3RhdGUoLTE4MGRlZyk7XG4gIH0gNzUlIHsgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgdHJhbnNsYXRlWSg0MnB4KSByb3RhdGUoLTI3MGRlZykgc2NhbGUoMC41KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHRyYW5zbGF0ZVkoNDJweCkgcm90YXRlKC0yNzBkZWcpIHNjYWxlKDAuNSk7XG4gIH0gMTAwJSB7IFxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XG4gIH1cbn1cblxuLnNwaW5uZXI2IHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3Bpbm5lcjYgPiBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiA2cHg7XG4gIG1hcmdpbi1sZWZ0OjJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBcbiAgLXdlYmtpdC1hbmltYXRpb246IHN0cmV0Y2hkZWxheSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb246IHN0cmV0Y2hkZWxheSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG4uc3Bpbm5lcjYgLnJlY3QyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0xLjFzO1xuICBhbmltYXRpb24tZGVsYXk6IC0xLjFzO1xufVxuXG4uc3Bpbm5lcjYgLnJlY3QzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0xLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IC0xLjBzO1xufVxuXG4uc3Bpbm5lcjYgLnJlY3Q0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjlzO1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjlzO1xufVxuXG4uc3Bpbm5lcjYgLnJlY3Q1IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjhzO1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjhzO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3RyZXRjaGRlbGF5IHtcbiAgMCUsIDQwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMC40KSB9ICBcbiAgMjAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxLjApIH1cbn1cblxuQGtleWZyYW1lcyBzdHJldGNoZGVsYXkge1xuICAwJSwgNDAlLCAxMDAlIHsgXG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMC40KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDAuNCk7XG4gIH0gIDIwJSB7IFxuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEuMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxLjApO1xuICB9XG59XG4gIC5zcGlubmVyNyB7XG4gICAgICB3aWR0aDogOTBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc3Bpbm5lcjcgPiBkaXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6M3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbjogc3RyZXRjaGRlbGF5IDAuN3MgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG4gICAgICBhbmltYXRpb246IHN0cmV0Y2hkZWxheSAwLjdzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgIC5zcGlubmVyNyAuY2lyYzIge1xuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjZzO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC42cztcbiAgICB9XG5cbiAgICAuc3Bpbm5lcjcgLmNpcmMzIHtcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC41cztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuNXM7XG4gICAgfVxuXG4gICAgLnNwaW5uZXI3IC5jaXJjNCB7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuNHM7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjRzO1xuICAgIH1cblxuICAgIC5zcGlubmVyNyAuY2lyYzUge1xuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjNzO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zcztcbiAgICB9XG5cbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgc3RyZXRjaGRlbGF5IHtcbiAgICAgIDAlLCA0MCUsIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCkgfSAgXG4gICAgICAyMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCkgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgc3RyZXRjaGRlbGF5IHtcbiAgICAgIDAlLCA0MCUsIDEwMCUgeyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgICAgfSAyMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgICB9XG4gICAgfSIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZvcm1zXHJcbi8vICAyMC4gTGFiZWxcclxuLy8gIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gIDIyLiBNZW51XHJcbi8vICAyMy4gTWV0ZXJcclxuLy8gIDI0LiBPZmYtY2FudmFzXHJcbi8vICAyNS4gT3JiaXRcclxuLy8gIDI2LiBQYWdpbmF0aW9uXHJcbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOC4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgMjkuIFJldmVhbFxyXG4vLyAgMzAuIFNsaWRlclxyXG4vLyAgMzEuIFN3aXRjaFxyXG4vLyAgMzIuIFRhYmxlXHJcbi8vICAzMy4gVGFic1xyXG4vLyAgMzQuIFRodW1ibmFpbFxyXG4vLyAgMzUuIFRpdGxlIEJhclxyXG4vLyAgMzYuIFRvb2x0aXBcclxuLy8gIDM3LiBUb3AgQmFyXHJcblxyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG5cclxuLy8gMS4gR2xvYmFsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XHJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDE5MjApO1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMxNzc5YmEsXHJcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI2NjNGIzNyxcclxuICApO1xyXG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xyXG4kZGFyay1ncmF5OiAjOGE4YThhO1xyXG4kYmxhY2s6ICMwYTBhMGE7XHJcbiR3aGl0ZTogI2ZlZmVmZTtcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDA7XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG5cclxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xyXG5cclxuLy8gMi4gQnJlYWtwb2ludHNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gIHNtYWxsOiAwLFxyXG4gIHhzbWFsbDogNDgwcHgsXHJcbiAgbWVkaXVtOiA2NDBweCxcclxuICB4bWVkaXVtOiA4NDBweCxcclxuICBsYXJnZTogMTAyNHB4LFxyXG4gIHhsYXJnZTogMTIwMHB4LFxyXG4gIHh4bGFyZ2U6IDE0NDBweCxcclxuICB4eHhsYXJnZTogMTYwMHB4XHJcbiAgKTtcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIHhzbWFsbCBtZWRpdW0geG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSB4eHhsYXJnZSk7XHJcblxyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAyNDtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gIHNtYWxsOiAyNHB4LFxyXG4gIG1lZGl1bTogMzJweCxcclxuICApO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRoZWFkZXItc3R5bGVzOiAoXHJcbiAgc21hbGw6IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICAgICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgICApLFxyXG4gICk7XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XHJcblxyXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcclxuJGxlYWQtbGluZWhlaWdodDogMS42O1xyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xyXG5cclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWU7XHJcbiRhYmlkZS1sYWJlbHM6IHRydWU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyA3LiBBY2NvcmRpb25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuICApO1xyXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xyXG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG5cclxuLy8gMTQuIENhcmRcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLXNoYWRvdzogbm9uZTtcclxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxyXG4gIHNtYWxsOiAwLjY2cmVtLFxyXG4gIG1lZGl1bTogMXJlbSxcclxuICApO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXHJcbiAgc21hbGw6IDAuMzNlbSxcclxuICBtZWRpdW06IDAuNXJlbSxcclxuICApO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogKFxyXG4gIHNtYWxsOiAxLjVlbSxcclxuICBtZWRpdW06IDJlbSxcclxuICApO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE2LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHJcbi8vIDE3LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xyXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gIHRpbnk6IDEwMHB4LFxyXG4gIHNtYWxsOiAyMDBweCxcclxuICBsYXJnZTogNDAwcHgsXHJcbiAgKTtcclxuXHJcbi8vIDE4LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMTkuIEZvcm1zXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XHJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xyXG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XHJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kaW5wdXQtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjAuIExhYmVsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XHJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjEuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XHJcblxyXG4vLyAyMi4gTWVudVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XHJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJG1lbnUtYm9yZGVyOiAkbGlnaHQtZ3JheTtcclxuXHJcbi8vIDIzLiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNC4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweDtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMDtcclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcclxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcclxuXHJcbi8vIDI1LiBPcmJpdFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xyXG5cclxuLy8gMjYuIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XHJcblxyXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDI4LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxyXG4gIGRlZmF1bHQ6IDQgYnkgMyxcclxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxyXG4gICk7XHJcblxyXG4vLyAyOS4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDMwLiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzEuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuXHJcbi8vIDMyLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXN0cmlwZTogZXZlbjtcclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcclxuXHJcbi8vIDMzLiBUYWJzXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kdGFiLW1hcmdpbjogMDtcclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XHJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcclxuJHRhYi1leHBhbmQtbWF4OiA2O1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDM0LiBUaHVtYm5haWxcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDM1LiBUaXRsZSBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xyXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gMzYuIFRvb2x0aXBcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzcuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnOyAgICBcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUgb3IgYnJlYWtwb2ludCBuYW1lIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNlIGJldHdlZW4gY29sdW1ucywgYWRkZWQgYXMgYSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBleHBhbmQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIGZpeGVzIHJlY2VudCBDaHJvbWUgdmVyc2lvbiBub3QgbGltaXRpbmcgY2hpbGQgd2lkdGhcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ5MzQ1ODYvd2hpdGUtc3BhY2Utbm93cmFwLWFuZC1mbGV4Ym94LWRpZC1ub3Qtd29yay1pbi1jaHJvbWVcbiAgQGlmICRjb2x1bW5zID09IGV4cGFuZCB7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICB9XG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgd2lkdGggZmxleCBncmlkIGNvbHVtbi5cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zOiBudWxsKSB7XG4gICRjb2x1bW5zOiAkY29sdW1ucyBvciBleHBhbmQ7XG5cbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG5cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBleHBhbmQgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG5cbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBkaXJlY3Rpb24gaGVscGVyIGNsYXNzZXNcbiAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAuI3skLXpmLXNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gY2hpbGQgaGVscGVyIGNsYXNzZXNcbiAgICAgIC4jeyQtemYtc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICB9XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICB9XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgc3RyaW5nIG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgbGVmdCkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCAndXRmLTgnO1xyXG5cclxuQGltcG9ydCAnb3dsLmNhcm91c2VsLm1pbic7XHJcbkBpbXBvcnQgJ293bC50aGVtZS5kZWZhdWx0Lm1pbic7XHJcbkBpbXBvcnQgJ3NldHRpbmdzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbic7XHJcbkBpbXBvcnQgJ21vdGlvbi11aSc7XHJcbi8vQGltcG9ydCAnbWFyZ2luJztcclxuQGltcG9ydCAnZm9udHMnO1xyXG5AaW1wb3J0ICdrZXlmcmFtZXMnO1xyXG5AaW1wb3J0ICdmYWtlTG9hZGVyJztcclxuXHJcblxyXG5cclxuXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWVsZW1lbnQ7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWV0ZXItZWxlbWVudDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XHJcblxyXG4vL0BpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcclxuLy9AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcclxuXHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IE1peGluICYgVmFyaWFibGVzICAgICAgICAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcbi8vIENvbG9yc1xyXG4kbGlnaHQtZ3JlZW46ICM2M0VEQzU7XHJcbiRkYXJrLWdyZWVuOiAjM0RDMzlDO1xyXG4kbGlnaHQtYmx1ZTogIzg2QzlFRjtcclxuJGdyZXk6ICM3QjlDQTI7XHJcbiRsaWdodC1ncmV5OiAjYjJiMmIyO1xyXG4kZGFyay1ncmV5OiAjMjgyRDMzO1xyXG4kcmVkOiAjRkY2RTRBO1xyXG4kYm9vc3RyYXZlbC1yZWQgOiAjRTc0RDM3O1xyXG4kYm9vc3RyYXZlbC1vcmFuZ2UgOiAjRjY4RjAwO1xyXG5cclxuLy8gR8OpbsOpcmF0ZSBhbHBoYSBiZXR3ZWVuIDAuMiBhbmQgMC42XHJcbiRhbHBoYSA6IHJhbmRvbSg0MCkgLyAxMDAgKyAwLjI7XHJcblxyXG4vLyBhbnRpIHNwYW1cclxuLmctcmV2ZXJzZXtcclxuXHR1bmljb2RlLWJpZGk6YmlkaS1vdmVycmlkZTtcclxuXHRkaXJlY3Rpb246IHJ0bDtcclxufVxyXG5cclxuLy8gQGluY2x1ZGUgdHJhbnNpdGlvbigwLjhzKTsgXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCRkdXJhdGlvbil7XHJcblx0dHJhbnNpdGlvbiA6IGFsbCBlYXNlICRkdXJhdGlvbjtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PSBUZXh0ICYgYmFja2dyb3VuZFxyXG4vL0BpbmNsdWRlIGNvbG9yICgkbGlnaHQtZ3JlZW4sICRkYXJrLWdyZXkpO1xyXG5AbWl4aW4gY29sb3IgKCR0ZXh0LWNvbG9yLCAkYmctY29sb3Ipe1xyXG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcclxuXHRiYWNrZ3JvdW5kOiAkYmctY29sb3I7XHJcbn1cclxuXHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09IEdyYWRpZW50XHJcblxyXG4vLyBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsIHJnYmEoNzQsIDc0LCA3NCwgMSkgMCUsIHJnYmEoMzcsIDM3LCAzNywgMCkgNjAlKTtcclxuXHJcbi8vIEBpbmNsdWRlIGgtZ3JhZGllbnQocmdiYSgwLDAsMCwwLjIpLCByZ2JhKDAsMCwwLDApKTtcclxuQG1peGluIGgtZ3JhZGllbnQoJGNvbG9yMSwgJGNvbG9yMil7XHJcblx0YmFja2dyb3VuZDogJGNvbG9yMTtcclxuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgJGNvbG9yMSAwJSwgJGNvbG9yMiAxMDAlKTtcclxuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgJGNvbG9yMSAwJSwkY29sb3IyIDEwMCUpO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgICRjb2xvcjEgMCUsJGNvbG9yMiAxMDAlKTtcclxuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nJGNvbG9yMScsIGVuZENvbG9yc3RyPSckY29sb3IyJyxHcmFkaWVudFR5cGU9MSApO1xyXG59XHJcblxyXG5AbWl4aW4gdi1ncmFkaWVudCgkY29sb3IxLCAkY29sb3IyKXtcclxuXHRiYWNrZ3JvdW5kOiAkY29sb3IxO1xyXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgICRjb2xvcjEgMCUsICRjb2xvcjIgMTAwJSk7XHJcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgJGNvbG9yMSAwJSwkY29sb3IyIDEwMCUpO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICAkY29sb3IxIDAlLCRjb2xvcjIgMTAwJSk7XHJcblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyRjb2xvcjEnLCBlbmRDb2xvcnN0cj0nJGNvbG9yMicsR3JhZGllbnRUeXBlPTAgKTtcclxufVxyXG5AbWl4aW4gZGlhZy1ncmFkaWVudCgkY29sb3IxLCAkY29sb3IyKXtcclxuXHRiYWNrZ3JvdW5kOiAkY29sb3IxO1xyXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgICRjb2xvcjEgMCUsICRjb2xvcjIgMTAwJSk7XHJcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAgJGNvbG9yMSAwJSwkY29sb3IyIDEwMCUpO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICAkY29sb3IxIDAlLCRjb2xvcjIgMTAwJSk7XHJcblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyRjb2xvcjEnLCBlbmRDb2xvcnN0cj0nJGNvbG9yMicsR3JhZGllbnRUeXBlPTEgKTtcclxufVxyXG4vLyA9PT09PT09PT09PT09PT09PT09IEFuaW1hdGlvblxyXG5cclxuLy8gPT09PSBCbG9jayByZXZlcmFsIGFuaW1hdGlvblxyXG4vL0BpbmNsdWRlIGJsb2NrLXJldmVyYWwgKCZuYW1lLCAkY29sb3IsICR6aW5kZXgsICRkZWxheSwgJGR1cmF0aW9uLCAkcmV2ZXJzZSk7XHJcbkBtaXhpbiByZXZlcmFsLWhlYWRlcigkbmFtZSwgJGNvbG9yLCAkemluZGV4LCAkZGVsYXksICRkdXJhdGlvbiwgJG5vcm1hbCl7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0YmFja2dyb3VuZDokY29sb3I7XHJcblx0ei1pbmRleDogJHppbmRleDtcclxuXHRhbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcclxuXHRhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcclxuXHRhbmltYXRpb24tZGlyZWN0aW9uOiAkbm9ybWFsO1xyXG5cdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG59XHJcbi8vQGluY2x1ZGUgYmxvY2stcmV2ZXJhbCAoJm5hbWUsICRjb2xvciwgJHppbmRleCwgJGRlbGF5LCAkZHVyYXRpb24sICRyZXZlcnNlKTtcclxuQG1peGluIGJsb2NrLXJldmVyYWwoJG5hbWUsICRjb2xvciwgJHppbmRleCwgJGRlbGF5LCAkZHVyYXRpb24sICRub3JtYWwpe1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRhbmltYXRpb24tbmFtZTogJG5hbWU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQ6JGNvbG9yO1xyXG5cdHotaW5kZXg6ICR6aW5kZXg7XHJcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XHJcblx0YW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XHJcblx0YW5pbWF0aW9uLWRpcmVjdGlvbjogJG5vcm1hbDtcclxuXHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLy8gPT09PSBDb250ZW50IGFuaW1hdGlvblxyXG4vLyBAaW5jbHVkZSBjb250ZW50LXNob3cgKGZhZGUtaW4sIDFzLCAxcywgMWVtLCAwKTtcclxuQG1peGluIGNvbnRlbnQtc2hvdyAoJGFuaW1hdGlvbi1uYW1lLCAkZGVsYXksICRkdXJhdGlvbil7XHJcblx0b3BhY2l0eTogMDtcclxuXHRhbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbi1uYW1lO1xyXG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xyXG5cdGFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xyXG5cdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG5cdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMSwuODksLjY0LC45OSk7XHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBHbG9iYWwgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcbmJvZHl7XHJcblx0YmFja2dyb3VuZDojZGRkO1xyXG5cdGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYic7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0Y29sb3IgOiAkZGFyay1ncmV5O1xyXG5cdGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdC5jcy1kYXJrLCAuY3MtZGFyazJ7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHR6LWluZGV4OiAyMDA7XHJcblx0XHR3aWR0aDogMTAwdnc7XHJcblx0XHRoZWlnaHQ6IDEwMHZoO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNyk7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHRcdCYuYWN0aXZle1xyXG5cdFx0XHRAaW5jbHVkZSBjb250ZW50LXNob3cgKGZhZGUtaW4sIDBzLCAwLjVzKTtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XHJcblx0XHR9XHJcblx0XHQuY3MtZGFyazJ7XHJcblx0XHRcdHotaW5kZXg6IDk5O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmPi5jcy1jb250YWluZXJ7XHJcblx0XHRwYWRkaW5nOiA1JTtcclxuXHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xyXG5cdFx0XHRwYWRkaW5nOiA4MHB4O1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdHBhZGRpbmc6IDYlO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5ibG9ja3tcclxuXHRoZWlnaHQ6IDUwcHg7d2lkdGg6IDUwcHg7XHJcblx0YmFja2dyb3VuZDojMDAwO1xyXG59XHJcbi5oaWRkZW57XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5oMSwgaDIsIGgze1xyXG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdUaXRpbGxpdW0gV2ViJywgYXJpYWw7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5hIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0Y29sb3I6ICRsaWdodC1ncmVlbjtcclxufVxyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbj09PT09PT09PT09PT09PT09PT09PT0gTW9kYWwgQ29udGFjdCAgICAgICAgICAgIFx0XHRcdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG4uY3MtY29udGFjdC1tb2RhbCwgLmNzLW1lbnUtbW9kYWx7XHJcblx0b3BhY2l0eTogMDtcclxuXHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0d2lkdGg6IDUwdnc7XHJcblx0dG9wOiAzNXZoO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0bWFyZ2luOiBhdXRvO1xyXG5cdG1heC13aWR0aDogNjgwcHg7XHJcblx0YmFja2dyb3VuZDojZmZmO1xyXG5cdHotaW5kZXg6IDI1MDtcclxuXHRwYWRkaW5nOiAyLjVyZW0gM3JlbTtcclxuXHRib3JkZXItYm90dG9tOiA1cHggc29saWQgJGRhcmstZ3JlZW47XHJcblx0Ym94LXNoYWRvdzogMCAxcmVtIDJyZW0gcmdiYSgwLDAsMCwwLjUpO1xyXG5cdGNvbG9yOiAjOTk5O1xyXG5cclxuXHRoM3tcclxuXHRcdEBleHRlbmQgaDE7XHJcblx0XHRjb2xvcjogJGRhcmstZ3JlZW47XHJcblx0fVxyXG5cclxuXHRhLmNzLWNsb3Nle1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRwYWRkaW5nOiAxcmVtIDEuMnJlbTtcclxuXHRcdGJveC1zaGFkb3c6IDAgMXB4IDAgMCAjZmZmIGluc2V0O1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIGVhc2UgMC4zcztcclxuXHRcdC5pY29uLWljby1wbHVze1xyXG5cdFx0XHRjb2xvcjogJGxpZ2h0LWdyZXk7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgODBweCAwIDAgJGRhcmstZ3JlZW4gaW5zZXQ7XHJcblx0XHRcdC5pY29uLWljby1wbHVze1xyXG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuY3MtdGVse1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0Y29sb3I6ICRkYXJrLWdyZXk7XHJcblx0XHRmb250LXNpemU6IDEuMnJlbTtcclxuXHRcdCY6YWZ0ZXJ7XHJcblx0XHRcdEBleHRlbmQgLmctcmV2ZXJzZTtcclxuXHRcdFx0Y29udGVudDogXCI2Ni4zOC4wMS40MS42MFwiO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0LmNzLW1haWx7XHJcblx0XHRjb2xvcjogJGRhcmstZ3JlZW47XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmb250LXNpemU6IDEuMnJlbTtcclxuXHRcdCY6YWZ0ZXJ7XHJcblx0XHRcdEBleHRlbmQgLmctcmV2ZXJzZTtcclxuXHRcdFx0Y29udGVudDogXCJyZi5oY3VhcnRzXFw0MGxpcnljXCI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdHRvcDogMzB2aDtcclxuXHRcdHdpZHRoOiA2MHZ3O1xyXG5cdFx0cGFkZGluZzogMi41cmVtO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHR0b3A6IDI1dmg7XHJcblx0XHR3aWR0aDogNzV2dztcclxuXHRcdHBhZGRpbmc6IDJyZW07XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cdFx0dG9wOiAyMHZoO1xyXG5cdFx0d2lkdGg6IDg1dnc7XHJcblx0XHRwYWRkaW5nOiAycmVtO1xyXG5cdH1cclxuXHJcblx0Ji5hY3RpdmV7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRAaW5jbHVkZSBjb250ZW50LXNob3cgKGNvbnRhY3QtbW9kYWwsIDBzLCAwLjVzKTtcclxuXHR9XHJcblx0Ji5pbmFjdGl2ZXtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdEBpbmNsdWRlIGNvbnRlbnQtc2hvdyAoY29udGFjdC1tb2RhbC1vZmYsIDBzLCAwLjVzKTtcclxuXHR9XHJcblxyXG5cdFxyXG59XHJcbi5jcy1tZW51LW1vZGFse1xyXG5cdG1heC13aWR0aDogNDAwcHg7XHJcblx0cGFkZGluZzogMnJlbTtcclxuXHR0b3A6IDIwdmg7XHJcblx0bmF2LCAuY3Mtc29jaWFsLWxpbmt7XHJcblx0XHRwYWRkaW5nOiAwIDFyZW07XHJcblx0XHRiYWNrZ3JvdW5kOiNmZmY7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0dWx7cGFkZGluZzogMDttYXJnaW46IDA7fVxyXG5cdFx0bGl7bGlzdC1zdHlsZTogbm9uZTsgZGlzcGxheTogYmxvY2s7fVxyXG5cdFx0YXtcclxuXHRcdFx0cGFkZGluZzogMXJlbTtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjRyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdGNvbG9yOiAjNjY2O1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0Y29sb3I6ICRkYXJrLWdyZWVuO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jcy1zb2NpYWwtbGlua3tcclxuXHRcdG1hcmdpbi10b3A6IDFyZW07XHJcblx0XHRsaXtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fVxyXG5cdFx0QGV4dGVuZCAuaGlkZS1mb3IteHNtYWxsO1xyXG5cdH1cclxuXHJcbn1cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBMb2dvICAgICAgICAgIFx0XHRcdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuLmNzLWxvZ297XHJcblxyXG5cdHBhZGRpbmctbGVmdDogMDtcclxuXHRAZXh0ZW5kIC54c21hbGwtNTtcclxuXHRAZXh0ZW5kIC5zbWFsbC0xMjtcclxuXHRAaW5jbHVkZSBjb250ZW50LXNob3cgKGZhZGUtZnJvbS10b3AsIDMuOHMsIDAuNXMpOyAvLzEuOFxyXG5cclxuXHQuY3MtZmxhZ3tcclxuXHRcdGhlaWdodDogODBweDtcclxuXHRcdHBhZGRpbmc6IDE3cHggMjBweDtcclxuXHRcdEBpbmNsdWRlIHYtZ3JhZGllbnQoIzExMSwgIzMzMyk7XHJcblx0XHRjb2xvcjogJGxpZ2h0LWdyZWVuO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0Zm9udC1zaXplOiAxLjhyZW07XHJcblx0XHQvL3RleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcblx0XHRcdGhlaWdodDogNjBweDtcclxuXHRcdFx0cGFkZGluZzogMTNweCAxNnB4O1xyXG5cdFx0XHRAaW5jbHVkZSB2LWdyYWRpZW50KCMxMTEsICMzMzMpO1xyXG5cdFx0XHRjb2xvcjogJGxpZ2h0LWdyZWVuO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS40cmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0XHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBUb3AgYmFyICAgICAgICAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG4uY3MtdG9wLWJhcntcclxuXHRoZWlnaHQ6IDgwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHRcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG5cclxuXHQuY3Mtc29jaWFsLWxpbmt7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHR1bHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cdFx0bGl7XHJcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0YXtcclxuXHRcdFx0XHRmb250LXNpemU6IDEuNXJlbTtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0cGFkZGluZzogMjBweDtcclxuXHRcdFx0XHRjb2xvcjogJGxpZ2h0LWdyZXk7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIGVhc2UgMC4zcztcclxuXHRcdFx0XHR0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmO1xyXG5cdFx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0XHQvL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwgMC4yKTtcclxuXHRcdFx0XHRcdC8vQGluY2x1ZGUgdi1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LDApLCByZ2JhKDI1NSwyNTUsMjU1LDEpKTtcclxuXHRcdFx0XHRcdC8vYm94LXNoYWRvdzogMCAtMnB4IDAgMCAgJGRhcmstZ3JlZW4gaW5zZXQ7XHJcblx0XHRcdFx0XHRjb2xvcjogJGRhcmstZ3JlZW47XHJcblx0XHRcdFx0XHR0ZXh0LXNoYWRvdzogMCAxcHggMjBweCAjZmZmO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDEuM3JlbTtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDIwcHggMXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcblx0XHRcdFx0XHQmOm5vdCguY3MtYnVyZ2VyKXtkaXNwbGF5OiBub25lO31cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0YS5jcy1idXJnZXJ7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjVyZW07XHJcblx0XHRcdFx0YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LCAxKTtcclxuXHRcdFx0XHRjb2xvcjogJGRhcmstZ3JlZW47XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMCAjZmZmIGluc2V0O1xyXG5cdFx0XHRcdHRleHQtc2hhZG93OiBub25lO1xyXG5cdFx0XHRcdGhlaWdodDogODBweDtcclxuXHJcblx0XHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgLTgwcHggMCAwICRkYXJrLWdyZWVuIGluc2V0O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHR0ZXh0LXNoYWRvdzogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA2MHB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMTNweCAxcmVtO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDp0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdGNvbG9yOiAkbGlnaHQtZ3JleTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0JjpudGgtY2hpbGQoMSl7XHJcblx0XHRcdFx0QGluY2x1ZGUgY29udGVudC1zaG93IChmYWRlLWZyb20tdG9wLCA0LjJzLCAwLjVzKTsgLy8gMi4yXHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0JjpudGgtY2hpbGQoMil7XHJcblx0XHRcdFx0QGluY2x1ZGUgY29udGVudC1zaG93IChmYWRlLWZyb20tdG9wLCA0cywgMC41cyk7IC8vMlxyXG5cdFx0XHR9XHJcblx0XHRcdCY6bnRoLWNoaWxkKDMpe1xyXG5cdFx0XHRcdEBpbmNsdWRlIGNvbnRlbnQtc2hvdyAoZmFkZS1mcm9tLXRvcCwgMy44cywgMC41cyk7IC8vMS44XHJcblx0XHRcdH1cclxuXHRcdFx0JjpudGgtY2hpbGQoNCl7XHJcblx0XHRcdFx0QGluY2x1ZGUgY29udGVudC1zaG93IChmYWRlLWZyb20tdG9wLCAzLjZzLCAwLjVzKTsgLy8xLjZcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0fVxyXG59XHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IEhlYWRlciAvIFNsaWRlciAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG5cclxuaGVhZGVye1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdCY+LmNvbHVtbnM+LnJvd3tcclxuXHRcdC8vaGVpZ2h0OiA2MHZoO1xyXG5cdFx0Ly8gPT09PSByZXNwb25zaXZlXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0Ly9oZWlnaHQ6IDYwdmg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4kaGVhZGVyLWRlbGF5OiAyLjhzOyAvLzAuOFxyXG4kaGVhZGVyLWR1cmF0aW9uOiAxcztcclxuLnJldmVyYWwtaGVhZGVye1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcclxuXHRcdC8vICgmbmFtZSwgJGNvbG9yLCAkemluZGV4LCAkZGVsYXksICRkdXJhdGlvbiwgJHJldmVyc2UpXHJcblx0XHRAaW5jbHVkZSByZXZlcmFsLWhlYWRlciAoaGVhZGVyLXhsYXJnZSwgJGRhcmstZ3JleSwgMTUwLCAkaGVhZGVyLWRlbGF5LCAkaGVhZGVyLWR1cmF0aW9uLCBub3JtYWwpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UgZG93bikge1xyXG5cdFx0QGluY2x1ZGUgcmV2ZXJhbC1oZWFkZXIgKGhlYWRlci1sYXJnZSwgJGRhcmstZ3JleSwgMTUwLCAkaGVhZGVyLWRlbGF5LCAkaGVhZGVyLWR1cmF0aW9uLCBub3JtYWwpO1xyXG5cdH1cclxuXHQvLyBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XHJcblx0Ly8gXHRAaW5jbHVkZSByZXZlcmFsLWhlYWRlciAoaGVhZGVyLW1lZGl1bSwgI2ZmZiwgMTUwLCAwLjhzLCAxcywgbm9ybWFsKTtcclxuXHQvLyB9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcblx0XHRAaW5jbHVkZSByZXZlcmFsLWhlYWRlciAoaGVhZGVyLXNtYWxsLCAkZGFyay1ncmV5LCAxNTAsICRoZWFkZXItZGVsYXksICRoZWFkZXItZHVyYXRpb24sIG5vcm1hbCk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdEBpbmNsdWRlIHJldmVyYWwtaGVhZGVyIChoZWFkZXItc21hbGwsICRkYXJrLWdyZXksIDE1MCwgJGhlYWRlci1kZWxheSwgJGhlYWRlci1kdXJhdGlvbiwgbm9ybWFsKTtcclxuXHR9XHJcblx0XHJcbn1cclxuXHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09IFNpZGUgUHJvZmlsZVxyXG5cclxuLmNzLXByb2ZpbHtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRiYWNrZ3JvdW5kOiAkZGFyay1ncmV5O1xyXG5cdC8vYmFja2dyb3VuZDojMTExO1xyXG5cclxuXHQvLyA9PT09IGdyaWRcclxuXHRAZXh0ZW5kIC54eHhsYXJnZS03O1xyXG5cdEBleHRlbmQgLnhsYXJnZS04O1xyXG5cdEBleHRlbmQgLnhtZWRpdW0tMTA7XHJcblx0QGV4dGVuZCAuc21hbGwtMjQ7XHJcblx0Ly8gPT09PSBvcmRlclxyXG5cdEBleHRlbmQgLnNtYWxsLW9yZGVyLTI7XHJcblx0QGV4dGVuZCAueG1lZGl1bS1vcmRlci0xO1xyXG5cdC8vID09PT0gYW5pbWF0aW9uXHJcblx0QGluY2x1ZGUgY29udGVudC1zaG93IChmYWRlLWluLCAzLjRzLCAwKTsgLy8wLjRcclxuXHJcblxyXG5cdC8vID09PT0gUHJlc2VudGF0aW9uXHJcblx0LmNzLXByZXNlbnRhdGlvbntcclxuXHRcdHBhZGRpbmc6IDAgMS41ZW0gMS41ZW0gMS41ZW07XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cclxuXHRcdGltZy5waG90b3tcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGMoLTE1cHggLSAxLjVlbSk7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMDAlICsgMzBweCArIDNlbSk7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0XHRcdHdpZHRoOiAzNTBweDtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgY29udGVudC1zaG93IChmYWRlLWluLCA0cywgNnMpOyAvLzJzXHJcblx0XHR9XHRcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRcdGRpdntcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHR9XHJcblx0XHRcdGltZy5waG90b3tcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XHJcblx0XHRcdFx0d2lkdGg6IDQwMHB4O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IGNhbGMoLTE1cHggLSAxLjVlbSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGRpdiB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiA3MCU7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDMyJTtcclxuXHRcdFx0fVxyXG5cdFx0XHRoMntcclxuXHRcdFx0XHRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwgMC4xNSk7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAycmVtO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IC0xNDBweDtcclxuXHRcdFx0XHRAaW5jbHVkZSBjb250ZW50LXNob3cgKGZhZGUtZnJvbS10b3AsIDRzLCAycyk7IC8vMnNcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwLjdlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwgZG93bikge1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLTE0MHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IC0xMDBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0cHtcdFxyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdFx0XHRAaW5jbHVkZSBjb250ZW50LXNob3cgKGZhZGUtZnJvbS1ib3R0b20sIDRzLCAycyk7IC8vMnNcclxuXHRcdFx0XHQmLnBhcmFncmFwaDJ7XHJcblx0XHRcdFx0XHRAZXh0ZW5kIC5oaWRlLWZvci1zbWFsbC1vbmx5O1xyXG5cdFx0XHRcdFx0QG1lZGlhIChtYXgtaGVpZ2h0OiA2MDBweCkgYW5kIChtYXgtd2lkdGg6MTQwMHB4KSB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0fVxyXG5cclxuXHJcblx0Ly8gPT09PSBFbiBzYXZvaXIgcGx1c1xyXG5cdGF7XHJcblx0XHQmLmNzLW1vcmV7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdFx0XHRwYWRkaW5nOiA4cHggMTZweDtcclxuXHRcdFx0YmFja2dyb3VuZDogIzExMTtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRtYXJnaW46IDAuOGVtIDFweDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIGVhc2UgMC4zcztcclxuXHRcdFx0QGluY2x1ZGUgY29udGVudC1zaG93IChmYWRlLWluLCA1cywgMnMpOyAvLzNzXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Ym90dG9tOiAxcmVtO1xyXG5cdFx0XHRcdGxlZnQ6IDUlO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6JGRhcmstZ3JlZW47XHJcblx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuY3MtbW9yZTIsICYuY3MtbW9yZTIsICYuY3MtbW9yZTMsICYuY3MtY2xvc2Uge1xyXG5cdFx0XHRmb250LXNpemU6IDEuMXJlbTtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMik7XHJcblx0XHRcdHBhZGRpbmc6IDhweCAxNnB4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxLjVyZW07XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCBlYXNlIDAuM3M7XHJcblx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0YmFja2dyb3VuZDojZmZmO1xyXG5cdFx0XHRcdGNvbG9yOiAkZGFyay1ncmVlbjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cclxuXHQvLyA9PT09IEFuaW0gUXVvdGVcclxuXHQucmV2ZXJhbC1xdW90ZXtcclxuXHRcdC8vbWFyZ2luLXRvcDogLTNlbTtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRAaW5jbHVkZSBibG9jay1yZXZlcmFsIChzbGlkZS1oLCAjMTExLCAzMDAsIDBzLCAxcywgbm9ybWFsKTtcclxuXHRcdC8vcmVwb25zaXZlXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhtZWRpdW0gZG93bikge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vID09PT0gUXVvdGVcclxuXHQucXVvdGV7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0Ly9vcGFjaXR5OiAwLjU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGZvbnQtc2l6ZTogMS44cmVtO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsIGRvd24pIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjVyZW07XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdHN2Z3tcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdH1cclxuXHRcdC8vIFBpeGVsIFBlcmZlY3RcclxuXHRcdHN2Zy5jeXJpbHtcclxuXHRcdFx0d2lkdGg6IDE1MHB4O1xyXG5cdFx0XHQuc3BhcmtsZXtcclxuXHRcdFx0XHRhbmltYXRpb24tbmFtZTogc3BhcmtsZTtcclxuXHRcdFx0XHRhbmltYXRpb24tZHVyYXRpb246IDAuMXM7XHJcblx0XHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0YW5pbWF0aW9uLWRlbGF5OiAwO1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcclxuXHRcdFx0XHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuXHJcblx0XHRcdFx0QGtleWZyYW1lcyBzcGFya2xlIHtcclxuXHRcdFx0XHRcdDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMSk7fVxyXG5cdFx0XHRcdFx0MTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHNjYWxlKDEuMDEpO31cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnNwYXJrbGUtbWlue1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1uYW1lOiBzcGFya2xlLW1pbjtcclxuXHRcdFx0XHRhbmltYXRpb24tZHVyYXRpb246IDAuMXM7XHJcblx0XHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0YW5pbWF0aW9uLWRlbGF5OiAwO1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcclxuXHRcdFx0XHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuXHJcblx0XHRcdFx0QGtleWZyYW1lcyBzcGFya2xlLW1pbiB7XHJcblx0XHRcdFx0XHQwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpIDt9XHJcblx0XHRcdFx0XHQxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIDt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gSGlnaGxhbmRlclxyXG5cdFx0c3ZnLmhpZ2hsYW5kZXJ7XHJcblx0XHRcdHdpZHRoOiAxNzBweDtcclxuXHRcdFx0LmxpZ2h0e1xyXG5cdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0YW5pbWF0aW9uLW5hbWU6IGxpZ2h0O1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XHJcblx0XHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0YW5pbWF0aW9uLWRlbGF5OiAwcztcclxuXHRcdFx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuXHRcdFx0XHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuXHRcdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiAzMHB4IDI0cHg7XHJcblxyXG5cdFx0XHRcdEBrZXlmcmFtZXMgbGlnaHQge1xyXG5cdFx0XHRcdFx0MCUgICB7IG9wYWNpdHk6MDt0cmFuc2Zvcm06cm90YXRlKDBkZWcpO31cclxuXHRcdFx0XHRcdDE1JSAgIHsgb3BhY2l0eToxO31cclxuXHRcdFx0XHRcdDMwJSwgMTAwJSB7IG9wYWNpdHk6MDsgdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO31cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyBNb25pdG9yIGNhbGlicmF0aW9uXHJcblx0XHRzdmcubW9uaXRvcntcclxuXHRcdFx0d2lkdGg6IDE3MHB4O1xyXG5cclxuXHRcdFx0I3llbGxvd3tcclxuXHRcdFx0XHRhbmltYXRpb24tbmFtZTogeWVsbG93O1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogNXM7XHJcblx0XHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0YW5pbWF0aW9uLWRlbGF5OiAwcztcclxuXHRcdFx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuXHRcdFx0XHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuXHRcdFx0XHRAa2V5ZnJhbWVzIHllbGxvdyB7XHJcblx0XHRcdFx0XHQwJSwgNiUgIHtvcGFjaXR5OjE7fVxyXG5cdFx0XHRcdFx0MTMlLCAxMDAlICB7b3BhY2l0eTowO31cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0I2N5YW57XHJcblx0XHRcdFx0YW5pbWF0aW9uLW5hbWU6IGN5YW47XHJcblx0XHRcdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiA1cztcclxuXHRcdFx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuXHRcdFx0XHRhbmltYXRpb24tZGVsYXk6IDBzO1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG5cdFx0XHRcdEBrZXlmcmFtZXMgY3lhbiB7XHJcblx0XHRcdFx0XHQwJSwgMTYlICB7b3BhY2l0eToxO31cclxuXHRcdFx0XHRcdDIzJSwgMTAwJSAge29wYWNpdHk6MDt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCNncmVlbntcclxuXHRcdFx0XHRhbmltYXRpb24tbmFtZTogZ3JlZW47XHJcblx0XHRcdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiA1cztcclxuXHRcdFx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuXHRcdFx0XHRhbmltYXRpb24tZGVsYXk6IDBzO1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG5cdFx0XHRcdEBrZXlmcmFtZXMgZ3JlZW4ge1xyXG5cdFx0XHRcdFx0MCUsIDI2JSAge29wYWNpdHk6MTt9XHJcblx0XHRcdFx0XHQzMyUsIDEwMCUgIHtvcGFjaXR5OjA7fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQjcm9zZXtcclxuXHRcdFx0XHRhbmltYXRpb24tbmFtZTogcm9zZTtcclxuXHRcdFx0XHRhbmltYXRpb24tZHVyYXRpb246IDVzO1xyXG5cdFx0XHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1kZWxheTogMHM7XHJcblx0XHRcdFx0YW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcblx0XHRcdFx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcblx0XHRcdFx0QGtleWZyYW1lcyByb3NlIHtcclxuXHRcdFx0XHRcdDAlLCAzNiUgIHtvcGFjaXR5OjE7fVxyXG5cdFx0XHRcdFx0NDMlLCAxMDAlICB7b3BhY2l0eTowO31cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0I3JlZHtcclxuXHRcdFx0XHRhbmltYXRpb24tbmFtZTogcmVkO1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogNXM7XHJcblx0XHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0YW5pbWF0aW9uLWRlbGF5OiAwcztcclxuXHRcdFx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuXHRcdFx0XHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuXHRcdFx0XHRAa2V5ZnJhbWVzIHJlZCB7XHJcblx0XHRcdFx0XHQwJSwgNDYlICB7b3BhY2l0eToxO31cclxuXHRcdFx0XHRcdDUzJSwgMTAwJSAge29wYWNpdHk6MDt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCNibHVle1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1uYW1lOiBibHVlO1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogNXM7XHJcblx0XHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0YW5pbWF0aW9uLWRlbGF5OiAwcztcclxuXHRcdFx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuXHRcdFx0XHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuXHRcdFx0XHRAa2V5ZnJhbWVzIGJsdWUge1xyXG5cdFx0XHRcdFx0MCUsIDU2JSAge29wYWNpdHk6MTt9XHJcblx0XHRcdFx0XHQ2MyUsIDEwMCUgIHtvcGFjaXR5OjA7fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQjYmxhY2t7XHJcblx0XHRcdFx0YW5pbWF0aW9uLW5hbWU6IGJsYWNrO1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogNXM7XHJcblx0XHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0YW5pbWF0aW9uLWRlbGF5OiAwcztcclxuXHRcdFx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuXHRcdFx0XHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuXHRcdFx0XHRAa2V5ZnJhbWVzIGJsYWNrIHtcclxuXHRcdFx0XHRcdDAlLCA2NiUgIHtvcGFjaXR5OjE7fVxyXG5cdFx0XHRcdFx0ODMlLCAxMDAlICB7b3BhY2l0eTowO31cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRpbWd7XHJcblx0XHRcdG1heC13aWR0aDogMTMwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vIEdsb2JhbFxyXG5cdC5xdW90ZS0wMSwgLnF1b3RlLTAyLCAucXVvdGUtMDMsIC5xdW90ZS0wNCwgLnF1b3RlLWVuZHtcclxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHJcblx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwIDNlbTtcclxuXHRcdFx0YmFja2dyb3VuZDogJGRhcmstZ3JlZW47XHJcblx0XHRcdC8vYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJGxpZ2h0LWJsdWUgMCUsICRkYXJrLWdyZWVuIDEwMCUpO1xyXG5cdFx0XHQvL0BpbmNsdWRlIGgtZ3JhZGllbnQgKCRsaWdodC1ncmVlbiwgJGRhcmstZ3JlZW4pO1xyXG5cdFx0XHR0cmFuc2l0aW9uIDogMC4ycyAwLjVzIGJhY2tncm91bmQtY29sb3IgZWFzZTtcclxuXHRcdFx0ei1pbmRleDogMjAwO1xyXG5cclxuXHRcdFx0Ly8gPT09PSBncmlkXHJcblx0XHRcdEBleHRlbmQgLnh4eGxhcmdlLTc7XHJcblx0XHRcdEBleHRlbmQgLnhsYXJnZS04O1xyXG5cdFx0XHRAZXh0ZW5kIC54bWVkaXVtLTEwO1xyXG5cdFx0XHRAZXh0ZW5kIC5zbWFsbC0yNDtcclxuXHJcblx0XHRcdC8vID09PT0gcmVzcG9uc2l2ZVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0dG9wOiA1MHZoO1xyXG5cdFx0XHRcdGhlaWdodDogY2FsYygxMDAlIC0gNTB2aCk7XHJcblx0XHRcdH1cdFx0XHJcblxyXG5cdFx0XHQucXVvdGUsIC5yZXZlcmFsLXF1b3Rle1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5xdW90ZSB7IC8vICBhY3RpdmUgLyFcXFxyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLXNlbGYtbWlkZGxlO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGNvbnRlbnQtc2hvdyAoZmFkZS1pbiwgMC41cywgMHMpO1xyXG5cdFx0XHRcdC8vIGFmZmljaGFnZSAyIGNvbG9ubmVzIHN1ciBicmVha3BvaW50IG1lZGl1bVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHRcdHB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDY1JTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGltZ3tcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMzAlO1xyXG5cdFx0XHRcdFx0XHQvL3ZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVx0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdH1cclxuXHQvLyBEZWxldGUgZ3JlZW4gYmcgb24gbGFzdCBzbGlkZVxyXG5cdC5xdW90ZS1lbmQuYWN0aXZle1xyXG5cdFx0YmFja2dyb3VuZDp0cmFuc3BhcmVudDtcclxuXHR9XHJcblx0XHJcblx0YnV0dG9uLmNzLW1vcmUsIGJ1dHRvbi5jcy1tb3JlMiwgYnV0dG9uLmNzLW1vcmUzLFxyXG5cdGJ1dHRvbi5jcy1tb3JlNCwgYnV0dG9uLmNzLW1vcmU1LCBidXR0b24uY3MtY2xvc2V7XHJcblx0XHRwYWRkaW5nOiAxM3B4IDIwcHggMTRweCAyMHB4O1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0Zm9udC1zaXplOiAxLjhyZW07XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsIDAuMDUpO1xyXG5cdFx0c3Zne1xyXG5cdFx0XHR3aWR0aDogMjVweDtcclxuXHRcdFx0aGVpZ2h0OiAyNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YnV0dG9uLmNzLW1vcmUyLCBidXR0b24uY3MtbW9yZTMsIGJ1dHRvbi5jcy1tb3JlNCxcclxuXHRidXR0b24uY3MtbW9yZTUsIGJ1dHRvbi5jcy1jbG9zZXtcclxuXHRcdGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLCAwLjEpO1xyXG5cdFx0dHJhbnNpdGlvbiA6IGFsbCBlYXNlIDAuNHM7XHJcblx0XHQuY3MtcGx1cy1idG57XHJcblx0XHRcdHRyYW5zaXRpb24gOiBhbGwgZWFzZSAwLjRzO1xyXG5cdFx0XHRmaWxsOiAkbGlnaHQtZ3JlZW47XHJcblx0XHR9XHJcblx0XHQmOmhvdmVye1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiRsaWdodC1ncmVlbjtcclxuXHRcdFx0LmNzLXBsdXMtYnRue1xyXG5cdFx0XHRcdGZpbGw6ICNmZmY7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGJ1dHRvbi5jcy1tb3JleyBcclxuXHRcdHJpZ2h0OiAtMTVweDtcclxuXHRcdC5jcy1wbHVzLWJ0bntcclxuXHRcdFx0dHJhbnNpdGlvbiA6IGFsbCBlYXNlIDAuNHM7XHJcblx0XHRcdGZpbGw6IHJnYmEoMjU1LDI1NSwyNTUsIDAuMik7XHJcblx0XHRcdGZpbGw6ICRsaWdodC1ncmVlbjtcclxuXHRcdH1cclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdC5jcy1wbHVzLWJ0bntcclxuXHRcdFx0XHRmaWxsOiByZ2JhKDI1NSwyNTUsMjU1LCAxKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG59IC8vIEVuZCBQcm9maWxlXHJcblxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PSBNYWluIHNsaWRlXHJcblxyXG4uY3Mtc2xpZGV7XHJcblx0Ly9iYWNrZ3JvdW5kOnVybCguLi9pbWcvbG9nby0za2Rlc2lnbi5zdmcpIG5vLXJlcGVhdCBjYWxjKC0xMDBweCAtIDQwJSkgMCAvIDYwJSwgdXJsKC4uL2ltZy9sb2dvLTNrZGVzaWduLXJldmVyc2Uuc3ZnKSBuby1yZXBlYXQgMTYwJSBjYWxjKDkwJSArIDEwMHB4KSAvIDYwJSwgdXJsKC4uL2ltZy9ibHVyMS4xLmpwZykgbm8tcmVwZWF0IDUwJSA1MCUgLyBjb3ZlcjtcclxuXHRiYWNrZ3JvdW5kOlx0dXJsKC4uL2ltZy9ibHVyMS4xLmpwZykgbm8tcmVwZWF0IDUwJSA1MCUgLyBjb3ZlcjtcclxuXHQvL3BhZGRpbmctdG9wOiAyZW07XHJcblx0Ly9taW4taGVpZ2h0OiA2MHZoO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGZsZXgtZGlyZWN0aW9uIDogY29sdW1uO1xyXG5cclxuXHQvLyA9PT09IFJlc3BvbnNpdmVcclxuXHQvLyBtYXgtaGVpZ2h0IHN1ciBtb2JpbGVcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRoZWlnaHQ6IDUwdmg7XHJcblx0fVxyXG5cclxuXHQuY3MtbG9nby1jeXJpbHtcclxuXHRcdG1heC13aWR0aDogMzB2dztcclxuXHRcdG1heC1oZWlnaHQ6IDcwJTtcclxuXHRcdG1hcmdpbi1sZWZ0OiA0JTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsIGRvd24pIHtcclxuXHRcdFx0bWF4LXdpZHRoOiA4NXZ3O1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBvcmRlclxyXG5cdEBleHRlbmQgLnNtYWxsLW9yZGVyLTE7XHJcblx0Ly8gYW5pbWF0aW9uICgkYW5pbWF0aW9uLW5hbWUsICRkZWxheSwgJGR1cmF0aW9uKVxyXG5cdEBpbmNsdWRlIGNvbnRlbnQtc2hvdyAoZmFkZS1pbiwgMy40cywgMXMpOyAvLzEuNHNcclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBJbnRybyAgICAgICAgICAgIFx0XHRcdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuLmNzLWludHJve1xyXG5cdC8vYmFja2dyb3VuZDojZmZmO1xyXG5cdC8vQGluY2x1ZGUgY29udGVudC1zaG93IChmYWRlLWluLCAzcywgMCk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdC8vaGVpZ2h0OiA0MjBweDtcclxuXHQucmV2ZXJhbC1pbnRyb3tcclxuXHRcdC8vaGVpZ2h0OiA0MjBweDtcclxuXHRcdC8vICgkbmFtZSwgJGNvbG9yLCAkemluZGV4LCAkZGVsYXksICRkdXJhdGlvbiwgJHJldmVyc2UpO1xyXG5cdFx0QGluY2x1ZGUgYmxvY2stcmV2ZXJhbCAoc2xpZGUtdiwgI2ZmZiwgMTAsIDMuNHMsIDAuNHMsIG5vcm1hbCk7IC8vMS40XHJcblx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuXHRcdHotaW5kZXg6IDEwO1xyXG5cdH1cclxuXHJcblxyXG5cdC5jcy1kZXZpY2Vze1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0aGVpZ2h0OiA0MjBweDtcclxuXHRcdHotaW5kZXg6IDExO1xyXG5cdFx0QGV4dGVuZCAuc2hvdy1mb3ItbWVkaXVtOyAvLyBVbmRlciA2NDBweCBsb2FkIG93bGNhcm91c2VsXHJcblxyXG5cdFx0Ly8gPT09PSByZXNwb25zaXZlXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XHJcblx0XHRcdGhlaWdodDogMzYwcHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdFx0aGVpZ2h0OiAyOTBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdGhlaWdodDogNDB2dztcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0aGVpZ2h0OiA0MHZ3O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA4MHB4O1xyXG5cdFx0fVxyXG5cdFx0aW1ne1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Ji5zaGFkb3ctZGV2aWNlc3tcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRoZWlnaHQ6IDUwJTtcclxuXHRcdFx0XHRib3R0b206IDA7XHJcblx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRAaW5jbHVkZSBjb250ZW50LXNob3cgKGZhZGUtaW4sIDMuNXMsIDJzKTsgLy8xLjVcclxuXHRcdFx0fVxyXG5cdFx0XHQmLm1pbml0ZWx7XHJcblx0XHRcdFx0d2lkdGg6IDI5MHB4O1xyXG5cdFx0XHRcdHRvcDogMTAwcHg7XHJcblx0XHRcdFx0d2lkdGg6IDMzJTtcclxuXHRcdFx0XHRtYXgtd2lkdGg6IDM4MHB4O1xyXG5cdFx0XHRcdGxlZnQ6IDUlO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGNvbnRlbnQtc2hvdyAoZmFkZS1mcm9tLXJpZ2h0LCA0LjNzLCAwLjJzKTsgLy8yLjNcclxuXHRcdFx0fVxyXG5cdFx0XHQmLmlwaG9uZXtcclxuXHRcdFx0XHR3aWR0aDogMTQwcHg7XHJcblx0XHRcdFx0dG9wOiA3MHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAxNiU7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiAxODBweDtcclxuXHRcdFx0XHRsZWZ0OiAyNyU7XHJcblx0XHRcdFx0QGluY2x1ZGUgY29udGVudC1zaG93IChmYWRlLWZyb20tcmlnaHQsIDQuMXMsIDAuMnMpOyAvLzIuMVxyXG5cdFx0XHR9XHJcblx0XHRcdCYuZ2FtZWJveXtcclxuXHRcdFx0XHRsZWZ0OiAyODVweDtcclxuXHJcblx0XHRcdFx0dG9wOiAtM3ZoO1xyXG5cdFx0XHRcdEBtZWRpYSAobWluLWhlaWdodDogODAwcHgpIGFuZCAobWluLXdpZHRoOiAyMTAwcHgpe1xyXG5cdFx0XHRcdFx0dG9wOiAtMnZoO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR3aWR0aDogMzUwcHg7XHJcblx0XHRcdFx0d2lkdGg6IDQyJTtcclxuXHRcdFx0XHRtYXgtd2lkdGg6IDQwMHB4O1xyXG5cdFx0XHRcdGxlZnQ6IDMyJTtcclxuXHRcdFx0QGluY2x1ZGUgY29udGVudC1zaG93IChmYWRlLWZyb20tYm90dG9tLCA0cywgMC4ycyk7IC8vMlxyXG5cdFx0fVxyXG5cdFx0Ji5tYWJyb3Vre1xyXG5cdFx0XHRsZWZ0OiA0NzBweDtcclxuXHRcdFx0dG9wOiA4MHB4O1xyXG5cdFx0XHR3aWR0aDogNDUwcHg7XHJcblx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdG1heC13aWR0aDogNTcwcHg7XHJcblx0XHRcdGxlZnQ6IDQ5JTtcclxuXHRcdFx0QGluY2x1ZGUgY29udGVudC1zaG93IChmYWRlLWZyb20tbGVmdCwgNC4ycywgMC4ycyk7IC8vMi4yXHJcblx0XHR9XHJcblx0fVxyXG5cdFx0Ly8gb3JkZXJcclxuXHRcdC8vIEBleHRlbmQgLnhtZWRpdW0tb3JkZXItMjtcclxuXHRcdC8vIEBleHRlbmQgLm1lZGl1bS1vcmRlci0xO1xyXG5cclxuXHRcdC8vID09PT0gZ3JpZFxyXG5cdFx0QGV4dGVuZCAueHh4bGFyZ2UtMTQ7XHJcblx0XHRAZXh0ZW5kIC54eHhsYXJnZS1vZmZzZXQtMjtcclxuXHRcdEBleHRlbmQgLnhsYXJnZS0xNjtcclxuXHRcdEBleHRlbmQgLmxhcmdlLTE2O1xyXG5cdFx0QGV4dGVuZCAuc21hbGwtMjQ7XHJcblx0fVxyXG5cclxuXHQvLyBTbGlkZXIgT3dsIENhcm91c2VsXHJcblx0LmNzLWRldmljZXMtbW9iaWxle1xyXG5cdFx0ei1pbmRleDogMTE7XHJcblx0XHRtYXJnaW4tdG9wOiA0MHB4O1xyXG5cdFx0aW1ne1xyXG5cdFx0XHRoZWlnaHQ6IDI1MHB4O1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0XHQmLmlwaG9uZXtcclxuXHRcdFx0XHRoZWlnaHQ6IDIzMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAZXh0ZW5kIC5zbWFsbC0yNDtcclxuXHRcdEBleHRlbmQgLmhpZGUtZm9yLW1lZGl1bTtcclxuXHR9XHJcblxyXG5cclxuXHJcblxyXG5cdC5jcy10ZXh0e1xyXG5cdFx0ei1pbmRleDogMTE7XHJcblx0XHRmb250LWZhbWlseTogICdTb3VyY2VTZXJpZlBybycsIEdlb3JnaWE7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRmb250LXNpemU6IDEuNHJlbTtcclxuXHRcdGNvbG9yOiAjOTk5O1xyXG5cdFx0Ly8gbWluLWhlaWdodDogMjAwcHg7IC8vIEEgcmVtZXR0cmUgc2kgTWljcm93YXZlIE9OXHJcblx0XHRAZXh0ZW5kIC5hbGlnbi1zZWxmLW1pZGRsZTtcclxuXHRcdEBpbmNsdWRlIGNvbnRlbnQtc2hvdyAoZmFkZS1mcm9tLWxlZnQsIDQuNnMsIDFzKTsgLy8gMi42XHJcblx0XHRAZXh0ZW5kIC54eHhsYXJnZS02O1xyXG5cclxuXHRcdC5zaG93LWZvci1sYXJnZXtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Lm1pY3Jvd2F2ZXtcclxuXHRcdFx0d2lkdGg6IDQ2cHg7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyA9PT09IHJlc3BvbnNpdmVcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSBkb3duKSB7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDVlbTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMmVtO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjJyZW07XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhtZWRpdW0gZG93bikge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyZW07XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMmVtO1xyXG5cdFx0XHRmb250LXNpemU6IDEuNHJlbTtcclxuXHRcdFx0QGluY2x1ZGUgY29udGVudC1zaG93IChmYWRlLWZyb20tdG9wLCA0LjZzLCAxcyk7IC8vIDIuNlxyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAxMDBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBTa2lsbHMgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcbi5za2lsbHN7XHJcblx0LmNvbnN1bHRpbmcsIC53ZWJkZXNpZ24sIC5kZXZlbG9wbWVudHtcclxuXHRcdGJhY2tncm91bmQ6IzQ0NDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDNlbSAyZW07XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCBkb3duKSB7XHJcblx0XHRcdHBhZGRpbmc6IDJlbTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cdFx0XHRwYWRkaW5nOiAxLjVlbTtcclxuXHRcdH1cclxuXHRcdGltZ3tcclxuXHRcdFx0bWF4LXdpZHRoOiA1NXB4O1xyXG5cdFx0XHRtaW4taGVpZ2h0OiA2MHB4O1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG8gMzBweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0aDN7XHJcblx0XHRcdGNvbG9yOiAjOTk5O1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRmb250LXNpemU6IDEuMXJlbTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIGRvd24pIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwgb25seSkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdG1heC13aWR0aDogNzUlO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAycmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMC44cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdEBleHRlbmQgLmxhcmdlLTg7XHJcblx0XHRAZXh0ZW5kIC5tZWRpdW0tMTI7XHJcblx0XHRAZXh0ZW5kIC5zbWFsbC0yNDtcclxuXHR9XHJcblx0LndlYmRlc2lnbntcclxuXHRcdGJhY2tncm91bmQ6IzMzMztcclxuXHR9XHJcblx0LmRldmVsb3BtZW50e1xyXG5cdFx0YmFja2dyb3VuZDojMTExO1xyXG5cdFx0QGV4dGVuZCAubWVkaXVtLTI0O1xyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBDbGllbnRzICAgICAgICAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG5cclxuLmNsaWVudHN7XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHJcblx0LmJsb2NrLWxvZ29ze1xyXG5cdFx0cGFkZGluZzogM2VtIDNlbSA0cmVtIDNyZW07XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCBkb3duKSB7XHJcblx0XHRcdHBhZGRpbmc6IDJlbTtcclxuXHRcdH1cclxuXHRcdGgye1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyZW07XHJcblx0XHRcdGNvbG9yOiAjNDQ0O1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwgZG93bikge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMS40cmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmNvbHVtbnN7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0QGV4dGVuZCAueHhsYXJnZS04O1xyXG5cclxuXHRcdFx0Ji5mb3h7XHJcblx0XHRcdFx0QGV4dGVuZCAuc2hvdy1mb3ItbWVkaXVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuaHNiY3tcclxuXHRcdFx0XHRAZXh0ZW5kIC5zaG93LWZvci14c21hbGw7XHJcblx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0XHRpbWd7XHJcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiA3MHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmLm1ldGVvZnJhbmNlLCAmLmZveCwgJi5wZXVnZW90IHtcclxuXHRcdFx0XHRcdGltZ3tcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRpbWd7XHJcblx0XHRcdG1heC1oZWlnaHQ6IDgwcHg7XHJcblx0XHRcdC8vbWFyZ2luLXJpZ2h0OiAyLjVlbTtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuXHRcdH1cclxuXHJcblx0XHRAZXh0ZW5kIC54eHhsYXJnZS0xMjtcclxuXHRcdEBleHRlbmQgLnh4bGFyZ2UtMTA7XHJcblx0XHRAZXh0ZW5kIC5zbWFsbC0yNDtcclxuXHR9XHJcblxyXG5cdC5yZXZpZXdzIHtcclxuXHRcdHBhZGRpbmc6IDNyZW0gMDtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCgxcHggYXQgLTEwMHB4IDUwJSwgcmdiYSgwLCAwLCAwLCAwLjIpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDIwMHB4KTtcclxuXHRcdFxyXG5cdFx0QGV4dGVuZCAueHh4bGFyZ2UtMTI7XHJcblx0XHRAZXh0ZW5kIC54eGxhcmdlLTE0O1xyXG5cdFx0QGV4dGVuZCAuc21hbGwtMjQ7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgZG93bikge1xyXG5cdFx0XHQvL3BhZGRpbmc6IDJyZW0gMDtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KDFweCBhdCA1MCUgLTMwdncsIHJnYmEoMCwgMCwgMCwgMC4zKSAwJSwgdHJhbnNwYXJlbnQgNTB2dyk7XHJcblx0XHR9XHJcblxyXG5cdFx0LmF2YXRhcntcclxuXHRcdFx0QGV4dGVuZCAueHh4bGFyZ2UtODtcclxuXHRcdFx0QGV4dGVuZCAueHhsYXJnZS04O1xyXG5cdFx0XHRAZXh0ZW5kIC54bGFyZ2UtNztcclxuXHRcdFx0QGV4dGVuZCAueG1lZGl1bS04O1xyXG5cdFx0XHRAZXh0ZW5kIC5zbWFsbC0yNDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuYXZhdGFyLXBob3RvIHtcclxuXHRcdFx0bWFyZ2luOiAycmVtIDAgMnJlbTtcclxuXHRcdFx0d2lkdGg6IDIwMHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDIwMHB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgNXB4ICNmZmY7XHJcblx0XHRcdGltZ3tcclxuXHRcdFx0XHRoZWlnaHQ6IDIwMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0d2lkdGg6IDE1MHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTUwcHg7XHJcblx0XHRcdFx0aW1ne1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxNTBweDtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jcy10ZXh0e1xyXG5cdFx0XHRmb250LWZhbWlseTogICdTb3VyY2VTZXJpZlBybycsIEdlb3JnaWE7XHJcblx0XHRcdGNvbG9yOiAjODA4MDgwO1xyXG5cdFx0XHRmb250LXNpemU6IDEuM3JlbTtcclxuXHRcdFx0Ly9wYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogM3JlbTtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAycmVtO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOnVybCguLi9pbWcvaWNvLXF1b3RlLnN2Zykgbm8tcmVwZWF0IDAgMDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAyNXB4O1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRwYWRkaW5nOiAxcmVtIDNyZW07XHJcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMTAlIDA7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAzMHB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4yZW07XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcblx0XHRcdFx0cGFkZGluZzogMS41cmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuY3MtcHJvZmlsZXtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAycmVtO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxcmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmIHNwYW4sICYgYXtcclxuXHRcdFx0XHRmb250LWZhbWlseTogJ1RpdGlsbGl1bSBXZWInO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjFyZW07XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRcdH1cclxuXHRcdFx0LmNzLW5hbWV7XHJcblx0XHRcdFx0Y29sb3I6ICRkYXJrLWdyZXk7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjRyZW07XHJcblx0XHRcdH1cclxuXHRcdFx0LmNzLWpvYntcclxuXHRcdFx0XHRjb2xvcjogIzgwODA4MDtcclxuXHRcdFx0fVxyXG5cdFx0XHRhLmNzLWNvbXBhZ255e1xyXG5cdFx0XHRcdGNvbG9yOiAkZGFyay1ncmVlbjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gLy8gRW5kIHJldmlld1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBQb3J0Zm9saW8gICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcbi5jcy1wb3J0Zm9saW8taG9tZXtcclxuXHRiYWNrZ3JvdW5kOlx0I2ZmZjtcclxuXHJcblx0Ly8gR2xvYmFsIHN0eWxlIGZvciBwb3J0Zm9saW9cclxuXHQuY3MtYm9vc3RyYXZlbCwgLmNzLW90b3JpbSwgLmNzLWNpdHlkcml2ZSB7XHJcblx0XHQmPi5yb3d7XHJcblx0XHRcdGhlaWdodDogNTAwcHg7XHJcblx0XHRcdC5jb2x1bW5ze1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLXNlbGYtbWlkZGxlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRhLmNzLWluZm9ze1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjRzO1xyXG5cdFx0XHRwYWRkaW5nOiAxLjJyZW0gMnJlbTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMC44cmVtO1xyXG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LDI1NSwyNTUsIDApIGluc2V0O1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7IC8vIETDqXNhY3RpdmUgbGUgbGllbiBlbiBtb2JpbGVcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHRcdHN2Z3tcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0bWFyZ2luOiAwLjZyZW0gMDtcclxuXHRcdFx0fVxyXG5cdFx0XHQubG9nb3tcclxuXHRcdFx0XHRmaWxsOiAjZmZmO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmIC50ZXh0e1xyXG5cdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdFx0XHRcdGhlaWdodDogMHB4O1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTE1cHg7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogLTE1cHg7XHJcblx0XHRcdFx0aDN7bWFyZ2luLXRvcDogMDt9XHJcblx0XHRcdFx0cHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkZGFyay1ncmV5O1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMS41cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHR3aWR0aDogNTcwcHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZDojZmZmO1xyXG5cdFx0XHRcdCYgLnRleHR7QGluY2x1ZGUgY29udGVudC1zaG93IChjdGEtdGV4dCwgMC40cywgMXMpO31cclxuXHRcdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgXHQobWF4LXdpZHRoOiAxMzAwcHgpe1xyXG5cdFx0XHRcdFx0d2lkdGg6IDUzMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdH0gLy8gLS0gRW5kIGNzLWluZm9zXHJcblx0XHRcclxuXHJcblx0XHQvLyBSZXNwb25zaXZlIC8gTW9iaWxlID09PT0+IC8hXFwgTUFKIG4nZXN0IHBsdXMgYWZmaWNow6llLCB1biBhdXRyZSA8YT4gZXN0IGNyw6nDqSBwb3VyIGxlIG1vYmlsZVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHQmPi5yb3d7XHJcblx0XHRcdFx0aGVpZ2h0OiA3MHZoO1xyXG5cdFx0XHR9XHJcblx0XHRcdGEuY3MtaW5mb3N7XHJcblx0XHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LDI1NSwyNTUsIDApIGluc2V0ICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHQmIC50ZXh0e2Rpc3BsYXk6IG5vbmU7fVxyXG5cdFx0XHRcdFx0LmxvZ28sIC5sb2dvLXRvcCwgLmxvZ28tYm90dG9te1xyXG5cdFx0XHRcdFx0XHRmaWxsOiAjZmZmICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8vIE5vdXZlbGxlIHZlcnNpb24gbW9iaWxlXHJcblx0XHRhLmNzLWluZm9zLW1vYmlsZXtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bWVkaXVtKSB7ZGlzcGxheTogbm9uZTt9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0aGVpZ2h0OiA3MHZoO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0c3Zne1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDYwcHg7XHJcblx0XHRcdFx0XHRmaWxsOiAjZmZmO1xyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnRleHR7XHJcblx0XHRcdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRcdFx0XHRib3R0b206MTBweDtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRoM3tcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjJyZW07XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMC45cmVtO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDJyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSAvLyAtLSBFbmQgR2xvYmFsIHN0eWxlIHBvcnRmb2xpb1xyXG5cclxuXHJcblx0Ly8gQm9vc3RyYXZlbCBcclxuXHQuY3MtYm9vc3RyYXZlbCB7XHJcblxyXG5cdFx0YmFja2dyb3VuZDp1cmwoLi4vaW1nL2JnLWJvb3N0cmF2ZWwtaG9tZS5qcGcpIG5vLXJlcGVhdCA1MCUgNTAlIC8gY292ZXI7XHJcblxyXG5cdFx0Ly8gLS1sb2dvLXdpZHRoIDogNzBweDsgLy8gdmFyaWFibGVzIGNzcyBpbmNvbXBhdGlibGVzIGllL2VkZ2VcclxuXHRcdC8vdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDhzO1xyXG5cdFx0Ly90cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdC8vYmFja2dyb3VuZC1zaXplOiBhdXRvIDExMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0YS5jcy1pbmZvc3tcclxuXHRcdFx0JGxvZ28td2lkdGg6IDcwcHg7XHJcblx0XHRcdHdpZHRoOiBjYWxjKCN7JGxvZ28td2lkdGh9ICsgNHJlbSk7XHJcblx0XHRcdC8vd2lkdGg6IGNhbGModmFyKC0tbG9nby13aWR0aCkgKyA0cmVtKTsgLy8gaW5jb21wYXRpYmxlIGllL2VkZ2VcclxuXHJcblx0XHRcdHN2Z3tcclxuXHRcdFx0XHR3aWR0aDogJGxvZ28td2lkdGg7XHJcblx0XHRcdFx0Ly93aWR0aDogdmFyKC0tbG9nby13aWR0aCk7IC8vIGluY29tcGF0aWJsZSBpZS9lZGdlXHJcblx0XHRcdH1cclxuXHRcdFx0JiAudGV4dHtcclxuXHRcdFx0XHRAZXh0ZW5kIC54c21hbGwtMTk7XHJcblx0XHRcdFx0aDN7XHJcblx0XHRcdFx0XHRjb2xvcjogI0YxNzIyMTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0c3BhbntcclxuXHRcdFx0XHRcdGNvbG9yOiAjRjE3MjIxO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgLTVweCAwICNGMTcyMjEgaW5zZXQ7XHJcblx0XHRcdFx0LmxvZ297XHJcblx0XHRcdFx0XHRmaWxsOiAjRjE3MjIxO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVx0XHRcclxuXHRcdH1cclxuXHRcdEBleHRlbmQgLnNtYWxsLTI0O1xyXG5cdH1cclxuXHJcblx0Ly8gT3RvcmltIFxyXG5cdC5jcy1vdG9yaW0ge1xyXG5cclxuXHRcdGJhY2tncm91bmQ6dXJsKC4uL2ltZy9iZy1vdG9yaW0taG9tZS5qcGcpIG5vLXJlcGVhdCA1MCUgNTAlIC8gY292ZXI7XHJcblxyXG5cdFx0YS5jcy1pbmZvcy1tb2JpbGUgc3Zne3dpZHRoOiA5MHB4O31cclxuXHJcblx0XHRhLmNzLWluZm9ze1xyXG5cdFx0XHQkbG9nby13aWR0aDogMTEwcHg7XHJcblx0XHRcdHdpZHRoOiBjYWxjKCN7JGxvZ28td2lkdGh9ICsgNHJlbSk7XHJcblx0XHRcdHN2Z3tcclxuXHRcdFx0XHR3aWR0aDogJGxvZ28td2lkdGg7XHJcblx0XHRcdH1cclxuXHRcdFx0JiAudGV4dHtcclxuXHRcdFx0XHRAZXh0ZW5kIC54c21hbGwtMTc7XHJcblx0XHRcdFx0aDN7XHJcblx0XHRcdFx0XHRjb2xvcjogI0NBMzAwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0c3BhbntcclxuXHRcdFx0XHRcdGNvbG9yOiAjQ0EzMDAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgLTVweCAwICNDQTMwMDAgaW5zZXQ7XHJcblx0XHRcdFx0LmxvZ297XHJcblx0XHRcdFx0XHRmaWxsOiAjQ0EzMDAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVx0XHRcclxuXHRcdH1cclxuXHRcdEBleHRlbmQgLnhsYXJnZS0xMjtcclxuXHRcdEBleHRlbmQgLnNtYWxsLTI0O1xyXG5cdH1cclxuXHJcblx0Ly8gQ2l0eWRyaXZlIFxyXG5cdC5jcy1jaXR5ZHJpdmUge1xyXG5cclxuXHRcdGJhY2tncm91bmQ6dXJsKC4uL2ltZy9iZy1jaXR5ZHJpdmUtaG9tZS5qcGcpIG5vLXJlcGVhdCA1MCUgNTAlIC8gY292ZXI7XHJcblxyXG5cdFx0YS5jcy1pbmZvc3tcclxuXHRcdFx0JGxvZ28td2lkdGg6IDcwcHg7XHJcblx0XHRcdHdpZHRoOiBjYWxjKCN7JGxvZ28td2lkdGh9ICsgNHJlbSk7XHJcblx0XHRcdHN2Z3tcclxuXHRcdFx0XHR3aWR0aDogJGxvZ28td2lkdGg7XHJcblx0XHRcdH1cclxuXHRcdFx0JiAudGV4dHtcclxuXHRcdFx0XHRAZXh0ZW5kIC54c21hbGwtMTk7XHJcblx0XHRcdFx0aDN7XHJcblx0XHRcdFx0XHRjb2xvcjogIzMyQjNDMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0c3BhbntcclxuXHRcdFx0XHRcdGNvbG9yOiAjRjE4NTM0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgLTVweCAwICMzMkIzQzAgaW5zZXQ7XHJcblx0XHRcdFx0LmxvZ28tdG9we1xyXG5cdFx0XHRcdFx0ZmlsbDogIzMyQjNDMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmxvZ28tYm90dG9te1xyXG5cdFx0XHRcdFx0ZmlsbDogI0YxODUzNDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cdFx0XHJcblx0XHR9XHJcblx0XHRAZXh0ZW5kIC54bGFyZ2UtMTI7XHJcblx0XHRAZXh0ZW5kIC5zbWFsbC0yNDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IEhpcmUgbWUgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuLmhpcmUtbWV7XHJcblx0YmFja2dyb3VuZDojZmZmO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAzcmVtO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsIGRvd24pIHtcclxuXHRcdHBhZGRpbmc6IDJyZW07XHJcblx0fVxyXG5cdHB7XHJcblx0XHRmb250LWZhbWlseTogICdTb3VyY2VTZXJpZlBybycsIEdlb3JnaWE7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRmb250LXNpemU6IDEuNnJlbTtcclxuXHRcdGNvbG9yOiAjOTk5O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRmb250LXNpemU6IDEuNHJlbTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsIGRvd24pIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjNyZW07XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjFyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cdGF7XHJcblx0XHRmb250LXNpemU6IDEuMnJlbTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0cGFkZGluZzogMTBweCAxOHB4O1xyXG5cdFx0Y29sb3I6ICRkYXJrLWdyZWVuO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRkYXJrLWdyZWVuO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIGVhc2UgMC40cztcclxuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0XHQmOmhvdmVye1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjMTExO1xyXG5cdFx0XHRjb2xvcjogJGxpZ2h0LWdyZWVuO1xyXG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCA2cHggI2VlZTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsIGRvd24pIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjJyZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBGb290ZXIgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcbmZvb3RlciAucm93e1xyXG5cdGhlaWdodDogMjUwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcclxuXHRib3JkZXItdG9wOiAzcHggc29saWQgIzFhMWExYTtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA1MCUgLTIwJSxcclxuXHRcdHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSAwJSxcclxuXHRcdHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSA0MCUsXHJcblx0XHRyZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDcwJSk7XHJcblx0LmNvbHVtbnN7XHJcblx0XHRAZXh0ZW5kIC5hbGlnbi1zZWxmLW1pZGRsZTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGltZ3tcclxuXHRcdFx0bWF4LWhlaWdodDogOTBweDtcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHR9XHJcblx0XHQmLmxvZ297XHJcblx0XHRcdC8vQGV4dGVuZCAubGFyZ2UtODtcclxuXHRcdH1cclxuXHRcdGgze1xyXG5cdFx0XHRmb250LXNpemU6IDAuOXJlbTtcclxuXHRcdFx0Y29sb3I6ICM2NjY7XHJcblx0XHRcdG1hcmdpbi10b3A6IDMwcHg7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYic7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdFx0XHQmIGF7XHJcblx0XHRcdFx0Y29sb3I6ICM5OTk7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIGVhc2UgMC40cztcclxuXHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRsaWdodC1ncmVlbjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG4vKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgXHJcbi8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBcclxuLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFxyXG4vKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgXHJcbi8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBcclxuLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFxyXG4qL1xyXG5cclxuXHJcbi8vIG1haW46IGFwcC5zY3NzXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBCb29zdHJhdmVsICAgICAgICAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IEhlYWRlciAgICAgICAgICAgIFx0XHRcdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuLmJzLWRldGFpbHtcclxuXHRiYWNrZ3JvdW5kOiAkZGFyay1ncmV5O1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdHBhZGRpbmc6IDJyZW0gM3JlbTtcclxuXHJcblx0Ly8gPT09PSBhbmltYXRpb25cclxuXHRAaW5jbHVkZSBjb250ZW50LXNob3cgKGZhZGUtaW4sIDMuNHMsIDApOyAvLzAuNFxyXG5cclxuXHRoMXtcclxuXHRcdGZvbnQtc2l6ZTogMS40cmVtO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHRcdG1hcmdpbi10b3A6IDFyZW07XHJcblx0fVxyXG5cclxuXHQvLyA9PT09IGdyaWRcclxuXHRAZXh0ZW5kIC54eHhsYXJnZS02O1xyXG5cdEBleHRlbmQgLnhsYXJnZS04O1xyXG5cdEBleHRlbmQgLnhtZWRpdW0tMTA7XHJcblx0QGV4dGVuZCAuc21hbGwtMjQ7XHJcblxyXG5cdC8vID09PT0gb3JkZXJcclxuXHRAZXh0ZW5kIC5zbWFsbC1vcmRlci0yO1xyXG5cdEBleHRlbmQgLnhtZWRpdW0tb3JkZXItMTtcclxuXHJcblx0Ly89PT09IFJlc3BvbnNpdmVcclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xyXG5cdFx0cGFkZGluZzogMS41cmVtIDJyZW07XHRcclxuXHRcdGgxe1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBkb3duKSB7XHJcblx0XHRwe1xyXG5cdFx0XHRmb250LXNpemU6IDFyZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYnMtdmlzdWFse1xyXG5cdFxyXG5cdGJhY2tncm91bmQ6dXJsKC4uL2ltZy9ib29zdHJhdmVsL2JnLWJvb3N0cmF2ZWwuanBnKSBuby1yZXBlYXQgNTAlIDQwJSAvIGNvdmVyO1xyXG5cdGhlaWdodDogNTAwcHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGZsZXgtZGlyZWN0aW9uIDogY29sdW1uO1xyXG5cclxuXHQvLyBvcmRlclxyXG5cdEBleHRlbmQgLnNtYWxsLW9yZGVyLTE7XHJcblx0QGV4dGVuZCAuYWxpZ24tc2VsZi1zdHJldGNoO1xyXG5cclxuXHQvLyA9PT09IGFuaW1hdGlvblxyXG5cdEBpbmNsdWRlIGNvbnRlbnQtc2hvdyAoZmFkZS1pbiwgMy40cywgMCk7IC8vMC40XHJcblxyXG5cdGltZ3tcclxuXHRcdG1hcmdpbi10b3A6IC0xMHJlbTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAtNTUlO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgZG93bikge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDE0MCU7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAtODAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAoeG1lZGl1bSBkb3duKSB7XHJcblx0XHQvL2hlaWdodDogNDB2aDtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcclxuXHRcdGhlaWdodDogNjB2aDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBNYWdhemluZSAgICAgICAgICAgIFx0XHRcdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuXHJcbi5icy1tYWdhemluZXtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCgxcHggYXQgNTAlIC0zMHZ3LCByZ2JhKDAsIDAsIDAsIDAuMykgMCUsIHRyYW5zcGFyZW50IDUwdncpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nOiAwIDRyZW07XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHRleHQtc2hhZG93OiAwICAycHggMCByZ2JhKDI1NSwyNTUsMjU1LCAwLjgpO1xyXG5cclxuXHRAaW5jbHVkZSBjb250ZW50LXNob3cgKGZhZGUtaW4sIDMuNXMsIDJzKTsgLy8xLjVcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwgZG93bikge1xyXG5cdFx0cGFkZGluZzogMCAyLjVyZW07XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cdFx0cGFkZGluZzogMCAxLjVyZW07XHJcblx0fVxyXG5cclxuXHQudGV4dHtcclxuXHRcdGZvbnQtZmFtaWx5OiAgJ1NvdXJjZVNlcmlmUHJvJywgR2VvcmdpYTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGNvbG9yOiAjOTk5O1xyXG5cclxuXHRcdEBleHRlbmQgLmxhcmdlLTEzO1xyXG5cdFx0QGV4dGVuZCAueG1lZGl1bS0xMjtcclxuXHRcdEBleHRlbmQgLnNtYWxsLTI0O1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRwYWRkaW5nOiA2LjVyZW0gNXJlbSA2LjVyZW0gMTRyZW07XHJcblx0XHRcdGZvbnQtc2l6ZTogMS40cmVtO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgZG93bikge1xyXG5cdFx0XHRwYWRkaW5nOiA0LjVyZW0gM3JlbTtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjNyZW07XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdFx0cGFkZGluZzogMy41cmVtIDByZW07XHJcblx0XHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRvcmRlciA6IDI7XHJcblx0XHRcdG1hcmdpbi10b3A6IDEzcmVtO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwgZG93bikge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAzNXZ3O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDM1dnc7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdFx0fVxyXG5cclxuXHJcblxyXG5cdH1cclxuXHJcblx0LmltYWdle1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bWFyZ2luLXRvcDogLTgwcHg7XHJcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdC8vbWFyZ2luLWxlZnQ6IC0ycmVtO1xyXG5cclxuXHJcblx0XHRpbWd7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXgtd2lkdGg6IDQ1MHB4O1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UgKSB7XHJcblx0XHRcdGltZ3tcclxuXHRcdFx0XHRtYXgtd2lkdGg6IDYwMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlICkge1xyXG5cdFx0XHRpbWd7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiA1NTBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bWVkaXVtIGRvd24pIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogLTQwcHg7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAtM3JlbTtcclxuXHRcdFx0aW1ne1xyXG5cdFx0XHRcdHdpZHRoOiA4MCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDF2dztcclxuXHRcdFx0aW1ne1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCBkb3duKSB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMnJlbTtcclxuXHRcdFx0aW1ne1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IC0zcmVtO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtMzBweDtcclxuXHRcdFx0aW1ne1xyXG5cdFx0XHRcdHdpZHRoOiA5MCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0fVxyXG59XHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBQbGFuZSBhbmltYXRpb24gICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcbi5wbGFuZXtcclxuXHQvL0BleHRlbmQgLmxhcmdlLTEyO1xyXG59XHJcbi5wbGFuZS1hbmltYXRpb257XHJcblx0LmNvbnRhaW5lcntcclxuXHRcdC8vQGV4dGVuZCAubGFyZ2UtMTA7XHJcblx0XHRoZWlnaHQ6IDMwMHB4O1xyXG5cdFx0QGluY2x1ZGUgaC1ncmFkaWVudCgjRjY4NzAwLCAjREEzQTJEKTtcclxuXHRcdC8vYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcblxyXG5cdC5jbG91ZDEsIC5jbG91ZDIsIC5jbG91ZDMsIC5jbG91ZDQge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY28tY2xvdWQuc3ZnKSBuby1yZXBlYXQ7XHJcblx0XHQvL2JhY2tncm91bmQ6IHVybCguLi9pbWcvY2xvdWQucG5nKSBuby1yZXBlYXQ7XHJcblx0XHR3aWR0aDogMTAwMHB4O1xyXG5cdFx0aGVpZ2h0OiA4MDBweDtcdFxyXG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG5cdFx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcblx0fVxyXG5cdC5jbG91ZDF7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMjVkZWcpIHRyYW5zbGF0ZVooMCk7XHJcblx0XHQvL0FuaW1hdGlvblxyXG5cdFx0YW5pbWF0aW9uLW5hbWU6IGNsb3VkMTtcclxuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMjVzO1xyXG5cdFx0XHJcblx0fVxyXG5cdC5jbG91ZDJ7XHJcblx0XHR0b3A6IC0yMDAwcHg7XHJcblx0XHRvcGFjaXR5OiAwLjQ7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxNTVkZWcpIHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuXHRcdC8vQW5pbWF0aW9uXHJcblx0XHRhbmltYXRpb24tbmFtZTogY2xvdWQyO1xyXG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAzNXM7XHJcblx0XHRAZXh0ZW5kIC5zaG93LWZvci1sYXJnZTtcclxuXHR9XHJcblx0LmNsb3VkM3tcclxuXHRcdHRvcDogMHB4O1xyXG5cdFx0b3BhY2l0eTogMC40O1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMTU1ZGVnKSB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcblx0XHQvL0FuaW1hdGlvblxyXG5cdFx0YW5pbWF0aW9uLW5hbWU6IGNsb3VkMztcclxuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMzhzO1xyXG5cdFx0QGV4dGVuZCAuc2hvdy1mb3ItbGFyZ2U7XHJcblx0fVxyXG5cdC5jbG91ZDR7XHJcblx0XHR0b3A6IDBweDtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKC0yNWRlZykgdHJhbnNsYXRlM2QoMCwwLDApO1xyXG5cdFx0Ly9BbmltYXRpb25cclxuXHRcdGFuaW1hdGlvbi1uYW1lOiBjbG91ZDQ7XHJcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDI0cztcclxuXHR9XHJcblx0LnBsYW5le1xyXG5cdFx0d2lkdGg6IDgwMHB4O1xyXG5cdFx0aGVpZ2h0OiAxMDBweDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvLXBsYW5lLnN2Zykgbm8tcmVwZWF0O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAyNTBweDtcclxuXHRcdGxlZnQ6IGNhbGMoNTAlIC0gNzAwcHgpO1xyXG5cdFx0Ly9BbmltYXRpb25cclxuXHRcdGFuaW1hdGlvbi1uYW1lOiBwbGFuZTtcclxuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XHJcblx0XHRhbmltYXRpb24tZGVsYXk6IDA7XHJcblx0XHRhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XHJcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuXHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG5cdH0ucGxhbmUtc2hhZG93e1xyXG5cdFx0d2lkdGg6IDYwcHg7XHJcblx0XHRoZWlnaHQ6IDYwcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljby1wbGFuZS1zaGFkb3cuc3ZnKSBuby1yZXBlYXQ7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IGNhbGMoNTAlIC0gMjVweCk7XHJcblx0XHRsZWZ0OiBjYWxjKDUwJSAtIDVweCk7XHJcblx0XHRvcGFjaXR5OiAwLjI7XHJcblx0XHQvL0FuaW1hdGlvblxyXG5cdFx0YW5pbWF0aW9uLW5hbWU6IHBsYW5lLXNoYWRvdztcclxuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XHJcblx0XHRhbmltYXRpb24tZGVsYXk6IDA7XHJcblx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuXHRcdGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcclxuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG5cdFx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBMaXN0IHNraWxsICAgICAgIFx0XHRcdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuLmJzLXNraWxsc3tcclxuXHQuc2tpbGwtbGlzdHtcclxuXHRcdGJhY2tncm91bmQ6ICRkYXJrLWdyZXk7XHJcblx0XHRwYWRkaW5nOiAzcmVtIDNyZW0gMnJlbSAzcmVtO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblxyXG5cdFx0QGV4dGVuZCAubGFyZ2UtMTI7XHJcblx0XHRAZXh0ZW5kIC5zbWFsbC0yNDtcclxuXHRcdC8vQGV4dGVuZCAuc2hvdy1mb3IteG1lZGl1bTtcclxuXHJcblxyXG5cdFx0dWx7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHRcdC5jb2x1bW5ze1xyXG5cdFx0XHRcdEBleHRlbmQgLmxhcmdlLTI0O1xyXG5cdFx0XHRcdEBleHRlbmQgLnhtZWRpdW0tMTI7XHJcblx0XHRcdFx0QGV4dGVuZCAuc21hbGwtMjQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGxpe1xyXG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cdFx0XHRmb250LXNpemU6ICdNb250c2VycmF0JywgYXJpYWw7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xyXG5cdFx0XHQmOmxhc3QtY2hpbGR7XHJcblx0XHRcdFx0Ly9tYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdHNwYW57XHJcblx0XHRcdFx0Y29sb3I6ICRkYXJrLWdyZWVuO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMnJlbTtcclxuXHRcdFx0XHRmb250LXNpemU6IDEuNXJlbTtcclxuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdFx0cGFkZGluZzogMnJlbSAxcmVtIDFyZW0gMXJlbTtcclxuXHRcdFx0bGl7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAwLjlyZW07XHJcblx0XHRcdFx0c3BhbntcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IFdpcmVmcmFtZSAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcbi5icy13aXJlZnJhbWV7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHRleHQtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsMCwwLDAuNik7XHJcblx0aGVpZ2h0OiA1MHZoO1xyXG5cdG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG5cdGJhY2tncm91bmQ6dXJsKC4uL2ltZy9ib29zdHJhdmVsL2Jvb3N0cmF2ZWwtd2lyZWZyYW1lLmpwZykgNTAlIDUwJSAvIGNvdmVyO1xyXG5cdGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcblxyXG5cdEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHJcblx0Lm51bWJlcntcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0cGFkZGluZzogMy4zcmVtIDFyZW07XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRoZWlnaHQ6IDIwMHB4O3dpZHRoOiAyMDBweDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdEBpbmNsdWRlIGgtZ3JhZGllbnQoJGxpZ2h0LWdyZWVuLCAkZGFyay1ncmVlbik7XHJcblxyXG5cdFx0c3BhbntcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgYXJpYWw7XHJcblx0XHRcdGZvbnQtc2l6ZTogNHJlbTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDNyZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbj09PT09PT09PT09PT09PT09PT09PT0gVUkgICAgIFx0XHRcdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuLnVpe1xyXG5cclxuXHQvLyA9PT09IFdhbGxwYXBlclxyXG5cdC53YWxscGFwZXJ7XHJcblx0XHRiYWNrZ3JvdW5kOnVybCgnLi4vaW1nL2Jvb3N0cmF2ZWwvYmcwMy5qcGcnKSBuby1yZXBlYXQgNTAlIDEwMCUgLyBjb3ZlcjtcclxuXHRcdGhlaWdodDogNTB2aDtcclxuXHRcdG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG5cdFx0bWF4LWhlaWdodDogNjIwcHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ei1pbmRleDogNTA7XHJcblxyXG5cdFx0LnB1bmNobGluZXtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRsZWZ0OiAzMCU7XHJcblx0XHRcdHRvcDogODBweDtcclxuXHRcdH1cclxuXHRcdC5sYXB0b3B7XHJcblx0XHRcdHdpZHRoOiA2MCU7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Ym90dG9tOiAtNzBweDtcclxuXHRcdFx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcblxyXG5cdFx0XHRAZXh0ZW5kIC5oaWRlLWZvci1zbWFsbC1vbmx5O1xyXG5cdFx0fVxyXG5cdFx0Lm1vYmlsZXtcclxuXHRcdFx0d2lkdGg6IDE1JTtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IC05MHB4O1xyXG5cdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcclxuXHRcdFx0bWluLWhlaWdodDogY2FsYyggKDUwdmggKyAzNXZ3KSAvIDIgKTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdFx0LnB1bmNobGluZXtcclxuXHRcdFx0XHR3aWR0aDogMzUwcHg7XHJcblx0XHRcdFx0bGVmdDogMjUlO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5sYXB0b3B7XHJcblx0XHRcdFx0d2lkdGg6IDc1JTtcclxuXHRcdFx0XHRib3R0b206IC01MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdC5tb2JpbGV7XHJcblx0XHRcdFx0d2lkdGg6IDIwJTtcclxuXHRcdFx0XHRib3R0b206IC03MHB4O1xyXG5cdFx0XHRcdGxlZnQ6IDUwJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0LmxhcHRvcHtcclxuXHRcdFx0XHRtaW4td2lkdGg6IDU2MHB4O1xyXG5cdFx0XHRcdGJvdHRvbTogLTUwcHg7XHJcblx0XHRcdFx0bGVmdDogLTUlO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5tb2JpbGV7XHJcblx0XHRcdFx0d2lkdGg6IDI1JTtcclxuXHRcdFx0XHRtaW4td2lkdGg6IDE3MHB4O1xyXG5cdFx0XHRcdGJvdHRvbTogLTcwcHg7XHJcblx0XHRcdFx0bGVmdDogNTMlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCBkb3duKSB7XHJcblx0XHRcdG1pbi1oZWlnaHQ6IGF1dG87XHJcblx0XHRcdGhlaWdodDogMzAwcHg7XHJcblx0XHRcdC5wdW5jaGxpbmV7XHJcblx0XHRcdFx0d2lkdGg6IDMwMHB4O1xyXG5cdFx0XHRcdHRvcDogNDBweDtcclxuXHRcdFx0XHRsZWZ0OiAxNSU7XHJcblx0XHRcdH1cclxuXHRcdFx0LmxhcHRvcHtcclxuXHRcdFx0XHRtaW4td2lkdGg6IDUwMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiA3NSU7XHJcblx0XHRcdFx0Ym90dG9tOiAtNzBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQubW9iaWxle1xyXG5cdFx0XHRcdHdpZHRoOiAzMCU7XHJcblx0XHRcdFx0bWluLXdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdGJvdHRvbTogLTkwcHg7XHJcblx0XHRcdFx0bGVmdDogNjAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdFx0LnB1bmNobGluZXtcclxuXHRcdFx0XHR3aWR0aDogODAlO1xyXG5cdFx0XHRcdGxlZnQ6IDEwJTtcclxuXHRcdFx0fVxyXG5cdFx0XHQubW9iaWxle1xyXG5cdFx0XHRcdHdpZHRoOiA3MCU7XHJcblx0XHRcdFx0bGVmdDogMTUlO1xyXG5cdFx0XHRcdGJvdHRvbTogYXV0bztcclxuXHRcdFx0XHR0b3A6IDEyMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSAvKiBFbmQgV2FsbHBhcGVyICovXHJcblxyXG5cclxuXHJcblx0Ly8gPT09PSBDb2xvciAmIEZvbnRzXHJcblx0LmFzc2V0c3tcclxuXHRcdG1pbi1oZWlnaHQ6IDUwdmg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWcvYm9vc3RyYXZlbC93b3JsZC1tYXAucG5nKSBuby1yZXBlYXQgNTAlIDUwJSAvIGNvdmVyO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdGhlaWdodDogY2FsYyggMCArIDgwdmgpO1xyXG5cdFx0XHRoZWlnaHQ6IDQwMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zaGFkb3d7XHJcblx0XHRcdGhlaWdodDogMTAwcHg7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdEBpbmNsdWRlIHYtZ3JhZGllbnQocmdiYSgwLDAsMCwwLjE1KSwgcmdiYSgwLDAsMCwwKSk7XHJcblx0XHR9XHJcblx0XHQuc2hhZG93LXdoaXRle1xyXG5cdFx0XHRoZWlnaHQ6IDEwMHB4O1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdEBpbmNsdWRlIHYtZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwwKSwgcmdiYSgyNTUsMjU1LDI1NSwxKSk7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8vIENvbG9yc1xyXG5cdFx0LmNvbG9yc3tcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IGNhbGMoIDEwMHZ3IC8gMik7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwpIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiA4MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMTIwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblxyXG5cdFx0XHQucm93e1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLXNwYWNlZDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGV4dGVuZCAuc21hbGwtMjQ7XHJcblx0XHRcdEBleHRlbmQgLnhzbWFsbC0yMjtcclxuXHRcdFx0QGV4dGVuZCAueG1lZGl1bS0xMjtcclxuXHRcdFx0QGV4dGVuZCAubGFyZ2UtMTM7XHJcblx0XHRcdEBleHRlbmQgLnh4bGFyZ2UtMTE7XHJcblxyXG5cdFx0XHQuY29sdW1uc3tcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0XHRcdEBleHRlbmQgLnNtYWxsLTE2O1xyXG5cdFx0XHRcdEBleHRlbmQgLnhzbWFsbC0xMjtcclxuXHRcdFx0XHRAZXh0ZW5kIC5tZWRpdW0tODtcclxuXHRcdFx0XHRAZXh0ZW5kIC54bWVkaXVtLTEyO1xyXG5cdFx0XHRcdEBleHRlbmQgLmxhcmdlLTg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0Ly8gRm9udHNcclxuXHRcdC5mb250c3tcclxuXHRcdFx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwpIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhtZWRpdW0pIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAxMDBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDE0MHB4O1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAzdnc7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdEBleHRlbmQgLnNtYWxsLTE4O1xyXG5cdFx0XHRAZXh0ZW5kIC5tZWRpdW0tMTI7XHJcblx0XHRcdEBleHRlbmQgLnhtZWRpdW0tODtcclxuXHRcdFx0QGV4dGVuZCAubGFyZ2UtODtcclxuXHRcdFx0QGV4dGVuZCAueHhsYXJnZS03O1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0fVxyXG5cclxuXHJcbn0gLyogRW5kIFVJICovXHJcblxyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbj09PT09PT09PT09PT09PT09PT09PT0gTWFzb25yeSAgICAgXHRcdFx0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG5cdC8vIGh0dHA6Ly9tYXNvbnJ5LmRlc2FuZHJvLmNvbS9vcHRpb25zLmh0bWxcclxuXHJcbi8qIC0tLS0gZ3JpZCAtLS0tICovXHJcbi5icy1tYXNvbnJ5e1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0cGFkZGluZy1yaWdodDogMjBweDtcclxuXHRwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcblx0cGFkZGluZy1ib3R0b206IDYwcHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG5cdFx0cGFkZGluZy1sZWZ0OiA0MHB4O1xyXG5cdH1cclxuXHJcblx0LyogY2xlYXJmaXggKi9cclxuXHQuZ3JpZDphZnRlciB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Y2xlYXI6IGJvdGg7XHJcblx0fVxyXG5cclxuXHJcblxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjBweCkgYW5kIChtaW4taGVpZ2h0OiAxMDBweCkge1xyXG5cdFx0bWFyZ2luLXRvcDogLTIwdmg7IFxyXG5cdH1cclxuXHJcblxyXG5cclxuXHQvKiAtLS0tIGdyaWQtaXRlbSAtLS0tICovXHJcblxyXG5cdC0tZ3JpZC1zaXplciA6IGNhbGMoMTAwJSAvIDYpO1xyXG5cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcclxuXHRcdC5ncmlkLWl0ZW0sIC5ncmlkLXNpemVyIHsgXHJcblx0XHRcdC0tZ3JpZC1zaXplciA6IGNhbGMoMTAwJSAvIDQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xyXG5cdFx0LmdyaWQtaXRlbSwgLmdyaWQtc2l6ZXIge1xyXG5cdFx0XHQtLWdyaWQtc2l6ZXIgOiBjYWxjKDEwMCUgLyAzKTtcclxuXHRcdH1cclxuXHR9XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcclxuXHRcdC5ncmlkLWl0ZW0sIC5ncmlkLXNpemVyIHtcclxuXHRcdFx0LS1ncmlkLXNpemVyIDogY2FsYygxMDAlIC8gMik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LmdyaWQtc2l6ZXJ7XHJcblx0XHR3aWR0aDogMTAlO1xyXG5cdFx0Ly93aWR0aDogY2FsYygxMDAlIC8gNik7XHJcblx0XHR3aWR0aDogdmFyKC0tZ3JpZC1zaXplcik7XHJcblx0fVxyXG5cdFxyXG5cdC5ncmlkLWl0ZW0ge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRwYWRkaW5nOiAyMHB4O1xyXG5cdFx0d2lkdGg6IDIwJTtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLyA2KTtcclxuXHRcdHdpZHRoOiB2YXIoLS1ncmlkLXNpemVyKTtcclxuXHRcdG9wYWNpdHk6IDAuODtcclxuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZSAwLjNzO1xyXG5cdFx0Jjpob3ZlcntcclxuXHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRwYWRkaW5nOiA0MHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdCYudzF7d2lkdGg6IGNhbGMoIDEwMCUgLyA2KTt9XHJcblx0XHQmLncye3dpZHRoOiBjYWxjKCAxMDAlIC8gNiAqIDIpO31cclxuXHRcdCYudzN7d2lkdGg6IGNhbGMoIDEwMCUgLyA2ICogMyk7fVxyXG5cdFx0Ji53NHt3aWR0aDogY2FsYyggMTAwJSAvIDYgKiA0KTt9XHJcblx0XHQmLnc1e3dpZHRoOiBjYWxjKCAxMDAlIC8gNiAqIDUpO31cclxuXHRcdCYudzZ7d2lkdGg6IGNhbGMoIDEwMCUgLyA2ICogNik7fVxyXG5cclxuXHRcdCYudzF7d2lkdGg6IGNhbGMoIHZhcigtLWdyaWQtc2l6ZXIpICoxKTt9XHJcblx0XHQmLncye3dpZHRoOiBjYWxjKCB2YXIoLS1ncmlkLXNpemVyKSAqIDIpOyBAZXh0ZW5kIC5zaG93LWZvci1tZWRpdW07fVxyXG5cdFx0Ji53M3t3aWR0aDogY2FsYyggdmFyKC0tZ3JpZC1zaXplcikgKiAzKTsgQGV4dGVuZCAuc2hvdy1mb3ItbWVkaXVtO31cclxuXHRcdCYudzR7d2lkdGg6IGNhbGMoIHZhcigtLWdyaWQtc2l6ZXIpICogNCk7fVxyXG5cdFx0Ji53NXt3aWR0aDogY2FsYyggdmFyKC0tZ3JpZC1zaXplcikgKiA1KTt9XHJcblx0XHQmLnc2e3dpZHRoOiBjYWxjKCB2YXIoLS1ncmlkLXNpemVyKSAqIDYpO31cclxuXHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xyXG5cdFx0XHQmLncye3dpZHRoOiBjYWxjKCB2YXIoLS1ncmlkLXNpemVyKSAqIDEpO31cclxuXHRcdFx0Ji53M3t3aWR0aDogY2FsYyggdmFyKC0tZ3JpZC1zaXplcikgKiAyKTt9XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xyXG5cdFx0XHQmLncye3dpZHRoOiBjYWxjKCB2YXIoLS1ncmlkLXNpemVyKSAqIDIpO31cclxuXHRcdFx0Ji53MXt3aWR0aDogY2FsYyggdmFyKC0tZ3JpZC1zaXplcikgKiAyKTt9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji53MzAge3dpZHRoOiAzMCU7fVxyXG5cdFx0Ji53NDAge3dpZHRoOiA0MCU7fVxyXG5cdFx0Ji53NjAge3dpZHRoOiA2MCU7fVxyXG5cdFx0Ji53NzAge3dpZHRoOiA3MCU7fVxyXG5cdFx0aW1nOm5vdCgubm8tc2hhZG93KSB7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwwLDAsMC4zKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQvLyAuZ3JpZC1pdGVtLS1oZWlnaHQyIHsgaGVpZ2h0OiAyMDBweDsgfVxyXG5cdC8vIC5ncmlkLWl0ZW0tLWhlaWdodDMgeyBoZWlnaHQ6IDI2MHB4OyB9XHJcblx0Ly8gLmdyaWQtaXRlbS0taGVpZ2h0NCB7IGhlaWdodDogMzYwcHg7IH1cclxuXHJcbn1cclxuXHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG49PT09PT09PT09PT09PT09PT09PT09IEhpcmUgbWUgICAgICAgICAgICBcdFx0XHRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuLmJzLWhpcmUtbWV7XHJcblx0YmFja2dyb3VuZDojZWVlO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCgxcHggYXQgNTAlIC0zMHZ3LCByZ2JhKDAsIDAsIDAsIDAuMykgMCUsIHRyYW5zcGFyZW50IDQwdncpLFxyXG5cdHJhZGlhbC1ncmFkaWVudCgxcHggYXQgNTAlIDMwMHB4LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAlLCB0cmFuc3BhcmVudCA0MHZ3KTtcclxuXHRhe1xyXG5cdFx0Ly9iYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0Jjpob3ZlcntcclxuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgM3B4ICNmZmY7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPT09PT09PT09PT09PT09PT09PT09PSBPdGhlciBwb3J0Zm9saW8gICAgIFx0XHRcdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuLmJzLXBvcnRmb2xpb3tcclxuXHQuY3MtYm9vc3RyYXZlbCwgLmNzLW90b3JpbSwgLmNzLWNpdHlkcml2ZSB7XHJcblx0XHQmPi5yb3d7XHJcblx0XHRcdGhlaWdodDogMzAwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxufVxyXG5cclxuIl19 */
