.route-tour,
p.route-tour {
	--lmav--color--lines: rgba(255, 255, 255, 0.4);
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	position: relative;
}
.route-tour__title,
p.route-tour__title {
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--heading-3);
	line-height: 110%;
	margin-bottom: 2.5rem;
	margin-top: 0;
}
@media (max-width: 781px) {
	.route-tour__title,
	p.route-tour__title {
		font-size: 1.75rem;
	}
}
@media (max-width: 781px) {
	.route-tour__title,
	p.route-tour__title {
		margin-bottom: 2rem;
	}
}
.route-tour__description,
p.route-tour__description {
	font-size: 1.125rem;
	line-height: 160%;
}
.route-tour__content,
p.route-tour__content {
	padding-bottom: var(--wp--preset--spacing--100);
	padding-top: var(--wp--preset--spacing--100);
}
@media (min-width: 782px) {
	.route-tour__content,
	p.route-tour__content {
		min-width: 40.7%;
		padding-right: 10%;
		width: 59.3%;
	}
}
@media (max-width: 781px) {
	.route-tour__content .route-tour__route__button, .route-tour__content p.route-tour__route__button,
	p.route-tour__content .route-tour__route__button,
	p.route-tour__content p.route-tour__route__button {
		display: block !important;
	}
	.route-tour__content.active .route-tour:nth-child(n+6), .route-tour__content.active p.route-tour__route__item:nth-child(n+6),
	p.route-tour__content.active .route-tour:nth-child(n+6),
	p.route-tour__content.active p.route-tour__route__item:nth-child(n+6) {
		display: block;
	}
}
.route-tour__intro-image,
p.route-tour__intro-image {
	margin-top: 2rem;
	padding-left: 2.5rem;
}
@media (min-width: 782px) {
	.route-tour__intro-image,
	p.route-tour__intro-image {
		display: none;
	}
}
.route-tour__route,
p.route-tour__route {
	margin-top: 2.5rem;
}
@media (max-width: 781px) {
	.route-tour__route,
	p.route-tour__route {
		margin-top: 2rem;
	}
}
.route-tour__route__item,
p.route-tour__route__item {
	padding-bottom: 1.75rem;
	padding-left: 2rem;
	position: relative;
}
@media (min-width: 782px) {
	.route-tour__route__item,
	p.route-tour__route__item {
		padding-left: 2.9375rem;
	}
}
.route-tour__route__item::before,
p.route-tour__route__item::before {
	background: var(--wp--preset--color--secondary);
	bottom: 0.25rem;
	content: "";
	height: calc(100% - 1.75rem);
	left: 0.5625rem;
	position: absolute;
	width: 0.125rem;
}
@media (min-width: 782px) {
	.route-tour__route__item::before,
	p.route-tour__route__item::before {
		background: var(--lmav--color--lines);
		bottom: 0.25rem;
		height: calc(100% - 1.75rem);
		padding-bottom: 5rem;
	}
}
.route-tour__route__item h2,
.route-tour__route__item h3,
.route-tour__route__item h4,
p.route-tour__route__item h2,
p.route-tour__route__item h3,
p.route-tour__route__item h4 {
	color: currentColor;
}
.route-tour__route__item > *,
p.route-tour__route__item > * {
	margin-bottom: clamp(0.5rem, 0.8253094911vw, 0.75rem);
	margin-top: clamp(0.5rem, 0.8253094911vw, 0.75rem);
}
.route-tour__route__item > *:first-child,
p.route-tour__route__item > *:first-child {
	margin-top: 0;
}
.route-tour__route__item > *:last-child,
p.route-tour__route__item > *:last-child {
	margin-bottom: 0;
}
.route-tour__route__item .image,
p.route-tour__route__item .image {
	display: none;
}
.route-tour__route__item .image--inline,
p.route-tour__route__item .image--inline {
	border-radius: 0.5rem;
	display: block;
	margin-top: 1rem;
	overflow: hidden;
}
.route-tour__route__item .title,
p.route-tour__route__item .title {
	font-size: 1.375rem;
	line-height: 110%;
	padding-left: 0;
	position: relative;
	text-transform: none;
}
@media (min-width: 782px) {
	.route-tour__route__item .title,
	p.route-tour__route__item .title {
		font-size: var(--wp--preset--font-size--heading-5);
		margin-top: 0;
	}
}
.route-tour__route__item .title::after,
p.route-tour__route__item .title::after {
	background-color: var(--wp--preset--color--secondary);
	border-radius: 100%;
	content: "";
	margin-left: -2rem;
	position: absolute;
	transition: background-color var(--lmav--transition-speed) var(--lmav--transition-timing-function), opacity var(--lmav--transition-speed) var(--lmav--transition-timing-function);
}
@media (min-width: 782px) {
	.route-tour__route__item .title::after,
	p.route-tour__route__item .title::after {
		margin-left: -2.9375rem;
	}
}
.route-tour__route__item .title::after,
p.route-tour__route__item .title::after {
	height: 0.5rem;
	left: 0.375rem;
	top: 0.375rem;
	width: 0.5rem;
}
@media (min-width: 782px) {
	.route-tour__route__item .title::after,
	p.route-tour__route__item .title::after {
		background-color: var(--lmav--color--lines);
	}
}
.route-tour__route__item .description,
p.route-tour__route__item .description {
	font-size: 1rem;
	line-height: 160%;
	margin: 0.75rem 0 0.375rem;
}
.route-tour__route__item .description a,
p.route-tour__route__item .description a {
	color: var(--wp--preset--color--white);
}
.route-tour__route__item .description ul li::before,
p.route-tour__route__item .description ul li::before {
	background: url("data:image/svg+xml,%3Csvg viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='5' cy='5' r='5' fill='white' /%3E%3C/svg%3E%0A") center center no-repeat;
}
.route-tour__route__item .options,
p.route-tour__route__item .options {
	font-size: var(--wp--preset--font-size--text-medium);
	font-weight: 500;
	line-height: 160%;
	list-style: none;
	margin: 0;
	padding: 0;
}
.route-tour__route__item.is-highlighted .days,
p.route-tour__route__item.is-highlighted .days {
	color: var(--wp--preset--color--secondary);
}
.route-tour__route__item.type--day:not(:has(~ .type--day)),
p.route-tour__route__item.type--day:not(:has(~ .type--day)) {
	padding-bottom: 0;
}
.route-tour__route__item.type--day:not(:has(~ .type--day))::before,
p.route-tour__route__item.type--day:not(:has(~ .type--day))::before {
	content: none;
}
.route-tour__route__item.type--disclaimer,
p.route-tour__route__item.type--disclaimer {
	padding-bottom: 0;
}
.route-tour__route__item.type--disclaimer::before,
p.route-tour__route__item.type--disclaimer::before {
	content: none;
}
.route-tour__route__item.type--disclaimer:first-child .disclaimer__box,
p.route-tour__route__item.type--disclaimer:first-child .disclaimer__box {
	margin-top: 0;
}
.route-tour__route__item.type--disclaimer:last-child .disclaimer__box,
p.route-tour__route__item.type--disclaimer:last-child .disclaimer__box {
	margin-bottom: 0;
}
.route-tour__route__item.type--disclaimer .disclaimer__box,
p.route-tour__route__item.type--disclaimer .disclaimer__box {
	background: var(--wp--preset--color--blue-light);
	border-radius: 0.5rem;
	color: var(--wp--preset--color--primary);
	font-size: 1rem;
	font-weight: 500;
	margin: clamp(2.5rem, 6.121045392vw, 5.5625rem) 0;
	padding: 1.4375rem clamp(1rem, 1.8569463549vw, 1.6875rem);
}
@media (min-width: 782px) {
	.route-tour__route__item.type--disclaimer .disclaimer__box,
	p.route-tour__route__item.type--disclaimer .disclaimer__box {
		margin-left: -2.9375rem;
	}
}
.route-tour__route__item.type--disclaimer .disclaimer__box .title,
p.route-tour__route__item.type--disclaimer .disclaimer__box .title {
	font-size: 1.25rem;
	margin-bottom: 0.75rem;
}
.route-tour__route__item.type--disclaimer .disclaimer__box .title::before, .route-tour__route__item.type--disclaimer .disclaimer__box .title::after,
p.route-tour__route__item.type--disclaimer .disclaimer__box .title::before,
p.route-tour__route__item.type--disclaimer .disclaimer__box .title::after {
	display: none;
}
.route-tour__route__item.type--disclaimer .disclaimer__box .description,
p.route-tour__route__item.type--disclaimer .disclaimer__box .description {
	font-size: inherit;
}
.route-tour__route__item.type--disclaimer .disclaimer__box .description a,
p.route-tour__route__item.type--disclaimer .disclaimer__box .description a {
	color: var(--wp--preset--color--primary);
}
@media (min-width: 782px) {
	.route-tour__route__item.active::before,
	p.route-tour__route__item.active::before {
		background: linear-gradient(180deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--secondary) var(--lmav--scroll, 0%), var(--lmav--color--lines) var(--lmav--scroll, 0%), var(--lmav--color--lines) 100%);
	}
	.route-tour__route__item.active .title::before,
	p.route-tour__route__item.active .title::before {
		opacity: 0.2;
	}
	.route-tour__route__item.active .title::after,
	p.route-tour__route__item.active .title::after {
		background-color: var(--wp--preset--color--secondary);
	}
}
.route-tour__map,
p.route-tour__map {
	align-self: stretch;
	display: none;
	margin-right: clamp(-25rem, (var(--lmav--full-width) - var(--wp--style--global--wide-size)) / 2 * -1, clamp(1rem, 2.2008253095vw, 2rem) * -1);
	margin-top: var(--wp--preset--spacing--100);
	min-width: calc(40.7% + clamp(clamp(1rem, 2.2008253095vw, 2rem), (var(--lmav--full-width) - var(--wp--style--global--wide-size)) / 2, 25rem));
	padding-bottom: var(--wp--preset--spacing--100);
	width: calc(40.7% + clamp(clamp(1rem, 2.2008253095vw, 2rem), (var(--lmav--full-width) - var(--wp--style--global--wide-size)) / 2, 25rem));
}
@media (min-width: 782px) {
	.route-tour__map,
	p.route-tour__map {
		display: block;
	}
}
.route-tour__map__container,
p.route-tour__map__container {
	border-radius: 0.5rem;
	height: 80dvh;
	overflow: hidden;
	position: sticky;
	top: calc(var(--wp--preset--spacing--100) + var(--wp--preset--spacing--36));
	width: 100%;
}
.route-tour__map--mobile .route-tour__map__container,
.route-tour__map--mobile p.route-tour__map__container {
	height: 50dvh;
	position: relative;
	top: auto;
}
.route-tour__map--mobile,
p.route-tour__map--mobile {
	display: block;
	margin-bottom: var(--wp--preset--spacing--80);
	margin-right: 0;
	margin-top: 1.25rem;
	min-width: 100%;
	padding-bottom: 0;
	position: relative;
	width: 100%;
	z-index: 0;
}
@media (min-width: 782px) {
	.route-tour__map--mobile,
	p.route-tour__map--mobile {
		display: none;
	}
}
.route-tour .image,
p.route-tour .image {
	position: relative;
}
.route-tour .image::after,
p.route-tour .image::after {
	background: linear-gradient(0deg, rgba(252, 138, 31, 0.12), rgba(252, 138, 31, 0.12)), url("../../../../assets/images/bg-noise.png");
	content: "";
	inset: 0;
	position: absolute;
}
.route-tour .image img,
p.route-tour .image img {
	width: 100%;
}
@media (min-width: 782px) {
	.route-tour .container,
	p.route-tour .container {
		display: flex;
	}
}
.route-tour .route-tour, .route-tour p.route-tour__route__button,
p.route-tour .route-tour,
p.route-tour p.route-tour__route__button {
	background: none;
	background-image: linear-gradient(var(--wp--preset--color--secondary), var(--wp--preset--color--secondary)) !important;
	border: 0;
	border-radius: 0;
	color: currentColor;
	display: none;
	margin: 1.25rem auto 0;
	padding: 0.4375rem 0;
	background-image: linear-gradient(currentcolor, currentcolor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% 0.125rem;
	transition: background-size calc(var(--lmav--transition-speed) * 1) ease 0s, color var(--lmav--transition-speed) ease;
}
.route-tour .route-tour:hover, .route-tour p.route-tour__route__button:hover,
p.route-tour .route-tour:hover,
p.route-tour p.route-tour__route__button:hover {
	background-position: 100% 100%;
	background-size: 0% 0.125rem;
}
.route-tour .container.no-map .route-tour, .route-tour .container.no-map p.route-tour__content,
p.route-tour .container.no-map .route-tour,
p.route-tour .container.no-map p.route-tour__content {
	padding-right: 0;
	width: 100%;
}
.route-tour .route-tour-marker,
p.route-tour .route-tour-marker {
	background: none;
	border: 0;
	color: var(--wp--preset--color--primary);
	transition: color 0.3s ease, transform 0.3s ease;
}
.route-tour .route-tour-marker:hover, .route-tour .route-tour-marker.is-active,
p.route-tour .route-tour-marker:hover,
p.route-tour .route-tour-marker.is-active {
	color: var(--wp--preset--color--secondary);
	transform: scale(1.2);
	transform-origin: bottom center;
}
.route-tour .route-tour-marker svg,
p.route-tour .route-tour-marker svg {
	display: block;
	overflow: visible;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2luY2x1ZGVzL21vZHVsZXMvcm91dGUtdG91ci9idWlsZC9zdHlsZS5jc3MiLCJtYXBwaW5ncyI6IkFBRUE7O0NBRUM7Q0FHQSxtRENNZ0I7Q0RMaEIsc0NDRWM7Q0REZDtBQUhEO0FBS0M7O0NBQ0Msc0NDRmE7Q0RHYixrRENxQ2M7Q0RwQ2Q7Q0FDQTtDQUNBO0FBRkY7QUVpakJFO0NGcGpCRDs7RUFRRTtDQUFGO0FBQ0Q7QUUyaUJFO0NGcGpCRDs7RUFZRTtDQUVGO0FBQ0Q7QUFDQzs7Q0FDQztDQUNBO0FBRUY7QUFDQzs7Q0FDQywrQ0NvRVM7Q0RuRVQsNENDbUVTO0FEakVYO0FFMmhCRTtDRi9oQkQ7O0VBS0U7RUFDQTtFQUNBO0NBSUY7QUFDRDtBRW1oQkU7Q0ZsaEJHOzs7RUFDQztDQUlMO0NBU0k7OztFQUNDO0NBTEw7QUFDRDtBQVdDOztDQUNDO0NBQ0E7QUFSRjtBRWtnQkU7Q0Y1ZkQ7O0VBS0U7Q0FORjtBQUNEO0FBU0M7O0NBQ0M7QUFORjtBRXdmRTtDRm5mRDs7RUFJRTtDQUpGO0FBQ0Q7QUFNRTs7Q0FDQztDQUNBO0NBQ0E7QUFISDtBRTRlRTtDRjVlQTs7RUFNRTtDQURIO0FBQ0Q7QUFHRzs7Q0FDQywrQ0MvRWU7Q0RnRmY7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FBQUo7QUU0ZEU7Q0ZuZUM7O0VBVUU7RUFDQTtFQUNBO0VBQ0E7Q0FFSjtBQUNEO0FBQ0c7Ozs7OztDQUdDO0FBSUo7QUFERzs7Q0FDQztDQUNBO0FBSUo7QUFGSTs7Q0FDQztBQUtMO0FBRkk7O0NBQ0M7QUFLTDtBQURHOztDQUNDO0FBSUo7QUFGSTs7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtBQUtMO0FBREc7O0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBQUlKO0FFMmFFO0NGcGJDOztFQVFFLGtEQy9GVztFRGdHWDtDQU1KO0FBQ0Q7QUFKSTs7Q0FDQyxxREMxSWM7Q0QySWQ7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBQU9MO0FFMlpFO0NGeGFFOztFQVNFO0NBU0w7QUFDRDtBQU5JOztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0FBU0w7QUU4WUU7Q0YzWkU7O0VBT0U7Q0FXTDtBQUNEO0FBUEc7O0NBQ0M7Q0FDQTtDQUNBO0FBVUo7QUFSSTs7Q0FDQyxzQ0M1S1U7QUR1TGY7QUFSSTs7Q0FDQztBQVdMO0FBUEc7O0NBQ0Msb0RDdklxQjtDRHdJckI7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBQVVKO0FBTkk7O0NBQ0MsMENDM0xjO0FEb01uQjtBQUxHOztDQUNDO0FBUUo7QUFOSTs7Q0FDQztBQVNMO0FBTEc7O0NBQ0M7QUFRSjtBQU5JOztDQUNDO0FBU0w7QUFOSTs7Q0FDQztBQVNMO0FBTkk7O0NBQ0M7QUFTTDtBQU5JOztDQUNDLGdEQ3JOZTtDRHNOZjtDQUNBLHdDQzFOWTtDRDJOWjtDQUNBO0NBQ0E7Q0FDQTtBQVNMO0FFMlVFO0NGM1ZFOztFQVVFO0NBV0w7QUFDRDtBQVRLOztDQUNDO0NBQ0E7QUFZTjtBQVZNOzs7Q0FFQztBQWFQO0FBVEs7O0NBQ0M7QUFZTjtBQVZNOztDQUNDLHdDQ2xQVTtBRCtQakI7QUVtVEU7Q0Z4VEc7O0VBQ0M7Q0FTTDtDQUxLOztFQUNDO0NBUU47Q0FMSzs7RUFDQyxxRENuUVk7Q0QyUWxCO0FBQ0Q7QUFEQzs7Q0FDQztDQUNBO0NBQ0E7Q0FDQSwyQ0N4TFM7Q0R5TFQ7Q0FDQSwrQ0MxTFM7Q0QyTFQ7QUFJRjtBRTJSRTtDRnRTRDs7RUFVRTtDQU1GO0FBQ0Q7QUFKRTs7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUFPSDtBQUxHOztDQUNDO0NBQ0E7Q0FDQTtBQVFKO0FBSkU7O0NBQ0M7Q0FDQSw2Q0NuTlE7Q0RvTlI7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUFPSDtBRTBQRTtDRjFRQTs7RUFZRTtDQVNIO0FBQ0Q7QUFMQzs7Q0FDQztBQVFGO0FBTkU7O0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7QUFTSDtBQU5FOztDQUNDO0FBU0g7QUVxT0U7Q0YxT0Q7O0VBRUU7Q0FRRjtBQUNEO0FBTEM7OztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0dyVkQ7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBSCtWRDtBRzdWQzs7O0NBQ0M7Q0FDQTtBSGlXRjtBQWRFOzs7Q0FDQztDQUNBO0FBa0JIO0FBZEM7O0NBQ0M7Q0FDQTtDQUNBLHdDQ3JXZTtDRHNXZjtBQWlCRjtBQWZFOzs7Q0FFQywwQ0N6V2dCO0NEMFdoQjtDQUNBO0FBa0JIO0FBZkU7O0NBQ0M7Q0FDQTtBQWtCSCxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbG1hdi1lbnYvLi93cC1jb250ZW50L3RoZW1lcy9sZS1tb25kZS1hLXZlbG8vaW5jbHVkZXMvbW9kdWxlcy9yb3V0ZS10b3VyL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vbG1hdi1lbnYvLi93cC1jb250ZW50L3RoZW1lcy9sZS1tb25kZS1hLXZlbG8vYXNzZXRzL2Nzcy9fc2V0dGluZ3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2xtYXYtZW52Ly4vd3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2Fzc2V0cy9jc3MvX3NldHRpbmdzL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vbG1hdi1lbnYvLi93cC1jb250ZW50L3RoZW1lcy9sZS1tb25kZS1hLXZlbG8vYXNzZXRzL2Nzcy9fc2V0dGluZ3MvX21peGlucy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uLy4uLy4uL2Fzc2V0cy9jc3MvX3NldHRpbmdzL2luaXQnO1xyXG5cclxuLnJvdXRlLXRvdXIsXHJcbnAucm91dGUtdG91ciB7XHJcblx0LS1sbWF2LS1jb2xvci0tbGluZXM6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcclxuXHQkYmxvY2s6ICY7XHJcblxyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tcHJpbWFyeTtcclxuXHRjb2xvcjogJGNvbG9yLS13aGl0ZTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdCZfX3RpdGxlIHtcclxuXHRcdGNvbG9yOiAkY29sb3ItLXdoaXRlO1xyXG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLS1oMztcclxuXHRcdGxpbmUtaGVpZ2h0OiAxMTAlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0oMjgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSgzMik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19kZXNjcmlwdGlvbiB7XHJcblx0XHRmb250LXNpemU6IHJlbSgxOCk7XHJcblx0XHRsaW5lLWhlaWdodDogMTYwJTtcclxuXHR9XHJcblxyXG5cdCZfX2NvbnRlbnQge1xyXG5cdFx0cGFkZGluZy1ib3R0b206ICRzcGFjZXItNTtcclxuXHRcdHBhZGRpbmctdG9wOiAkc3BhY2VyLTU7XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdG1pbi13aWR0aDogNDAuNyU7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwJTtcclxuXHRcdFx0d2lkdGg6IDU5LjMlO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcblx0XHRcdCN7JGJsb2NrfSB7XHJcblx0XHRcdFx0Jl9fcm91dGUge1xyXG5cdFx0XHRcdFx0Jl9fYnV0dG9uIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmX19pdGVtIHtcclxuXHRcdFx0XHRcdFx0Ly8gJjpudGgtY2hpbGQobis2KSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdCN7JGJsb2NrfV9fcm91dGVfX2l0ZW0ge1xyXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQobis2KSB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9faW50cm8taW1hZ2Uge1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtKDMyKTtcclxuXHRcdHBhZGRpbmctbGVmdDogcmVtKDQwKTtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCZfX3JvdXRlIHtcclxuXHRcdG1hcmdpbi10b3A6IHJlbSg0MCk7XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogcmVtKDMyKTtcclxuXHRcdH1cclxuXHJcblx0XHQmX19pdGVtIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbSgyOCk7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtKDMyKTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0oNDcpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cdFx0XHRcdGJvdHRvbTogcmVtKDQpO1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdGhlaWdodDogY2FsYygxMDAlIC0gcmVtKDI4KSk7XHJcblx0XHRcdFx0bGVmdDogcmVtKDkpO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR3aWR0aDogcmVtKDIpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWxtYXYtLWNvbG9yLS1saW5lcyk7XHJcblx0XHRcdFx0XHRib3R0b206IHJlbSg0KTtcclxuXHRcdFx0XHRcdGhlaWdodDogY2FsYygxMDAlIC0gcmVtKDI4KSk7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDgwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGgyLFxyXG5cdFx0XHRoMyxcclxuXHRcdFx0aDQge1xyXG5cdFx0XHRcdGNvbG9yOiBjdXJyZW50Q29sb3I7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdD4qIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiB2dyg4LCAxMik7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogdncoOCwgMTIpO1xyXG5cclxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5pbWFnZSB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0XHRcdFx0Ji0taW5saW5lIHtcclxuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IHJlbSg4KTtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogcmVtKDE2KTtcclxuXHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQudGl0bGUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIyKTtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMTEwJTtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0taDU7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xyXG5cdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogcmVtKC0zMik7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLCBvcGFjaXR5ICR0cmFuc2l0aW9uO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogcmVtKC00Nyk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOjphZnRlciB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IHJlbSg4KTtcclxuXHRcdFx0XHRcdGxlZnQ6IHJlbSg2KTtcclxuXHRcdFx0XHRcdHRvcDogcmVtKDYpO1xyXG5cdFx0XHRcdFx0d2lkdGg6IHJlbSg4KTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbG1hdi0tY29sb3ItLWxpbmVzKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNjAlO1xyXG5cdFx0XHRcdG1hcmdpbjogcmVtKDEyKSAwIHJlbSg2KTtcclxuXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLS13aGl0ZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHVsIGxpOjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTAgMTAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NjaXJjbGUgY3g9JzUnIGN5PSc1JyByPSc1JyBmaWxsPSd3aGl0ZScgLyUzRSUzQy9zdmclM0UlMEFcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQub3B0aW9ucyB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLS10ZXh0LW1lZGl1bTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNjAlO1xyXG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuaXMtaGlnaGxpZ2h0ZWQge1xyXG5cdFx0XHRcdC5kYXlzIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYudHlwZS0tZGF5Om5vdCg6aGFzKH4gLnR5cGUtLWRheSkpIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHJcblx0XHRcdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLnR5cGUtLWRpc2NsYWltZXIge1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuXHRcdFx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Y29udGVudDogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQgLmRpc2NsYWltZXJfX2JveCB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpsYXN0LWNoaWxkIC5kaXNjbGFpbWVyX19ib3gge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5kaXNjbGFpbWVyX19ib3gge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLS1ibHVlLWxpZ2h0O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogcmVtKDgpO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci0tcHJpbWFyeTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHRtYXJnaW46IHZ3KDQwLCA4OSkgMDtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbSgyMykgdncoMTYsIDI3KTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IHJlbSgtNDcpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC50aXRsZSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDEyKTtcclxuXHJcblx0XHRcdFx0XHRcdCY6OmJlZm9yZSxcclxuXHRcdFx0XHRcdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IGluaGVyaXQ7XHJcblxyXG5cdFx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLS1wcmltYXJ5O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdFx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAkY29sb3ItLXNlY29uZGFyeSAwJSwgJGNvbG9yLS1zZWNvbmRhcnkgdmFyKC0tbG1hdi0tc2Nyb2xsLCAwJSksIHZhcigtLWxtYXYtLWNvbG9yLS1saW5lcykgdmFyKC0tbG1hdi0tc2Nyb2xsLCAwJSksIHZhcigtLWxtYXYtLWNvbG9yLS1saW5lcykgMTAwJSk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LnRpdGxlIHtcclxuXHRcdFx0XHRcdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjI7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fbWFwIHtcclxuXHRcdGFsaWduLXNlbGY6IHN0cmV0Y2g7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiBjbGFtcChyZW0oLTQwMCksICgkZnVsbC13aWR0aCAtICRsYXlvdXQtLXdpZGUtd2lkdGgpIC8gMiAqIC0xLCBjYWxjKCRsYXlvdXQtLXBhZGRpbmcgKiAtMSkpO1xyXG5cdFx0bWFyZ2luLXRvcDogJHNwYWNlci01O1xyXG5cdFx0bWluLXdpZHRoOiBjYWxjKDQwLjclICsgY2xhbXAoJGxheW91dC0tcGFkZGluZywgKCRmdWxsLXdpZHRoIC0gJGxheW91dC0td2lkZS13aWR0aCkgLyAyLCByZW0oNDAwKSkpO1xyXG5cdFx0cGFkZGluZy1ib3R0b206ICRzcGFjZXItNTtcclxuXHRcdHdpZHRoOiBjYWxjKDQwLjclICsgY2xhbXAoJGxheW91dC0tcGFkZGluZywgKCRmdWxsLXdpZHRoIC0gJGxheW91dC0td2lkZS13aWR0aCkgLyAyLCByZW0oNDAwKSkpO1xyXG5cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHJcblx0XHQmX19jb250YWluZXIge1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiByZW0oOCk7XHJcblx0XHRcdGhlaWdodDogODBkdmg7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdHBvc2l0aW9uOiBzdGlja3k7XHJcblx0XHRcdHRvcDogY2FsYygkc3BhY2VyLTUgKyAkc3BhY2VyLTIpO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdC5yb3V0ZS10b3VyX19tYXAtLW1vYmlsZSAmIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDUwZHZoO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHR0b3A6IGF1dG87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLS1tb2JpbGUge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNlci00O1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdG1hcmdpbi10b3A6IHJlbSgyMCk7XHJcblx0XHRcdG1pbi13aWR0aDogMTAwJTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdHotaW5kZXg6IDA7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaW1hZ2Uge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjUyLCAxMzgsIDMxLCAwLjEyKSwgcmdiYSgyNTIsIDEzOCwgMzEsIDAuMTIpKSwgdXJsKCcuLi8uLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2JnLW5vaXNlLnBuZycpO1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0aW5zZXQ6IDA7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdH1cclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5jb250YWluZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQjeyRibG9ja31fX3JvdXRlX19idXR0b24ge1xyXG5cdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3ItLXNlY29uZGFyeSwgJGNvbG9yLS1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdFx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRtYXJnaW46IHJlbSgyMCkgYXV0byAwO1xyXG5cdFx0cGFkZGluZzogcmVtKDcpIDA7XHJcblxyXG5cdFx0QGluY2x1ZGUgbGluay11bmRlcmxpbmUoMik7XHJcblx0fVxyXG5cclxuXHQuY29udGFpbmVyLm5vLW1hcCB7XHJcblx0XHQjeyRibG9ja31fX2NvbnRlbnQge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5yb3V0ZS10b3VyLW1hcmtlciB7XHJcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0Y29sb3I6ICRjb2xvci0tcHJpbWFyeTtcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyLFxyXG5cdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcclxuXHRcdH1cclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIkBpbXBvcnQgJ21peGlucyc7XHJcblxyXG4vLyBMYXlvdXRcclxuJGxheW91dC0td2lkdGg6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS1jb250ZW50LXNpemUpO1xyXG4kbGF5b3V0LS13aWRlLXdpZHRoOiB2YXIoLS13cC0tc3R5bGUtLWdsb2JhbC0td2lkZS1zaXplKTtcclxuJGxheW91dC0tcGFkZGluZy0tbWluOiAxNjtcclxuJGxheW91dC0tcGFkZGluZy0tbWF4OiAzMjtcclxuJGxheW91dC0tcGFkZGluZzogdncoJGxheW91dC0tcGFkZGluZy0tbWluLCAkbGF5b3V0LS1wYWRkaW5nLS1tYXgpO1xyXG5cclxuLy8gQ29sb3JzXHJcbiRjb2xvci0td2hpdGU6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSk7XHJcbiRjb2xvci0tYmxhY2s6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjayk7XHJcblxyXG4kY29sb3ItLXByaW1hcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5KTtcclxuJGNvbG9yLS1zZWNvbmRhcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zZWNvbmRhcnkpO1xyXG4kY29sb3ItLXRlcnRpYXJ5OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdGVydGlhcnkpO1xyXG4kY29sb3ItLWJsdWUtbGlnaHQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibHVlLWxpZ2h0KTtcclxuXHJcbiRjb2xvci0tYmctYWx0OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmctYWx0KTtcclxuJGNvbG9yLS1iZy1saWdodDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJnLWxpZ2h0KTtcclxuXHJcbiRjb2xvci0tYWxlcnQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1hbGVydCk7XHJcbiRjb2xvci0tc3VjY2VzczogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXN1Y2Nlc3MpO1xyXG4kY29sb3ItLWVycm9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tZXJyb3IpO1xyXG5cclxuJGNvbG9yLS10ZXh0OiAkY29sb3ItLXByaW1hcnk7XHJcbiRjb2xvci0tbGluazogJGNvbG9yLS1ibGFjaztcclxuJGNvbG9yLS1oZWFkaW5nczogJGNvbG9yLS1ibGFjaztcclxuJGNvbG9yLS1jb250ZW50LWJnOiAkY29sb3ItLWJnLWFsdDtcclxuXHJcbiRjb2xvci0tZmllbGRzLXRleHQ6ICRjb2xvci0tYmxhY2s7XHJcbiRjb2xvci0tZmllbGRzLWJnOiAkY29sb3ItLXdoaXRlO1xyXG4kY29sb3ItLWZpZWxkcy1ib3JkZXI6IGNvbG9yLW1peChpbiBzcmdiLCAkY29sb3ItLXByaW1hcnkgMzAlLCB0cmFuc3BhcmVudCk7XHJcblxyXG4vLyBHbG9iYWxcclxuJGZ1bGwtaGVpZ2h0OiB2YXIoLS1sbWF2LS1mdWxsLWhlaWdodCk7XHJcbiRmdWxsLXdpZHRoOiB2YXIoLS1sbWF2LS1mdWxsLXdpZHRoKTtcclxuXHJcbiRoZWFkZXItLW1vYmlsZS1tYXg6ICdsZyc7XHJcbiRmaWx0ZXJzLS1tb2JpbGUtbWF4OiAnbGcnO1xyXG5cclxuLy8gRm9udHNcclxuJGZvbnQtZmFtaWx5LS1ib2R5OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0tYm9keS1mb250KTtcclxuJGZvbnQtZmFtaWx5LS1oZWFkaW5nLWFkZDogdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLWhlYWRpbmctYWRkLWZvbnQpO1xyXG5cclxuJGZvbnQtd2VpZ2h0LS1ib2xkOiA3MDA7XHJcblxyXG4vLyBIZWFkaW5nc1xyXG4kZm9udC1zaXplLS1oMTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1oZWFkaW5nLTEpO1xyXG4kZm9udC1zaXplLS1oMjogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1oZWFkaW5nLTIpO1xyXG4kZm9udC1zaXplLS1oMzogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1oZWFkaW5nLTMpO1xyXG4kZm9udC1zaXplLS1oNDogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1oZWFkaW5nLTQpO1xyXG4kZm9udC1zaXplLS1oNTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1oZWFkaW5nLTUpO1xyXG5cclxuLy8gVGV4dFxyXG4kZm9udC1zaXplLS10ZXh0LWxhcmdlOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXRleHQtbGFyZ2UpO1xyXG4kZm9udC1zaXplLS10ZXh0LW1lZGl1bTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS10ZXh0LW1lZGl1bSk7XHJcbiRmb250LXNpemUtLXRleHQtc21hbGw6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tdGV4dC1zbWFsbCk7XHJcbiRmb250LXNpemUtLXRleHQteHNtYWxsOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXRleHQteHNtYWxsKTtcclxuXHJcbi8vIEJ1dHRvbnNcclxuJGZvbnQtc2l6ZS0tYnV0dG9uLW1haW46IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tYnV0dG9uLW1haW4pO1xyXG4kZm9udC1zaXplLS1idXR0b24tcmVhZG1vcmU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tYnV0dG9uLXJlYWRtb3JlKTtcclxuXHJcbi8vIFByaWNlc1xyXG4kZm9udC1zaXplLS1wcmljZS1kZWZhdWx0OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXByaWNlLWRlZmF1bHQpO1xyXG4kZm9udC1zaXplLS1wcmljZS1iaWc6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tcHJpY2UtYmlnKTtcclxuXHJcbi8vIEJvcmRlciBSYWRpdXNlc1xyXG4kYm9yZGVyLXJhZGl1cy0taW5wdXQ6IHJlbSg2KTtcclxuJGJvcmRlci1yYWRpdXMtLWNoZWNrYm94OiByZW0oMik7XHJcblxyXG4vLyBJbnB1dHNcclxuJGlucHV0LS1oZWlnaHQ6IDYyO1xyXG4kaW5wdXQtLXBhZGRpbmctLXg6IDEzO1xyXG4kaW5wdXQtLXBhZGRpbmctLXk6IDE4O1xyXG4kaW5wdXQtLWJvcmRlci13aWR0aDogMDtcclxuJGlucHV0LS1ib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4kaW5wdXQtLWJvcmRlci1jb2xvcjogJGNvbG9yLS1maWVsZHMtYm9yZGVyO1xyXG5cclxuLy8gVHJhbnNpdGlvbnNcclxuJHRyYW5zaXRpb24tLXNwZWVkOiB2YXIoLS1sbWF2LS10cmFuc2l0aW9uLXNwZWVkKTtcclxuJHRyYW5zaXRpb24tLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tbG1hdi0tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pO1xyXG4kdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tLXNwZWVkICR0cmFuc2l0aW9uLS10aW1pbmctZnVuY3Rpb247XHJcblxyXG4vLyBCcmVha3BvaW50c1xyXG4kYnJlYWtwb2ludHM6IChcclxuXHR4czogMzc1cHgsXHJcblx0c206IDU3NnB4LFxyXG5cdG1kOiA3ODJweCxcclxuXHRsZzogOTkycHgsXHJcblx0eGw6IDEyMDBweCxcclxuXHR4eGw6IDE0NDBweCxcclxuXHRtYXg6IDE1ODVweFxyXG4pO1xyXG5cclxuLy8gU3BhY2luZ1xyXG4kc3BhY2VyLTE6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTI0KTtcclxuJHNwYWNlci0yOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zNik7XHJcbiRzcGFjZXItMzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tNjApO1xyXG4kc3BhY2VyLTQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTgwKTtcclxuJHNwYWNlci01OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0xMDApO1xyXG4kc3BhY2VyLTY6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTEyMCk7XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xyXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXHJcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xyXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxyXG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XHJcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XHJcbi8vXHJcbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XHJcbi8vXHJcbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcclxuLy9cclxuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXHJcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcclxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuXHQncGhvbmUnOiAzMjBweCxcclxuXHQndGFibGV0JzogNzY4cHgsXHJcblx0J2Rlc2t0b3AnOiAxMDI0cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG5cdCdzY3JlZW4nOiAnc2NyZWVuJyxcclxuXHQncHJpbnQnOiAncHJpbnQnLFxyXG5cdCdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcblx0J2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG5cdCdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcblx0J3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuXHQncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuXHQncHgnOiAxLFxyXG5cdCdlbSc6IDAuMDEsXHJcblx0J3JlbSc6IDAuMSxcclxuXHQnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuLy8vXHJcbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxyXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcclxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG5cdEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcblx0XHRAZXJyb3IgJG1lc3NhZ2U7XHJcblx0fVxyXG5cclxuXHRAZWxzZSB7XHJcblx0XHRAd2FybiAkbWVzc2FnZTtcclxuXHRcdCRfOiBub29wKCk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcclxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxyXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxyXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuXHRAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG4vLy9cclxuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcclxuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcblx0JG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG5cdEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG5cdFx0QGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcblx0fVxyXG5cclxuXHRAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuXHRcdEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcblx0XHRcdCRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcblx0XHRcdCRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG5cdFx0XHQkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG5cdFx0XHRAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuXHRcdFx0XHQoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcclxuXHRcdFx0XHRAcmV0dXJuIGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG5cdFx0XHRAcmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG5cdEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG5cdFx0QGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcblx0XHRcdEByZXR1cm4gJG9wZXJhdG9yO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG5cdC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcblx0Ly8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcblx0Ly8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuXHQvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcblx0JF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuXHQkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHQkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuXHQkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuXHRAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuXHRcdCRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuXHRAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcblx0JG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG5cdEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG5cdFx0JHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdEBlbHNlIHtcclxuXHRcdCR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHQkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuXHRAaWYgbm90ICRpbnRlcnZhbCB7XHJcblx0XHQvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcblx0XHQvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG5cdFx0Ly8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcblx0XHQvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG5cdFx0Ly8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG5cdFx0JF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG5cdH1cclxuXHJcblx0QGlmICRvcGVyYXRvciA9PSAnPicge1xyXG5cdFx0JHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcblx0fVxyXG5cclxuXHRAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuXHRcdCR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcblx0Ly8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG5cdC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcblxyXG5cdEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XHJcblx0XHRAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XHJcblx0fVxyXG5cclxuXHQkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcclxuXHQkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcblx0JHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHJcblx0QHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcblx0QGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG5cdFx0QHJldHVybiAoKTtcclxuXHR9XHJcblxyXG5cdCRyZXN1bHQ6ICgpO1xyXG5cclxuXHRAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcblx0XHQkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcbi8vL1xyXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuXHRAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuXHRcdEByZXR1cm4gJHZhbHVlO1xyXG5cdH1cclxuXHJcblx0QGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuXHRcdCRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcblx0fVxyXG5cclxuXHQkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuXHQkcmVzdWx0OiAwO1xyXG5cdCRkaWdpdHM6IDA7XHJcblx0JG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG5cdCRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcblx0Ly8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcblxyXG5cdEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuXHRcdCR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcblx0fVxyXG5cclxuXHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcblx0XHQkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuXHRcdEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuXHRcdFx0QHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0QGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcclxuXHRcdFx0JGRpZ2l0czogMTtcclxuXHRcdH1cclxuXHJcblx0XHRAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG5cdFx0XHQkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuXHRcdH1cclxuXHJcblx0XHRAZWxzZSB7XHJcblx0XHRcdCRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuXHRcdFx0JHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG5cdCR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG5cdEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuXHRcdCRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuXHQvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcblx0JGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG5cdCRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcblx0Ly8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcblx0JGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcblx0JG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG5cdC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuXHQkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxuXHJcblx0QGNvbnRlbnQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cclxuLy8vXHJcblxyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuXHRAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcblx0XHQobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xyXG5cdFx0QGNvbnRlbnQ7XHJcblx0fVxyXG5cclxuXHRAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcblx0XHRAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcblx0XHRcdC8vIFJlY3Vyc2l2ZSBjYWxsXHJcblx0XHRcdCRzbGljZWQtY29uZGl0aW9uczogc2xpY2UoJGNvbmRpdGlvbnMsIDIpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJHNsaWNlZC1jb25kaXRpb25zLi4uKSB7XHJcblx0XHRcdFx0QGNvbnRlbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiQG1peGluIGxpbmsoJGhlaWdodDogMSwgJHhfc3BlZWQ6IDEpIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoY3VycmVudGNvbG9yLCBjdXJyZW50Y29sb3IpO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogMCUgcmVtKCRoZWlnaHQpO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSBjYWxjKCR0cmFuc2l0aW9uLS1zcGVlZCAqICR4X3NwZWVkKSBlYXNlIDBzLCBjb2xvciAkdHJhbnNpdGlvbi0tc3BlZWQgZWFzZTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgcmVtKCRoZWlnaHQpO1xyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGxpbmstdW5kZXJsaW5lKCRoZWlnaHQ6IDEsICR4X3NwZWVkOiAxKSB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGN1cnJlbnRjb2xvciwgY3VycmVudGNvbG9yKTtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgcmVtKCRoZWlnaHQpO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSBjYWxjKCR0cmFuc2l0aW9uLS1zcGVlZCAqICR4X3NwZWVkKSBlYXNlIDBzLCBjb2xvciAkdHJhbnNpdGlvbi0tc3BlZWQgZWFzZTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDAlIHJlbSgkaGVpZ2h0KTtcclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBzY3JvbGxiYXIoJGNvbG9yLXNjcm9sbGJhciwgJGNvbG9yLXNjcm9sbGJhci1iZykge1xyXG5cdHNjcm9sbGJhci1jb2xvcjogJGNvbG9yLXNjcm9sbGJhciAkY29sb3Itc2Nyb2xsYmFyLWJnO1xyXG5cdHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuXHJcblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdFx0d2lkdGg6IHJlbSg0KTtcclxuXHR9XHJcblxyXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuXHRcdGJhY2tncm91bmQ6ICRjb2xvci1zY3JvbGxiYXItYmc7XHJcblx0fVxyXG5cclxuXHQmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Nyb2xsYmFyO1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBzY3JvbGxiYXItaGlkZGVuKCkge1xyXG5cdHNjcm9sbGJhci13aWR0aDogbm9uZTtcclxuXHJcblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdHdpZHRoOiAwO1xyXG5cdH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkc2l6ZVZhbHVlOiAxNikge1xyXG5cdEBpZiAodHlwZS1vZigkc2l6ZVZhbHVlKSA9PSAnbnVtYmVyJykge1xyXG5cdFx0QHJldHVybiBjYWxjKCRzaXplVmFsdWUgLyAxNikgKyByZW07XHJcblx0fVxyXG5cclxuXHRAZWxzZSB7XHJcblx0XHRAcmV0dXJuICN7JHNpemVWYWx1ZX07XHJcblx0fVxyXG59XHJcblxyXG5AZnVuY3Rpb24gdncoJG1pbiwgJG1heCwgJHVzZS12YXI6IDAsICRtYXgtdjogMTQ1NCkge1xyXG5cdCR2dy11bml0OiBpZigkdXNlLXZhciA9PSAxLCB2YXIoLS1sbWF2LS12dywgMTAwdncpLCAxMDB2dyk7XHJcblxyXG5cdEByZXR1cm4gY2xhbXAoXHJcblx0XHQje3JlbSgkbWluKX0sXHJcblx0XHQje2NhbGMoJG1heCAvICRtYXgtdiAqICR2dy11bml0KX0sXHJcblx0XHQje3JlbSgkbWF4KX1cclxuXHQpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdndmdCgkbWluLCAkbWF4LCAkbWluLXY6IDc2OCwgJG1heC12OiAxNDU0LCAkdXNlLXZhcjogMCkge1xyXG5cdCR2dy11bml0OiBpZigkdXNlLXZhciA9PSAxLCB2YXIoLS1sbWF2LS12dywgMTAwdncpLCAxMDB2dyk7XHJcblxyXG5cdEByZXR1cm4gY2xhbXAoXHJcblx0XHQje3JlbSgkbWluKX0sXHJcblx0XHRjYWxjKCgoJG1heCAtICRtaW4pIC8gKCRtYXgtdiAtICRtaW4tdikpICogKCR2dy11bml0IC0gI3tjYWxjKCRtaW4tdiAvIDE2KX1yZW0pICsgI3tyZW0oJG1pbil9KSxcclxuXHRcdCN7cmVtKCRtYXgpfVxyXG5cdCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcclxuXHQkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcclxuXHJcblx0QGlmICRpbmRleCB7XHJcblx0XHRAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRzdHJpbmc7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcclxuXHRAaWYgc3RyLWluZGV4KCRzdHJpbmcsICdkYXRhOmltYWdlL3N2Zyt4bWwnKSB7XHJcblx0XHRAZWFjaCAkY2hhciwgJGVuY29kZWQgaW4gKFxyXG5cdFx0XHQoJzwnLCAnJTNjJyksXHJcblx0XHRcdCgnPicsICclM2UnKSxcclxuXHRcdFx0KCcjJywgJyUyMycpLFxyXG5cdFx0XHQoJygnLCAnJTI4JyksXHJcblx0XHRcdCgnKScsICclMjknKSxcclxuXHRcdCkge1xyXG5cdFx0XHRAaWYgc3RyLWluZGV4KCRzdHJpbmcsICd1cmwoJykgPT0gMSB7XHJcblx0XHRcdFx0JHN0cmluZzogdXJsKCcje3N0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCA2LCAtMyksICRjaGFyLCAkZW5jb2RlZCl9Jyk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBlbHNlIHtcclxuXHRcdFx0XHQkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRzdHJpbmc7XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/