/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        -ms-user-select: none;
	    user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::-moz-selection {
	background: transparent;
}
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	-webkit-filter: inherit;
	        filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-tile {
	will-change: opacity;
	}
.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	transform-origin: 0 0;
	}
.leaflet-zoom-anim .leaflet-zoom-animated {
	will-change: transform;
	}
.leaflet-zoom-anim .leaflet-zoom-animated {
	transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline: 0;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-container a.leaflet-active {
	outline: 2px solid orange;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a,
.leaflet-bar a:hover {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(/assets/img/vendor/leaflet/dist/layers.png?a6137456ed160d7606981aa57c559898);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(/assets/img/vendor/leaflet/dist/layers-2x.png?4f0283c6ce28e888000e978e537a6a56);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path {
	background-image: url(/assets/img/vendor/leaflet/dist/marker-icon.png?2273e3d8ad9264b7daa5bdbf8e6b47f8);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.7);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover {
	text-decoration: underline;
	}
.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
	font-size: 11px;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	font-size: 11px;
	white-space: nowrap;
	overflow: hidden;
	box-sizing: border-box;

	background: #fff;
	background: rgba(255, 255, 255, 0.5);
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 19px;
	line-height: 1.4;
	}
.leaflet-popup-content p {
	margin: 18px 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	padding: 4px 4px 0 0;
	border: none;
	text-align: center;
	width: 18px;
	height: 14px;
	font: 16px/14px Tahoma, Verdana, sans-serif;
	color: #c3c3c3;
	text-decoration: none;
	font-weight: bold;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover {
	color: #999;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}
.leaflet-oldie .leaflet-popup-tip-container {
	margin-top: -1px;
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-clickable {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}
/*!
 * jQuery UI CSS Framework 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 */

/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
	display: none;
}
.ui-helper-hidden-accessible {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.ui-helper-reset {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	line-height: 1.3;
	text-decoration: none;
	font-size: 100%;
	list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
	content: "";
	display: table;
	border-collapse: collapse;
}
.ui-helper-clearfix:after {
	clear: both;
}
.ui-helper-zfix {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	opacity: 0;
	filter:Alpha(Opacity=0); /* support: IE8 */
}

.ui-front {
	z-index: 100;
}


/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
	cursor: default !important;
	pointer-events: none;
}


/* Icons
----------------------------------*/
.ui-icon {
	display: inline-block;
	vertical-align: middle;
	margin-top: -.25em;
	position: relative;
	text-indent: -99999px;
	overflow: hidden;
	background-repeat: no-repeat;
}

.ui-widget-icon-block {
	left: 50%;
	margin-left: -8px;
	display: block;
}

/* Misc visuals
----------------------------------*/

/* Overlays */
.ui-widget-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/*!
 * jQuery UI Autocomplete 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/autocomplete/#theming
 */
.ui-autocomplete {
	position: absolute;
	top: 0;
	left: 0;
	cursor: default;
}
.lb-loader,.lightbox{text-align:center;line-height:0;position:absolute;left:0}body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:alpha(Opacity=80);opacity:.8;display:none}.lightbox{width:100%;z-index:10000;font-weight:400;outline:0}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-loader{top:43%;height:25%;width:100%}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(/assets/img/vendor/lightbox2/dist/loading.gif?2299ad0b3f63413f026dfec20c205b8f) no-repeat}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(/assets/img/vendor/lightbox2/dist/prev.png?84b76dee6b27b795e89e3649078a11c2) left 48% no-repeat;filter:alpha(Opacity=0);opacity:0;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(/assets/img/vendor/lightbox2/dist/next.png?31f15875975aab69085470aabbfec802) right 48% no-repeat;filter:alpha(Opacity=0);opacity:0;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(/assets/img/vendor/lightbox2/dist/close.png?d9d2d0b1308cb694aa8116915592e2a9) top right no-repeat;text-align:right;outline:0;filter:alpha(Opacity=70);opacity:.7;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:alpha(Opacity=100);opacity:1}@charset "UTF-8";

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}

.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}

.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}

.dropdown-menu-left {
  right: auto;
  left: 0;
}

.dropdown-menu-right {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-sm-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-md-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-lg-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0;
  }

  .dropdown-menu-xl-right {
    right: 0;
    left: auto;
  }
}

.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}

.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}

.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}

.dropright .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-toggle::after {
  vertical-align: 0;
}

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}

.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}

.dropleft .dropdown-toggle::after {
  display: none;
}

.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}

.dropleft .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-menu[x-placement^=top],
.dropdown-menu[x-placement^=right],
.dropdown-menu[x-placement^=bottom],
.dropdown-menu[x-placement^=left] {
  right: auto;
  bottom: auto;
}

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}

.dropdown-item:hover,
.dropdown-item:focus {
  color: #16181b;
  text-decoration: none;
  background-color: #f8f9fa;
}

.dropdown-item.active,
.dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #007bff;
}

.dropdown-item.disabled,
.dropdown-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: 0.5rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #6c757d;
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: 0.25rem 1.5rem;
  color: #212529;
}

.fade {
  transition: opacity 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}

.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
}

.nav-link:hover,
.nav-link:focus {
  text-decoration: none;
}

.nav-link.disabled {
  color: #6c757d;
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}

.nav-tabs .nav-item {
  margin-bottom: -1px;
}

.nav-tabs .nav-link {
  border: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #dee2e6;
}

.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills .nav-link {
  border-radius: 0.25rem;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #007bff;
}

.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.tab-content > .tab-pane {
  display: none;
}

.tab-content > .active {
  display: block;
}

/* Slider */

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */

.slick-loading .slick-list {
  background: #fff url(/assets/img/vendor/slick-carousel/slick/ajax-loader.gif?c5cd7f5300576ab4c88202b42f6ded62) center center no-repeat;
}

/* Icons */

@font-face {
  font-family: "slick";
  src: url(/assets/fonts/vendor/slick-carousel/slick/slick.eot?ced611daf7709cc778da928fec876475);
  src: url(/assets/fonts/vendor/slick-carousel/slick/slick.eot?ced611daf7709cc778da928fec876475) format("embedded-opentype"), url(/assets/fonts/vendor/slick-carousel/slick/slick.woff?b7c9e1e479de3b53f1e4e30ebac2403a) format("woff"), url(/assets/fonts/vendor/slick-carousel/slick/slick.ttf?d41f55a78e6f49a5512878df1737e58a) format("truetype"), url(/assets/fonts/vendor/slick-carousel/slick/slick.svg?f97e3bbf73254b0112091d0192f17aec) format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows */

.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}

.slick-prev:before {
  content: "\2190";
}

[dir=rtl] .slick-prev:before {
  content: "\2192";
}

.slick-next {
  right: -25px;
}

[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}

.slick-next:before {
  content: "\2192";
}

[dir=rtl] .slick-next:before {
  content: "\2190";
}

/* Dots */

.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\2022";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

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

@font-face {
  font-family: "e-Ukraine";
  src: url(/assets/fonts/e-Ukraine-UltraLight.eot?90aca8a4027f158fe08f77c6d6b888a8);
  src: url(/assets/fonts/e-Ukraine-UltraLight.eot?90aca8a4027f158fe08f77c6d6b888a8) format("embedded-opentype"), url(/assets/fonts/e-Ukraine-UltraLight.woff?a5fc983357daa100e1103fe4f30732d3) format("woff"), url(/assets/fonts/e-Ukraine-UltraLight.woff2?f9de9010bb55db3b686063ded9566ec9) format("woff2"), url(/assets/fonts/e-Ukraine-UltraLight.ttf?c127e4aad23f181a89e5a45947e96aa1) format("truetype");
  font-style: normal;
  font-weight: 200;
}

@font-face {
  font-family: "e-Ukraine";
  src: url(/assets/fonts/e-Ukraine-Light.eot?7d372debccdeea7370a501b3cb7316a2);
  src: url(/assets/fonts/e-Ukraine-Light.eot?7d372debccdeea7370a501b3cb7316a2) format("embedded-opentype"), url(/assets/fonts/e-Ukraine-Light.woff?c2f9f1bdc64fac2d639baf5a05a76085) format("woff"), url(/assets/fonts/e-Ukraine-Light.woff2?0bfb4e8529c079318ca62f3b1e742f6e) format("woff2"), url(/assets/fonts/e-Ukraine-Light.ttf?42570a9fbd91d1e2f683a3f3f659235e) format("truetype");
  font-style: normal;
  font-weight: 300;
}

@font-face {
  font-family: "e-Ukraine";
  src: url(/assets/fonts/e-Ukraine-Regular.eot?9126b554c78607671ecf5e50da337434);
  src: url(/assets/fonts/e-Ukraine-Regular.eot?9126b554c78607671ecf5e50da337434) format("embedded-opentype"), url(/assets/fonts/e-Ukraine-Regular.woff?d6f9c4dcb435353586a0e285f14fbf2f) format("woff"), url(/assets/fonts/e-Ukraine-Regular.woff2?d82cb95838b922f68a00ab50c840c6ea) format("woff2"), url(/assets/fonts/e-Ukraine-Regular.ttf?8de05871d4e6a1f5927fb78e363c2fce) format("truetype");
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "e-Ukraine";
  src: url(/assets/fonts/e-Ukraine-Medium.eot?05c915120e1fa39e1990eddb7b91b6db);
  src: url(/assets/fonts/e-Ukraine-Medium.eot?05c915120e1fa39e1990eddb7b91b6db) format("embedded-opentype"), url(/assets/fonts/e-Ukraine-Medium.woff?3c0036d2001df0a3e13e956686d27f4c) format("woff"), url(/assets/fonts/e-Ukraine-Medium.woff2?ddc19d1f33a0bd3619c75b8fe71db596) format("woff2"), url(/assets/fonts/e-Ukraine-Medium.ttf?e265d080c6edc31ddbef916d67771bfb) format("truetype");
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: "e-Ukraine";
  src: url(/assets/fonts/e-Ukraine-Bold.eot?a3c5f00098ce562fd0dce0f667436a3a);
  src: url(/assets/fonts/e-Ukraine-Bold.eot?a3c5f00098ce562fd0dce0f667436a3a) format("embedded-opentype"), url(/assets/fonts/e-Ukraine-Bold.woff?562d360c8a6e5a9a7ed805d471b0e76c) format("woff"), url(/assets/fonts/e-Ukraine-Bold.woff2?0823795214d2c5b312a0bcec262a8d32) format("woff2"), url(/assets/fonts/e-Ukraine-Bold.ttf?de553052657a936c059147fb907eb446) format("truetype");
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: "e-UkraineHead";
  src: url(/assets/fonts/e-UkraineHead-Bold.eot?7babd26786d0a377192ea86207e4f718);
  src: url(/assets/fonts/e-UkraineHead-Bold.eot?7babd26786d0a377192ea86207e4f718) format("embedded-opentype"), url(/assets/fonts/e-UkraineHead-Bold.woff?f4d298ecbade9413255226b75766b34f) format("woff"), url(/assets/fonts/e-UkraineHead-Bold.woff2?0e1b6f7c2d2583cd06d96633e047f45f) format("woff2"), url(/assets/fonts/e-UkraineHead-Bold.ttf?3ca9838d3498c71241deeaac3d69dda3) format("truetype");
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: "e-UkraineHead";
  src: url(/assets/fonts/e-UkraineHead-Medium.eot?690dadbbd2f6618e637ec5d323fc536d);
  src: url(/assets/fonts/e-UkraineHead-Medium.eot?690dadbbd2f6618e637ec5d323fc536d) format("embedded-opentype"), url(/assets/fonts/e-UkraineHead-Medium.woff?dd49df873d6fc4b1a9dd96bfa3141ac4) format("woff"), url(/assets/fonts/e-UkraineHead-Medium.woff2?3bc6bc85ce200a6d6178196f1a0bc22e) format("woff2"), url(/assets/fonts/e-UkraineHead-Medium.ttf?8500b97229bf3e00703ce05893cfdc12) format("truetype"), url(/assets/fonts/e-UkraineHead-Medium.svg?3786086f9bf1bee8112722f3332bdc5b) format("svg");
  font-style: normal;
  font-weight: 500;
}

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

.custom-scroll::-webkit-scrollbar-button,
.nav-tabs::-webkit-scrollbar-button {
  background-repeat: no-repeat;
  width: 0px;
  height: 0px;
}

.custom-scroll::-webkit-scrollbar-track,
.nav-tabs::-webkit-scrollbar-track {
  background-color: transparent;
}

.custom-scroll::-webkit-scrollbar-thumb,
.nav-tabs::-webkit-scrollbar-thumb {
  border-radius: 2px;
  background-color: #cccccc;
}

.custom-scroll::-webkit-scrollbar-thumb:hover,
.nav-tabs::-webkit-scrollbar-thumb:hover {
  background-color: #959595;
}

.custom-scroll::-webkit-resizer,
.nav-tabs::-webkit-resizer {
  background-repeat: no-repeat;
  width: 4px;
  height: 0px;
}

.custom-scroll::-webkit-scrollbar,
.nav-tabs::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  padding-top: 10px;
}

select.bs-select-hidden,
.bootstrap-select > select.bs-select-hidden,
select.selectpicker {
  display: none !important;
}

.bootstrap-select {
  width: 220px \0;
  /*IE9 and below*/
  vertical-align: middle;
}

.bootstrap-select > .dropdown-toggle {
  position: relative;
  width: 100%;
  text-align: right;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
}

.bootstrap-select > .dropdown-toggle:after {
  margin-top: -1px;
}

.bootstrap-select > .dropdown-toggle.bs-placeholder,
.bootstrap-select > .dropdown-toggle.bs-placeholder:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder:active {
  color: #999;
}

.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:active,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:active,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:active,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:active,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:active,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:active {
  color: rgba(255, 255, 255, 0.5);
}

.bootstrap-select > select {
  position: absolute !important;
  bottom: 0;
  left: 50%;
  display: block !important;
  width: 0.5px !important;
  height: 100% !important;
  padding: 0 !important;
  opacity: 0 !important;
  border: none;
  z-index: 0 !important;
}

.bootstrap-select > select.mobile-device {
  top: 0;
  left: 0;
  display: block !important;
  width: 100% !important;
  z-index: 2 !important;
}

.has-error .bootstrap-select .dropdown-toggle,
.error .bootstrap-select .dropdown-toggle,
.bootstrap-select.is-invalid .dropdown-toggle,
.was-validated .bootstrap-select .selectpicker:invalid + .dropdown-toggle {
  border-color: #b94a48;
}

.bootstrap-select.is-valid .dropdown-toggle,
.was-validated .bootstrap-select .selectpicker:valid + .dropdown-toggle {
  border-color: #28a745;
}

.bootstrap-select.fit-width {
  width: auto !important;
}

.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
  width: 220px;
}

.bootstrap-select > select.mobile-device:focus + .dropdown-toggle,
.bootstrap-select .dropdown-toggle:focus {
  outline: thin dotted #333333 !important;
  outline: 5px auto -webkit-focus-ring-color !important;
  outline-offset: -2px;
}

.bootstrap-select.form-control {
  margin-bottom: 0;
  padding: 0;
  border: none;
  height: auto;
}

:not(.input-group) > .bootstrap-select.form-control:not([class*=col-]) {
  width: 100%;
}

.bootstrap-select.form-control.input-group-btn {
  float: none;
  z-index: auto;
}

.form-inline .bootstrap-select,
.form-inline .bootstrap-select.form-control:not([class*=col-]) {
  width: auto;
}

.bootstrap-select:not(.input-group-btn),
.bootstrap-select[class*=col-] {
  float: none;
  display: inline-block;
  margin-left: 0;
}

.bootstrap-select.dropdown-menu-right,
.bootstrap-select[class*=col-].dropdown-menu-right,
.row .bootstrap-select[class*=col-].dropdown-menu-right {
  float: right;
}

.form-inline .bootstrap-select,
.form-horizontal .bootstrap-select,
.form-group .bootstrap-select {
  margin-bottom: 0;
}

.form-group-lg .bootstrap-select.form-control,
.form-group-sm .bootstrap-select.form-control {
  padding: 0;
}

.form-group-lg .bootstrap-select.form-control .dropdown-toggle,
.form-group-sm .bootstrap-select.form-control .dropdown-toggle {
  height: 100%;
  font-size: inherit;
  line-height: inherit;
  border-radius: inherit;
}

.bootstrap-select.form-control-sm .dropdown-toggle,
.bootstrap-select.form-control-lg .dropdown-toggle {
  font-size: inherit;
  line-height: inherit;
  border-radius: inherit;
}

.bootstrap-select.form-control-sm .dropdown-toggle {
  padding: 0.25rem 0.5rem;
}

.bootstrap-select.form-control-lg .dropdown-toggle {
  padding: 0.5rem 1rem;
}

.form-inline .bootstrap-select .form-control {
  width: 100%;
}

.bootstrap-select.disabled,
.bootstrap-select > .disabled {
  cursor: not-allowed;
}

.bootstrap-select.disabled:focus,
.bootstrap-select > .disabled:focus {
  outline: none !important;
}

.bootstrap-select.bs-container {
  position: absolute;
  top: 0;
  left: 0;
  height: 0 !important;
  padding: 0 !important;
}

.bootstrap-select.bs-container .dropdown-menu {
  z-index: 1060;
}

.bootstrap-select .dropdown-toggle .filter-option {
  position: static;
  top: 0;
  left: 0;
  float: left;
  height: 100%;
  width: 100%;
  text-align: left;
  overflow: hidden;
  flex: 0 1 auto;
}

.bs3.bootstrap-select .dropdown-toggle .filter-option {
  padding-right: inherit;
}

.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option {
  position: absolute;
  padding-top: inherit;
  padding-bottom: inherit;
  padding-left: inherit;
  float: none;
}

.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option .filter-option-inner {
  padding-right: inherit;
}

.bootstrap-select .dropdown-toggle .filter-option-inner-inner {
  overflow: hidden;
}

.bootstrap-select .dropdown-toggle .filter-expand {
  width: 0 !important;
  float: left;
  opacity: 0 !important;
  overflow: hidden;
}

.bootstrap-select .dropdown-toggle .caret {
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -2px;
  vertical-align: middle;
}

.input-group .bootstrap-select.form-control .dropdown-toggle {
  border-radius: inherit;
}

.bootstrap-select[class*=col-] .dropdown-toggle {
  width: 100%;
}

.bootstrap-select .dropdown-menu {
  min-width: 100%;
  box-sizing: border-box;
}

.bootstrap-select .dropdown-menu > .inner:focus {
  outline: none !important;
}

.bootstrap-select .dropdown-menu.inner {
  position: static;
  float: none;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}

.bootstrap-select .dropdown-menu li {
  position: relative;
}

.bootstrap-select .dropdown-menu li.active small {
  color: rgba(255, 255, 255, 0.5) !important;
}

.bootstrap-select .dropdown-menu li.disabled a {
  cursor: not-allowed;
}

.bootstrap-select .dropdown-menu li a {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.bootstrap-select .dropdown-menu li a.opt {
  position: relative;
  padding-left: 2.25em;
}

.bootstrap-select .dropdown-menu li a span.check-mark {
  display: none;
}

.bootstrap-select .dropdown-menu li a span.text {
  display: inline-block;
}

.bootstrap-select .dropdown-menu li small {
  padding-left: 0.5em;
}

.bootstrap-select .dropdown-menu .notify {
  position: absolute;
  bottom: 5px;
  width: 96%;
  margin: 0 2%;
  min-height: 26px;
  padding: 3px 5px;
  background: whitesmoke;
  border: 1px solid #e3e3e3;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  pointer-events: none;
  opacity: 0.9;
  box-sizing: border-box;
}

.bootstrap-select .no-results {
  padding: 3px;
  background: #f5f5f5;
  margin: 0 5px;
  white-space: nowrap;
}

.bootstrap-select.fit-width .dropdown-toggle .filter-option {
  position: static;
  display: inline;
  padding: 0;
}

.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner,
.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner-inner {
  display: inline;
}

.bootstrap-select.fit-width .dropdown-toggle .bs-caret:before {
  content: "\A0";
}

.bootstrap-select.fit-width .dropdown-toggle .caret {
  position: static;
  top: auto;
  margin-top: -1px;
}

.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark {
  position: absolute;
  display: inline-block;
  right: 15px;
  top: 5px;
}

.bootstrap-select.show-tick .dropdown-menu li a span.text {
  margin-right: 34px;
}

.bootstrap-select .bs-ok-default:after {
  content: "";
  display: block;
  width: 0.5em;
  height: 1em;
  border-style: solid;
  border-width: 0 0.26em 0.26em 0;
  transform: rotate(45deg);
}

.bootstrap-select.show-menu-arrow.open > .dropdown-toggle,
.bootstrap-select.show-menu-arrow.show > .dropdown-toggle {
  z-index: 1061;
}

.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before {
  content: "";
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid rgba(204, 204, 204, 0.2);
  position: absolute;
  bottom: -4px;
  left: 9px;
  display: none;
}

.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after {
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid white;
  position: absolute;
  bottom: -4px;
  left: 10px;
  display: none;
}

.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:before {
  bottom: auto;
  top: -4px;
  border-top: 7px solid rgba(204, 204, 204, 0.2);
  border-bottom: 0;
}

.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after {
  bottom: auto;
  top: -4px;
  border-top: 6px solid white;
  border-bottom: 0;
}

.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:before {
  right: 12px;
  left: auto;
}

.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:after {
  right: 13px;
  left: auto;
}

.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:before,
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:after,
.bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:before,
.bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:after {
  display: block;
}

.bs-searchbox,
.bs-actionsbox,
.bs-donebutton {
  padding: 4px 8px;
}

.bs-actionsbox {
  width: 100%;
  box-sizing: border-box;
}

.bs-actionsbox .btn-group button {
  width: 50%;
}

.bs-donebutton {
  float: left;
  width: 100%;
  box-sizing: border-box;
}

.bs-donebutton .btn-group button {
  width: 100%;
}

.bs-searchbox + .bs-actionsbox {
  padding: 0 8px 4px;
}

.bs-searchbox .form-control {
  margin-bottom: 0;
  width: 100%;
  float: none;
}

.form-group {
  position: relative;
}

.form-group input {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: auto;
  background-color: #f1f1f1;
  border: none;
  outline: none;
  padding: 0.9em 30px;
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1em;
  text-align: left;
  font-weight: 300;
}

.form-group input::-webkit-input-placeholder {
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1em;
  font-weight: 300;
  color: #959595;
}

.form-group input:-moz-placeholder {
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1em;
  font-weight: 300;
  color: #959595;
}

.form-group input::-moz-placeholder {
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1em;
  font-weight: 300;
  color: #959595;
}

.form-group input:-ms-input-placeholder {
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1em;
  font-weight: 300;
  color: #959595;
}

@media screen and (max-width: 991px) {
  .form-group input {
    font-size: 0.8em;
  }
}

@media screen and (max-width: 767px) {
  .form-group input {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.form-group input.is-invalid {
  box-shadow: 0px 0px 1px 1px #ff3800;
}

.form-group textarea {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: 12.5em;
  background-color: #f1f1f1;
  border: none;
  outline: none;
  padding: 0.9em 30px;
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1em;
  text-align: left;
  font-weight: 300;
  resize: none;
}

.form-group textarea::-webkit-input-placeholder {
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1em;
  font-weight: 300;
  color: #959595;
}

.form-group textarea:-moz-placeholder {
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1em;
  font-weight: 300;
  color: #959595;
}

.form-group textarea::-moz-placeholder {
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1em;
  font-weight: 300;
  color: #959595;
}

.form-group textarea:-ms-input-placeholder {
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1em;
  font-weight: 300;
  color: #959595;
}

@media screen and (max-width: 991px) {
  .form-group textarea {
    font-size: 0.8em;
  }
}

@media screen and (max-width: 767px) {
  .form-group textarea {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.form-group textarea.is-invalid {
  box-shadow: 0px 0px 1px 1px #ff3800;
}

.form-group.input-inset-label {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 100%;
  font-size: 1em;
}

@media screen and (max-width: 991px) {
  .form-group.input-inset-label {
    font-size: 0.8em;
  }
}

.form-group.input-inset-label > label {
  position: absolute;
  left: 30px;
  bottom: 50%;
  transform: translateY(50%);
  font-size: 0.9em;
  line-height: 1;
  color: #959595;
  cursor: text;
  font-weight: 200;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

@media screen and (max-width: 767px) {
  .form-group.input-inset-label > label {
    left: 15px;
  }
}

.form-group.input-inset-label input {
  font-size: 1em;
}

.form-group.input-inset-label input:focus + label {
  bottom: calc(100% + 5px);
  font-size: 0.7777777778em;
  transform: none;
}

.form-group.input-inset-label textarea + label {
  bottom: calc(100% - 3em);
  transform: none;
}

.form-group.input-inset-label textarea:focus + label {
  bottom: calc(100% + 5px);
  font-size: 0.7777777778em;
  transform: none;
}

.form-group.input-inset-label.active > label {
  bottom: calc(100% + 5px);
  font-size: 0.7777777778em;
  transform: none;
}

.form-group.input-inset-label .bootstrap-select .btn-rect {
  min-height: 3em;
}

.form-group.input-inset-label .bootstrap-select .btn-rect.bs-placeholder .filter-option-inner-inner {
  font-size: 0;
}

.form-group.input-inset-label .bootstrap-select ~ label {
  cursor: pointer;
}

.form-group.input-inset-label.upload-file > label {
  position: static;
  transform: none;
  min-height: 3em;
  font-size: 1em;
  padding-right: 2.5em;
  color: #000000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .form-group.input-inset-label.upload-file > label {
    padding-left: 15px;
  }
}

.form-group.input-inset-label.upload-file > label .text-placeholder {
  position: absolute;
  width: 100%;
  left: 30px;
  bottom: 50%;
  transform: translateY(50%);
  font-size: 0.9em;
  line-height: 1;
  color: #959595;
  font-weight: 200;
  color: #959595;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

@media screen and (max-width: 767px) {
  .form-group.input-inset-label.upload-file > label .text-placeholder {
    left: 15px;
  }
}

.form-group.input-inset-label.upload-file > label .add {
  position: absolute;
  z-index: 1;
  display: block;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  font-size: 1.2em;
  cursor: pointer;
  color: #959595;
}

.form-group.input-inset-label.upload-file.active .text-placeholder {
  bottom: calc(100% + 5px);
  font-size: 0.7777777778em;
  transform: none;
}

.form-group.round input {
  padding: 0.6666666667em 2em;
  border: 2px solid #000000;
  font-size: 0.9em;
  background-color: #ffffff;
}

.form-group.round input::before,
.form-group.round input::after {
  content: none;
}

.form-group.round input:hover {
  border-color: #000000;
}

.form-group.round input::-webkit-input-placeholder {
  text-align: center;
}

.form-group.round input:-moz-placeholder {
  text-align: center;
}

.form-group.round input::-moz-placeholder {
  text-align: center;
}

.form-group.round input:-ms-input-placeholder {
  text-align: center;
}

.form-group.datepicker-wrap {
  position: relative;
}

.form-group.datepicker-wrap input {
  position: relative;
  z-index: 10;
  padding-right: 4em;
  background-color: transparent;
}

.form-group.datepicker-wrap .icons {
  position: absolute;
  z-index: 9;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  font-size: 1.5em;
  color: #000000;
}

.form-group.b-line input {
  padding: 0.25em 0;
  background-color: initial;
  border-bottom: 2px solid #000000;
}

.form-group.b-line label {
  display: inline-block;
  left: 0;
  top: 0.5em;
  color: #959595;
}

.form-group .invalid-feedback {
  position: absolute;
  max-width: 100%;
  top: 100%;
  left: 0;
  padding-left: 30px;
  font-size: 0.7777777778em;
  color: #ff3800;
}

@media screen and (max-width: 767px) {
  .form-group .invalid-feedback {
    padding-left: 15px;
  }
}

.chek-wrap,
.radio-wrap {
  position: relative;
}

@media screen and (max-width: 991px) {
  .chek-wrap,
  .radio-wrap {
    font-size: 0.8em;
  }
}

.chek-wrap input[type=checkbox],
.chek-wrap input[type=radio],
.radio-wrap input[type=checkbox],
.radio-wrap input[type=radio] {
  position: absolute;
  width: 0;
  height: 0;
  border: none;
  outline: none;
  background-color: transparent;
  opacity: 0;
}

.chek-wrap input[type=checkbox]:checked + label > span,
.chek-wrap input[type=radio]:checked + label > span,
.radio-wrap input[type=checkbox]:checked + label > span,
.radio-wrap input[type=radio]:checked + label > span {
  border-color: #000000;
}

.chek-wrap input[type=checkbox]:checked + label > span::after,
.chek-wrap input[type=radio]:checked + label > span::after,
.radio-wrap input[type=checkbox]:checked + label > span::after,
.radio-wrap input[type=radio]:checked + label > span::after {
  opacity: 1;
}

.chek-wrap input[type=checkbox] + label,
.chek-wrap input[type=radio] + label,
.radio-wrap input[type=checkbox] + label,
.radio-wrap input[type=radio] + label {
  margin-right: 2em;
  color: #959595;
  font-weight: 200;
}

.chek-wrap input[type=checkbox] + label:hover,
.chek-wrap input[type=radio] + label:hover,
.radio-wrap input[type=checkbox] + label:hover,
.radio-wrap input[type=radio] + label:hover {
  color: #000000;
}

.chek-wrap input[type=checkbox] + label:last-child,
.chek-wrap input[type=radio] + label:last-child,
.radio-wrap input[type=checkbox] + label:last-child,
.radio-wrap input[type=radio] + label:last-child {
  margin-right: 0;
}

.chek-wrap input[type=radio]:checked + label,
.radio-wrap input[type=radio]:checked + label {
  color: #000000;
}

.chek-wrap input[type=radio] + label > span,
.radio-wrap input[type=radio] + label > span {
  border-width: 1px;
  border-radius: 50%;
}

.chek-wrap input[type=radio] + label > span::after,
.radio-wrap input[type=radio] + label > span::after {
  width: 60%;
  height: 60%;
  border: none;
  background-color: #000000;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.chek-wrap > label,
.chek-wrap span.label,
.radio-wrap > label,
.radio-wrap span.label {
  position: relative;
  display: inline-block;
  min-height: 1.35em;
  margin-bottom: 1.25em;
  padding-left: 2em;
  padding-bottom: 0.1em;
  transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  cursor: pointer;
}

.chek-wrap > label > span,
.chek-wrap span.label > span,
.radio-wrap > label > span,
.radio-wrap span.label > span {
  content: "";
  display: block;
  width: 1.2em;
  height: 1.2em;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border: 2px solid #000000;
  background-color: #ffffff;
  transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
}

.chek-wrap > label > span::after,
.chek-wrap span.label > span::after,
.radio-wrap > label > span::after,
.radio-wrap span.label > span::after {
  content: "";
  display: block;
  width: 0.7em;
  height: 0.4em;
  position: absolute;
  top: 0.2em;
  left: 0.15em;
  border-bottom: 2px solid #000000;
  border-left: 2px solid #000000;
  transform: rotate(-50deg);
  transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  opacity: 0;
}

.chek-wrap .invalid-feedback,
.radio-wrap .invalid-feedback {
  position: absolute;
  max-width: 100%;
  top: calc(100% - 1.35em);
  left: 0;
  font-size: 0.7777777778em;
  color: #ff3800;
}

.upload-file input {
  position: absolute;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  opacity: 0;
  border: none;
  outline: none;
}

.upload-file.input-inset-label input:focus + label {
  font-size: 1em;
}

.upload-file > label,
.upload-file > a {
  position: static;
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: auto;
  background-color: #f1f1f1;
  border: none;
  outline: none;
  padding: 0.9em 30px;
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1em;
  text-align: left;
  font-weight: 300;
}

.upload-file.media {
  float: left;
  width: calc(25% - 30px);
  margin-right: 30px;
  margin-bottom: 30px;
}

@media screen and (max-width: 991px) {
  .upload-file.media {
    width: calc(33.3% - 30px);
  }
}

@media screen and (max-width: 767px) {
  .upload-file.media {
    width: calc(50% - 30px);
  }
}

@media screen and (max-width: 575px) {
  .upload-file.media {
    float: none;
    width: 240px;
    margin-left: auto;
    margin-right: auto;
  }
}

.upload-file.media input:disabled + label {
  cursor: default;
}

.upload-file.media > label,
.upload-file.media > a {
  position: relative;
  padding: 100% 0 0 0;
  cursor: pointer;
}

.upload-file.media > label span.locking,
.upload-file.media > a span.locking {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.upload-file.media > label span.add,
.upload-file.media > a span.add {
  position: absolute;
  display: block;
  width: 90px;
  height: 90px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 2px solid #959595;
  border-radius: 50%;
  font-size: 3em;
  line-height: 85px;
  font-weight: 200;
  color: #959595;
  text-align: center;
}

.upload-file.media > label span.field-close,
.upload-file.media > label a.field-close,
.upload-file.media > a span.field-close,
.upload-file.media > a a.field-close {
  position: absolute;
  display: block;
  width: 30px;
  height: 30px;
  top: 5px;
  right: 5px;
  border: 1px solid #ffffff;
  border-radius: 50%;
  font-size: 18px;
  line-height: 25px;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  transform: none;
}

.upload-file.media > label > img,
.upload-file.media > label > video,
.upload-file.media > a > img,
.upload-file.media > a > video {
  position: absolute;
  max-width: 100%;
  max-height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.upload-file.media > label.load,
.upload-file.media > a.load {
  min-height: auto;
}

.upload-file.media > label.load::before,
.upload-file.media > a.load::before {
  background-color: #f1f1f1;
}

.upload-file.media > label.load .loader,
.upload-file.media > a.load .loader {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.upload-file.media a {
  display: block;
  background-color: #f1f1f1;
}

.upload-file.media .invalid-feedback {
  padding-left: 0;
}

.upload-file.doc,
.upload-file.image-pdf {
  width: 100%;
  margin-bottom: 30px;
}

.upload-file.doc input:disabled + label,
.upload-file.image-pdf input:disabled + label {
  cursor: default;
  font-size: 1em;
  font-weight: 300;
  color: #000000;
}

.upload-file.doc input:disabled + label > span.remove,
.upload-file.image-pdf input:disabled + label > span.remove {
  color: #959595;
}

.upload-file.doc > label,
.upload-file.doc > a,
.upload-file.image-pdf > label,
.upload-file.image-pdf > a {
  padding-right: 1.5em;
  font-size: 0.9em;
  font-weight: 200;
  color: #959595;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}

@media screen and (max-width: 991px) {
  .upload-file.doc > label,
  .upload-file.doc > a,
  .upload-file.image-pdf > label,
  .upload-file.image-pdf > a {
    font-size: 0.8em;
  }
}

.upload-file.doc > label span.locking,
.upload-file.doc > a span.locking,
.upload-file.image-pdf > label span.locking,
.upload-file.image-pdf > a span.locking {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.upload-file.doc > label span.add,
.upload-file.doc > label span.field-close,
.upload-file.doc > label a.field-close,
.upload-file.doc > a span.add,
.upload-file.doc > a span.field-close,
.upload-file.doc > a a.field-close,
.upload-file.image-pdf > label span.add,
.upload-file.image-pdf > label span.field-close,
.upload-file.image-pdf > label a.field-close,
.upload-file.image-pdf > a span.add,
.upload-file.image-pdf > a span.field-close,
.upload-file.image-pdf > a a.field-close {
  position: absolute;
  z-index: 1;
  display: block;
  width: 1em;
  height: 1em;
  top: 50%;
  right: 0.5em;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #f1f1f1;
  font-size: 1.5em;
  line-height: 1em;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
}

.upload-file.doc a,
.upload-file.image-pdf a {
  display: block;
  background-color: #f1f1f1;
}

.upload-file.image-pdf label img {
  max-width: 150px;
  max-height: 150px;
}

.hidden-parameters {
  width: 0;
  height: 0;
  visibility: hidden;
  opacity: 0;
}

label[hidden] {
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  visibility: hidden;
  opacity: 0;
  font-size: 0;
}

.social {
  white-space: nowrap;
}

.social > a {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 2em;
  height: 2em;
  margin-right: 0.5em;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

.social > a:last-child {
  margin-right: 0;
}

.social > a.fb:hover {
  background-image: url(/assets/img/fb_color.png?88bb31bf259223a85aa5c3de18480881) !important;
}

.social > a.tw:hover {
  background-image: url(/assets/img/tw_color.png?98715f791becb4d28fa0fc8cf7ee4dd5) !important;
}

.social > a.tl:hover {
  background-image: url(/assets/img/tl_color.png?624f8df3ce2e228ca28e40db67319b9a) !important;
}

.social > a.in:hover {
  background-image: url(/assets/img/in_color.png?f36c9127654f584339bbcf50d057bd80) !important;
}

.social > a.btn {
  width: 2.77778em;
  height: 2.77778em;
  padding: 0.5555555556em 0;
  border-radius: 1em;
}

.social > a.btn::before {
  border-radius: 1em;
}

.social > a.btn::after {
  border-radius: 0.9em;
}

.social > a .icons {
  font-size: 1.5em;
}

.social > a .icons.icon-linkedin-not-border {
  font-size: 1.35em;
}

.share-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 6em;
}

@media screen and (max-width: 991px) {
  .share-wrap {
    margin-top: 3em;
  }
}

@media screen and (max-width: 767px) {
  .share-wrap {
    display: block;
  }
}

.share-wrap .title-text {
  margin-right: 2em;
}

@media screen and (max-width: 991px) {
  .share-wrap .title-text {
    margin-right: 1em;
    font-size: 0.9em;
  }
}

@media screen and (max-width: 767px) {
  .share-wrap .title-text {
    margin-bottom: 1em;
  }
}

.ui-datepicker {
  background-color: #faf9f9;
  font-size: 1em;
  font-weight: 300;
  width: 20em;
  border: 1px solid #959595;
}

@media screen and (max-width: 575px) {
  .ui-datepicker {
    width: auto;
  }
}

.ui-datepicker-inline {
  width: 100%;
  border: none;
}

.ui-datepicker-inline .ui-datepicker-header {
  padding: 1.25em 0;
}

.ui-datepicker-inline .ui-datepicker-title {
  font-size: 1.5em;
}

.ui-datepicker-inline .ui-datepicker-prev::before {
  border-width: 0.6em 0.9em 0.6em 0;
}

.ui-datepicker-inline .ui-datepicker-next::before {
  border-width: 0.6em 0 0.6em 0.9em;
}

.ui-datepicker-inline .ui-datepicker-calendar {
  border-left: 2em solid transparent;
  border-right: 2em solid transparent;
  font-size: 1.1em;
}

.ui-datepicker-inline .ui-datepicker-calendar thead tr th:first-child {
  border-left: 2em solid #e8e8e8;
}

.ui-datepicker-inline .ui-datepicker-calendar thead tr th:last-child {
  border-right: 2em solid #e8e8e8;
}

.ui-datepicker-inline .ui-datepicker-calendar td:first-child {
  border-left: 2em solid transparent;
}

.ui-datepicker-inline .ui-datepicker-calendar td:last-child {
  border-right: 2em solid transparent;
}

.ui-datepicker-inline .ui-datepicker-calendar td > span,
.ui-datepicker-inline .ui-datepicker-calendar td > a {
  padding: 1em;
}

.ui-datepicker-header {
  position: relative;
  padding: 0.75em 0;
}

.ui-datepicker-prev,
.ui-datepicker-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.5em;
  height: 2.5em;
}

.ui-datepicker-prev::before,
.ui-datepicker-next::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ui-datepicker-prev {
  left: 0.5em;
}

.ui-datepicker-prev::before {
  border-width: 0.4em 0.6em 0.4em 0;
  border-color: transparent #000000 transparent transparent;
}

.ui-datepicker-next {
  right: 0.5em;
}

.ui-datepicker-next::before {
  border-width: 0.4em 0 0.4em 0.6em;
  border-color: transparent transparent transparent #000000;
}

.ui-datepicker-title {
  font-size: 1em;
  text-align: center;
}

.ui-datepicker-calendar {
  width: 100%;
  table-layout: fixed;
  border-left: 1em solid transparent;
  border-right: 1em solid transparent;
  text-align: center;
  font-size: 0.9em;
}

@media screen and (max-width: 991px) {
  .ui-datepicker-calendar {
    font-size: 0.8em;
  }
}

@media screen and (max-width: 575px) {
  .ui-datepicker-calendar {
    width: auto;
  }
}

.ui-datepicker-calendar thead {
  position: relative;
}

.ui-datepicker-calendar thead tr {
  background-color: #e8e8e8;
}

.ui-datepicker-calendar thead tr th {
  height: 2.4545454545em;
}

.ui-datepicker-calendar thead tr th:first-child {
  border-left: 1em solid #e8e8e8;
}

.ui-datepicker-calendar thead tr th:last-child {
  border-right: 1em solid #e8e8e8;
}

.ui-datepicker-calendar tbody tr {
  border-bottom: 1px solid #000000;
}

.ui-datepicker-calendar tbody tr:last-child {
  border-bottom: none;
}

.ui-datepicker-calendar th,
.ui-datepicker-calendar td {
  vertical-align: middle;
}

.ui-datepicker-calendar td:first-child {
  border-left: 1em solid transparent;
}

.ui-datepicker-calendar td:last-child {
  border-right: 1em solid transparent;
}

.ui-datepicker-calendar td > span,
.ui-datepicker-calendar td > a {
  display: inline-block;
  vertical-align: top;
  padding: 0.75em;
  text-decoration: none;
}

.ui-datepicker .ui-state-disabled {
  opacity: 0.2;
  cursor: default;
}

.accordion {
  font-size: 1em;
}

.accordion .accordion__item {
  border-top: 2px solid #000000;
}

.accordion .accordion__item:last-child {
  border-bottom: 2px solid #000000;
}

.accordion .accordion__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.4em 0;
  cursor: pointer;
  font-size: 1.5em;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

@media screen and (max-width: 991px) {
  .accordion .accordion__head {
    position: relative;
    font-size: 1.1em;
  }
}

.accordion .accordion__head:hover,
.accordion .accordion__head:focus {
  padding-left: 1em;
  padding-right: 1em;
  background-color: #000000;
  color: #ffffff;
}

@media screen and (max-width: 991px) {
  .accordion .accordion__head:hover,
  .accordion .accordion__head:focus {
    padding-left: 0;
    padding-right: 0;
    background-color: transparent;
    color: #000000;
  }
}

.accordion .accordion__head > * {
  margin: 0;
  padding: 0;
  font-size: inherit;
  color: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.accordion .accordion__head .title {
  font-weight: 400;
}

.accordion .accordion__head::after {
  content: "+";
  display: block;
}

@media screen and (max-width: 991px) {
  .accordion .accordion__head::after {
    position: absolute;
    top: 0;
    right: 20px;
  }
}

.accordion .accordion__body {
  display: none;
  padding-bottom: 2em;
}

.accordion .accordion__body .f-text-block > *:last-child {
  margin-bottom: 0;
}

.accordion .accordion__item.open > .accordion__head {
  padding-left: 0;
  padding-right: 0;
  background-color: inherit;
  color: inherit;
}

.accordion .accordion__item.open > .accordion__head::after {
  content: "-";
}

.accordion .accordion__body .f-text-block > *:last-child {
  margin-bottom: 0;
}

.tags {
  font-size: 0.8em;
}

@media screen and (max-width: 991px) {
  .tags {
    font-size: 0.7em;
    text-align: center;
  }
}

.tags > a {
  position: relative;
  display: inline-block;
  vertical-align: top;
  padding: 0.25em 1em;
  margin-right: 1em;
  margin-bottom: 1em;
  border: 1px solid #000000;
  border-radius: 1em;
  text-decoration: none;
}

.tags > a > span,
.tags > a > i {
  position: relative;
  z-index: 1;
}

.tags > a:hover {
  border-color: transparent;
}

.tags > a:hover::before {
  opacity: 1;
}

.tags > a::before,
.tags > a::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 3em;
}

.tags > a::before {
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  top: -1px;
  left: -1px;
  background: linear-gradient(90deg, #4f4fff, #bb829e);
  opacity: 0;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

.tags > a::after {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #ffffff;
}

.tags > a.state-active {
  color: #ffffff;
  border-color: #000000;
  background-color: #000000;
  cursor: default;
}

.tags > a.state-active::before {
  content: none;
}

.tags > a.state-active::after {
  content: none;
}

.tags > span {
  display: inline-block;
  vertical-align: top;
  font-size: 1.125em;
  padding: 0.15em 1em 0.15em 0;
}

.tags__grey > a {
  position: static;
  display: inline-block;
  vertical-align: top;
  padding: 0.25em 1em;
  margin-right: 1em;
  margin-bottom: 1em;
  border: none;
  background-color: #f1f1f1;
  border-radius: 1em;
  text-decoration: none;
}

.tags__grey > a > span,
.tags__grey > a > i {
  position: static;
}

.tags__grey > a:hover {
  background-color: #cccccc;
}

.tags__grey > a::before,
.tags__grey > a::after {
  content: none;
}

.tags__grey > a.state-active {
  background-color: #cccccc;
}

.video-wrap {
  font-size: 0;
}

.video-wrap img {
  max-width: 100%;
  height: auto;
}

.video-wrap video {
  width: 100%;
  min-height: 390px;
}

.video-wrap video:focus {
  border: none;
  outline: none;
}

.bootstrap-select {
  position: relative;
  width: 100%;
  font-size: 0.9em;
}

.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
  width: 100%;
}

.bootstrap-select > select.is-invalid ~ .btn {
  box-shadow: 0px 0px 1px 1px #ff3800;
}

.bootstrap-select.show .btn::after {
  transform: rotate(180deg);
}

.bootstrap-select .btn {
  font-size: 1em;
}

.bootstrap-select .btn:focus {
  outline: none !important;
}

@media screen and (max-width: 991px) {
  .bootstrap-select .btn-round {
    font-size: 0.7777777778em;
  }
}

.bootstrap-select .btn-round::after {
  border-top: 0.75em solid #000000;
  border-right: 0.5em solid transparent;
  border-bottom: 0;
  border-left: 0.5em solid transparent;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

.bootstrap-select .btn-rect {
  border: none;
  border-radius: 0;
  background-color: #f1f1f1;
  outline: none;
  padding: 0.9em 30px;
  font-size: 1.1111111111em;
}

@media screen and (max-width: 991px) {
  .bootstrap-select .btn-rect {
    padding-left: 15px;
    padding-right: 15px;
    font-size: 1em;
  }
}

.bootstrap-select.dropup .btn-rect::after {
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}

.bootstrap-select .dropdown-menu {
  max-width: 100%;
  margin-top: 5px;
  z-index: 1001;
  font-size: 1em;
}

.bootstrap-select .dropdown-menu .bs-searchbox {
  padding-top: 0;
  padding-bottom: 0;
  height: 3em;
  margin-bottom: 0.5em;
}

.bootstrap-select .dropdown-menu .dropdown-item {
  padding: 0 1em;
}

.bootstrap-select .dropdown-menu .dropdown-item.active,
.bootstrap-select .dropdown-menu .dropdown-item:active {
  background-color: #e6ebe6;
  font-weight: 400;
  color: #000000;
}

.bootstrap-select .dropdown-menu .dropdown-item:focus {
  outline: none;
}

.bootstrap-select .dropdown-menu .dropdown-item:hover {
  background-color: #e6ebe6;
}

.bootstrap-select .dropdown-menu .dropdown-item > span.text {
  font-weight: 300;
  white-space: pre-wrap;
  word-break: break-word;
  line-height: 1.2;
  height: 54px;
  display: table-cell;
  vertical-align: middle;
}

.bootstrap-select > label {
  position: absolute;
  left: 30px;
  top: 1.2222222222em;
  font-size: 0.9em;
  line-height: 1;
  color: #959595;
  cursor: text;
  font-weight: 200;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

.bootstrap-select.select-multiple > .dropdown-toggle {
  white-space: normal;
}

.carousel-width-100 {
  overflow: hidden;
}

.slick-slider.carousel-cards {
  min-width: 100%;
  padding-top: 3.5em;
  white-space: nowrap;
  overflow: hidden;
}

.slick-slider.carousel-cards__three .card {
  width: calc(33.3% - 34px);
  height: 100%;
  display: inline-block;
  vertical-align: top;
  margin-bottom: 0;
  white-space: normal;
}

.slick-slider.carousel-cards__three .slick-list,
.slick-slider.carousel-cards__three .slick-track {
  height: 100%;
}

.slick-slider.carousel-cards__three .slick-slide > div {
  height: 100%;
}

.slick-slider.carousel-cards__four .teachers__item {
  width: calc(20% - 34px);
  display: inline-block;
  vertical-align: top;
  margin-bottom: 0;
  white-space: normal;
}

.slick-slider.carousel-cards__four .subscription__topic {
  width: calc(20% - 34px);
  display: inline-block;
  vertical-align: top;
  margin-bottom: 0;
  white-space: normal;
}

.slick-slider.carousel-cards .slick-track {
  margin-left: 0;
  margin-right: 0;
}

.slick-slider.carousel-cards .slick-slide > div {
  margin: 0 15px;
}

.slick-slider.carousel-cards .slick-arrow {
  position: absolute;
  top: -0.2em;
  left: auto;
  bottom: auto;
  width: auto;
  height: auto;
  font-size: 2em;
  line-height: 1;
  color: inherit;
  transform: none;
}

@media screen and (max-width: 991px) {
  .slick-slider.carousel-cards .slick-arrow {
    font-size: 1.5em;
  }
}

.slick-slider.carousel-cards .slick-arrow.slick-disabled {
  color: #959595;
  cursor: inherit;
}

.slick-slider.carousel-cards .slick-arrow .icons {
  line-height: 1;
}

.slick-slider.carousel-cards .slick-arrow::before {
  content: none;
}

.slick-slider.carousel-cards .slick-arrow.slick-prev {
  right: 2.2em;
}

@media screen and (max-width: 991px) {
  .slick-slider.carousel-cards .slick-arrow.slick-prev {
    right: 2.5em;
  }
}

.slick-slider.carousel-cards .slick-arrow.slick-next {
  right: 0.2em;
}

@media screen and (max-width: 991px) {
  .slick-slider.carousel-cards .slick-arrow.slick-next {
    right: 0.4em;
  }
}

.filter {
  position: relative;
  margin-bottom: 4em;
}

.filter.tags-show {
  background-image: url(/assets/img/border-gradient.jpg?c7db50a8cc6dcb6c707d01ca59aacc8d);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left bottom;
}

@media screen and (max-width: 991px) {
  .filter.tags-show {
    margin-bottom: 7em;
  }
}

.filter__container {
  padding-right: 2.25em;
}

@media screen and (max-width: 991px) {
  .filter__container {
    padding-right: 0;
  }
}

.filter__content {
  position: relative;
  display: none;
}

.filter__content .tags {
  padding-top: 0.375em;
  padding-bottom: 1em;
}

.filter__content .tags ~ .control-filter-mob {
  position: absolute;
  width: 100%;
  top: calc(100% + 1.5em);
  left: 0;
}

.filter .submit-filter {
  position: relative;
}

@media screen and (max-width: 991px) {
  .filter .submit-filter {
    margin-bottom: 2em;
  }
}

.filter__filter-clear {
  position: absolute;
  top: 0.5em;
  right: -3em;
  display: inline-block;
  vertical-align: top;
  width: 2em;
  height: 2em;
  background-repeat: no-repeat;
  background-position: center right;
}

@media screen and (max-width: 991px) {
  .filter__filter-clear {
    display: none;
  }
}

@media screen and (max-width: 1659px) {
  .filter__filter-clear[data-placement=right] {
    display: none;
  }
}

.filter__filter-clear[data-placement=top] .tooltip {
  left: 100% !important;
}

.filter__filter-clear[data-placement=top] .tooltip-inner {
  margin-right: 5em;
  margin-bottom: 1.4285714286em;
}

@media screen and (min-width: 1660px) {
  .filter__filter-clear[data-placement=top] {
    display: none;
  }
}

.filter__filter-clear .tooltip {
  white-space: nowrap;
}

.filter__toogle-link {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  vertical-align: top;
  width: 2em;
  height: 2em;
  margin-top: 0.4em;
  background-repeat: no-repeat;
  background-position: center right;
}

@media screen and (max-width: 991px) {
  .filter__toogle-link {
    display: none;
  }
}

@media screen and (max-width: 1659px) {
  .filter__toogle-link[data-placement=right] {
    display: none;
  }
}

.filter__toogle-link[data-placement=top] .tooltip {
  left: 10% !important;
}

.filter__toogle-link[data-placement=top] .tooltip-inner {
  margin-right: 2.8571428571em;
  margin-bottom: 1.4285714286em;
}

@media screen and (min-width: 1660px) {
  .filter__toogle-link[data-placement=top] {
    display: none;
  }
}

.filter__toogle-link .tooltip {
  white-space: nowrap;
}

.filter .btns-wrap .btn {
  width: 100%;
  padding: 0.8888888889em 0.5em;
}

@media screen and (min-width: 992px) {
  .filter .btns-wrap.control-filter-mob {
    display: none;
  }
}

.filter div.btn {
  width: 100%;
  padding: 0 0.5em 0 1.5em;
  text-align: left;
  min-height: 3.2222222222em;
  display: flex;
  align-items: center;
}

.filter div.btn::before,
.filter div.btn::after {
  content: none;
}

.filter div.btn__white:hover {
  border-color: inherit;
}

@media screen and (max-width: 991px) {
  .filter div.btn {
    font-size: 1em;
  }
}

.filter .bootstrap-select {
  margin-bottom: 1.75em;
}

@media screen and (max-width: 991px) {
  .filter .bootstrap-select {
    margin-bottom: 1.38em;
  }
}

.filter .bootstrap-select .btn {
  font-size: 1em;
  color: #000000;
}

.filter .bootstrap-select .btn:hover {
  color: #000000;
}

.filter .bootstrap-select .btn-round {
  padding: 0 1.5em;
  min-height: 3.2222222222em;
  white-space: normal;
}

@media screen and (max-width: 991px) {
  .filter .bootstrap-select .btn-round {
    font-size: 0.7777777778em;
  }
}

.filter .bootstrap-select .dropdown-menu {
  font: inherit;
}

@media screen and (max-width: 767px) {
  .filter .bootstrap-select .dropdown-menu {
    font-size: 0.85em;
  }
}

.filter .bootstrap-select ul.dropdown-menu {
  max-width: 150%;
}

@media screen and (max-width: 991px) {
  .filter .bootstrap-select ul.dropdown-menu {
    font-size: 0.8888888889em;
  }
}

.filter .bootstrap-select div.dropdown-menu {
  border-radius: 25px;
  border: 2px solid #000;
}

.filter .bootstrap-select div.dropdown-menu .bs-searchbox input {
  border-radius: 25px;
  border: 2px solid #000;
  outline: none;
  padding: 15px 20px;
  font: inherit;
}

.filter .form-group.round {
  margin-bottom: 1.75em;
}

@media screen and (max-width: 991px) {
  .filter .form-group.round {
    font-size: 0.7em;
  }
}

.filter .form-group.round input {
  padding-top: 0.8888888889em;
  padding-bottom: 0.8888888889em;
  padding-left: 1.5em;
}

@media screen and (max-width: 991px) {
  .filter .form-group.round input {
    font-size: 1em;
  }
}

.filter .form-group.round input::-webkit-input-placeholder {
  color: #000000;
  text-align: left;
}

.filter .form-group.round input:-moz-placeholder {
  color: #000000;
  text-align: left;
}

.filter .form-group.round input::-moz-placeholder {
  color: #000000;
  text-align: left;
}

.filter .form-group.round input:-ms-input-placeholder {
  color: #000000;
  text-align: left;
}

.tooltip-inner {
  padding: 0.5em;
  margin: 0.7142857143em;
  background-color: #f9f9f9;
  border: 1px solid #cccccc;
  border-radius: 0.5em;
  font-size: 0.7em;
  font-weight: 200;
}

.pagination {
  text-align: center;
}

.pagination > a,
.pagination > span {
  display: inline-block;
  vertical-align: top;
  padding: 0.4166666667em;
  font-size: 1.2em;
  color: #959595;
  text-decoration: none;
}

@media screen and (max-width: 991px) {
  .pagination > a,
  .pagination > span {
    font-size: 0.9em;
  }
}

@media screen and (max-width: 575px) {
  .pagination > a,
  .pagination > span {
    font-size: 0.8em;
  }
}

.pagination > a.prev,
.pagination > a.next,
.pagination > a.current,
.pagination > span.prev,
.pagination > span.next,
.pagination > span.current {
  color: #000000;
}

.pagination > a:hover {
  text-decoration: underline;
}

.pagination > a.prev .icons {
  margin-right: 0.75em;
}

.pagination > a.next .icons {
  margin-left: 0.75em;
}

@media screen and (max-width: 991px) {
  .pagination > a.prev > span,
  .pagination > a.next > span {
    display: none;
  }
}

@media screen and (max-width: 991px) {
  .pagination > a.prev .icons,
  .pagination > a.next .icons {
    margin-left: 0;
    margin-right: 0;
  }
}

.pagination__control {
  padding-top: 3em;
}

@media screen and (max-width: 991px) {
  .pagination__control {
    padding-top: 0;
  }
}

.paginationjs {
  text-align: center;
  color: #959595;
}

.paginationjs ul > li {
  display: inline-block;
  vertical-align: top;
}

.paginationjs ul > li > a {
  display: inline-block;
  vertical-align: top;
  padding: 0.4166666667em 0.5416666667em;
  font-size: 1.2em;
  text-decoration: none;
}

@media screen and (max-width: 991px) {
  .paginationjs ul > li > a {
    font-size: 0.9em;
  }
}

@media screen and (max-width: 575px) {
  .paginationjs ul > li > a {
    font-size: 0.8em;
  }
}

.paginationjs-prev,
.paginationjs-next {
  color: #000000;
}

.paginationjs-prev > a:hover,
.paginationjs-prev > a:focus,
.paginationjs-next > a:hover,
.paginationjs-next > a:focus {
  text-decoration: underline;
}

@media screen and (max-width: 991px) {
  .paginationjs-prev > a > span,
  .paginationjs-next > a > span {
    display: none;
  }
}

@media screen and (max-width: 991px) {
  .paginationjs-prev > a .icons,
  .paginationjs-next > a .icons {
    margin-left: 0;
    margin-right: 0;
  }
}

.paginationjs-prev .icons {
  margin-right: 0.75em;
}

.paginationjs-next .icons {
  margin-left: 0.75em;
}

.paginationjs-page > a:hover,
.paginationjs-page > a:focus {
  text-decoration: underline;
}

.paginationjs-page.active {
  color: #000000;
}

.nav-tabs {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: space-between;
  border-bottom: none;
  margin-bottom: 3.5em;
}

@media screen and (max-width: 991px) {
  .nav-tabs {
    flex-wrap: nowrap;
    padding-bottom: 5px;
    overflow-x: auto;
  }

  .nav-tabs::-webkit-scrollbar {
    height: 2px;
  }
}

.nav-tabs::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  background-color: #959595;
}

@media screen and (max-width: 991px) {
  .nav-tabs::after {
    bottom: 5px;
  }
}

.nav-tabs .nav-item {
  position: relative;
  z-index: 2;
  margin-bottom: 0;
}

.nav-tabs .nav-item .nav-link,
.nav-tabs .nav-item > a {
  height: 100%;
  border: none;
  border-bottom: 2px solid #959595;
  font-size: 1.3em;
  color: #959595;
  text-decoration: none;
}

@media screen and (max-width: 1400px) {
  .nav-tabs .nav-item .nav-link,
  .nav-tabs .nav-item > a {
    font-size: 1.2em;
  }
}

@media screen and (max-width: 1199px) {
  .nav-tabs .nav-item .nav-link,
  .nav-tabs .nav-item > a {
    font-size: 1em;
  }
}

@media screen and (max-width: 991px) {
  .nav-tabs .nav-item .nav-link,
  .nav-tabs .nav-item > a {
    font-size: 0.8em;
    white-space: nowrap;
  }
}

.nav-tabs .nav-item .nav-link.active,
.nav-tabs .nav-item .nav-link:hover,
.nav-tabs .nav-item .nav-link:focus,
.nav-tabs .nav-item > a.active,
.nav-tabs .nav-item > a:hover,
.nav-tabs .nav-item > a:focus {
  background-color: initial;
  border-color: #000000;
  color: #000000;
  outline: none;
}

.nav-tabs.tabs-col-2 .nav-item {
  width: 50%;
}

@media screen and (max-width: 991px) {
  .nav-tabs.tabs-col-2 .nav-item {
    width: auto;
  }
}

@media screen and (max-width: 991px) {
  .nav-tabs.more-text .nav-item {
    width: auto;
    min-width: 250px;
  }
}

@media screen and (max-width: 991px) {
  .nav-tabs.more-text .nav-item .nav-link {
    padding-left: 0;
    white-space: normal;
  }
}

.teachers__item {
  font-weight: 200;
}

@media screen and (max-width: 991px) {
  .teachers__item {
    font-size: 0.9em;
  }
}

.teachers__item .img-wrap {
  position: relative;
  padding-top: 100%;
}

.teachers__item .img-wrap > img {
  position: absolute;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.teachers__name {
  min-height: 2.7em;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  font-size: 1.2em;
}

@media screen and (max-width: 767px) {
  .teachers__name {
    min-height: auto;
  }
}

.teachers__name > span {
  display: inline-block;
  vertical-align: middle;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .teachers__name > span {
    width: auto;
  }
}

.teachers__position {
  font-size: 0.9em;
  color: #959595;
}

.load {
  position: relative;
  min-height: 80vh;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

.load::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.9);
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

.loader {
  position: absolute;
  z-index: 101;
  top: 100px;
  left: 50%;
  transform: translateX(-50%);
  width: 136px;
  height: 136px;
  border-radius: 30%;
  overflow: hidden;
}

.loader .content {
  background: #fff;
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 2px;
  right: 2px;
  margin: auto;
  border-radius: 30%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 6;
}

.loader .content .icons {
  font-size: 90px;
}

.loader .black-underlay {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  background: #000;
  border-radius: 30%;
  overflow: hidden;
  z-index: 4;
}

.loader .black-underlay .rotatable-unit {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-radius: 50%;
  -webkit-animation: rotation 2s linear infinite;
          animation: rotation 2s linear infinite;
  will-change: transform;
}

.loader .black-underlay .rotatable-unit::after {
  content: "";
  position: absolute;
  width: 75px;
  height: 75px;
  top: -28px;
  left: 0;
  right: 0;
  margin: auto;
  border-radius: 50%;
  background: linear-gradient(90deg, #8edacb 0, #7abace 100%);
  z-index: 5;
}

@-webkit-keyframes rotation {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes rotation {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.graphics-wrap {
  margin: 3em 0;
}

.graphics-wrap .chart-legend > li {
  position: relative;
  padding-left: 40px;
  font-size: 0.8em;
  font-weight: 200;
}

.graphics-wrap .chart-legend > li::before {
  content: none;
}

.graphics-wrap .chart-legend > li > span {
  display: inline-block;
  position: absolute;
  width: 30px;
  height: 10px;
  top: 0.45em;
  left: 0;
  border: 1px solid #ffffff;
}

.chart-title {
  height: 2.5em;
  margin-bottom: 1em;
  font-size: 1.5em;
  line-height: 1.25;
  font-weight: 300;
  text-align: left;
}

.chart-wrap {
  height: 250px;
  width: auto;
  text-align: center;
}

.chart-wrap[data-chart-type=pie] {
  width: 250px;
  margin: 0 auto 2em;
}

.chart-wrap {
  position: relative;
  text-align: left;
}

.chart-wrap span.loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #999;
  font-size: 14px;
  font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
}

.chart-wrap .loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.stacktable.small-only {
  font-size: 0.7em;
}

@media screen and (min-width: 992px) {
  .stacktable.small-only {
    display: none;
  }
}

.stacktable.small-only .st-head-row {
  position: relative;
}

.stacktable.small-only .st-head-row:before {
  content: " ";
  position: absolute;
  margin-top: -8px;
  width: 0;
  height: 0;
  font-size: 0;
  line-height: 0;
  bottom: 0;
  border-top: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid rgba(255, 255, 255, 0.36);
}

.stacktable.small-only .st-head-row.st-head-row-main {
  background-color: transparent;
  border-top: none;
  text-align: left;
}

.stacktable.small-only .st-head-row.st-head-row-main:before {
  content: none;
}

.stacktable.small-only th,
.stacktable.small-only td {
  padding: 0.7142857143em 1.0714285714em 0.7142857143em 1.0714285714em;
  background-color: rgba(255, 255, 255, 0.72);
  text-align: left;
}

.stacktable.small-only th {
  padding-top: 1.0714285714em;
  padding-bottom: 1.0714285714em;
  background-color: rgba(255, 255, 255, 0.36);
  font-size: 1.1428571429em;
}

.stacktable.small-only tr {
  background-color: transparent;
}

.stacktable.small-only tr td {
  border-right: none;
}

.stacktable.small-only tr td:first-child {
  padding-left: 1.0714285714em;
}

.stacktable.small-only tr td:last-child {
  text-align: right;
}

.stacktable.small-only tr td.st-key {
  border-bottom: 5px solid transparent;
}

.stacktable.small-only tr td.st-val {
  border-bottom: 5px solid transparent;
  font-weight: 400;
}

@media screen and (max-width: 991px) {
  .stacktable.small-only.width-1-2 {
    display: block;
  }
}

.stacktable.small-only.width-1-2 tbody,
.stacktable.small-only.width-1-2 tr,
.stacktable.small-only.width-1-2 th,
.stacktable.small-only.width-1-2 td {
  display: block;
  width: 100%;
  text-align: left;
}

.stacktable.small-only.width-1-2 tbody .text-block,
.stacktable.small-only.width-1-2 tr .text-block,
.stacktable.small-only.width-1-2 th .text-block,
.stacktable.small-only.width-1-2 td .text-block {
  font-size: 1em;
}

.stacktable.small-only.width-1-2 td:last-child {
  text-align: left;
}

.stacktable.small-only.width-1-2 .st-head-row {
  padding-left: 1.0714285714em;
}

@media screen and (max-width: 991px) {
  .stacktable.large-only {
    display: none;
  }
}

.popup {
  display: none;
  position: fixed;
  z-index: 1001;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(10, 10, 10, 0.8);
  font-size: 1em;
}

.popup__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 800px;
  padding: 60px 90px 30px 90px;
  background-color: #ffffff;
}

@media screen and (max-width: 991px) {
  .popup__content {
    padding: 40px 15px 20px 15px;
  }
}

.popup__close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.5em;
  font-size: 1.5em;
  cursor: pointer;
  line-height: 1;
}

@media screen and (max-width: 991px) {
  .popup__close {
    font-size: 1.25em;
  }
}

.popup__header,
.popup__body,
.popup__footer {
  margin-bottom: 30px;
}

.popup__title {
  margin: 0 0 0.5em 0;
  padding: 0;
  font-size: 1.8em;
  font-weight: 400;
}

@media screen and (max-width: 991px) {
  .popup__title {
    font-size: 1.2em;
  }
}

.popup__sub-title {
  margin: 0;
  padding: 0;
  font-size: 1.3em;
}

@media screen and (max-width: 991px) {
  .popup__sub-title {
    font-size: 1em;
  }
}

.images-block .title-text {
  max-width: none;
  margin-bottom: 1.5em;
  font-size: 1.5em;
  font-weight: 400;
}

.images-block .image-item {
  margin-bottom: 1.5em;
}

@media screen and (max-width: 991px) {
  .images-block .image-item {
    width: 100%;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}

.images-block .image-wrap {
  position: relative;
  width: 100%;
  padding-top: 100%;
  margin-bottom: 1.5em;
  background-color: #f1f1f1;
  overflow: hidden;
}

.images-block .image-wrap a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.images-block .image-wrap img {
  position: absolute;
  max-width: 100%;
  max-height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.images-block .video-wrap {
  position: relative;
  width: 100%;
  padding-top: 100%;
  margin-bottom: 1.5em;
  background-color: #f1f1f1;
  overflow: hidden;
  font-size: 1em;
}

.images-block .video-wrap a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.images-block .video-wrap video {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.images-block .image-title {
  font-size: 0.9em;
  font-weight: 200;
  word-break: break-word;
}

.go-to-anchors .go-to-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.3333333333em 0;
  border-bottom: 2px solid #000000;
  font-size: 1.5em;
  text-decoration: none;
}

@media screen and (max-width: 991px) {
  .go-to-anchors .go-to-link {
    font-size: 1em;
  }
}

.go-to-anchors .go-to-link:first-child {
  border-top: 2px solid #000000;
}

.go-to-anchors .go-to-link:hover,
.go-to-anchors .go-to-link:focus {
  outline: 1px solid transparent;
}

.go-to-anchors .go-to-link:hover > span,
.go-to-anchors .go-to-link:focus > span {
  text-decoration: underline;
}

.go-to-anchors .icons {
  transform: rotate(90deg);
  font-size: 1.5em;
}

@media screen and (max-width: 991px) {
  .go-to-anchors .icons {
    font-size: 1em;
  }
}

.ui-autocomplete {
  background: #fff;
  left: 0;
  right: 0;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
  transform: translateY(-5px);
}

.ui-autocomplete .ui-menu-item .ui-menu-item-wrapper {
  padding: 0.5em 1em;
  cursor: pointer;
  font-size: 0.9em;
}

.ui-autocomplete .ui-menu-item .ui-menu-item-wrapper.ui-state-active,
.ui-autocomplete .ui-menu-item .ui-menu-item-wrapper:active {
  background-color: #e6ebe6;
  color: #000000;
}

.ui-autocomplete .ui-menu-item .ui-menu-item-wrapper:focus {
  outline: none;
}

.ui-autocomplete .ui-menu-item .ui-menu-item-wrapper:hover {
  background-color: #e6ebe6;
}

.events-calendar__datepicker {
  width: 100%;
  margin-bottom: 1em;
}

@media screen and (max-width: 1199px) {
  .events-calendar__datepicker {
    font-size: 0.8em;
  }
}

@media screen and (max-width: 991px) {
  .events-calendar__datepicker {
    font-size: 0.7em;
  }
}

@media screen and (max-width: 575px) {
  .events-calendar__datepicker .ui-datepicker-calendar {
    width: 100%;
  }
}

.events-calendar__datepicker .ui-datepicker-calendar .ui-datepicker-days-cell-over {
  border-left: none;
  border-right: none;
}

.events-calendar__datepicker .ui-datepicker-calendar td {
  position: relative;
}

@media screen and (max-width: 575px) {
  .events-calendar__datepicker .ui-datepicker-calendar td:first-child > span,
  .events-calendar__datepicker .ui-datepicker-calendar td:first-child > a {
    padding-left: 0;
  }
}

.events-calendar__datepicker .ui-datepicker-calendar td > span,
.events-calendar__datepicker .ui-datepicker-calendar td > a {
  position: relative;
  width: 100%;
}

.events-calendar__datepicker .ui-datepicker-calendar td .events-day {
  position: absolute !important;
  width: 100%;
  padding: 0;
  left: 50%;
  bottom: 0.1818181818em;
  transform: translateX(-50%);
  line-height: 0;
}

.events-calendar__datepicker .ui-datepicker-calendar td .events-day > span {
  display: inline-block;
  width: 0.5909090909em;
  height: 0.5909090909em;
  margin-right: 0.2727272727em;
  border-radius: 0.0909090909em;
}

.events-calendar__datepicker .ui-datepicker-calendar td .events-day > span:last-child {
  margin-right: 0;
}

.events-calendar__datepicker .ui-datepicker-calendar td .events-day > span.world {
  background-color: #923089;
}

.events-calendar__datepicker .ui-datepicker-calendar td .events-day > span.ukraine {
  background-color: #565ea4;
}

.events-calendar__datepicker .ui-datepicker-calendar td .events-day > span.online {
  background-color: #e83f1e;
}

.events-calendar__notes {
  margin-bottom: 2em;
  text-align: right;
}

@media screen and (max-width: 575px) {
  .events-calendar__notes {
    text-align: center;
  }
}

.events-calendar__notes > span {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin-right: 2em;
  padding-left: 2em;
  font-size: 0.7em;
  font-weight: 200;
}

@media screen and (max-width: 575px) {
  .events-calendar__notes > span:first-child {
    margin-left: 2em;
  }
}

.events-calendar__notes > span:last-child {
  margin-right: 0;
}

.events-calendar__notes > span::before {
  content: "";
  display: block;
  width: 1.1428571429em;
  height: 1.2857142857em;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border-radius: 0.2857142857em;
}

.events-calendar__notes > span.ukr::before {
  background-color: #565ea4;
}

.events-calendar__notes > span.ukr-not::before {
  background-color: #923089;
}

.events-calendar__notes > span.online::before {
  background-color: #e83f1e;
}

.events-calendar .btns-wrap {
  display: flex;
  align-content: center;
  justify-content: space-between;
}

@media screen and (max-width: 991px) {
  .events-calendar .btns-wrap {
    margin-bottom: 3em;
  }
}

@media screen and (max-width: 767px) {
  .events-calendar .btns-wrap {
    display: block;
  }
}

.events-calendar .btns-wrap .btn {
  width: 24%;
  font-size: 0.8em;
  margin-bottom: 0;
  padding-left: 0.5em;
  padding-right: 0.5em;
}

@media screen and (max-width: 767px) {
  .events-calendar .btns-wrap .btn {
    width: 100%;
    margin-bottom: 2em;
  }

  .events-calendar .btns-wrap .btn:last-child {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 1199px) {
  .event-list {
    font-size: 0.8em;
  }
}

@media screen and (max-width: 991px) {
  .event-list {
    font-size: 0.7em;
  }
}

.event-list .event {
  position: relative;
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  padding-left: 9.5em;
  border-bottom: 1px solid #000000;
}

@media screen and (max-width: 575px) {
  .event-list .event {
    padding-left: 8.5em;
  }
}

.event-list .event:hover .title {
  text-decoration: underline;
}

.event-list .event .date {
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 8.5em;
}

@media screen and (max-width: 575px) {
  .event-list .event .date {
    width: 7.5em;
  }
}

.event-list .event .date > span {
  display: inline-block;
  vertical-align: top;
  width: 100%;
}

.event-list .event .date .day {
  margin-bottom: 0.3em;
  font-size: 1em;
}

.event-list .event .title {
  font-size: 1.3em;
  text-decoration: none;
}

.event-list .event .title > a {
  text-decoration: inherit;
}

.event-list .event .title > a:hover,
.event-list .event .title > a:focus {
  text-decoration: underline;
}

section.education-tabs .card__title {
  min-height: 2.7em;
  padding-top: 1em;
  padding-bottom: 0.5em;
  box-sizing: initial;
  font-size: 1.3em;
}

@media screen and (max-width: 991px) {
  section.education-tabs .card__title {
    font-size: 1.1em;
  }
}

section.tags-big .tags {
  font-size: 1em;
}

@media screen and (max-width: 991px) {
  section.tags-big .tags {
    font-size: 0.7em;
  }
}

section.tags-big .tags a {
  margin-bottom: 2em;
  padding: 1em 1.5em;
  border-radius: 2em;
}

section.weeds {
  padding-top: 4em;
  padding-bottom: 4em;
}

@media screen and (max-width: 991px) {
  section.weeds {
    padding-top: 3.5em;
    padding-bottom: 3.5em;
  }
}

section.weeds .text-wrap {
  font-size: 1.5em;
  color: #ffffff;
  text-align: center;
}

@media screen and (max-width: 991px) {
  section.weeds .text-wrap {
    font-size: 1em;
  }
}

section.weeds .text-wrap .number {
  font-size: 3.3333333333em;
  line-height: 1;
  font-weight: 400;
}

section.weeds .text-wrap > p {
  margin-bottom: 1em;
}

section.weeds .text-wrap > p:last-child {
  margin-bottom: 0;
}

section.subscribe .form-group.b-line > input {
  padding: 0.6em 0;
}

section.subscribe .form-group.b-line > label {
  top: 0;
  font-size: 1.5em;
}

@media screen and (max-width: 767px) {
  section.subscribe .form-group.b-line > label {
    top: 0.2em;
    font-size: 1.1em;
  }
}

section.subscribe .form-group.active > label {
  top: -1.5em;
  font-size: 0.7777777778em;
}

section.subscribe .share-wrap {
  margin-top: 0;
  padding: 0.75em 0;
}

@media screen and (max-width: 767px) {
  section.subscribe .share-wrap {
    margin-top: 3.5em;
    padding: 0;
  }
}

section.countries-list .country-letter {
  position: relative;
  padding-left: 2.75em;
  margin-bottom: 3.5em;
}

@media screen and (max-width: 767px) {
  section.countries-list .country-letter {
    margin-bottom: 1.5em;
    min-height: 2.75em;
  }
}

section.countries-list .country-letter .letter {
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 1.8333333333em;
  height: 1.8333333333em;
  border: 2px solid #000000;
  font-size: 1.5em;
  line-height: 1.6666666667em;
  text-align: center;
}

section.countries-list .country-letter .list li {
  padding-left: 0.8em;
  margin-bottom: 0.35em;
}

section.countries-list .country-letter .list li:last-child {
  margin-bottom: 0;
}

section.countries-list .country-letter .list li a {
  position: relative;
  display: inline-block;
  padding-left: 1.25em;
  font-size: 1.2em;
  font-weight: 200;
  text-decoration: none;
}

@media screen and (max-width: 1199px) {
  section.countries-list .country-letter .list li a {
    font-size: 1.1em;
  }
}

section.countries-list .country-letter .list li a:hover,
section.countries-list .country-letter .list li a:focus {
  text-decoration: underline;
}

section.countries-list .country-letter .list li a .icons {
  position: absolute;
  left: 0;
  top: 0.15em;
  color: #959595;
}

section.countries-list .footnote {
  font-size: 0.8em;
}

section.countries-list .footnote .icons {
  margin-right: 0.25em;
  font-size: 1.5em;
  color: #959595;
}

section.industries .industry-item {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  height: 236px;
  padding-left: 40px;
  padding-right: 30px;
  margin-bottom: 50px;
  background-color: #f1f1f1;
  text-decoration: none;
}

@media screen and (max-width: 991px) {
  section.industries .industry-item {
    height: 160px;
    margin-bottom: 30px;
  }
}

section.industries .industry-item:hover {
  text-decoration: underline;
}

section.industries .industry-item .bg-icon {
  display: block;
  position: absolute;
  z-index: 1;
  width: auto;
  height: 55%;
  top: 50%;
  right: 7.5%;
  transform: translateY(-50%);
  opacity: 0.6;
}

section.industries .industry-item .icons {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 7.5%;
  transform: translateY(-50%);
  font-size: 130px;
  color: #f9f9f9;
}

@media screen and (max-width: 991px) {
  section.industries .industry-item .icons {
    font-size: 90px;
  }
}

section.industries .industry-item .title-text {
  position: relative;
  z-index: 2;
  font-size: 1.5em;
  font-weight: 400;
}

@media screen and (max-width: 991px) {
  section.industries .industry-item .title-text {
    font-size: 1em;
  }
}

section.industries .card {
  height: calc(100% - 1.5em);
  margin-bottom: 1.5em;
}

@media screen and (max-width: 991px) {
  section.industries .btn-link.go-to-all {
    font-size: 0.75em;
    white-space: nowrap;
  }
}

section.country-gen-info .text-block {
  margin-bottom: 4em;
}

section.country-gen-info .osm-wrap {
  margin-bottom: 4em;
}

.info-item {
  margin-bottom: 4em;
  padding-top: 0.75em;
  border-top: 2px solid #000000;
}

.info-item .title-text {
  margin-bottom: 1em;
  font-size: 1.2em;
  font-weight: 200;
}

.info-item .value-text {
  font-size: 1em;
  font-weight: 200;
}

.info-item .value-text .val {
  font-size: 1.5em;
  font-weight: 300;
}

.info-item .value-text .num {
  font-size: 1.8em;
  font-weight: 300;
}

.info-item .value-text sup,
.info-item .value-text sub {
  font-weight: 400;
}

section.files-list-downloads {
  padding-bottom: 4em;
}

@media screen and (max-width: 991px) {
  section.files-list-downloads {
    padding-bottom: 2em;
  }
}

.download-files .file-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  min-height: 4.5em;
  box-sizing: initial;
  padding: 1em 0 1em 6em;
  margin-bottom: 2em;
  border-top: 1px solid #000000;
  background-repeat: no-repeat;
  background-size: auto 4.5em;
  background-position: left 1.15em;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .download-files .file-link {
    min-height: 2em;
    background-size: auto 2em;
    background-position: left 1em;
    padding: 1em 0 1em 2.5em;
  }
}

.download-files .file-link > span {
  font-size: 1.2em;
}

@media screen and (max-width: 767px) {
  .download-files .file-link > span {
    font-size: 0.7em;
  }
}

.download-files .file-link:hover > span,
.download-files .file-link:focus > span {
  text-decoration: underline;
}

.download-files .file-link[href$=".pdf"] {
  background-image: url(/assets/img/icon-file-pdf.png?bd8686dad5d288df99f3c6e26222e6e7);
}

.download-files .file-link[href$=".doc"],
.download-files .file-link[href$=".docx"] {
  background-image: url(/assets/img/icon-file-doc.png?07b29113e9bf8c8dc1a161e9dd6dae55);
}

.download-files .file-link[href$=".xls"],
.download-files .file-link[href$=".xlsx"] {
  background-image: url(/assets/img/icon-file-xls.png?f731be34856b849b78d71b917fb1ca83);
}

.download-files .file-link .icons {
  align-self: flex-start;
  margin-top: 0.75em;
  padding: 0 0.5em;
  font-size: 2em;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .download-files .file-link .icons {
    margin-top: 0.75em;
    font-size: 1em;
  }
}

section.zed-table .zed-table-wrap table {
  width: 100%;
  font-size: 1em;
  font-weight: 200;
  line-height: 1.5;
}

@media screen and (max-width: 991px) {
  section.zed-table .zed-table-wrap table {
    font-size: 0.8em;
  }
}

section.zed-table .zed-table-wrap table.parent {
  border-bottom: 2px solid #f1f1f1;
  margin-bottom: 3.5em;
}

section.zed-table .zed-table-wrap table.parent ~ table tbody tr:nth-child(2n+1) {
  background: #f1f1f1;
}

section.zed-table .zed-table-wrap table.parent ~ table tbody tr:nth-child(2n) {
  background: transparent;
}

section.zed-table .zed-table-wrap table thead tr {
  background: #f1f1f1;
}

section.zed-table .zed-table-wrap table th {
  padding: 0.8333333333em 0 0.8333333333em 1.6666666667em;
  text-align: left;
  font-size: 1.2em;
  font-weight: 400;
}

@media screen and (max-width: 991px) {
  section.zed-table .zed-table-wrap table th {
    padding-left: 0.6666666667em;
  }
}

section.zed-table .zed-table-wrap table tbody tr:nth-child(2n) {
  background: #f1f1f1;
}

section.zed-table .zed-table-wrap table tr th:first-child,
section.zed-table .zed-table-wrap table tr td:first-child {
  width: 32%;
}

section.zed-table .zed-table-wrap table tr.hidden td:first-child {
  padding-left: 5em;
}

@media screen and (max-width: 991px) {
  section.zed-table .zed-table-wrap table tr.hidden td:first-child {
    padding-left: 2em;
  }
}

section.zed-table .zed-table-wrap table td {
  padding: 1em 0 1em 2em;
}

@media screen and (max-width: 991px) {
  section.zed-table .zed-table-wrap table td {
    padding-left: 1em;
  }
}

section.zed-table .zed-table-wrap table td .link {
  display: inline;
  text-decoration: none;
  font-size: 1em;
}

section.zed-table .zed-table-wrap table td .link:hover,
section.zed-table .zed-table-wrap table td .link:focus {
  text-decoration: underline;
}

.search-form .form-group.round {
  padding-right: 1.5em;
}

@media screen and (max-width: 991px) {
  .search-form .form-group.round {
    padding-right: 0;
    margin-bottom: 2em;
    font-size: 0.8em;
  }
}

.search-form .form-group.round input {
  padding: 1.05em 2em;
  font-size: 1em;
}

.search-form .form-group.round input::-webkit-input-placeholder {
  text-align: left;
  color: #000000;
}

.search-form .form-group.round input:-moz-placeholder {
  text-align: left;
  color: #000000;
}

.search-form .form-group.round input::-moz-placeholder {
  text-align: left;
  color: #000000;
}

.search-form .form-group.round input:-ms-input-placeholder {
  text-align: left;
  color: #000000;
}

.search-form .btn[type=submit] {
  width: 100%;
}

.education .text-block h2 {
  font-size: 2.4em;
}

.education section.education-gen-info .btns-wrap.top-go {
  margin-top: -4.4em;
}

@media screen and (max-width: 991px) {
  .education section.education-gen-info .btns-wrap.top-go {
    margin-top: 2em;
  }
}

@media screen and (max-width: 991px) {
  .education section.advantages {
    font-size: 0.9em;
  }
}

@media screen and (max-width: 991px) {
  .education section.advantages .text-block {
    margin-bottom: 2.5em;
  }
}

.education section.advantages .text-block h1,
.education section.advantages .text-block h2,
.education section.advantages .text-block h3,
.education section.advantages .text-block h4,
.education section.advantages .text-block h5 {
  margin: 0 0 0.75em 0;
}

.education .hint {
  font-size: 0.6em;
  color: #959595;
}

.main-footer {
  padding-top: 2.5em;
  padding-bottom: 3em;
  background-color: #000000;
  color: #ffffff;
}

.main-footer__logo-wrap {
  margin-bottom: 2em;
  font-size: 1em;
  line-height: 1.4;
}

.main-footer__logo-wrap.main-logo {
  width: 20em;
}

.main-footer__site-map > .menu {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 4em;
}

@media screen and (max-width: 1199px) {
  .main-footer__site-map > .menu {
    display: block;
  }
}

@media screen and (max-width: 991px) {
  .main-footer__site-map > .menu {
    padding-bottom: 5em;
  }
}

.main-footer__site-map > .menu a {
  text-decoration: none;
  padding-right: 2.5em;
}

@media screen and (max-width: 1260px) {
  .main-footer__site-map > .menu a {
    padding-right: 1.5em;
  }
}

.main-footer__site-map > .menu a:hover,
.main-footer__site-map > .menu a:focus {
  text-decoration: underline;
}

.main-footer__site-map > .menu > li {
  flex: 1;
}

@media screen and (max-width: 1199px) {
  .main-footer__site-map > .menu > li {
    position: relative;
    width: 100%;
    border-top: 1px solid #ffffff;
  }

  .main-footer__site-map > .menu > li:last-child {
    border-bottom: 1px solid #ffffff;
  }
}

.main-footer__site-map > .menu > li > a {
  display: table-cell;
  vertical-align: middle;
  height: 5em;
  font-size: 0.7em;
  white-space: nowrap;
}

@media screen and (max-width: 1199px) {
  .main-footer__site-map > .menu > li > a {
    display: inline-block;
    height: auto;
    padding: 1.5714285714em 0;
    margin-right: 3.5714285714em;
  }
}

.main-footer__site-map > .menu > li > a.active ~ span {
  transform: rotate(180deg);
  background-position: center left;
}

.main-footer__site-map > .menu > li > a.active ~ .menu {
  display: block;
}

.main-footer__site-map > .menu > li > span {
  display: none;
  position: absolute;
  width: 2em;
  height: 3.1em;
  top: 0;
  right: 0;
  padding: 1.1em 0;
  text-align: right;
  background-image: url(/assets/img/arrow-bottom-menu-white.svg?ca8435468e15baac7162aaee46ac76ee);
  background-repeat: no-repeat;
  background-size: 1em auto;
  background-position: center right;
  cursor: pointer;
}

@media screen and (max-width: 1199px) {
  .main-footer__site-map > .menu > li > span {
    display: block;
  }
}

@media screen and (max-width: 1199px) {
  .main-footer__site-map > .menu > li > .menu {
    display: none;
    padding-bottom: 2em;
  }
}

.main-footer__site-map > .menu > li > .menu li {
  display: block;
}

.main-footer__site-map > .menu > li > .menu a {
  display: inline-block;
  vertical-align: top;
  padding-top: 0.75em;
  padding-bottom: 0.75em;
  font-size: 0.5em;
}

.main-footer__bottom {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-top: 2em;
  margin-bottom: 1.5em;
}

@media screen and (max-width: 991px) {
  .main-footer__bottom {
    display: block;
    padding-top: 0;
    margin-bottom: 5.5em;
  }
}

.main-footer__subscribe {
  order: 1;
}

.main-footer__subscribe > form {
  display: flex;
  align-items: flex-start;
}

@media screen and (max-width: 991px) {
  .main-footer__subscribe > form {
    display: block;
    width: 100%;
    max-width: 20.75em;
    margin: 0 auto;
  }
}

.main-footer__subscribe .form-group {
  width: 29.6428571429em;
  margin-right: 3em;
  font-size: 0.7em;
}

@media screen and (max-width: 991px) {
  .main-footer__subscribe .form-group {
    width: 100%;
    margin-bottom: 5.7142857143em;
    text-align: left;
  }
}

.main-footer__subscribe .form-group label {
  display: inline-block;
  margin-bottom: 0.5em;
}

.main-footer__subscribe .form-group input {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  padding: 0.5em 0;
  border: none;
  outline: none;
  border-bottom: 3px solid #ffffff;
  background-color: transparent;
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: inherit;
  color: inherit;
}

.main-footer__subscribe .form-group input::-webkit-input-placeholder {
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: inherit;
  color: #ffffff;
}

.main-footer__subscribe .form-group input:-moz-placeholder {
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: inherit;
  color: #ffffff;
}

.main-footer__subscribe .form-group input::-moz-placeholder {
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: inherit;
  color: #ffffff;
}

.main-footer__subscribe .form-group input:-ms-input-placeholder {
  font-family: "e-Ukraine", Arial, Helvetica, Verdana, sans-serif;
  font-size: inherit;
  color: #ffffff;
}

.main-footer__subscribe .chek-wrap {
  margin-top: 1em;
}

.main-footer__subscribe .chek-wrap input[type=checkbox]:checked + label > span {
  border-color: #ffffff;
}

.main-footer__subscribe .chek-wrap input[type=checkbox]:checked + label > span::after {
  opacity: 1;
}

.main-footer__subscribe .chek-wrap > label > span {
  border: 2px solid #ffffff;
  background-color: #000000;
}

.main-footer__subscribe .chek-wrap > label > span::after {
  border-bottom: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
}

.main-footer__subscribe .btn {
  margin-top: 0.25em;
  border-color: #ffffff;
}

.main-footer__subscribe .btn:hover {
  border-color: #ffffff;
  color: #000000;
}

.main-footer__subscribe .btn:hover::before {
  opacity: 1;
}

.main-footer__subscribe .btn:hover::after {
  background-color: #ffffff;
}

.main-footer__subscribe .btn::before {
  background: #ffffff;
}

.main-footer__subscribe .btn::after {
  background-color: #000000;
}

.main-footer .social {
  order: 2;
  margin-top: 5px;
}

@media screen and (max-width: 991px) {
  .main-footer .social {
    margin-top: 0;
    margin-bottom: 5em;
    text-align: center;
  }
}

.main-footer .social > a {
  width: 2.5em;
  height: 2.5em;
}

.main-footer .social > a.fb:hover {
  background-image: url(/assets/img/fb_color.png?88bb31bf259223a85aa5c3de18480881) !important;
}

.main-footer .social > a.tw:hover {
  background-image: url(/assets/img/tw_color.png?98715f791becb4d28fa0fc8cf7ee4dd5) !important;
}

.main-footer .social > a.tl:hover {
  background-image: url(/assets/img/tl_color.png?624f8df3ce2e228ca28e40db67319b9a) !important;
}

.main-footer .social > a.in:hover {
  background-image: url(/assets/img/in_color.png?f36c9127654f584339bbcf50d057bd80) !important;
}

.main-footer__legal-text {
  font-size: 0.7em;
  color: #8c8c8c;
  line-height: 1.6;
}

@media screen and (max-width: 991px) {
  .main-footer__legal-text {
    font-size: 0.6em;
  }
}

.main-footer hr {
  width: 100%;
  height: 1px;
  padding: 0;
  margin: 0;
  background-color: #ffffff;
}

@media screen and (max-width: 991px) {
  .main-footer hr {
    display: none;
  }
}

#test-scss {
  color: #000;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9hbnkvLi9ub2RlX21vZHVsZXMvbGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzIiwid2VicGFjazovL2FueS8uL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdGhlbWVzL2Jhc2UvY29yZS5jc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vbm9kZV9tb2R1bGVzL2pxdWVyeS11aS90aGVtZXMvYmFzZS9hdXRvY29tcGxldGUuY3NzIiwid2VicGFjazovL2FueS8uL25vZGVfbW9kdWxlcy9saWdodGJveDIvZGlzdC9jc3MvbGlnaHRib3gubWluLmNzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwid2VicGFjazovL2FueS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwid2VicGFjazovL2FueS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwid2VicGFjazovL2FueS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwid2VicGFjazovL2FueS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvZ2VuZXJhbC9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvZ2VuZXJhbC9fbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9zY3JvbGxiYXIuc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNlbGVjdC9zYXNzL2Jvb3RzdHJhcC1zZWxlY3Quc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fZm9ybS5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19zb2NpYWwuc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fZGF0ZXBpY2tlci5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fdGFncy1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vcmVzb3VyY2VzL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX3ZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vcmVzb3VyY2VzL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX3NlbGVjdC1ib290c3RyYXAuc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vcmVzb3VyY2VzL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2ZpbHRlci5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLWJvb3RzdHJhcC5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vcmVzb3VyY2VzL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX3RhYnMtYm9vdHN0cmFwLnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vcmVzb3VyY2VzL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX3RlYWNoZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vcmVzb3VyY2VzL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2xvYWRlci5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19hbmFseXRpY3Muc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fdGFibGUtc3RhY2t0YWJsZS5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19wb3B1cC5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19pbWFnZXMtYmxvY2suc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fZ28tdG8tYW5jaG9ycy5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19hdXRvY29tcGxldGUuc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3Mvc2VjdGlvbnMvX2V2ZW50cy1jYWxlbmRhci5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9zZWN0aW9ucy9fZWR1Y2F0aW9uLXRhYnMuc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3Mvc2VjdGlvbnMvX3RhZ3MtYmlnLnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vcmVzb3VyY2VzL2Fzc2V0cy9zY3NzL3NlY3Rpb25zL193ZWVkcy5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9zZWN0aW9ucy9fc3Vic2NyaWJlLnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vcmVzb3VyY2VzL2Fzc2V0cy9zY3NzL3NlY3Rpb25zL19jb3VudHJpZXMtbGlzdC5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9zZWN0aW9ucy9faW5kdXN0cmllcy5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9zZWN0aW9ucy9fY291bnRyeS1nZW4taW5mby5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9zZWN0aW9ucy9fZmlsZXMtbGlzdC1kb3dubG9hZHMuc2NzcyIsIndlYnBhY2s6Ly9hbnkvLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3Mvc2VjdGlvbnMvX3plZC10YWJsZS5zY3NzIiwid2VicGFjazovL2FueS8uL3Jlc291cmNlcy9hc3NldHMvc2Nzcy9wYWdlcy9fZWR1Y2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vYW55Ly4vcmVzb3VyY2VzL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2Zvb3Rl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QUNBO0VBQ0E7Q0QyREo7O0FFMUZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUF6Qko7RUFDQTtFQUNBO0VBQ0E7Q0Z1SEY7O0FFekVJO0VBQ0U7Q0Y0RU47O0FDakVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDRG9FSjs7QUVqSEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQWxCSjtFQUNBO0VBQ0E7RUFDQTtDRnVJRjs7QUVoR0k7RUFDRTtDRm1HTjs7QUM5RUk7RUFDRTtDRGlGTjs7QUMzRUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NEOEVKOztBRTVJSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0NGK0lOOztBRXBJTTtFQUNFO0NGdUlSOztBRXBJTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBOUJOO0VBQ0E7RUFDQTtDRnNLRjs7QUVySUk7RUFDRTtDRndJTjs7QUNsR0k7RUFDRTtDRHFHTjs7QUM3RkU7Ozs7RUFJRTtFQUNBO0NEZ0dKOztBQzNGQTtFSzlHRTtFQUNBO0VBQ0E7RUFDQTtDTjZNRjs7QUMzRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtDRDZGRjs7QU9sTkU7O0VOb0lFO0VBQ0E7RU8vSUE7Q1JtT0o7O0FDaEZFOztFQUVFO0VBQ0E7RU90SkE7Q1IwT0o7O0FDaEZFOztFQUVFO0VBQ0E7RUFDQTtDRG1GSjs7QUMzRUE7RUFDRTtDRDhFRjs7QUMxRUE7RUFDRTtFQUNBO0VBQ0E7RUVyREk7RUZ1REo7RUFDQTtDRDZFRjs7QUN6RUE7RUFDRTtFQUNBO0VBQ0E7Q0Q0RUY7O0FTMVFBO0VDZ0JNO0NWOFBOOztBVTFQTTtFRHBCTjtJQ3FCUTtHVjhQTjtDQUNGOztBU2pSRTtFQUNFO0NUb1JKOztBUy9RRTtFQUNFO0NUa1JKOztBUzlRQTtFQUNFO0VBQ0E7RUFDQTtFQ0RJO0NWbVJOOztBVS9RTTtFRE5OO0lDT1E7R1ZtUk47Q0FDRjs7QVdwU0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NYdVNGOztBV3BTQTtFQUNFO0VBQ0E7Q1h1U0Y7O0FPdFNFOztFSUdFO0NYd1NKOztBV3BTRTtFQUNFO0VBQ0E7RUFDQTtDWHVTSjs7QVcvUkE7RUFDRTtDWGtTRjs7QVdoU0U7RUFDRTtDWG1TSjs7QVdoU0U7RUFDRTtFUGZBO0VBQ0E7Q0ptVEo7O0FPL1RFOztFSThCSTtDWHNTTjs7QVduU0k7RUFDRTtFQUNBO0VBQ0E7Q1hzU047O0FXbFNFOztFQUVFO0VBQ0E7RUFDQTtDWHFTSjs7QVdsU0U7RUFFRTtFUHRDQTtFQUNBO0NKMlVKOztBVzFSRTtFUDNERTtDSnlWSjs7QVcxUkU7O0VBRUU7RUFDQTtDWDZSSjs7QVduUkU7RUFDRTtFQUNBO0NYc1JKOztBV2pSRTtFQUNFO0VBQ0E7RUFDQTtDWG9SSjs7QVcxUUU7RUFDRTtDWDZRSjs7QVczUUU7RUFDRTtDWDhRSjs7QVlwWUE7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtDWnVZSjs7QVlyWUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Nad1lKOztBWXRZSTtFQUNJO0NaeVlSOztBWXRZSTtFQUNJO0VBQ0E7Q1p5WVI7O0FZdFlBOztFQU1JO0NaeVlKOztBWXRZQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDWnlZSjs7QVl2WUk7O0VBRUk7RUFDQTtDWjBZUjs7QVl2WUk7RUFDSTtDWjBZUjs7QVl2WUk7RUFDSTtDWjBZUjs7QVl2WUE7RUFDSTtFQUNBO0VBQ0E7RUFXQTtDWmdZSjs7QVkxWUk7RUFDSTtDWjZZUjs7QVkzWUk7RUFDSTtDWjhZUjs7QVk1WUk7RUFDSTtDWitZUjs7QVkxWUk7RUFDSTtDWjZZUjs7QVkxWUk7RUFDSTtDWjZZUjs7QVkxWUk7RUFDSTtDWjZZUjs7QVkxWUk7RUFDSTtFQUNBO0VBQ0E7Q1o2WVI7O0FZMVlBO0VBQ0k7Q1o2WUo7O0FhdGNBOztBQUdJO0VBQ0k7Q2J3Y1I7O0FhcGNBOztBQUVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDYnVjUjs7QWFuY0E7O0FBRUE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtDYnNjSjs7QWFyY0k7Ozs7RUFDSTtFQUNBO0VBQ0E7Q2IyY1I7O0FhMWNROzs7O0VBQ0k7Q2JnZFo7O0FhN2NJOztFQUNJO0NiaWRSOztBYS9jSTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDYm1kUjs7QWEvY0E7RUFDSTtDYmtkSjs7QWFqZEk7RUFDSTtFQUNBO0Nib2RSOztBYWxkSTtFQUNJO0NicWRSOztBYXBkUTtFQUNJO0NidWRaOztBYWxkQTtFQUNJO0NicWRKOztBYXBkSTtFQUNJO0VBQ0E7Q2J1ZFI7O0FhcmRJO0VBQ0k7Q2J3ZFI7O0FhdmRRO0VBQ0k7Q2IwZFo7O0FhcmRBOztBQUVBO0VBQ0k7Q2J3ZEo7O0FhcmRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDYndkSjs7QWF2ZEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDYjBkUjs7QWF6ZFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NiNGRaOztBYTNkWTs7RUFDSTtDYitkaEI7O0FhOWRnQjs7RUFDSTtDYmtlcEI7O0FhL2RZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDYmtlaEI7O0FhL2RRO0VBQ0k7RUFDQTtDYmtlWjs7QWNocUJBOztxRGRvcUJvRDs7QWM3cEJwRDtFQUNJO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7Q2Q2cEJKOztBY3pwQkE7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0NkeXBCSjs7QWNycEJBO0VBQ0k7RUFDQTtFQUNBO0VBSUE7RUFDQTtDZHFwQko7O0FjanBCQTtFQUNJO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7Q2RpcEJKOztBYzdvQkE7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0NkNm9CSjs7QWNq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QUNBO0dsQms2Q1Y7Q0FDRjs7QWtCLzVDZ0I7RUFDSTtDbEJrNkNwQjs7QWtCOTVDUTs7RUFDSTtFQUNBO0VBQ0E7Q2xCazZDWjs7QWtCajZDWTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQnE2Q2hCOztBa0JuNkNZOztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFSG5hWjtFR3FhWTtFSDViWjtFRzhiWTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQjY2Q2hCOztBa0IzNkNZOzs7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUgzY1o7RUc2Y1k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFSDFiWjtDZmszREo7O0FrQnI3Q1k7Ozs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VIbmNaO0NmazRESjs7QWtCNTdDWTs7RUFDSTtDbEJnOENoQjs7QWtCLzdDZ0I7O0VBQ0k7Q2xCbThDcEI7O0FrQmo4Q2dCOztFQUNJO0VBQ0E7RUg3Y2hCO0NmdTVESjs7QWtCcjhDUTtFQUNJO0VBQ0E7Q2xCdzhDWjs7QWtCdDhDUTtFQUNJO0NsQnk4Q1o7O0FrQnQ4Q0k7O0VBQ0k7RUFDQTtDbEIwOENSOztBa0J2OENnQjs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDbEIyOENwQjs7QWtCMThDb0I7O0VBQ0k7Q2xCODhDeEI7O0FrQno4Q1E7Ozs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEIrOENaOztBa0I5OENZO0VBUko7Ozs7SUFTUTtHbEJxOUNkO0NBQ0Y7O0FrQnA5Q1k7Ozs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQjA5Q2hCOztBa0J4OUNZOzs7Ozs7Ozs7Ozs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFSHRnQlo7RUF2QkE7RUdnaUJZO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEJ5K0NoQjs7QWtCdCtDUTs7RUFDSTtFQUNBO0NsQjArQ1o7O0FrQnArQ1k7RUFDSTtFQUNBO0NsQnUrQ2hCOztBa0JqK0NBO0VBQ0k7RUFDQTtF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QTtFQUNBO0VBQ0E7Q3pCd3RGUjs7QXlCcnRGWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekJ3dEZoQjs7QXlCcnRGWTs7RUFDSTtDekJ5dEZoQjs7QXlCcnRGZ0I7RUFDSTtDekJ3dEZwQjs7QXlCaHRGZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6Qm10RnBCOztBeUI5c0ZnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pCaXRGcEI7O0F5QjVzRlE7RUFDSTtFQUNBO0N6QitzRlo7O0F5QjNzRlk7RUFDSTtDekI4c0ZoQjs7QXlCMXNGUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFVmxEUjtDZm93Rko7O0F5Qmh0Rlk7RUFYSjtJQVlRO0d6Qm90RmQ7Q0FDRjs7QXlCbnRGWTtFQUNJO0VBQ0E7Q3pCc3RGaEI7O0F5QnB0Rlk7RUFDSTtDekJ1dEZoQjs7QXlCcnRGWTtFQUNJO0N6Qnd0RmhCOztBeUJ0dEZZO0VBQ0k7Q3pCeXRGaEI7O0F5Qnh0RmdCO0VBRko7SUFHUTtHekI0dEZsQjtDQUNGOztBeUIxdEZZO0VBQ0k7Q3pCNnRGaEI7O0F5QjV0RmdCO0VBRko7SUFHUTtHekJndUZsQjtDQUNGOztBMEJ6MEZBO0VBQ0k7RUFDQTtDMUI0MEZKOztBMEIxMEZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QzFCNjBGUjs7QTBCNTBGUTtFQUxKO0lBTVE7RzFCZzFGVjtDQUNGOztBMEI3MEZJO0VBQ0k7QzFCZzFGUjs7QTBCLzBGUTtFQUZKO0lBR1E7RzFCbTFGVjtDQUNGOztBMEJoMUZJO0VBQ0k7RUFDQTtDMUJtMUZSOztBMEJsMUZRO0VBQ0k7RUFDQTtDMUJxMUZaOztBMEJwMUZZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QzFCdTFGaEI7O0EwQmwxRkk7RUFDSTtDMUJxMUZSOztBMEJwMUZRO0VBRko7SUFHUTtHMUJ3MUZWO0NBQ0Y7O0EwQnQxRkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFCeTFGUjs7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R1I7O0E4Qi8zR1E7RUFMSjtJQU1RO0c5Qm00R1Y7Q0FDRjs7QThCbDRHUTtFQUNJO0VBQ0E7RUFDQTtDOUJxNEdaOztBOEJwNEdZO0VBSko7SUFLUTtHOUJ3NEdkO0NBQ0Y7O0E4QnA0R0k7RUFDSTtFQUNBO0M5QnU0R1I7O0ErQmo3R0E7RUFDSTtFQUNBO0VoQmdDQTtFQUNBO0VBQ0E7RUFDQTtDZnE1R0o7O0ErQnQ3R0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhCcUJKO0VBQ0E7RUFDQTtFQUNBO0NmcTZHSjs7QStCeDdHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VoQlFBO0VnQk5BO0VBQ0E7RUFDQTtFQUNBO0MvQis3R0o7O0ErQjk3R0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9CaThHUjs7QStCaDhHUTtFQUNJO0MvQm04R1o7O0ErQmg4R0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0JtOEdSOztBK0JsOEdRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7Qy9CcThHWjs7QStCcDhHWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9CdThHaEI7O0ErQmo4R0E7RUFDSTtJQUNJO0cvQm84R047O0UrQmw4R0U7SUFDSTtHL0JxOEdOO0NBQ0Y7O0ErQjM4R0E7RUFDSTtJQUNJO0cvQm84R047O0UrQmw4R0U7SUFDSTtHL0JxOEdOO0NBQ0Y7O0FnQzloSEE7RUFDSTtDaENpaUhKOztBZ0MvaEhRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q2hDa2lIWjs7QWdDamlIWTtFQUNJO0NoQ29pSGhCOztBZ0NsaUhZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDcWlIaEI7O0FnQy9oSEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDa2lISjs7QWdDL2hIQTtFQUNJO0VBQ0E7RUFDQTtDaENraUhKOztBZ0NqaUhJO0VBQ0k7RUFDQTtDaENvaUhSOztBZ0NoaUhBO0VBQ0k7RUFDQTtDaENtaUhKOztBZ0NsaUhJO0VBQ0k7RUFDQTtFQUNBO0VqQm5CSjtFaUJxQkk7RUFDQTtFQUNBO0NoQ3lpSFI7O0FnQ3ZpSEk7RUFDSTtFQUNBO0VBQ0E7RWpCNUJKO0NmMmtISjs7QWlDdm1ISTtFQUNJO0NqQzBtSFI7O0FpQ3htSFE7RUFISjtJQUlRO0dqQzRtSFY7Q0FDRjs7QWlDM21IUTtFQUNJO0NqQzhtSFo7O0FpQzdtSFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pDZ25IaEI7O0FpQzltSFk7RUFFSTtFQUNBO0VBQ0E7Q2pDZ25IaEI7O0FpQy9tSGdCO0VBQ0k7Q2pDa25IcEI7O0FpQzltSFE7O0VBQ0k7RUFDQTtFQUNBO0NqQ2tuSFo7O0FpQ2huSFE7RUFDSTtFQUNBO0VBQ0E7RUFFQTtDakNrbkhaOztBaUNobkhRO0VBQ0k7Q2pDbW5IWjs7QWlDbG5IWTtFQUNJO0NqQ3FuSGhCOztBaUNwbkhnQjtFQUNJO0NqQ3VuSHBCOztBaUNybkhnQjtFQUNJO0NqQ3duSHBCOztBaUN0bkhnQjtFQUNJO0NqQ3luSHBCOztBaUN2bkhnQjtFQUNJO0VBQ0E7Q2pDMG5IcEI7O0FpQ3BuSFk7RUFESjtJQUVRO0dqQ3duSGQ7Q0FDRjs7QWlDdm5IWTs7OztFQUNJO0VBQ0E7RUFDQTtDakM2bkhoQjs7QWlDNW5IZ0I7Ozs7RUFDSTtDakNrb0hwQjs7QWlDL25IWTtFQUNJO0NqQ2tvSGhCOztBaUNob0hZO0VBQ0k7Q2pDbW9IaEI7O0FpQzduSFE7RUFESjtJQUVRO0dqQ2lvSFY7Q0FDRjs7QWtDM3RIQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEM4dEhKOztBa0M1dEhJO0VBQ0k7RUFDQTtFQUNBO0VuQmdCSjtFbUJkSTtFQUNB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QUNJO0MvQ3drSnBCOztBK0Nya0pZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Qy9Dd2tKaEI7O0ErQ3ZrSmdCO0VBTEo7SUFNUTtHL0Mya0psQjtDQUNGOztBK0N2a0pvQjtFQUNJO0MvQzBrSnhCOztBK0Nwa0pvQjs7RUFDSTtDL0N3a0p4Qjs7QStDbGtKd0I7RUFDSTtDL0Nxa0o1Qjs7QStDcGtKNEI7RUFGSjtJQUdRO0cvQ3drSjlCO0NBQ0Y7O0ErQ25rSlk7RUFDSTtDL0Nza0poQjs7QStDcmtKZ0I7RUFGSjtJQUdRO0cvQ3lrSmxCO0NBQ0Y7O0ErQ3hrSmdCO0VBQ0k7RUFDQTtFQUNBO0MvQzJrSnBCOztBK0Mxa0pvQjs7RUFDSTtDL0M4a0p4Qjs7QStDbmtKUTtFQUNJO0MvQ3NrSlo7O0ErQ3JrSlk7RUFGSjtJQUdRO0lBQ0E7SUFDQTtHL0N5a0pkO0NBQ0Y7O0ErQ3hrSlk7RUFDSTtFQUNBO0MvQzJrSmhCOztBZXBuSkk7RWdDMkNnQjtFQUNBO0MvQzZrSnBCOztBZXhuSkk7RWdDMENnQjtFQUNBO0MvQ2tsSnBCOztBZTVuSkk7RWdDeUNnQjtFQUNBO0MvQ3VsSnBCOztBZWhvSkk7RWdDd0NnQjtFQUNBO0MvQzRsSnBCOztBK0N2bEpJO0VBQ0k7Qy9DMGxKUjs7QWdEaHNKUTtFQUNJO0NoRG1zSlo7O0FnRDdySlk7RUFDSTtDaERnc0poQjs7QWdEL3JKZ0I7RUFGSjtJQUdRO0doRG1zSmxCO0NBQ0Y7O0FnRDdySlE7RUFESjtJQUVRO0doRGlzSlY7Q0FDRjs7QWdEL3JKWTtFQURKO0lBRVE7R2hEbXNKZDtDQUNGOztBZ0Rsc0pZOzs7OztFQUNJO0NoRHlzSmhCOztBZ0Rwc0pJO0VBQ0k7RUFDQTtDaER1c0pSOztBaUQxdUpBO0VBQ0k7RUFDQTtFQUNBO0VBRUE7Q2pENHVKSjs7QWlEMXVKSTtFQUNJO0VBQ0E7RUFDQTtDakQ2dUpSOztBaUQ1dUpRO0VBQ0k7Q2pEK3VKWjs7QWlEdnVKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0NqRDB1SlI7O0FpRHp1SlE7RUFMSjtJQU1RO0dqRDZ1SlY7Q0FDRjs7QWlENXVKUTtFQVJKO0lBU1E7R2pEZ3ZKVjtDQUNGOztBaUQvdUpRO0VBQ0k7RUFDQTtDakRrdkpaOztBaURqdkpZO0VBSEo7SUFJUTtHakRxdkpkO0NBQ0Y7O0FpRHB2Slk7O0VBQ0k7Q2pEd3ZKaEI7O0FpRHJ2SlE7RUFDSTtDakR3dkpaOztBaUR2dkpZO0VBRko7SUFHUTtJQUNBO0lBQ0E7R2pEMnZKZDs7RWlEMXZKYztJQUNJO0dqRDZ2SmxCO0NBQ0Y7O0FpRDN2Slk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqRDh2SmhCOztBaUQ3dkpnQjtFQU5KO0lBT1E7SUFDQTtJQUNBO0lBQ0E7R2pEaXdKbEI7Q0FDRjs7QWlEL3ZKb0I7RWxDbENoQjtFa0NvQ29CO0NqRHN3SnhCOztBaURwd0pvQjtFQUNJO0NqRHV3SnhCOztBaURud0pZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pEc3dKaEI7O0FpRHJ3SmdCO0VBZEo7SUFlUTtHakR5d0psQjtDQUNGOztBaUR0d0pnQjtFQURKO0lBRVE7SUFDQTtHakQwd0psQjtDQUNGOztBaUR6d0pnQjtFQUNJO0NqRDR3SnBCOztBaUQxd0pnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pENndKcEI7O0FpRHZ3Skk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqRDB3SlI7O0FpRHp3SlE7RUFOSjtJQU9RO0lBQ0E7SUFDQTtHakQ2d0pWO0NBQ0Y7O0FpRDF3Skk7RUFDSTtDakQ2d0pSOztBaUQ1d0pRO0VBQ0k7RUFDQTtDakQrd0paOztBaUQ5d0pZO0VBSEo7SUFJUTtJQUNBO0lBQ0E7SUFDQTtHakRreEpkO0NBQ0Y7O0FpRGh4SlE7RUFDSTtFQUNBO0VBQ0E7Q2pEbXhKWjs7QWlEbHhKWTtFQUpKO0lBS1E7SUFDQTtJQUNBO0dqRHN4SmQ7Q0FDRjs7QWlEcnhKWTtFQUNJO0VBQ0E7Q2pEd3hKaEI7O0FpRHR4Slk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqRHl4SmhCOztBZWo0Skk7RWtDMEdnQjtFQUNBO0VBQ0E7Q2pEMnhKcEI7O0FldDRKSTtFa0N5R2dCO0VBQ0E7RUFDQTtDakRpeUpwQjs7QWUzNEpJO0VrQ3dHZ0I7RUFDQTtFQUNBO0NqRHV5SnBCOztBZWg1Skk7RWtDdUdnQjtFQUNBO0VBQ0E7Q2pENnlKcEI7O0FpRHp5SlE7RUFDSTtDakQ0eUpaOztBaUR4eUp3QjtFQUNJO0NqRDJ5SjVCOztBaUQxeUo0QjtFQUNJO0NqRDZ5SmhDOztBaUR0eUpnQjtFQUNJO0VBQ0E7Q2pEeXlKcEI7O0FpRHh5Sm9CO0VBQ0k7RUFDQTtDakQyeUp4Qjs7QWlEdHlKUTtFQUNJO0VBQ0E7Q2pEeXlKWjs7QWlEeHlKWTtFQUNJO0VBQ0E7Q2pEMnlKaEI7O0FpRDF5SmdCO0VBQ0k7Q2pENnlKcEI7O0FpRDN5SmdCO0VBQ0k7Q2pEOHlKcEI7O0FpRDN5Slk7RUFDSTtDakQ4eUpoQjs7QWlENXlKWTtFQUNJO0NqRCt5SmhCOztBaUQxeUpJO0VBQ0k7RUFDQTtDakQ2eUpSOztBaUQ1eUpRO0VBSEo7SUFJUTtJQUNBO0lBQ0E7R2pEZ3pKVjtDQUNGOztBaUQveUpRO0VBQ0k7RUFDQTtDakRrekpaOztBaUQveUpnQjtFQUNJO0NqRGt6SnBCOztBaUQ3eUpnQjtFQUNJO0NqRGd6SnBCOztBaUQzeUpnQjtFQUNJO0NqRDh5SnBCOztBaUR6eUpnQjtFQUNJO0NqRDR5SnBCOztBaUR0eUpJO0VBQ0k7RUFDQTtFQUNBO0NqRHl5SlI7O0FpRHh5SlE7RUFKSjtJQUtRO0dqRDR5SlY7Q0FDRjs7QWlEenlKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pENHlKUjs7QWlEM3lKUTtFQU5KO0lBT1E7R2pEK3lKVjtDQUNGOztBQXYrSkE7RUFDQTtDQTArSkEiLCJmaWxlIjoiL2Fzc2V0cy9jc3MvYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHJlcXVpcmVkIHN0eWxlcyAqL1xyXG5cclxuLmxlYWZsZXQtcGFuZSxcclxuLmxlYWZsZXQtdGlsZSxcclxuLmxlYWZsZXQtbWFya2VyLWljb24sXHJcbi5sZWFmbGV0LW1hcmtlci1zaGFkb3csXHJcbi5sZWFmbGV0LXRpbGUtY29udGFpbmVyLFxyXG4ubGVhZmxldC1wYW5lID4gc3ZnLFxyXG4ubGVhZmxldC1wYW5lID4gY2FudmFzLFxyXG4ubGVhZmxldC16b29tLWJveCxcclxuLmxlYWZsZXQtaW1hZ2UtbGF5ZXIsXHJcbi5sZWFmbGV0LWxheWVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogMDtcclxuXHR0b3A6IDA7XHJcblx0fVxyXG4ubGVhZmxldC1jb250YWluZXIge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG4ubGVhZmxldC10aWxlLFxyXG4ubGVhZmxldC1tYXJrZXItaWNvbixcclxuLmxlYWZsZXQtbWFya2VyLXNoYWRvdyB7XHJcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG5cdCAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0ICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcclxuXHR9XHJcbi8qIFByZXZlbnRzIElFMTEgZnJvbSBoaWdobGlnaHRpbmcgdGlsZXMgaW4gYmx1ZSAqL1xyXG4ubGVhZmxldC10aWxlOjpzZWxlY3Rpb24ge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi8qIFNhZmFyaSByZW5kZXJzIG5vbi1yZXRpbmEgdGlsZSBvbiByZXRpbmEgYmV0dGVyIHdpdGggdGhpcywgYnV0IENocm9tZSBpcyB3b3JzZSAqL1xyXG4ubGVhZmxldC1zYWZhcmkgLmxlYWZsZXQtdGlsZSB7XHJcblx0aW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xyXG5cdH1cclxuLyogaGFjayB0aGF0IHByZXZlbnRzIGh3IGxheWVycyBcInN0cmV0Y2hpbmdcIiB3aGVuIGxvYWRpbmcgbmV3IHRpbGVzICovXHJcbi5sZWFmbGV0LXNhZmFyaSAubGVhZmxldC10aWxlLWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDE2MDBweDtcclxuXHRoZWlnaHQ6IDE2MDBweDtcclxuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuXHR9XHJcbi5sZWFmbGV0LW1hcmtlci1pY29uLFxyXG4ubGVhZmxldC1tYXJrZXItc2hhZG93IHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbi8qIC5sZWFmbGV0LWNvbnRhaW5lciBzdmc6IHJlc2V0IHN2ZyBtYXgtd2lkdGggZGVjbGVyYXRpb24gc2hpcHBlZCBpbiBKb29tbGEhIChqb29tbGEub3JnKSAzLnggKi9cclxuLyogLmxlYWZsZXQtY29udGFpbmVyIGltZzogbWFwIGlzIGJyb2tlbiBpbiBGRiBpZiB5b3UgaGF2ZSBtYXgtd2lkdGg6IDEwMCUgb24gdGlsZXMgKi9cclxuLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LW92ZXJsYXktcGFuZSBzdmcsXHJcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1tYXJrZXItcGFuZSBpbWcsXHJcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1zaGFkb3ctcGFuZSBpbWcsXHJcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC10aWxlLXBhbmUgaW1nLFxyXG4ubGVhZmxldC1jb250YWluZXIgaW1nLmxlYWZsZXQtaW1hZ2UtbGF5ZXIsXHJcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC10aWxlIHtcclxuXHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuXHRtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuLmxlYWZsZXQtY29udGFpbmVyLmxlYWZsZXQtdG91Y2gtem9vbSB7XHJcblx0LW1zLXRvdWNoLWFjdGlvbjogcGFuLXggcGFuLXk7XHJcblx0dG91Y2gtYWN0aW9uOiBwYW4teCBwYW4teTtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRhaW5lci5sZWFmbGV0LXRvdWNoLWRyYWcge1xyXG5cdC1tcy10b3VjaC1hY3Rpb246IHBpbmNoLXpvb207XHJcblx0LyogRmFsbGJhY2sgZm9yIEZGIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCBwaW5jaC16b29tICovXHJcblx0dG91Y2gtYWN0aW9uOiBub25lO1xyXG5cdHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtcclxufVxyXG4ubGVhZmxldC1jb250YWluZXIubGVhZmxldC10b3VjaC1kcmFnLmxlYWZsZXQtdG91Y2gtem9vbSB7XHJcblx0LW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcclxuXHR0b3VjaC1hY3Rpb246IG5vbmU7XHJcbn1cclxuLmxlYWZsZXQtY29udGFpbmVyIHtcclxuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5sZWFmbGV0LWNvbnRhaW5lciBhIHtcclxuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoNTEsIDE4MSwgMjI5LCAwLjQpO1xyXG59XHJcbi5sZWFmbGV0LXRpbGUge1xyXG5cdGZpbHRlcjogaW5oZXJpdDtcclxuXHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0fVxyXG4ubGVhZmxldC10aWxlLWxvYWRlZCB7XHJcblx0dmlzaWJpbGl0eTogaW5oZXJpdDtcclxuXHR9XHJcbi5sZWFmbGV0LXpvb20tYm94IHtcclxuXHR3aWR0aDogMDtcclxuXHRoZWlnaHQ6IDA7XHJcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdCAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHR6LWluZGV4OiA4MDA7XHJcblx0fVxyXG4vKiB3b3JrYXJvdW5kIGZvciBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD04ODgzMTkgKi9cclxuLmxlYWZsZXQtb3ZlcmxheS1wYW5lIHN2ZyB7XHJcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuXHR9XHJcblxyXG4ubGVhZmxldC1wYW5lICAgICAgICAgeyB6LWluZGV4OiA0MDA7IH1cclxuXHJcbi5sZWFmbGV0LXRpbGUtcGFuZSAgICB7IHotaW5kZXg6IDIwMDsgfVxyXG4ubGVhZmxldC1vdmVybGF5LXBhbmUgeyB6LWluZGV4OiA0MDA7IH1cclxuLmxlYWZsZXQtc2hhZG93LXBhbmUgIHsgei1pbmRleDogNTAwOyB9XHJcbi5sZWFmbGV0LW1hcmtlci1wYW5lICB7IHotaW5kZXg6IDYwMDsgfVxyXG4ubGVhZmxldC10b29sdGlwLXBhbmUgICB7IHotaW5kZXg6IDY1MDsgfVxyXG4ubGVhZmxldC1wb3B1cC1wYW5lICAgeyB6LWluZGV4OiA3MDA7IH1cclxuXHJcbi5sZWFmbGV0LW1hcC1wYW5lIGNhbnZhcyB7IHotaW5kZXg6IDEwMDsgfVxyXG4ubGVhZmxldC1tYXAtcGFuZSBzdmcgICAgeyB6LWluZGV4OiAyMDA7IH1cclxuXHJcbi5sZWFmbGV0LXZtbC1zaGFwZSB7XHJcblx0d2lkdGg6IDFweDtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHR9XHJcbi5sdm1sIHtcclxuXHRiZWhhdmlvcjogdXJsKCNkZWZhdWx0I1ZNTCk7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR9XHJcblxyXG5cclxuLyogY29udHJvbCBwb3NpdGlvbmluZyAqL1xyXG5cclxuLmxlYWZsZXQtY29udHJvbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDgwMDtcclxuXHRwb2ludGVyLWV2ZW50czogdmlzaWJsZVBhaW50ZWQ7IC8qIElFIDktMTAgZG9lc24ndCBoYXZlIGF1dG8gKi9cclxuXHRwb2ludGVyLWV2ZW50czogYXV0bztcclxuXHR9XHJcbi5sZWFmbGV0LXRvcCxcclxuLmxlYWZsZXQtYm90dG9tIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ei1pbmRleDogMTAwMDtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHR9XHJcbi5sZWFmbGV0LXRvcCB7XHJcblx0dG9wOiAwO1xyXG5cdH1cclxuLmxlYWZsZXQtcmlnaHQge1xyXG5cdHJpZ2h0OiAwO1xyXG5cdH1cclxuLmxlYWZsZXQtYm90dG9tIHtcclxuXHRib3R0b206IDA7XHJcblx0fVxyXG4ubGVhZmxldC1sZWZ0IHtcclxuXHRsZWZ0OiAwO1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbCB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0Y2xlYXI6IGJvdGg7XHJcblx0fVxyXG4ubGVhZmxldC1yaWdodCAubGVhZmxldC1jb250cm9sIHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0fVxyXG4ubGVhZmxldC10b3AgLmxlYWZsZXQtY29udHJvbCB7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxuXHR9XHJcbi5sZWFmbGV0LWJvdHRvbSAubGVhZmxldC1jb250cm9sIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdH1cclxuLmxlYWZsZXQtbGVmdCAubGVhZmxldC1jb250cm9sIHtcclxuXHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHR9XHJcbi5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWNvbnRyb2wge1xyXG5cdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHR9XHJcblxyXG5cclxuLyogem9vbSBhbmQgZmFkZSBhbmltYXRpb25zICovXHJcblxyXG4ubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtdGlsZSB7XHJcblx0d2lsbC1jaGFuZ2U6IG9wYWNpdHk7XHJcblx0fVxyXG4ubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtcG9wdXAge1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xyXG5cdCAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcclxuXHQgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcblx0fVxyXG4ubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtbWFwLXBhbmUgLmxlYWZsZXQtcG9wdXAge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0fVxyXG4ubGVhZmxldC16b29tLWFuaW1hdGVkIHtcclxuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuXHQgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuXHQgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuXHR9XHJcbi5sZWFmbGV0LXpvb20tYW5pbSAubGVhZmxldC16b29tLWFuaW1hdGVkIHtcclxuXHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xyXG5cdH1cclxuLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXpvb20tYW5pbWF0ZWQge1xyXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwwLjI1LDEpO1xyXG5cdCAgIC1tb3otdHJhbnNpdGlvbjogICAgLW1vei10cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwwLjI1LDEpO1xyXG5cdCAgICAgICAgdHJhbnNpdGlvbjogICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwwLjI1LDEpO1xyXG5cdH1cclxuLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXRpbGUsXHJcbi5sZWFmbGV0LXBhbi1hbmltIC5sZWFmbGV0LXRpbGUge1xyXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcclxuXHQgICAtbW96LXRyYW5zaXRpb246IG5vbmU7XHJcblx0ICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG5cdH1cclxuXHJcbi5sZWFmbGV0LXpvb20tYW5pbSAubGVhZmxldC16b29tLWhpZGUge1xyXG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHR9XHJcblxyXG5cclxuLyogY3Vyc29ycyAqL1xyXG5cclxuLmxlYWZsZXQtaW50ZXJhY3RpdmUge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcbi5sZWFmbGV0LWdyYWIge1xyXG5cdGN1cnNvcjogLXdlYmtpdC1ncmFiO1xyXG5cdGN1cnNvcjogICAgLW1vei1ncmFiO1xyXG5cdGN1cnNvcjogICAgICAgICBncmFiO1xyXG5cdH1cclxuLmxlYWZsZXQtY3Jvc3NoYWlyLFxyXG4ubGVhZmxldC1jcm9zc2hhaXIgLmxlYWZsZXQtaW50ZXJhY3RpdmUge1xyXG5cdGN1cnNvcjogY3Jvc3NoYWlyO1xyXG5cdH1cclxuLmxlYWZsZXQtcG9wdXAtcGFuZSxcclxuLmxlYWZsZXQtY29udHJvbCB7XHJcblx0Y3Vyc29yOiBhdXRvO1xyXG5cdH1cclxuLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtZ3JhYixcclxuLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtZ3JhYiAubGVhZmxldC1pbnRlcmFjdGl2ZSxcclxuLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtbWFya2VyLWRyYWdnYWJsZSB7XHJcblx0Y3Vyc29yOiBtb3ZlO1xyXG5cdGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcclxuXHRjdXJzb3I6ICAgIC1tb3otZ3JhYmJpbmc7XHJcblx0Y3Vyc29yOiAgICAgICAgIGdyYWJiaW5nO1xyXG5cdH1cclxuXHJcbi8qIG1hcmtlciAmIG92ZXJsYXlzIGludGVyYWN0aXZpdHkgKi9cclxuLmxlYWZsZXQtbWFya2VyLWljb24sXHJcbi5sZWFmbGV0LW1hcmtlci1zaGFkb3csXHJcbi5sZWFmbGV0LWltYWdlLWxheWVyLFxyXG4ubGVhZmxldC1wYW5lID4gc3ZnIHBhdGgsXHJcbi5sZWFmbGV0LXRpbGUtY29udGFpbmVyIHtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHR9XHJcblxyXG4ubGVhZmxldC1tYXJrZXItaWNvbi5sZWFmbGV0LWludGVyYWN0aXZlLFxyXG4ubGVhZmxldC1pbWFnZS1sYXllci5sZWFmbGV0LWludGVyYWN0aXZlLFxyXG4ubGVhZmxldC1wYW5lID4gc3ZnIHBhdGgubGVhZmxldC1pbnRlcmFjdGl2ZSxcclxuc3ZnLmxlYWZsZXQtaW1hZ2UtbGF5ZXIubGVhZmxldC1pbnRlcmFjdGl2ZSBwYXRoIHtcclxuXHRwb2ludGVyLWV2ZW50czogdmlzaWJsZVBhaW50ZWQ7IC8qIElFIDktMTAgZG9lc24ndCBoYXZlIGF1dG8gKi9cclxuXHRwb2ludGVyLWV2ZW50czogYXV0bztcclxuXHR9XHJcblxyXG4vKiB2aXN1YWwgdHdlYWtzICovXHJcblxyXG4ubGVhZmxldC1jb250YWluZXIge1xyXG5cdGJhY2tncm91bmQ6ICNkZGQ7XHJcblx0b3V0bGluZTogMDtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRhaW5lciBhIHtcclxuXHRjb2xvcjogIzAwNzhBODtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtYWN0aXZlIHtcclxuXHRvdXRsaW5lOiAycHggc29saWQgb3JhbmdlO1xyXG5cdH1cclxuLmxlYWZsZXQtem9vbS1ib3gge1xyXG5cdGJvcmRlcjogMnB4IGRvdHRlZCAjMzhmO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcclxuXHR9XHJcblxyXG5cclxuLyogZ2VuZXJhbCB0eXBvZ3JhcGh5ICovXHJcbi5sZWFmbGV0LWNvbnRhaW5lciB7XHJcblx0Zm9udDogMTJweC8xLjUgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG5cdH1cclxuXHJcblxyXG4vKiBnZW5lcmFsIHRvb2xiYXIgc3R5bGVzICovXHJcblxyXG4ubGVhZmxldC1iYXIge1xyXG5cdGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsMCwwLDAuNjUpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHR9XHJcbi5sZWFmbGV0LWJhciBhLFxyXG4ubGVhZmxldC1iYXIgYTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuXHR3aWR0aDogMjZweDtcclxuXHRoZWlnaHQ6IDI2cHg7XHJcblx0bGluZS1oZWlnaHQ6IDI2cHg7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRjb2xvcjogYmxhY2s7XHJcblx0fVxyXG4ubGVhZmxldC1iYXIgYSxcclxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG4ubGVhZmxldC1iYXIgYTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcclxuXHR9XHJcbi5sZWFmbGV0LWJhciBhOmZpcnN0LWNoaWxkIHtcclxuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcclxuXHR9XHJcbi5sZWFmbGV0LWJhciBhOmxhc3QtY2hpbGQge1xyXG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcclxuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xyXG5cdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0fVxyXG4ubGVhZmxldC1iYXIgYS5sZWFmbGV0LWRpc2FibGVkIHtcclxuXHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcclxuXHRjb2xvcjogI2JiYjtcclxuXHR9XHJcblxyXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1iYXIgYSB7XHJcblx0d2lkdGg6IDMwcHg7XHJcblx0aGVpZ2h0OiAzMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG5cdH1cclxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIGE6Zmlyc3QtY2hpbGQge1xyXG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcclxuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xyXG5cdH1cclxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIGE6bGFzdC1jaGlsZCB7XHJcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4O1xyXG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XHJcblx0fVxyXG5cclxuLyogem9vbSBjb250cm9sICovXHJcblxyXG4ubGVhZmxldC1jb250cm9sLXpvb20taW4sXHJcbi5sZWFmbGV0LWNvbnRyb2wtem9vbS1vdXQge1xyXG5cdGZvbnQ6IGJvbGQgMThweCAnTHVjaWRhIENvbnNvbGUnLCBNb25hY28sIG1vbm9zcGFjZTtcclxuXHR0ZXh0LWluZGVudDogMXB4O1xyXG5cdH1cclxuXHJcbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbiwgLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC16b29tLW91dCAge1xyXG5cdGZvbnQtc2l6ZTogMjJweDtcclxuXHR9XHJcblxyXG5cclxuLyogbGF5ZXJzIGNvbnRyb2wgKi9cclxuXHJcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHtcclxuXHRib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLDAsMCwwLjQpO1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2xheWVycy5wbmcpO1xyXG5cdHdpZHRoOiAzNnB4O1xyXG5cdGhlaWdodDogMzZweDtcclxuXHR9XHJcbi5sZWFmbGV0LXJldGluYSAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvbGF5ZXJzLTJ4LnBuZyk7XHJcblx0YmFja2dyb3VuZC1zaXplOiAyNnB4IDI2cHg7XHJcblx0fVxyXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xyXG5cdHdpZHRoOiA0NHB4O1xyXG5cdGhlaWdodDogNDRweDtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3QsXHJcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3Qge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIHtcclxuXHRwYWRkaW5nOiA2cHggMTBweCA2cHggNnB4O1xyXG5cdGNvbG9yOiAjMzMzO1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1zY3JvbGxiYXIge1xyXG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcclxuXHRvdmVyZmxvdy14OiBoaWRkZW47XHJcblx0cGFkZGluZy1yaWdodDogNXB4O1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VsZWN0b3Ige1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dG9wOiAxcHg7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycyBsYWJlbCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1zZXBhcmF0b3Ige1xyXG5cdGhlaWdodDogMDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuXHRtYXJnaW46IDVweCAtMTBweCA1cHggLTZweDtcclxuXHR9XHJcblxyXG4vKiBEZWZhdWx0IGljb24gVVJMcyAqL1xyXG4ubGVhZmxldC1kZWZhdWx0LWljb24tcGF0aCB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9tYXJrZXItaWNvbi5wbmcpO1xyXG5cdH1cclxuXHJcblxyXG4vKiBhdHRyaWJ1dGlvbiBhbmQgc2NhbGUgY29udHJvbHMgKi9cclxuXHJcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIHtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcclxuXHRtYXJnaW46IDA7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uLFxyXG4ubGVhZmxldC1jb250cm9sLXNjYWxlLWxpbmUge1xyXG5cdHBhZGRpbmc6IDAgNXB4O1xyXG5cdGNvbG9yOiAjMzMzO1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiBhIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIGE6aG92ZXIge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdH1cclxuLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24sXHJcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1jb250cm9sLXNjYWxlIHtcclxuXHRmb250LXNpemU6IDExcHg7XHJcblx0fVxyXG4ubGVhZmxldC1sZWZ0IC5sZWFmbGV0LWNvbnRyb2wtc2NhbGUge1xyXG5cdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0fVxyXG4ubGVhZmxldC1ib3R0b20gLmxlYWZsZXQtY29udHJvbC1zY2FsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lIHtcclxuXHRib3JkZXI6IDJweCBzb2xpZCAjNzc3O1xyXG5cdGJvcmRlci10b3A6IG5vbmU7XHJcblx0bGluZS1oZWlnaHQ6IDEuMTtcclxuXHRwYWRkaW5nOiAycHggNXB4IDFweDtcclxuXHRmb250LXNpemU6IDExcHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHQgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuXHRib3JkZXItdG9wOiAycHggc29saWQgIzc3NztcclxuXHRib3JkZXItYm90dG9tOiBub25lO1xyXG5cdG1hcmdpbi10b3A6IC0ycHg7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLXNjYWxlLWxpbmU6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XHJcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3Nzc7XHJcblx0fVxyXG5cclxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbixcclxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC1sYXllcnMsXHJcbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWJhciB7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHR9XHJcbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLFxyXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1iYXIge1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yKTtcclxuXHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG5cdH1cclxuXHJcblxyXG4vKiBwb3B1cCAqL1xyXG5cclxuLmxlYWZsZXQtcG9wdXAge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHR9XHJcbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0cGFkZGluZzogMXB4O1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0Ym9yZGVyLXJhZGl1czogMTJweDtcclxuXHR9XHJcbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQge1xyXG5cdG1hcmdpbjogMTNweCAxOXB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0fVxyXG4ubGVhZmxldC1wb3B1cC1jb250ZW50IHAge1xyXG5cdG1hcmdpbjogMThweCAwO1xyXG5cdH1cclxuLmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDQwcHg7XHJcblx0aGVpZ2h0OiAyMHB4O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0bWFyZ2luLWxlZnQ6IC0yMHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0fVxyXG4ubGVhZmxldC1wb3B1cC10aXAge1xyXG5cdHdpZHRoOiAxN3B4O1xyXG5cdGhlaWdodDogMTdweDtcclxuXHRwYWRkaW5nOiAxcHg7XHJcblxyXG5cdG1hcmdpbjogLTEwcHggYXV0byAwO1xyXG5cclxuXHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHQgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHQgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHQgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHR9XHJcbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlcixcclxuLmxlYWZsZXQtcG9wdXAtdGlwIHtcclxuXHRiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuXHRjb2xvcjogIzMzMztcclxuXHRib3gtc2hhZG93OiAwIDNweCAxNHB4IHJnYmEoMCwwLDAsMC40KTtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHBhZGRpbmc6IDRweCA0cHggMCAwO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0d2lkdGg6IDE4cHg7XHJcblx0aGVpZ2h0OiAxNHB4O1xyXG5cdGZvbnQ6IDE2cHgvMTRweCBUYWhvbWEsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XHJcblx0Y29sb3I6ICNjM2MzYzM7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdH1cclxuLmxlYWZsZXQtY29udGFpbmVyIGEubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b246aG92ZXIge1xyXG5cdGNvbG9yOiAjOTk5O1xyXG5cdH1cclxuLmxlYWZsZXQtcG9wdXAtc2Nyb2xsZWQge1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xyXG5cdH1cclxuXHJcbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0em9vbTogMTtcclxuXHR9XHJcbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LXBvcHVwLXRpcCB7XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblxyXG5cdC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0Lk1hdHJpeChNMTE9MC43MDcxMDY3OCwgTTEyPTAuNzA3MTA2NzgsIE0yMT0tMC43MDcxMDY3OCwgTTIyPTAuNzA3MTA2NzgpXCI7XHJcblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0wLjcwNzEwNjc4LCBNMTI9MC43MDcxMDY3OCwgTTIxPS0wLjcwNzEwNjc4LCBNMjI9MC43MDcxMDY3OCk7XHJcblx0fVxyXG4ubGVhZmxldC1vbGRpZSAubGVhZmxldC1wb3B1cC10aXAtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiAtMXB4O1xyXG5cdH1cclxuXHJcbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LWNvbnRyb2wtem9vbSxcclxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtY29udHJvbC1sYXllcnMsXHJcbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlcixcclxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtdGlwIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xyXG5cdH1cclxuXHJcblxyXG4vKiBkaXYgaWNvbiAqL1xyXG5cclxuLmxlYWZsZXQtZGl2LWljb24ge1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzY2NjtcclxuXHR9XHJcblxyXG5cclxuLyogVG9vbHRpcCAqL1xyXG4vKiBCYXNlIHN0eWxlcyBmb3IgdGhlIGVsZW1lbnQgdGhhdCBoYXMgYSB0b29sdGlwICovXHJcbi5sZWFmbGV0LXRvb2x0aXAge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRwYWRkaW5nOiA2cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRjb2xvcjogIzIyMjtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsMC40KTtcclxuXHR9XHJcbi5sZWFmbGV0LXRvb2x0aXAubGVhZmxldC1jbGlja2FibGUge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRwb2ludGVyLWV2ZW50czogYXV0bztcclxuXHR9XHJcbi5sZWFmbGV0LXRvb2x0aXAtdG9wOmJlZm9yZSxcclxuLmxlYWZsZXQtdG9vbHRpcC1ib3R0b206YmVmb3JlLFxyXG4ubGVhZmxldC10b29sdGlwLWxlZnQ6YmVmb3JlLFxyXG4ubGVhZmxldC10b29sdGlwLXJpZ2h0OmJlZm9yZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0fVxyXG5cclxuLyogRGlyZWN0aW9ucyAqL1xyXG5cclxuLmxlYWZsZXQtdG9vbHRpcC1ib3R0b20ge1xyXG5cdG1hcmdpbi10b3A6IDZweDtcclxufVxyXG4ubGVhZmxldC10b29sdGlwLXRvcCB7XHJcblx0bWFyZ2luLXRvcDogLTZweDtcclxufVxyXG4ubGVhZmxldC10b29sdGlwLWJvdHRvbTpiZWZvcmUsXHJcbi5sZWFmbGV0LXRvb2x0aXAtdG9wOmJlZm9yZSB7XHJcblx0bGVmdDogNTAlO1xyXG5cdG1hcmdpbi1sZWZ0OiAtNnB4O1xyXG5cdH1cclxuLmxlYWZsZXQtdG9vbHRpcC10b3A6YmVmb3JlIHtcclxuXHRib3R0b206IDA7XHJcblx0bWFyZ2luLWJvdHRvbTogLTEycHg7XHJcblx0Ym9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcclxuXHR9XHJcbi5sZWFmbGV0LXRvb2x0aXAtYm90dG9tOmJlZm9yZSB7XHJcblx0dG9wOiAwO1xyXG5cdG1hcmdpbi10b3A6IC0xMnB4O1xyXG5cdG1hcmdpbi1sZWZ0OiAtNnB4O1xyXG5cdGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XHJcblx0fVxyXG4ubGVhZmxldC10b29sdGlwLWxlZnQge1xyXG5cdG1hcmdpbi1sZWZ0OiAtNnB4O1xyXG59XHJcbi5sZWFmbGV0LXRvb2x0aXAtcmlnaHQge1xyXG5cdG1hcmdpbi1sZWZ0OiA2cHg7XHJcbn1cclxuLmxlYWZsZXQtdG9vbHRpcC1sZWZ0OmJlZm9yZSxcclxuLmxlYWZsZXQtdG9vbHRpcC1yaWdodDpiZWZvcmUge1xyXG5cdHRvcDogNTAlO1xyXG5cdG1hcmdpbi10b3A6IC02cHg7XHJcblx0fVxyXG4ubGVhZmxldC10b29sdGlwLWxlZnQ6YmVmb3JlIHtcclxuXHRyaWdodDogMDtcclxuXHRtYXJnaW4tcmlnaHQ6IC0xMnB4O1xyXG5cdGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmO1xyXG5cdH1cclxuLmxlYWZsZXQtdG9vbHRpcC1yaWdodDpiZWZvcmUge1xyXG5cdGxlZnQ6IDA7XHJcblx0bWFyZ2luLWxlZnQ6IC0xMnB4O1xyXG5cdGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjtcclxuXHR9XHJcbiIsIi8qIVxuICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS4xMi4xXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9jYXRlZ29yeS90aGVtaW5nL1xuICovXG5cbi8qIExheW91dCBoZWxwZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1oZWxwZXItaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcbn1cbi51aS1oZWxwZXItcmVzZXQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0b3V0bGluZTogMDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udWktaGVscGVyLWNsZWFyZml4OmJlZm9yZSxcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjbGVhcjogYm90aDtcbn1cbi51aS1oZWxwZXItemZpeCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvcGFjaXR5OiAwO1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG5cbi51aS1mcm9udCB7XG5cdHotaW5kZXg6IDEwMDtcbn1cblxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0bWFyZ2luLXRvcDogLS4yNWVtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVpLXdpZGdldC1pY29uLWJsb2NrIHtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIEF1dG9jb21wbGV0ZSAxLjEyLjFcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiAqXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxuICpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2F1dG9jb21wbGV0ZS8jdGhlbWluZ1xuICovXG4udWktYXV0b2NvbXBsZXRlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cbiIsIi5sYi1sb2FkZXIsLmxpZ2h0Ym94e3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowfWJvZHkubGItZGlzYWJsZS1zY3JvbGxpbmd7b3ZlcmZsb3c6aGlkZGVufS5saWdodGJveE92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3otaW5kZXg6OTk5OTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7ZmlsdGVyOmFscGhhKE9wYWNpdHk9ODApO29wYWNpdHk6Ljg7ZGlzcGxheTpub25lfS5saWdodGJveHt3aWR0aDoxMDAlO3otaW5kZXg6MTAwMDA7Zm9udC13ZWlnaHQ6NDAwO291dGxpbmU6MH0ubGlnaHRib3ggLmxiLWltYWdle2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OmF1dG87bWF4LXdpZHRoOmluaGVyaXQ7bWF4LWhlaWdodDpub25lO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlcjo0cHggc29saWQgI2ZmZn0ubGlnaHRib3ggYSBpbWd7Ym9yZGVyOm5vbmV9LmxiLW91dGVyQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjI1MHB4O2hlaWdodDoyNTBweDttYXJnaW46MCBhdXRvO2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubGItb3V0ZXJDb250YWluZXI6YWZ0ZXJ7Y29udGVudDpcIlwiO2Rpc3BsYXk6dGFibGU7Y2xlYXI6Ym90aH0ubGItbG9hZGVye3RvcDo0MyU7aGVpZ2h0OjI1JTt3aWR0aDoxMDAlfS5sYi1jYW5jZWx7ZGlzcGxheTpibG9jazt3aWR0aDozMnB4O2hlaWdodDozMnB4O21hcmdpbjowIGF1dG87YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL2xvYWRpbmcuZ2lmKSBuby1yZXBlYXR9LmxiLW5hdntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTt6LWluZGV4OjEwfS5sYi1jb250YWluZXI+Lm5hdntsZWZ0OjB9LmxiLW5hdiBhe291dGxpbmU6MDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQVBBQUFQLy8vd0FBQUNINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQ1JBRUFPdz09KX0ubGItbmV4dCwubGItcHJldntoZWlnaHQ6MTAwJTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrfS5sYi1uYXYgYS5sYi1wcmV2e3dpZHRoOjM0JTtsZWZ0OjA7ZmxvYXQ6bGVmdDtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvcHJldi5wbmcpIGxlZnQgNDglIG5vLXJlcGVhdDtmaWx0ZXI6YWxwaGEoT3BhY2l0eT0wKTtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjZzOy1tb3otdHJhbnNpdGlvbjpvcGFjaXR5IC42czstby10cmFuc2l0aW9uOm9wYWNpdHkgLjZzO3RyYW5zaXRpb246b3BhY2l0eSAuNnN9LmxiLW5hdiBhLmxiLXByZXY6aG92ZXJ7ZmlsdGVyOmFscGhhKE9wYWNpdHk9MTAwKTtvcGFjaXR5OjF9LmxiLW5hdiBhLmxiLW5leHR7d2lkdGg6NjQlO3JpZ2h0OjA7ZmxvYXQ6cmlnaHQ7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL25leHQucG5nKSByaWdodCA0OCUgbm8tcmVwZWF0O2ZpbHRlcjphbHBoYShPcGFjaXR5PTApO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNnM7LW1vei10cmFuc2l0aW9uOm9wYWNpdHkgLjZzOy1vLXRyYW5zaXRpb246b3BhY2l0eSAuNnM7dHJhbnNpdGlvbjpvcGFjaXR5IC42c30ubGItbmF2IGEubGItbmV4dDpob3ZlcntmaWx0ZXI6YWxwaGEoT3BhY2l0eT0xMDApO29wYWNpdHk6MX0ubGItZGF0YUNvbnRhaW5lcnttYXJnaW46MCBhdXRvO3BhZGRpbmctdG9wOjVweDt3aWR0aDoxMDAlO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweH0ubGItZGF0YUNvbnRhaW5lcjphZnRlcntjb250ZW50OlwiXCI7ZGlzcGxheTp0YWJsZTtjbGVhcjpib3RofS5sYi1kYXRhe3BhZGRpbmc6MCA0cHg7Y29sb3I6I2NjY30ubGItZGF0YSAubGItZGV0YWlsc3t3aWR0aDo4NSU7ZmxvYXQ6bGVmdDt0ZXh0LWFsaWduOmxlZnQ7bGluZS1oZWlnaHQ6MS4xZW19LmxiLWRhdGEgLmxiLWNhcHRpb257Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjFlbX0ubGItZGF0YSAubGItY2FwdGlvbiBhe2NvbG9yOiM0YWV9LmxiLWRhdGEgLmxiLW51bWJlcntkaXNwbGF5OmJsb2NrO2NsZWFyOmxlZnQ7cGFkZGluZy1ib3R0b206MWVtO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOiM5OTl9LmxiLWRhdGEgLmxiLWNsb3Nle2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6cmlnaHQ7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvY2xvc2UucG5nKSB0b3AgcmlnaHQgbm8tcmVwZWF0O3RleHQtYWxpZ246cmlnaHQ7b3V0bGluZTowO2ZpbHRlcjphbHBoYShPcGFjaXR5PTcwKTtvcGFjaXR5Oi43Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yczstbW96LXRyYW5zaXRpb246b3BhY2l0eSAuMnM7LW8tdHJhbnNpdGlvbjpvcGFjaXR5IC4yczt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzfS5sYi1kYXRhIC5sYi1jbG9zZTpob3ZlcntjdXJzb3I6cG9pbnRlcjtmaWx0ZXI6YWxwaGEoT3BhY2l0eT0xMDApO29wYWNpdHk6MX0iLCIvLyBCb290c3RyYXAgRHJvcGRvd25cbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuXG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL21peGlucy9icmVha3BvaW50c1wiO1xuXG5AaW1wb3J0ICd+Ym9vdHN0cmFwL3Njc3MvdmVuZG9yL3Jmcyc7XG5AaW1wb3J0ICd+Ym9vdHN0cmFwL3Njc3MvbWl4aW5zL2NhcmV0JztcbkBpbXBvcnQgJ35ib290c3RyYXAvc2Nzcy9taXhpbnMvYm9yZGVyLXJhZGl1cyc7XG5AaW1wb3J0ICd+Ym9vdHN0cmFwL3Njc3MvbWl4aW5zL2JveC1zaGFkb3cnO1xuQGltcG9ydCAnfmJvb3RzdHJhcC9zY3NzL21peGlucy9uYXYtZGl2aWRlcic7XG5AaW1wb3J0ICd+Ym9vdHN0cmFwL3Njc3MvbWl4aW5zL2RlcHJlY2F0ZSc7XG5AaW1wb3J0ICd+Ym9vdHN0cmFwL3Njc3MvbWl4aW5zL2hvdmVyJztcbkBpbXBvcnQgJ35ib290c3RyYXAvc2Nzcy9taXhpbnMvZ3JhZGllbnRzJztcbkBpbXBvcnQgJ35ib290c3RyYXAvc2Nzcy9kcm9wZG93bic7XG5cbi8vIEJvb3RzdHJhcCBUYWJzXG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL21peGluc1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy90cmFuc2l0aW9uc1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9uYXZcIjtcblxuLy8gU2xpY2sgQ2Fyb3VzZWxcbkBpbXBvcnQgXCJ+c2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2tcIjtcbkBpbXBvcnQgXCJ+c2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWVcIjtcblxuLy8gTGVhZmxldCBPcGVuIFN0cmVldCBNYXBcbkBpbXBvcnQgXCJ+bGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzXCI7XG5cbkBpbXBvcnQgdXJsKFwifmpxdWVyeS11aS90aGVtZXMvYmFzZS9jb3JlLmNzc1wiKTtcbkBpbXBvcnQgdXJsKFwifmpxdWVyeS11aS90aGVtZXMvYmFzZS9hdXRvY29tcGxldGUuY3NzXCIpO1xuXG4vLyBMaWdodEJveFxuQGltcG9ydCBcIn5saWdodGJveDIvZGlzdC9jc3MvbGlnaHRib3gubWluLmNzc1wiO1xuXG5cbi8vIEdlbmVyYWxcbkBpbXBvcnQgXCJnZW5lcmFsL3ZhcnNcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL2ZvbnRzXCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC9mdW5jdGlvblwiO1xuQGltcG9ydCBcImdlbmVyYWwvbWl4aW5cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Njcm9sbGJhclwiO1xuXG4vLyBFeHRlcm5hbCBDb21wb25lbnRzXG5AaW1wb3J0IFwifmJvb3RzdHJhcC1zZWxlY3Qvc2Fzcy9ib290c3RyYXAtc2VsZWN0XCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NvY2lhbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGF0ZXBpY2tlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90YWdzLWxpc3RcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3ZpZGVvXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zZWxlY3QtYm9vdHN0cmFwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zbGlkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdG9vbHRpcC1ib290c3RyYXBcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RhYnMtYm9vdHN0cmFwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90ZWFjaGVyc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbG9hZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9hbmFseXRpY3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RhYmxlLXN0YWNrdGFibGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BvcHVwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbWFnZXMtYmxvY2tcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2dvLXRvLWFuY2hvcnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2F1dG9jb21wbGV0ZVwiO1xuXG4vLyBTZWN0aW9uc1xuQGltcG9ydCBcInNlY3Rpb25zL2V2ZW50cy1jYWxlbmRhclwiO1xuQGltcG9ydCBcInNlY3Rpb25zL2VkdWNhdGlvbi10YWJzXCI7XG5AaW1wb3J0IFwic2VjdGlvbnMvdGFncy1iaWdcIjtcbkBpbXBvcnQgXCJzZWN0aW9ucy93ZWVkc1wiO1xuQGltcG9ydCBcInNlY3Rpb25zL3N1YnNjcmliZVwiO1xuQGltcG9ydCBcInNlY3Rpb25zL2NvdW50cmllcy1saXN0XCI7XG5AaW1wb3J0IFwic2VjdGlvbnMvaW5kdXN0cmllc1wiO1xuQGltcG9ydCBcInNlY3Rpb25zL2NvdW50cnktZ2VuLWluZm9cIjtcbkBpbXBvcnQgXCJzZWN0aW9ucy9maWxlcy1saXN0LWRvd25sb2Fkc1wiO1xuQGltcG9ydCBcInNlY3Rpb25zL3plZC10YWJsZVwiO1xuXG4vLyBQYWdlc1xuQGltcG9ydCBcInBhZ2VzL2VkdWNhdGlvblwiO1xuXG4vLyBGb290ZXJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvb3RlclwiO1xuXG4jdGVzdC1zY3Nze1xuY29sb3I6ICMwMDA7XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAwO1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZHJvcGRvd24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIGVuYWJsZWQgUG9wcGVyLmpzLCByZXNldCBiYXNpYyBkcm9wZG93biBwb3NpdGlvblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5kcm9wZG93bi1tZW51IHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZywgJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXksIHRydWUpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgLy8gUHJldmVudCBkcm9wZG93biBvdmVyZmxvdyBpZiB0aGVyZSdzIG5vIHBhZGRpbmdcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI3NzAzXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duKCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCBmb250LXJlc2l6aW5nXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmc1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbi8vIFJlc2l6ZSBmb250LXNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250LXNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBWYXJpYWJsZXMgZm9yIHN0b3Jpbmcgc3RhdGljIGFuZCBmbHVpZCByZXNjYWxpbmdcbiAgICAkcmZzLXN0YXRpYzogbnVsbDtcbiAgICAkcmZzLWZsdWlkOiBudWxsO1xuXG4gICAgLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIEBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnMgLyAkcmZzLXJlbS12YWx1ZX1yZW0jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSBweCB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnN9cHgjeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xuICAgIH1cblxuICAgIC8vIE9ubHkgYWRkIG1lZGlhIHF1ZXJ5IGlmIGZvbnQtc2l6ZSBpcyBiaWdnZXIgYXMgdGhlIG1pbmltdW0gZm9udC1zaXplXG4gICAgLy8gSWYgJHJmcy1mYWN0b3IgPT0gMSwgbm8gcmVzY2FsaW5nIHdpbGwgdGFrZSBwbGFjZVxuICAgIEBpZiAkZnMgPiAkcmZzLWJhc2UtZm9udC1zaXplIGFuZCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICAkbWluLXdpZHRoOiBudWxsO1xuICAgICAgJHZhcmlhYmxlLXVuaXQ6IG51bGw7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUpIC8gJHJmcy1mYWN0b3I7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gZ2l2ZW4gZm9udC1zaXplIGFuZCBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgLy8gTm8gbmVlZCB0byBjaGVjayBpZiB0aGUgdW5pdCBpcyB2YWxpZCwgYmVjYXVzZSB3ZSBkaWQgdGhhdCBiZWZvcmVcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAjeyRmcy1taW4gLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIElmIHR3by1kaW1lbnNpb25hbCwgdXNlIHNtYWxsZXN0IG9mIHNjcmVlbiB3aWR0aCBhbmQgaGVpZ2h0XG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAjeyRmcy1kaWZmICogMTAwIC8gJHJmcy1icmVha3BvaW50fSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplLlxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcbiAgICB9XG5cbiAgICAvLyBSZW5kZXJpbmdcbiAgICBAaWYgJHJmcy1mbHVpZCA9PSBudWxsIHtcbiAgICAgIC8vIE9ubHkgcmVuZGVyIHN0YXRpYyBmb250LXNpemUgaWYgbm8gZmx1aWQgZm9udC1zaXplIGlzIGF2YWlsYWJsZVxuICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJG1xLXZhbHVlOiBudWxsO1xuXG4gICAgICAvLyBSRlMgYnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICBAaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcmVtIHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludCAvICRyZnMtcmVtLXZhbHVlfSN7JHJmcy1icmVha3BvaW50LXVuaXR9O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50fXB4O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgICAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LFxuICAgICAgICAvLyB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICAgICAmLFxuICAgICAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbiB1c2VzIFJGUyB0byByZXNjYWxlIGZvbnQgc2l6ZXNcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cygpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzKCkge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRG90cyAqL1xuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gRm9udHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi8vIGUtVWtyYWluZVxuXG4vLyBVbHRyYUxpZ2h0IChkZWZhdWx0KVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiZS1Va3JhaW5lXCI7XG4gICAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lLVVsdHJhTGlnaHQuZW90XCIpO1xuICAgIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1VbHRyYUxpZ2h0LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1VbHRyYUxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcbiAgICB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lLVVsdHJhTGlnaHQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1VbHRyYUxpZ2h0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbn1cblxuLy8gTGlnaHRcbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcImUtVWtyYWluZVwiO1xuICAgIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1MaWdodC5lb3RcIik7XG4gICAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lLUxpZ2h0LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1MaWdodC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gICAgdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1MaWdodC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lLUxpZ2h0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLy8gUmVndWxhclxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiZS1Va3JhaW5lXCI7XG4gICAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lLVJlZ3VsYXIuZW90XCIpO1xuICAgIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1SZWd1bGFyLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcbiAgICB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLy8gTWVkaXVtXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJlLVVrcmFpbmVcIjtcbiAgICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2UtVWtyYWluZS9lLVVrcmFpbmUtTWVkaXVtLmVvdFwiKTtcbiAgICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2UtVWtyYWluZS9lLVVrcmFpbmUtTWVkaXVtLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1NZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHVybChcIi4uLy4uL2ZvbnRzL2UtVWtyYWluZS9lLVVrcmFpbmUtTWVkaXVtLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHVybChcIi4uLy4uL2ZvbnRzL2UtVWtyYWluZS9lLVVrcmFpbmUtTWVkaXVtLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLy8gQm9sZFxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiZS1Va3JhaW5lXCI7XG4gICAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lLUJvbGQuZW90XCIpO1xuICAgIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1Cb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcbiAgICB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lLUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vLi4vZm9udHMvZS1Va3JhaW5lL2UtVWtyYWluZS1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuXG5cblxuXG5cblxuLy8gZS1Va3JhaW5lSGVhZFxuXG4vLyBVbHRyYUJvbGQgKGRlZmF1bHQpXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJlLVVrcmFpbmVIZWFkXCI7XG4gICAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lSGVhZC1Cb2xkLmVvdFwiKTtcbiAgICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2UtVWtyYWluZS9lLVVrcmFpbmVIZWFkLUJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lSGVhZC1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcbiAgICB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lSGVhZC1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHVybChcIi4uLy4uL2ZvbnRzL2UtVWtyYWluZS9lLVVrcmFpbmVIZWFkLUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4vLyBNZWRpdW1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcImUtVWtyYWluZUhlYWRcIjtcbiAgICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2UtVWtyYWluZS9lLVVrcmFpbmVIZWFkLU1lZGl1bS9lLVVrcmFpbmVIZWFkLU1lZGl1bS5lb3RcIik7XG4gICAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lSGVhZC1NZWRpdW0vZS1Va3JhaW5lSGVhZC1NZWRpdW0uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lSGVhZC1NZWRpdW0vZS1Va3JhaW5lSGVhZC1NZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHVybChcIi4uLy4uL2ZvbnRzL2UtVWtyYWluZS9lLVVrcmFpbmVIZWFkLU1lZGl1bS9lLVVrcmFpbmVIZWFkLU1lZGl1bS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB1cmwoXCIuLi8uLi9mb250cy9lLVVrcmFpbmUvZS1Va3JhaW5lSGVhZC1NZWRpdW0vZS1Va3JhaW5lSGVhZC1NZWRpdW0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHVybChcIi4uLy4uL2ZvbnRzL2UtVWtyYWluZS9lLVVrcmFpbmVIZWFkLU1lZGl1bS9lLVVrcmFpbmVIZWFkLU1lZGl1bS5zdmcjc3ZnRm9udE5hbWVcIikgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIE1peGluc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci1yYWRpaSgkdG9wbGVmdCwgJHRvcHJpZ2h0LCAkYm90dG9tcmlnaHQsICRib3R0b21sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHRvcGxlZnQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR0b3ByaWdodDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvdHRvbXJpZ2h0O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3R0b21sZWZ0O1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHRvcGxlZnQ7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHRvcHJpZ2h0O1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3R0b21yaWdodDtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3R0b21sZWZ0O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiAkdG9wbGVmdDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6ICR0b3ByaWdodDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6ICRib3R0b21yaWdodDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogJGJvdHRvbWxlZnQ7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5KSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06ICN7JHByb3BlcnR5fTtcbiAgICAtbW96LXRyYW5zZm9ybTogI3skcHJvcGVydHl9O1xuICAgIC1tcy10cmFuc2Zvcm06ICN7JHByb3BlcnR5fTtcbiAgICAtby10cmFuc2Zvcm06ICN7JHByb3BlcnR5fTtcbiAgICB0cmFuc2Zvcm06ICN7JHByb3BlcnR5fTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnR5LCAkZHVyYXRpb24sICRlYXNpbmc6IGxpbmVhcikge1xuICAgIHRyYW5zaXRpb246ICRwcm9wZXJ0eSAkZHVyYXRpb24gJGVhc2luZztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRwcm9wZXJ0eSAkZHVyYXRpb24gJGVhc2luZztcbiAgICAtbW96LXRyYW5zaXRpb246ICRwcm9wZXJ0eSAkZHVyYXRpb24gJGVhc2luZztcbiAgICAtby10cmFuc2l0aW9uOiAkcHJvcGVydHkgJGR1cmF0aW9uICRlYXNpbmc7XG59XG5cbkBtaXhpbiBhbmltYXRpb24oJG5hbWUsICRkdXJhdGlvbiwgJGVhc2luZzogbGluZWFyKSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246ICRuYW1lICRkdXJhdGlvbiAkZWFzaW5nO1xuICAgIC1vLWFuaW1hdGlvbjogJG5hbWUgJGR1cmF0aW9uICRlYXNpbmc7XG4gICAgYW5pbWF0aW9uOiAkbmFtZSAkZHVyYXRpb24gJGVhc2luZztcbn1cblxuQG1peGluIGJveC1zaXppbmcoKXtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBjc3MzIHJlYyAqL1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogZmYyICovXG4gICAgLW1zLWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIGllOCAqL1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogc2FmYXJpMyAqL1xuICAgIC1raHRtbC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBrb25xdWVyb3IgKi9cbn1cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHsgQGNvbnRlbnQ7IH1cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHsgQGNvbnRlbnQ7IH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGJveC1zaGFkb3ctbSgkdG9wLCAkbGVmdCwgJGJsdXIsICRzcHJlYWQsICRjb2xvciwgJGluc2V0OiBmYWxzZSkge1xuICAgIEBpZiAkaW5zZXQge1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgJHRvcCAkbGVmdCAkYmx1ciAkc3ByZWFkICRjb2xvcjtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93Omluc2V0ICR0b3AgJGxlZnQgJGJsdXIgJHNwcmVhZCAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6aW5zZXQgJHRvcCAkbGVmdCAkYmx1ciAkc3ByZWFkICRjb2xvcjtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkdG9wICRsZWZ0ICRibHVyICRzcHJlYWQgJGNvbG9yO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6ICR0b3AgJGxlZnQgJGJsdXIgJHNwcmVhZCAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6ICR0b3AgJGxlZnQgJGJsdXIgJHNwcmVhZCAkY29sb3I7XG4gICAgfVxufVxuXG4iLCIuY3VzdG9tLXNjcm9sbCB7XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOnVybCgnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgIGhlaWdodDogMHB4XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1zY3JvbGwtdGh1bWI7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1zY3JvbGwtdGh1bWItaG92ZXI7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1yZXNpemVye1xuICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6dXJsKCcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgICAgICB3aWR0aDo0cHg7XG4gICAgICAgIGhlaWdodDowcHhcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhcntcbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuXHJcbi8vIE1peGluc1xyXG5AbWl4aW4gY3Vyc29yLWRpc2FibGVkKCkge1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2l6aW5nKCRmbXQpIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6ICRmbXQ7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkZm10O1xyXG4gICAgICAgICAgYm94LXNpemluZzogJGZtdDtcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJGZtdCkge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJGZtdDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRmbXQ7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBmYWRlKCRjb2xvciwgJGFtbnQpIHtcclxuICBAaWYgJGFtbnQgPiAxIHtcclxuICAgICRhbW50OiAkYW1udCAvIDEwMDsgLy8gY29udmVydCB0byBwZXJjZW50YWdlIGlmIGludFxyXG4gIH1cclxuICBAcmV0dXJuIHJnYmEoJGNvbG9yLCAkYW1udCk7XHJcbn1cclxuXHJcbi8vIFJ1bGVzXHJcbnNlbGVjdC5icy1zZWxlY3QtaGlkZGVuLFxyXG4uYm9vdHN0cmFwLXNlbGVjdCA+IHNlbGVjdC5icy1zZWxlY3QtaGlkZGVuLFxyXG5zZWxlY3Quc2VsZWN0cGlja2VyIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ib290c3RyYXAtc2VsZWN0IHtcclxuICB3aWR0aDogMjIwcHggXFwwOyAvKklFOSBhbmQgYmVsb3cqL1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gIC8vIFRoZSBzZWxlY3RwaWNrZXIgYnV0dG9uXHJcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gbmVjZXNzYXJ5IGZvciBwcm9wZXIgcG9zaXRpb25pbmcgb2YgY2FyZXQgaW4gQm9vdHN0cmFwIDQgKHB1c2hlcyBjYXJldCB0byB0aGUgcmlnaHQpXHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAvLyBmb3JjZSBjYXJldCB0byBiZSB2ZXJ0aWNhbGx5IGNlbnRlcmVkIGZvciBCb290c3RyYXAgNCBtdWx0aS1saW5lIGJ1dHRvbnNcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmJzLXBsYWNlaG9sZGVyIHtcclxuICAgICAgJixcclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyxcclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuYnRuLXByaW1hcnksXHJcbiAgICAgICYuYnRuLXNlY29uZGFyeSxcclxuICAgICAgJi5idG4tc3VjY2VzcyxcclxuICAgICAgJi5idG4tZGFuZ2VyLFxyXG4gICAgICAmLmJ0bi1pbmZvLFxyXG4gICAgICAmLmJ0bi1kYXJrIHtcclxuICAgICAgICAmLFxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICBjb2xvcjogJGlucHV0LWFsdC1jb2xvci1wbGFjZWhvbGRlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gID4gc2VsZWN0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAwLjVweCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB6LWluZGV4OiAwICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgJi5tb2JpbGUtZGV2aWNlIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICB6LWluZGV4OiAyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBFcnJvciBkaXNwbGF5XHJcbiAgLmhhcy1lcnJvciAmIC5kcm9wZG93bi10b2dnbGUsXHJcbiAgLmVycm9yICYgLmRyb3Bkb3duLXRvZ2dsZSxcclxuICAmLmlzLWludmFsaWQgLmRyb3Bkb3duLXRvZ2dsZSxcclxuICAud2FzLXZhbGlkYXRlZCAmIC5zZWxlY3RwaWNrZXI6aW52YWxpZCArIC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItcmVkLWVycm9yO1xyXG4gIH1cclxuXHJcbiAgJi5pcy12YWxpZCAuZHJvcGRvd24tdG9nZ2xlLFxyXG4gIC53YXMtdmFsaWRhdGVkICYgLnNlbGVjdHBpY2tlcjp2YWxpZCArIC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ3JlZW4tc3VjY2VzcztcclxuICB9XHJcblxyXG4gICYuZml0LXdpZHRoIHtcclxuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmOm5vdChbY2xhc3MqPVwiY29sLVwiXSk6bm90KFtjbGFzcyo9XCJmb3JtLWNvbnRyb2xcIl0pOm5vdCguaW5wdXQtZ3JvdXAtYnRuKSB7XHJcbiAgICB3aWR0aDogJHdpZHRoLWRlZmF1bHQ7XHJcbiAgfVxyXG5cclxuICA+IHNlbGVjdC5tb2JpbGUtZGV2aWNlOmZvY3VzICsgLmRyb3Bkb3duLXRvZ2dsZSxcclxuICAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkICMzMzMzMzMgIWltcG9ydGFudDtcclxuICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUaGUgc2VsZWN0cGlja2VyIGNvbXBvbmVudHNcclxuLmJvb3RzdHJhcC1zZWxlY3Qge1xyXG4gICYuZm9ybS1jb250cm9sIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuICAgIDpub3QoLmlucHV0LWdyb3VwKSA+ICY6bm90KFtjbGFzcyo9XCJjb2wtXCJdKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICYuaW5wdXQtZ3JvdXAtYnRuIHtcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIHotaW5kZXg6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybS1pbmxpbmUgJixcclxuICAuZm9ybS1pbmxpbmUgJi5mb3JtLWNvbnRyb2w6bm90KFtjbGFzcyo9XCJjb2wtXCJdKSB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICB9XHJcblxyXG4gICY6bm90KC5pbnB1dC1ncm91cC1idG4pLFxyXG4gICZbY2xhc3MqPVwiY29sLVwiXSB7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gRm9yY2VzIHRoZSBwdWxsIHRvIHRoZSByaWdodCwgaWYgbmVjZXNzYXJ5XHJcbiAgJixcclxuICAmW2NsYXNzKj1cImNvbC1cIl0sXHJcbiAgLnJvdyAmW2NsYXNzKj1cImNvbC1cIl0ge1xyXG4gICAgJi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm0taW5saW5lICYsXHJcbiAgLmZvcm0taG9yaXpvbnRhbCAmLFxyXG4gIC5mb3JtLWdyb3VwICYge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gIC5mb3JtLWdyb3VwLWxnICYuZm9ybS1jb250cm9sLFxyXG4gIC5mb3JtLWdyb3VwLXNtICYuZm9ybS1jb250cm9sIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuZm9ybS1jb250cm9sLXNtIC5kcm9wZG93bi10b2dnbGUsXHJcbiAgJi5mb3JtLWNvbnRyb2wtbGcgLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAmLmZvcm0tY29udHJvbC1zbSAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcclxuICB9XHJcblxyXG4gICYuZm9ybS1jb250cm9sLWxnIC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xyXG4gIH1cclxuXHJcbiAgLy8gU2V0IHRoZSB3aWR0aCBvZiB0aGUgbGl2ZSBzZWFyY2ggKGFuZCBhbnkgb3RoZXIgZm9ybSBjb250cm9sIHdpdGhpbiBhbiBpbmxpbmUgZm9ybSlcclxuICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3NpbHZpb21vcmV0by9ib290c3RyYXAtc2VsZWN0L2lzc3Vlcy82ODVcclxuICAuZm9ybS1pbmxpbmUgJiAuZm9ybS1jb250cm9sIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgJi5kaXNhYmxlZCxcclxuICA+IC5kaXNhYmxlZCB7XHJcbiAgICBAaW5jbHVkZSBjdXJzb3ItZGlzYWJsZWQoKTtcclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5icy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG5cclxuICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgei1pbmRleDogJHppbmRleC1zZWxlY3QtZHJvcGRvd247XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgc2VsZWN0cGlja2VyIGJ1dHRvblxyXG4gIC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgLmZpbHRlci1vcHRpb24ge1xyXG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBmbGV4OiAwIDEgYXV0bzsgLy8gZm9yIElFMTBcclxuXHJcbiAgICAgIEBhdC1yb290IC5iczMjeyZ9IHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBpbmhlcml0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAYXQtcm9vdCAuaW5wdXQtZ3JvdXAgLmJzMy1oYXMtYWRkb24jeyZ9IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IGluaGVyaXQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGluaGVyaXQ7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBpbmhlcml0O1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG5cclxuICAgICAgICAuZmlsdGVyLW9wdGlvbi1pbm5lciB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWx0ZXItb3B0aW9uLWlubmVyLWlubmVyIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAvLyB1c2VkIHRvIGV4cGFuZCB0aGUgaGVpZ2h0IG9mIHRoZSBidXR0b24gd2hlbiBpbnNpZGUgYW4gaW5wdXQgZ3JvdXBcclxuICAgIC5maWx0ZXItZXhwYW5kIHtcclxuICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAuY2FyZXQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICByaWdodDogMTJweDtcclxuICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cCAmLmZvcm0tY29udHJvbCAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAmW2NsYXNzKj1cImNvbC1cIl0gLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBzZWxlY3RwaWNrZXIgZHJvcGRvd25cclxuICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xyXG5cclxuICAgID4gLmlubmVyOmZvY3VzIHtcclxuICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICYuaW5uZXIge1xyXG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmLmFjdGl2ZSBzbWFsbCB7XHJcbiAgICAgICAgY29sb3I6ICRpbnB1dC1hbHQtY29sb3ItcGxhY2Vob2xkZXIgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5kaXNhYmxlZCBhIHtcclxuICAgICAgICBAaW5jbHVkZSBjdXJzb3ItZGlzYWJsZWQoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICAgICAgICAmLm9wdCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMjVlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4uY2hlY2stbWFyayB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3Bhbi50ZXh0IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNtYWxsIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5vdGlmeSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiA1cHg7XHJcbiAgICAgIHdpZHRoOiA5NiU7XHJcbiAgICAgIG1hcmdpbjogMCAyJTtcclxuICAgICAgbWluLWhlaWdodDogMjZweDtcclxuICAgICAgcGFkZGluZzogM3B4IDVweDtcclxuICAgICAgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjI3LCAyMjcsIDIyNyk7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IGZhZGUocmdiKDAsIDAsIDApLCA1KSk7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICBvcGFjaXR5OiAwLjk7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubm8tcmVzdWx0cyB7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xyXG4gICAgbWFyZ2luOiAwIDVweDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgfVxyXG5cclxuICAmLmZpdC13aWR0aCAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIC5maWx0ZXItb3B0aW9uIHtcclxuICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5maWx0ZXItb3B0aW9uLWlubmVyLFxyXG4gICAgLmZpbHRlci1vcHRpb24taW5uZXItaW5uZXIge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmJzLWNhcmV0OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYTAnO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXJldCB7XHJcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgIHRvcDogYXV0bztcclxuICAgICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuc2hvdy10aWNrIC5kcm9wZG93bi1tZW51IHtcclxuICAgIC5zZWxlY3RlZCBzcGFuLmNoZWNrLW1hcmsge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgIHRvcDogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGxpIGEgc3Bhbi50ZXh0IHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAzNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gZGVmYXVsdCBjaGVjayBtYXJrIGZvciB1c2Ugd2l0aG91dCBhbiBpY29uIGZvbnRcclxuICAuYnMtb2stZGVmYXVsdDphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDAuNWVtO1xyXG4gICAgaGVpZ2h0OiAxZW07XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDAuMjZlbSAwLjI2ZW0gMDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbi5ib290c3RyYXAtc2VsZWN0LnNob3ctbWVudS1hcnJvdyB7XHJcbiAgJi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSxcclxuICAmLnNob3cgPiAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIHotaW5kZXg6ICgkemluZGV4LXNlbGVjdC1kcm9wZG93biArIDEpO1xyXG4gIH1cclxuXHJcbiAgLmRyb3Bkb3duLXRvZ2dsZSAuZmlsdGVyLW9wdGlvbiB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICRjb2xvci1ncmV5LWFycm93O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogLTRweDtcclxuICAgICAgbGVmdDogOXB4O1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB3aGl0ZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IC00cHg7XHJcbiAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgYm90dG9tOiBhdXRvO1xyXG4gICAgICB0b3A6IC00cHg7XHJcbiAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAkY29sb3ItZ3JleS1hcnJvdztcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgYm90dG9tOiBhdXRvO1xyXG4gICAgICB0b3A6IC00cHg7XHJcbiAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCB3aGl0ZTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYucHVsbC1yaWdodCAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgcmlnaHQ6IDEycHg7XHJcbiAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIHJpZ2h0OiAxM3B4O1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSAuZmlsdGVyLW9wdGlvbixcclxuICAmLnNob3cgPiAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uIHtcclxuICAgICY6YmVmb3JlLFxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJzLXNlYXJjaGJveCxcclxuLmJzLWFjdGlvbnNib3gsXHJcbi5icy1kb25lYnV0dG9uIHtcclxuICBwYWRkaW5nOiA0cHggOHB4O1xyXG59XHJcblxyXG4uYnMtYWN0aW9uc2JveCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcclxuXHJcbiAgJiAuYnRuLWdyb3VwIGJ1dHRvbiB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gIH1cclxufVxyXG5cclxuLmJzLWRvbmVidXR0b24ge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XHJcblxyXG4gICYgLmJ0bi1ncm91cCBidXR0b24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4uYnMtc2VhcmNoYm94IHtcclxuICAmICsgLmJzLWFjdGlvbnNib3gge1xyXG4gICAgcGFkZGluZzogMCA4cHggNHB4O1xyXG4gIH1cclxuXHJcbiAgJiAuZm9ybS1jb250cm9sIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gIH1cclxufVxyXG4iLCIuZm9ybS1ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1pbnB1dDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwYWRkaW5nOiBlbSgxOCkgMzBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LVVrcjtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1Va3I7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE4LDE4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtcGxhY2Vob2xkZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbWQtbWF4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMXB4IDFweCAkY29sb3ItdGV4dC1lcnJvcjtcbiAgICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAxcHggMXB4ICRjb2xvci10ZXh0LWVycm9yO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxcHggMXB4ICRjb2xvci10ZXh0LWVycm9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGVtKDI1MCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1pbnB1dDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwYWRkaW5nOiBlbSgxOCkgMzBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LVVrcjtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LVVrcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTgsMTgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1wbGFjZWhvbGRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1tZC1tYXgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1pbnZhbGlkIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAxcHggMXB4ICRjb2xvci10ZXh0LWVycm9yO1xuICAgICAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDFweCAxcHggJGNvbG9yLXRleHQtZXJyb3I7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAxcHggJGNvbG9yLXRleHQtZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlucHV0LWluc2V0LWxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgIH1cbiAgICAgICAgPiBsYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgYm90dG9tOiA1MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSg1MCUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtcGxhY2Vob2xkZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHRleHQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsICRnZW5lcmFsLXRyYW5zaXRpb24tdGltZSwgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LW1kLW1heCkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyA1cHgpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE0LDE4KTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKG5vbmUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSAtIDNlbSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogY2FsYygxMDAlICsgNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCwxOCk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShub25lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5pbi1mb2N1cyB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArIDVweCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCwxOCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ib290c3RyYXAtc2VsZWN0IHtcbiAgICAgICAgICAgIC5idG4tcmVjdCB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogZW0oNjApO1xuICAgICAgICAgICAgICAgICYuYnMtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyLW9wdGlvbi1pbm5lci1pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi51cGxvYWQtZmlsZSB7XG4gICAgICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShub25lKTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBlbSg2MCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi41ZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbWQtbWF4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRleHQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoNTAlKSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LXBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtcGxhY2Vob2xkZXI7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsICRnZW5lcmFsLXRyYW5zaXRpb24tdGltZSwgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbWQtbWF4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmFkZCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMWVtO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1wbGFjZWhvbGRlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIC50ZXh0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyA1cHgpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE0LDE4KTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKG5vbmUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucm91bmQge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nOiBlbSgxMiwxOCkgMmVtO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLXdoaXRlO1xuICAgICAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRhdGVwaWNrZXItd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbnMge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDFlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYi1saW5lIHtcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgcGFkZGluZzogZW0oNSkgMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiBlbSgxMCk7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtcGxhY2Vob2xkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCwxOCk7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1lcnJvcjtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LW1kLW1heCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5jaGVrLXdyYXAsXG4ucmFkaW8td3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY2hlY2tib3g7XG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LXBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICsgbGFiZWwge1xuXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjAlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItY2hlY2tib3g7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgID4gbGFiZWwsIHNwYW4ubGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWluLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2UgKyBlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGVtKDQwKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGVtKDIpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgLjJzLCBlYXNlLWluLW91dCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogZW0oMjQpO1xuICAgICAgICAgICAgaGVpZ2h0OiBlbSgyNCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYm9yZGVyLWNoZWNrYm94O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNoZWNrYm94O1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIC4ycywgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBlbSgxNCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBlbSg4KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiBlbSg0KTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBlbSgzKTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJvcmRlci1jaGVja2JveDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRib3JkZXItY2hlY2tib3g7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNTBkZWcpKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgLjJzLCBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDEuMzVlbSk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTQsMTgpO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtZXJyb3I7XG4gICAgfVxufVxuXG4udXBsb2FkLWZpbGUge1xuICAgIGlucHV0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC8vdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgICYuaW5wdXQtaW5zZXQtbGFiZWwgaW5wdXQ6Zm9jdXMge1xuICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB9XG4gICAgfVxuICAgID4gbGFiZWwsID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWlucHV0O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IGVtKDE4KSAzMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtVWtyO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gICAgJi5tZWRpYSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAzMHB4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMy4zJSAtIDMwcHgpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1tZC1tYXgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1zbS1tYXgpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiBsYWJlbCwgPiBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwMCUgMCAwIDA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBzcGFuLmxvY2tpbmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuLmFkZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLC01MCUpKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItdGV4dC1wbGFjZWhvbGRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDg1cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtcGxhY2Vob2xkZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3Bhbi5maWVsZC1jbG9zZSwgYS5maWVsZC1jbG9zZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBpbWcsXG4gICAgICAgICAgICA+IHZpZGVvIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5sb2FkIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1pbnB1dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxvYWRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwtNTAlKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1pbnB1dDtcbiAgICAgICAgfVxuICAgICAgICAuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5kb2MsICYuaW1hZ2UtcGRmIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuLnJlbW92ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtcGxhY2Vob2xkZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiBsYWJlbCwgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LXBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3Bhbi5sb2NraW5nIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3Bhbi5hZGQsXG4gICAgICAgICAgICBzcGFuLmZpZWxkLWNsb3NlLFxuICAgICAgICAgICAgYS5maWVsZC1jbG9zZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICAvL3BhZGRpbmctdG9wOiAuMzVlbTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICByaWdodDogLjVlbTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1pbnB1dDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1pbnB1dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaW1hZ2UtcGRme1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oaWRkZW4tcGFyYW1ldGVycyB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG5sYWJlbFtoaWRkZW5dIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZm9udC1zaXplOiAwO1xufVxuIiwiLnNvY2lhbCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IDJlbTtcbiAgICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgJGJ0bi10cmFuc2l0aW9uLCBlYXNlLWluLW91dCk7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5mYiB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWcvc29jaWFsL2ZiX2NvbG9yLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYudHcge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1nL3NvY2lhbC90d19jb2xvci5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnRsIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltZy9zb2NpYWwvdGxfY29sb3IucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5pbiB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWcvc29jaWFsL2luX2NvbG9yLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYnRuIHtcbiAgICAgICAgICAgIHdpZHRoOiAyLjc3Nzc4ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNzc3NzhlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGVtKDEwLDE4KSAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxZW0pO1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDFlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyguOWVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbnMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgICYuaWNvbi1saW5rZWRpbi1ub3QtYm9yZGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMzVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNoYXJlLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi10b3A6IGVtKDEyMCk7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBlbSg2MCk7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1tZC1tYXgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC50aXRsZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyZW07XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LW1kLW1heCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiXG5cbi51aS1kYXRlcGlja2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtYmc7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB3aWR0aDogZW0oNDAwKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZHAtYm9yZGVyO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1zbS1tYXgpIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgJi1pbmxpbmUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogZW0oMjUpIDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLWRhdGVwaWNrZXItdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgzMCk7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogZW0oMTIpIGVtKDE4KSBlbSgxMikgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBlbSgxMikgMCBlbSgxMikgZW0oMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xuICAgICAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJlbSBzb2xpZCAkZHAtYmctdGhlYWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMmVtIHNvbGlkICRkcC1iZy10aGVhZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gc3BhbiwgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtaGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiBlbSgxNSkgMDtcbiAgICB9XG5cbiAgICAmLXByZXYsXG4gICAgJi1uZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICB3aWR0aDogZW0oNTApO1xuICAgICAgICBoZWlnaHQ6IGVtKDUwKTtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwtNTAlKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXByZXYge1xuICAgICAgICBsZWZ0OiAuNWVtO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBlbSg4KSBlbSgxMikgZW0oOCkgMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRleHQtY29sb3ItYmFzZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAuNWVtO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBlbSg4KSAwIGVtKDgpIGVtKDEyKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICYtbW9udGgge1xuXG4gICAgfVxuXG4gICAgJi15ZWFyIHtcblxuICAgIH1cblxuICAgICYtY2FsZW5kYXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1zbS1tYXgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtYmctdGhlYWQ7XG4gICAgICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGVtKDU0LDIyKTtcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMWVtIHNvbGlkICRkcC1iZy10aGVhZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxZW0gc29saWQgJGRwLWJnLXRoZWFkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0ciB7XG5cbiAgICAgICAgfVxuICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gc3BhbiwgPiBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAuNzVlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktc3RhdGUge1xuICAgICAgICAmLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC4yO1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJcbi8vIENTUyBBQ0NPUkRJT05cblxuLy8gQWNjb3JkaW9uIGJhc2UgbGF5b3V0XG4lYWNjb3JkaW9uLWJhc2UtbGF5b3V0IHtcblxuXHRmb250LXNpemU6IDFlbTtcblxuXHQuYWNjb3JkaW9uX19pdGVtIHtcblx0XHRib3JkZXItdG9wOiAycHggc29saWQgJHRleHQtY29sb3ItYmFzZTtcblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0fVxuXHR9XG5cblx0LmFjY29yZGlvbl9faGVhZCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRwYWRkaW5nOiBlbSg0MiwzMCkgMDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Zm9udC1zaXplOiBlbSgzMCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgJGdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLCBlYXNlLWluLW91dCk7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xuICAgICAgICB9XG5cblx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMWVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMWVtO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWFjY29yZGlvbi1oZWFkLWhvdmVyO1xuXHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuICAgICAgICAgICAgfVxuXHRcdH1cblxuXHRcdD4gKiB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRmb250LXdlaWdodDogaW5oZXJpdDtcblx0XHRcdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXHRcdH1cblxuXHRcdC50aXRsZSB7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHQgICAgY29udGVudDogJysnO1xuXHRcdCAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXHRcdH1cblxuXHR9XG5cblx0LmFjY29yZGlvbl9fYm9keSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRwYWRkaW5nLWJvdHRvbTogMmVtO1xuXHRcdC8vcGFkZGluZy1yaWdodDogMTAlO1xuXHRcdC8vQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblx0XHQvL1x0cGFkZGluZzogMmVtIDA7XG5cdFx0Ly99XG5cdFx0LmYtdGV4dC1ibG9jayB7XG5cdFx0XHQ+ICoge1xuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuXG4vLyBUaGVtZSAtIFdoaXRlLUdyYXlcbiV0aGVtZS13aGl0ZS1ncmV5IHtcblxuXHQuYWNjb3JkaW9uX19pdGVtIHtcblxuXHRcdCYub3BlbiB7XG5cdFx0XHQ+IC5hY2NvcmRpb25fX2hlYWQge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG5cdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiAnLSc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdC5hY2NvcmRpb25fX2hlYWQge1xuXHRcdC8vYmFja2dyb3VuZC1jb2xvcjogJGJnLWFjY29yZGlvbi1oZWFkLWhvdmVyO1xuXHR9XG5cbn1cblxuLmFjY29yZGlvbiB7XG5cdEBleHRlbmQgJWFjY29yZGlvbi1iYXNlLWxheW91dDtcblx0QGV4dGVuZCAldGhlbWUtd2hpdGUtZ3JleTtcblxuXHQuYWNjb3JkaW9uX19ib2R5IHtcblx0XHQuZi10ZXh0LWJsb2NrIHtcblx0XHRcdD4gKiB7XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLnRhZ3Mge1xuICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCwyMCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHBhZGRpbmc6IC4yNWVtIDFlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxZW0pO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgID4gc3BhbiwgPiBpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoM2VtKTtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJ0bi13aGl0ZS1ib3JkZXItZ3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsICRidG4tdHJhbnNpdGlvbiwgZWFzZS1pbi1vdXQpO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4td2hpdGUtYmc7XG4gICAgICAgIH1cbiAgICAgICAgJi5zdGF0ZS1hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRidG4td2hpdGUtYmc7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRidG4tYmxhY2stYmc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWJsYWNrLWJnO1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBmb250LXNpemU6IGVtKDE4LDE2KTtcbiAgICAgICAgcGFkZGluZzogLjE1ZW0gMWVtIC4xNWVtIDA7XG4gICAgfVxuICAgICZfX2dyZXkge1xuICAgICAgICA+IGEge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBwYWRkaW5nOiAuMjVlbSAxZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy10YWdzLWdyYXk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDFlbSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICA+IHNwYW4sID4gaSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy10YWdzLWdyYXktaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5zdGF0ZS1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy10YWdzLWdyYXktaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudmlkZW8td3JhcCB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICB2aWRlbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAzOTBweDtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmJvb3RzdHJhcC1zZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IGVtKDE4KTtcbiAgICAmOm5vdChbY2xhc3MqPWNvbC1dKTpub3QoW2NsYXNzKj1mb3JtLWNvbnRyb2xdKTpub3QoLmlucHV0LWdyb3VwLWJ0bikge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgPiBzZWxlY3Qge1xuICAgICAgICAmLmlzLWludmFsaWQge1xuICAgICAgICAgICAgfiAuYnRuIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMXB4IDFweCAkY29sb3ItdGV4dC1lcnJvcjtcbiAgICAgICAgICAgICAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMXB4IDFweCAkY29sb3ItdGV4dC1lcnJvcjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAxcHggJGNvbG9yLXRleHQtZXJyb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zaG93IHtcbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5idG4ge1xuICAgICAgICBmb250LXNpemU6IGVtKDE4LDE4KTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi1yb3VuZCB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCwxOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMC43NWVtIHNvbGlkICRiZy1kYXJrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMC41ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMC41ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsICRnZW5lcmFsLXRyYW5zaXRpb24tdGltZSwgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtcmVjdCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWlucHV0O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGVtKDE4KSAzMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMCwxOCk7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5kcm9wdXAge1xuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICYtcmVjdCB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB6LWluZGV4OiAxMDAxO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgLmJzLXNlYXJjaGJveCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiBlbSg2MCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgICAgICB9XG4gICAgICAgIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWFjdGl2ZS1vcHRpb247XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctYWN0aXZlLW9wdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gc3Bhbi50ZXh0IHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICA+IGxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICB0b3A6IGVtKDIyLDE4KTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtcGxhY2Vob2xkZXI7XG4gICAgICAgIGN1cnNvcjogdGV4dDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsICRnZW5lcmFsLXRyYW5zaXRpb24tdGltZSwgZWFzZS1pbi1vdXQpO1xuICAgIH1cblxuICAgICYuc2VsZWN0LW11bHRpcGxlIHtcbiAgICAgICAgJiA+IC5kcm9wZG93bi10b2dnbGV7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNhcm91c2VsLXdpZHRoLTEwMCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLy5jYXJvdXNlbC1jYXJkcyB7XG4gICAgLy8gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIC8vICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgLy99XG59XG5cbi5zbGljay1zbGlkZXIge1xuXG4gICAgJi5jYXJvdXNlbC1jYXJkcyB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IGVtKDcwKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmX190aHJlZSB7XG4gICAgICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMyUgLSAzNHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2xpY2stbGlzdCwgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmX19mb3VyIHtcbiAgICAgICAgICAgIC50ZWFjaGVycyB7XG4gICAgICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDM0cHgpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3Vic2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAmX190b3BpYyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDM0cHgpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGVtKC04LDQwKTtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oNDApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShub25lKTtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDMwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctZGlzYWJsZWQ7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmljb25zIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc2xpY2stcHJldiB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIuMmVtO1xuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIuNWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGVtKDgsNDApO1xuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGVtKDEyLDMwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuXG59XG4iLCIuZmlsdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNGVtO1xuXG4gICAgJi50YWdzLXNob3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWcvYm9yZGVyLWdyYWRpZW50LmpwZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBlbSg0NSk7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAudGFncyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogZW0oNiwxNik7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgICAgICAgfiAuY29udHJvbC1maWx0ZXItbW9iIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxLjVlbSk7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJtaXQtZmlsdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZmlsdGVyLWNsZWFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGVtKDEwKTtcbiAgICAgICAgcmlnaHQ6IGVtKC02MCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IGVtKDQwKTtcbiAgICAgICAgaGVpZ2h0OiBlbSg0MCk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmW2RhdGEtcGxhY2VtZW50PVwicmlnaHRcIl0ge1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTY1OXB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmW2RhdGEtcGxhY2VtZW50PVwidG9wXCJdIHtcbiAgICAgICAgICAgIC50b29sdGlwIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZW0oNzAsMTQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBlbSgyMCwxNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTY2MHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudG9vbHRpcCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdG9vZ2xlLWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IGVtKDQwKTtcbiAgICAgICAgaGVpZ2h0OiBlbSg0MCk7XG4gICAgICAgIG1hcmdpbi10b3A6IGVtKDgpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJltkYXRhLXBsYWNlbWVudD1cInJpZ2h0XCJdIHtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2NTlweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJltkYXRhLXBsYWNlbWVudD1cInRvcFwiXSB7XG4gICAgICAgICAgICAudG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgbGVmdDogMTAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZW0oNDAsMTQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBlbSgyMCwxNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTY2MHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudG9vbHRpcCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bnMtd3JhcCB7XG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiBlbSgxNiwxOCkgLjVlbTtcbiAgICAgICAgfVxuICAgICAgICAmLmNvbnRyb2wtZmlsdGVyLW1vYiB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcG9pbnQtbGctbWluKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5idG4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAuNWVtIDAgMS41ZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGVtKDU4LDE4KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICZfX3doaXRlOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib290c3RyYXAtc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZW0oMzUpO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjM4ZW07XG4gICAgICAgIH1cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE4LDE4KTtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLXJvdW5kIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEuNWVtO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGVtKDU4LDE4KTtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCwxOCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbWQtbWF4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1MCU7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNiwxOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkaXYuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICAgICAgICAgIC5icy1zZWFyY2hib3gge1xuICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgJi5yb3VuZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBlbSgzNSk7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IGVtKDE2LDE4KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZW0oMTYsMTgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE0LDE0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRucy13cmFwIHtcbiAgICAgICAgJi5zdWJtaXQtZmlsdGVyIHtcblxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCIudG9vbHRpcCB7XG4gICAgJi5icy10b29sdGlwLXRvcCB7XG5cbiAgICB9XG4gICAgJi1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IC41ZW07XG4gICAgICAgIG1hcmdpbjogZW0oMTAsMTQpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRvb2x0aXAtYm9yZGVyLWNvbG9yO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKC41ZW0pO1xuICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICB9XG59IiwiLnBhZ2luYXRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICA+IGEsID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgcGFkZGluZzogZW0oMTAsMjQpO1xuICAgICAgICBmb250LXNpemU6IGVtKDI0KTtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXBhZ2luYXRpb247XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LXNtLW1heCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgIH1cbiAgICAgICAgJi5wcmV2LFxuICAgICAgICAmLm5leHQsXG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICA+IGEge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICAgICYucHJldiB7XG4gICAgICAgICAgICAuaWNvbnMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjc1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICAgIC5pY29ucyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC43NWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYucHJldixcbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pY29ucyB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRyb2wge1xuICAgICAgICBwYWRkaW5nLXRvcDogM2VtO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4ucGFnaW5hdGlvbmpzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLXBhZ2luYXRpb247XG4gICAgdWwge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGVtKDEwLDI0KSBlbSgxMywyNCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyNCk7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1zbS1tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtcHJldixcbiAgICAmLW5leHQge1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmljb25zIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtcHJldiB7XG4gICAgICAgIC5pY29ucyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC43NWVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICYtbmV4dCB7XG4gICAgICAgIC5pY29ucyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLjc1ZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi1wYWdlIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm5hdi10YWJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgLy9ib3JkZXItYm90dG9tOiAycHggc29saWQgJHRleHQtY29sb3ItdGFicztcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IGVtKDcwKTtcbiAgICBAZXh0ZW5kIC5jdXN0b20tc2Nyb2xsO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFye1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWNvbG9yLXRhYnM7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiAtMnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIC5uYXYtbGluaywgPiBhIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkdGV4dC1jb2xvci10YWJzO1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyNik7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItdGFicztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LXhsLW1heCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi50YWJzLWNvbC0yIHtcbiAgICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1vcmUtdGV4dCB7XG4gICAgICAgIC5uYXYtaXRlbSB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCIudGVhY2hlcnMge1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xuICAgICAgICB9XG4gICAgICAgIC5pbWctd3JhcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgICAgICAgID4gaW1nIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmFtZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIuN2VtO1xuICAgICAgICBtYXJnaW4tdG9wOiAuNWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgICAgICBmb250LXNpemU6IGVtKDI0KTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LW1kLW1heCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LW1kLW1heCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcG9zaXRpb24ge1xuICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWdyZXk7XG4gICAgfVxuXG59XG4iLCIubG9hZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDgwdmg7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsICRnZW5lcmFsLXRyYW5zaXRpb24tdGltZSwgZWFzZS1pbi1vdXQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWxvYWRlcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsICRnZW5lcmFsLXRyYW5zaXRpb24tdGltZSwgZWFzZS1pbi1vdXQpO1xuICAgIH1cbn1cblxuLmxvYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgd2lkdGg6IDEzNnB4O1xuICAgIGhlaWdodDogMTM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMzAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLmNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICByaWdodDogMnB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIC5pY29ucyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDkwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJsYWNrLXVuZGVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAucm90YXRhYmxlLXVuaXQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiByb3RhdGlvbiAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgICAgICAgICB0b3A6IC0yOHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM4ZWRhY2IgMCwgIzdhYmFjZSAxMDAlKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0aW9uIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59IiwiLmdyYXBoaWNzLXdyYXAge1xuICAgIG1hcmdpbjogM2VtIDA7XG4gICAgLmNoYXJ0LWxlZ2VuZCB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB0b3A6IC40NWVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaGFydC10aXRsZSB7XG4gICAgaGVpZ2h0OiAyLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC1zaXplOiBlbSgzMCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY2hhcnQtd3JhcCB7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJltkYXRhLWNoYXJ0LXR5cGU9XCJwaWVcIl0ge1xuICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDJlbTtcbiAgICB9XG59XG5cbi5jaGFydC13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBzcGFuLmxvYWRpbmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwtNTAlKSk7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTHVjaWRhIEdyYW5kZScsICdMdWNpZGEgU2FucyBVbmljb2RlJywgVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICB9XG4gICAgLmxvYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLC01MCUpKTtcbiAgICB9XG59XG4iLCIuc3RhY2t0YWJsZSB7XG5cbiAgICAmLnNtYWxsLW9ubHkge1xuICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgICAgLy9ib3JkZXItY29sbGFwc2U6IGluaXRpYWw7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRwb2ludC1sZy1taW4pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnN0LWhlYWQtcm93IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICRiZy13aGl0ZS1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc3QtaGVhZC1yb3ctbWFpbiB7XG4gICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiBlbSgxMCwxNCkgZW0oMTUsMTQpIGVtKDEwLDE0KSBlbSgxNSwxNCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctd2hpdGUtZGVlcDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGVtKDE1LDE0KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBlbSgxNSwxNCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctd2hpdGUtbGlnaHQ7XG4gICAgICAgICAgICAvL2JvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNiwxNCk7XG4gICAgICAgIH1cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGVtKDE1LDE0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuc3Qta2V5IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnN0LXZhbCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLndpZHRoLTEtMiB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0Ym9keSwgdHIsIHRoLCB0ZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAudGV4dC1ibG9jayB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3QtaGVhZC1yb3cge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogZW0oMTUsMTQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sYXJnZS1vbmx5IHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLnBvcHVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxMDAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctcG9wdXAtYmFjaztcbiAgICBmb250LXNpemU6IDFlbTtcblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgICAgcGFkZGluZzogNjBweCA5MHB4IDMwcHggOTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLXBvcHVwLWNvbnRlbnQ7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMTVweCAyMHB4IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkZXIsXG4gICAgJl9fYm9keSxcbiAgICAmX19mb290ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgLjVlbSAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IGVtKDM2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWItdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjYpO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLmltYWdlcy1ibG9jayB7XG4gICAgLnRpdGxlLXRleHQge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgICAuaW1hZ2UtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW1hZ2Utd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWdyYXktbGlnaHQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGEge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAvL3dpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy9oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAvL2xlZnQ6IDA7XG4gICAgICAgICAgICAvL3RvcDogMDtcblxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnZpZGVvLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1ncmF5LWxpZ2h0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgdmlkZW8ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy93aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8vaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgLy9sZWZ0OiAwO1xuICAgICAgICAgICAgLy90b3A6IDA7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbWFnZS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xuICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cbn1cbiIsIi5nby10by1hbmNob3JzIHtcbiAgICAuZ28tdG8tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogZW0oNDAsMzApIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkdGV4dC1jb2xvci1iYXNlO1xuICAgICAgICBmb250LXNpemU6IGVtKDMwKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkdGV4dC1jb2xvci1iYXNlO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaWNvbnMge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDkwZGVnKSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnVpLWF1dG9jb21wbGV0ZXtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01cHgpKTtcbiAgICAudWktbWVudS1pdGVte1xuICAgICAgICAudWktbWVudS1pdGVtLXdyYXBwZXJ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcbiAgICAgICAgICAgICYudWktc3RhdGUtYWN0aXZlLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1hY3RpdmUtb3B0aW9uO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1hY3RpdmUtb3B0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmV2ZW50cy1jYWxlbmRhciB7XG5cbiAgICAmX19kYXRlcGlja2VyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDIwKTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQteGwtbWF4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1zbS1tYXgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS1kYXRlcGlja2VyLWRheXMtY2VsbC1vdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICA+IHNwYW4sID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtc20tbWF4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gc3BhbiwgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZXZlbnRzLWRheSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IGVtKDQsMjIpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGVtKDEzLDIyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogZW0oMTMsMjIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBlbSg2LDIyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoZW0oMiwyMikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLndvcmxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtcG9pbnQtYmctaW1wO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi51a3JhaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtcG9pbnQtYmctZXhwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi5vbmxpbmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcC1wb2ludC1iZy1vbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ub3RlcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDQwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1zbS1tYXgpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtc20tbWF4KSB7XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBlbSgxNiwxNCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBlbSgxOCwxNCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoZW0oNCwxNCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi51a3Ige1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcC1wb2ludC1iZy1leHA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi51a3Itbm90IHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtcG9pbnQtYmctaW1wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYub25saW5lIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtcG9pbnQtYmctb25saW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG5zLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1tZC1tYXgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgd2lkdGg6IDI0JTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAuNWVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogLjVlbTtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1tZC1tYXgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmV2ZW50LWxpc3Qge1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LXhsLW1heCkge1xuICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICB9XG5cbiAgICAuZXZlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDMwKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGVtKDMwKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA5LjVlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLWJhc2U7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1zbS1tYXgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOC41ZW07XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogZW0oNik7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDguNWVtO1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LXNtLW1heCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3LjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGF5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuM2VtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDI2KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJzZWN0aW9uLmVkdWNhdGlvbi10YWJzIHtcblxuICAgIC5jYXJkIHtcbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMi43ZW07XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC41ZW07XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbml0aWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyNik7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsInNlY3Rpb24udGFncy1iaWcge1xuXG4gICAgLnRhZ3Mge1xuICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiBlbSgyMCkgMS41ZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsInNlY3Rpb24ud2VlZHMge1xuICAgIHBhZGRpbmctdG9wOiBlbSg4MCk7XG4gICAgcGFkZGluZy1ib3R0b206IGVtKDgwKTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBlbSg3MCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBlbSg3MCk7XG4gICAgfVxuXG4gICAgLnRleHQtd3JhcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMzApO1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XG4gICAgICAgIH1cbiAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuMzMzMzMzMzMzM2VtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgICAgID4gcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsInNlY3Rpb24uc3Vic2NyaWJlIHtcblxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgJi5iLWxpbmUge1xuICAgICAgICAgICAgPiBpbnB1dCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogZW0oMTIpIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgzMCk7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LW1kLW1heCkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGVtKDQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgPiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgdG9wOiAtMS41ZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCwxOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hhcmUtd3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6IGVtKDE1KSAwO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbWQtbWF4KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBlbSg3MCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJzZWN0aW9uLmNvdW50cmllcy1saXN0IHtcblxuICAgIC5jb3VudHJ5LWxldHRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBlbSg1NSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDcwKTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LW1kLW1heCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogZW0oMzApO1xuICAgICAgICAgICAgbWluLWhlaWdodDogZW0oNTUpO1xuICAgICAgICB9XG4gICAgICAgIC5sZXR0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogLjJlbTtcbiAgICAgICAgICAgIHdpZHRoOiBlbSg1NSwzMCk7XG4gICAgICAgICAgICBoZWlnaHQ6IGVtKDU1LDMwKTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR0ZXh0LWNvbG9yLWJhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDMwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBlbSg1MCwzMCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmxpc3Qge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogZW0oMTYpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC4zNWVtO1xuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBlbSgzMCwyNCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC14bC1tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmljb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC4xNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWdyZXk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdG5vdGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICAgICAgLmljb25zIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjI1ZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWdyZXk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsInNlY3Rpb24uaW5kdXN0cmllcyB7XG5cbiAgICAuaW5kdXN0cnktaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMjM2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWdyYXktbGlnaHQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgICAuYmctaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogNTUlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogNy41JTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IC42O1xuICAgICAgICB9XG4gICAgICAgIC5pY29ucyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogNy41JTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTMwcHg7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItaWNvbnMtaW5kdXN0cnk7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA5MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50aXRsZS10ZXh0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDMwKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZCB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS41ZW0pO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICB9XG5cbiAgICAuYnRuLWxpbmsge1xuICAgICAgICAmLmdvLXRvLWFsbCB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwic2VjdGlvbi5jb3VudHJ5LWdlbi1pbmZvIHtcblxuICAgIC50ZXh0LWJsb2NrIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNGVtO1xuICAgIH1cblxuICAgIC5vc20td3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRlbTtcbiAgICB9XG5cbn1cblxuLmluZm8taXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNGVtO1xuICAgIHBhZGRpbmctdG9wOiAuNzVlbTtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJHRleHQtY29sb3ItYmFzZTtcbiAgICAudGl0bGUtdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgfVxuICAgIC52YWx1ZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgIC52YWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgzMCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB9XG4gICAgICAgIC5udW0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgzNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB9XG4gICAgICAgIHN1cCwgc3ViIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJzZWN0aW9uLmZpbGVzLWxpc3QtZG93bmxvYWRzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogZW0oODApO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGVtKDQwKTtcbiAgICB9XG59XG5cbi5kb3dubG9hZC1maWxlcyB7XG5cbiAgICAuZmlsZS1saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgbWluLWhlaWdodDogZW0oOTApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGluaXRpYWwpO1xuICAgICAgICBwYWRkaW5nOiAxZW0gMCAxZW0gZW0oMTIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIGVtKDkwKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxLjE1ZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LW1kLW1heCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogZW0oNDApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIGVtKDQwKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMWVtO1xuICAgICAgICAgICAgcGFkZGluZzogMWVtIDAgMWVtIGVtKDUwKTtcbiAgICAgICAgfVxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyNCk7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbWQtbWF4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZbaHJlZiQ9XCIucGRmXCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltZy9pY29uLWZpbGUtcGRmLnBuZ1wiKTtcbiAgICAgICAgfVxuICAgICAgICAmW2hyZWYkPVwiLmRvY1wiXSxcbiAgICAgICAgJltocmVmJD1cIi5kb2N4XCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltZy9pY29uLWZpbGUtZG9jLnBuZ1wiKTtcbiAgICAgICAgfVxuICAgICAgICAmW2hyZWYkPVwiLnhsc1wiXSxcbiAgICAgICAgJltocmVmJD1cIi54bHN4XCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltZy9pY29uLWZpbGUteGxzLnBuZ1wiKTtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbnMge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGVtKDMwLDQwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgLjVlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oNDApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbWQtbWF4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogZW0oMTUsMjApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJzZWN0aW9uLnplZC10YWJsZSB7XG5cbiAgICAuemVkLXRhYmxlLXdyYXAge1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnBhcmVudCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRiZy1yb3ctZ3JleTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBlbSg3MCk7XG4gICAgICAgICAgICAgICAgfiB0YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJnLXJvdy1ncmV5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmctcm93LWdyZXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGVtKDIwLDI0KSAwIGVtKDIwLDI0KSBlbSg0MCwyNCk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDI0KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBlbSgxNiwyNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiZy1yb3ctZ3JleTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5oaWRkZW4ge1xuICAgICAgICAgICAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAwIDFlbSAyZW07XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLnNlYXJjaC1mb3JtIHtcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICYucm91bmQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41ZW07XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogZW0oMjEpIDJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYnRuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCIuZWR1Y2F0aW9uIHtcblxuICAgIC50ZXh0LWJsb2NrIHtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjRlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlY3Rpb24uZWR1Y2F0aW9uLWdlbi1pbmZvIHtcbiAgICAgICAgLmJ0bnMtd3JhcCB7XG4gICAgICAgICAgICAmLnRvcC1nbyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogZW0oLTg4KTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGVtKDQwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWN0aW9uLmFkdmFudGFnZXMge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcbiAgICAgICAgfVxuICAgICAgICAudGV4dC1ibG9jayB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogZW0oNDAsMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDEsIGgyLCBoMywgaDQsIGg1IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAuNzVlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhpbnQge1xuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWdyZXk7XG4gICAgfVxufVxuIiwiLm1haW4tZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogZW0oNTApO1xuICAgIHBhZGRpbmctYm90dG9tOiBlbSg2MCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWZvb3RlcjtcblxuICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcblxuICAgICZfX2xvZ28td3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDQwKTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICYubWFpbi1sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMGVtO1xuICAgICAgICAgICAgLy8uaWNvbnMge1xuICAgICAgICAgICAgLy8gICAgbWFyZ2luLXJpZ2h0OiAuMjVlbTtcbiAgICAgICAgICAgIC8vICAgIGZvbnQtc2l6ZTogMi41NWVtO1xuICAgICAgICAgICAgLy99XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zaXRlLW1hcCA+IC5tZW51IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGVtKDgwKTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LXhsLW1heCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGVtKDEwMCk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNjBweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LXhsLW1heCkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogZW0oNzAsMTQpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LXhsLW1heCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogZW0oMjIsMTQpIDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZW0oNTAsMTQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIH4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfiAubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGVtKDQwKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGVtKDYyKTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogZW0oMjIpIDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1nL2ljb25zL2Fycm93LWJvdHRvbS1tZW51LXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogZW0oMjApIGF1dG87XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQteGwtbWF4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gLm1lbnUge1xuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC14bC1tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IC43NWVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjc1ZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmctdG9wOiBlbSg0MCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDMwKTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDExMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJzY3JpYmUge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgPiBmb3JtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGVtKDQxNSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgd2lkdGg6IGVtKDQxNSwxNCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50LWxnLW1heCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDgwLDE0KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41ZW0gMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LVVrcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtVWtyO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNoZWstd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3ItYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGVtKDUpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnRuLXdoaXRlLWJnO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnRuLXdoaXRlLWJnO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bi13aGl0ZS1iZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidG4td2hpdGUtYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bi1ibGFjay1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zb2NpYWwge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcG9pbnQtbGctbWF4KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogZW0oMTAwKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgd2lkdGg6IGVtKDUwKTtcbiAgICAgICAgICAgIGhlaWdodDogZW0oNTApO1xuICAgICAgICAgICAgJi5mYiB7XG4gICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLy4uLy4uL2ltZy9zb2NpYWwvZmJfd2hpdGUucG5nXCIpO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWcvc29jaWFsL2ZiX2NvbG9yLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudHcge1xuICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi8uLi8uLi9pbWcvc29jaWFsL3R3X3doaXRlLnBuZ1wiKTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1nL3NvY2lhbC90d19jb2xvci5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnRsIHtcbiAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vLi4vLi4vaW1nL3NvY2lhbC90bF93aGl0ZS5wbmdcIik7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltZy9zb2NpYWwvdGxfY29sb3IucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5pbiB7XG4gICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLy4uLy4uL2ltZy9zb2NpYWwvaW5fd2hpdGUucG5nXCIpO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWcvc29jaWFsL2luX2NvbG9yLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xlZ2FsLXRleHQge1xuICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgICAgY29sb3I6ICM4YzhjOGM7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludC1sZy1tYXgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/