.wpcf7-form {
	position: relative;
}
.wpcf7-form > * {
	transition: opacity var(--lmav--transition-speed) var(--lmav--transition-timing-function);
}
.wpcf7-form.submitting {
	pointer-events: none;
}
.wpcf7-form.submitting::after {
	background-color: var(--wp--preset--color--primary);
	content: "";
	inset: 0;
	mask-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbi1zcGluZXIiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIgdmlld0JveD0iMCAwIDM4IDM4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KCTxkZWZzPg0KCQk8bGluZWFyR3JhZGllbnQgeDE9IjguMDQyJSIgeTE9IjAlIiB4Mj0iNjUuNjgyJSIgeTI9IjIzLjg2NSUiIGlkPSJncmFkaWVudCI+DQoJCQk8c3RvcCBzdG9wLWNvbG9yPSJjdXJyZW50Q29sb3IiIHN0b3Atb3BhY2l0eT0iMCIgb2Zmc2V0PSIwJSIvPg0KCQkJPHN0b3Agc3RvcC1jb2xvcj0iY3VycmVudENvbG9yIiBzdG9wLW9wYWNpdHk9Ii42MzEiIG9mZnNldD0iNjMuMTQ2JSIvPg0KCQkJPHN0b3Agc3RvcC1jb2xvcj0iY3VycmVudENvbG9yIiBvZmZzZXQ9IjEwMCUiLz4NCgkJPC9saW5lYXJHcmFkaWVudD4NCgk8L2RlZnM+DQoJPGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCgkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSI+DQoJCQk8cGF0aCBkPSJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMTgiIHN0cm9rZT0idXJsKCNncmFkaWVudCkiIHN0cm9rZS13aWR0aD0iMiI+DQoJCQkJPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJyb3RhdGUiIGZyb209IjAgMTggMTgiIHRvPSIzNjAgMTggMTgiIGR1cj0iMC45cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4NCgkJCTwvcGF0aD4NCgkJCTxjaXJjbGUgZmlsbD0iY3VycmVudENvbG9yIiBjeD0iMzYiIGN5PSIxOCIgcj0iMSI+DQoJCQkJPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJyb3RhdGUiIGZyb209IjAgMTggMTgiIHRvPSIzNjAgMTggMTgiIGR1cj0iMC45cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4NCgkJCTwvY2lyY2xlPg0KCQk8L2c+DQoJPC9nPg0KPC9zdmc+);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 3.125rem;
	position: absolute;
	z-index: 1;
}
.wpcf7-form.submitting > * {
	opacity: 0.6;
}
.wpcf7-form > label {
	color: var(--wp--preset--color--black);
	display: block;
	font-weight: 400;
	margin: 0;
	position: relative;
}
.wpcf7-form > label:not(:first-child) {
	margin-top: 1rem;
}
.wpcf7-form > label > span:not([class]) {
	font-size: 0.75rem;
	left: 0.8125rem;
	position: absolute;
	top: 0.5625rem;
	z-index: 2;
}
.wpcf7-form .wpcf7-spinner {
	display: none;
}
.wpcf7-form .wpcf7-response-output {
	border-radius: 0.25rem !important;
	border-width: 0.0625rem !important;
	font-size: 0.9375rem;
	margin: 2rem 0 0 !important;
	padding: 0.5625rem 0.8125rem !important;
	text-align: center !important;
}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
	margin: 0 1.375rem 0.25rem 0;
}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item label {
	font-weight: 700;
	margin: 0;
	padding-left: 1.375rem;
	position: relative;
}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item label a {
	color: currentColor;
}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item input[type=checkbox] {
	left: 0;
	position: absolute;
	top: 0.5rem;
}
.wpcf7-form .wpcf7-submit {
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.0548 16.0547L16.2272 10.8823L1.76485 10.8823V9.70587L16.2272 9.70587L11.0548 4.53353L11.8866 3.70173L18.479 10.2941L11.8866 16.8865L11.0548 16.0547Z' fill='white'/%3E%3C/svg%3E");
	background-position: right 1.125rem center;
	background-repeat: no-repeat;
	background-size: 1.25rem 1.25rem;
	border-radius: 0.25rem;
	height: auto;
	margin: 1.875rem 0 0;
	padding: 0.5rem 2.75rem 0.5rem 1.25rem;
	white-space: wrap;
}
@media (max-width: 781px) {
	.wpcf7-form .wpcf7-submit {
		margin: 1.5rem 0 0;
		padding: 0.8125rem 2.75rem 0.8125rem 1.25rem;
		width: 100%;
	}
}
.wpcf7-form .wpcf7-submit[disabled] {
	background-color: var(--wp--preset--color--bg-alt);
	border-color: var(--wp--preset--color--bg-alt);
}
.wpcf7-form .wpcf7-not-valid-tip {
	font-size: 0.75rem;
	margin-top: 0.25rem;
}
.wpcf7-form .wpcf7-form-control-wrap {
	display: block;
	margin: 0;
	position: relative;
}
.wpcf7-form .wpcf7-form-control-wrap input[type=text],
.wpcf7-form .wpcf7-form-control-wrap input[type=email],
.wpcf7-form .wpcf7-form-control-wrap input[type=number],
.wpcf7-form .wpcf7-form-control-wrap input[type=search],
.wpcf7-form .wpcf7-form-control-wrap input[type=password],
.wpcf7-form .wpcf7-form-control-wrap input[type=tel],
.wpcf7-form .wpcf7-form-control-wrap input[type=url],
.wpcf7-form .wpcf7-form-control-wrap textarea,
.wpcf7-form .wpcf7-form-control-wrap select {
	background-color: var(--wp--preset--color--white);
	border: 0.0625rem solid rgba(28, 43, 58, 0.3);
	border-radius: 0.375rem;
	color: #1c2b3a;
	font-size: 0.875rem;
	height: auto;
	letter-spacing: 0.42px;
	line-height: 160%;
	margin: 0;
	max-height: 2.875rem;
	padding: 1.125rem 1.25rem !important;
}
.wpcf7-form .wpcf7-form-control-wrap input[type=text].wpcf7-not-valid,
.wpcf7-form .wpcf7-form-control-wrap input[type=email].wpcf7-not-valid,
.wpcf7-form .wpcf7-form-control-wrap input[type=number].wpcf7-not-valid,
.wpcf7-form .wpcf7-form-control-wrap input[type=search].wpcf7-not-valid,
.wpcf7-form .wpcf7-form-control-wrap input[type=password].wpcf7-not-valid,
.wpcf7-form .wpcf7-form-control-wrap input[type=tel].wpcf7-not-valid,
.wpcf7-form .wpcf7-form-control-wrap input[type=url].wpcf7-not-valid,
.wpcf7-form .wpcf7-form-control-wrap textarea.wpcf7-not-valid,
.wpcf7-form .wpcf7-form-control-wrap select.wpcf7-not-valid {
	background-color: #fdecea;
}
.wpcf7-form .wpcf7-form-control-wrap input[type=text]::placeholder,
.wpcf7-form .wpcf7-form-control-wrap input[type=email]::placeholder,
.wpcf7-form .wpcf7-form-control-wrap input[type=number]::placeholder,
.wpcf7-form .wpcf7-form-control-wrap input[type=search]::placeholder,
.wpcf7-form .wpcf7-form-control-wrap input[type=password]::placeholder,
.wpcf7-form .wpcf7-form-control-wrap input[type=tel]::placeholder,
.wpcf7-form .wpcf7-form-control-wrap input[type=url]::placeholder,
.wpcf7-form .wpcf7-form-control-wrap textarea::placeholder,
.wpcf7-form .wpcf7-form-control-wrap select::placeholder {
	color: rgba(28, 43, 58, 0.4);
	font-size: 0.875rem;
	letter-spacing: 0.42px;
	line-height: 160%;
}
.wpcf7-form .wpcf7-form-control-wrap select.is-placeholder {
	color: rgba(28, 43, 58, 0.4);
}
.wpcf7-form .wpcf7-form-control-wrap select option {
	color: #1c2b3a;
}
.wpcf7-form .wpcf7-form-control-wrap select option[value=""] {
	color: rgba(28, 43, 58, 0.4);
}
.wpcf7-form .wpcf7-form-control-wrap textarea {
	height: clamp(6.25rem, 11.6918844567vw, 10.625rem);
	max-height: 10.625rem;
}
.wpcf7-form .wpcf7-acceptance {
	display: block;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item label {
	font-size: 0.875rem;
	font-weight: 700;
	margin: 0;
	padding-left: 1.625rem;
	position: relative;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item label a {
	color: currentColor;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item input[type=checkbox] {
	left: 0;
	position: absolute;
	top: 0.375rem;
}
.wpcf7-form .form-group {
	margin-top: 1rem;
}
.wpcf7-form .form-group:first-child {
	margin-top: 0;
}
.wpcf7-form .form-group > label {
	color: #1c2b3a;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.42px;
	line-height: 160%;
	margin-bottom: 0.375rem;
}
@media (max-width: 781px) {
	.wpcf7-form .form-group--submit {
		margin-top: 0;
	}
}
.wpcf7-form .files {
	align-items: center;
	color: #a29895;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0;
}
.wpcf7-form .files p,
.wpcf7-form .files label {
	margin: 0;
}
.wpcf7-form .files .desc {
	font-size: 0.75rem;
	margin: 1.375rem 0 0.6875rem;
	width: 100%;
}
.wpcf7-form .files #mfcf7_zl_multifilecontainer {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.3125rem 1.25rem;
	margin: 0;
	order: 3;
}
.wpcf7-form .files #mfcf7_zl_multifilecontainer .wpcf7-form-control-wrap {
	align-items: center;
	display: inline-flex;
	gap: 0.625rem;
	margin: 0;
}
.wpcf7-form .files #mfcf7_zl_multifilecontainer .wpcf7-form-control-wrap .mfcf7-zl-multifile-name {
	border-bottom: 0.0625rem solid currentColor;
}
.wpcf7-form .files #mfcf7_zl_multifilecontainer .wpcf7-form-control-wrap .mfcf7_zl_delete_file {
	align-items: center;
	background: none;
	border: 0.0625rem solid currentColor;
	border-radius: 100%;
	color: currentColor;
	display: inline-flex;
	height: 1.1875rem;
	justify-content: center;
	transition: color var(--lmav--transition-speed) var(--lmav--transition-timing-function);
	width: 1.1875rem;
}
.wpcf7-form .files #mfcf7_zl_multifilecontainer .wpcf7-form-control-wrap .mfcf7_zl_delete_file::before {
	background-color: currentColor;
	content: "";
	height: 0.0625rem;
	width: 0.4375rem;
}
.wpcf7-form .files #mfcf7_zl_multifilecontainer .wpcf7-form-control-wrap .mfcf7_zl_delete_file:hover {
	color: var(--wp--preset--color--error);
}
.wpcf7-form .files #mfcf7_zl_multifilecontainer .wpcf7-form-control-wrap .mfcf7_zl_delete_file .delete-file {
	display: none;
}
.wpcf7-form .files #mfcf7_zl_add_file {
	background-color: transparent;
	color: var(--wp--preset--color--secondary);
	margin-right: 1.6875rem;
	padding: 0.3125rem 1.25rem;
}
.wpcf7-form .files #mfcf7_zl_add_file:hover {
	background-color: var(--wp--preset--color--secondary);
	border-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--black);
}

.contact-form-team-member,
p.contact-form-team-member {
	background-color: var(--wp--preset--color--tertiary);
	color: var(--wp--preset--color--primary);
	padding-bottom: clamp(3.75rem, 5.5020632737vw, 5rem);
	padding-top: clamp(3.75rem, 5.5020632737vw, 5rem);
}
.contact-form-team-member__members:not(:last-child),
p.contact-form-team-member__members:not(:last-child) {
	border-bottom: 0.0625rem solid var(--wp--preset--color--tertiary);
	margin-bottom: 2.5rem;
	padding-bottom: 2.5rem;
}
@media (min-width: 782px) {
	.contact-form-team-member__members:not(:last-child),
	p.contact-form-team-member__members:not(:last-child) {
		border-bottom: 0;
		border-right: 0.125rem solid var(--wp--preset--color--tertiary);
		margin-bottom: 0;
		margin-right: clamp(3.125rem, 4.9518569464vw, 4.5rem);
		min-width: clamp(18.75rem, 31.0866574966vw, 28.25rem);
		padding-bottom: 0;
		padding-right: 2.75rem;
		width: clamp(18.75rem, 28.954607978vw, 26.3125rem);
	}
}
.contact-form-team-member__members__main,
p.contact-form-team-member__members__main {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.contact-form-team-member__members__main .header,
p.contact-form-team-member__members__main .header {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: clamp(8.1875rem, 11.0729023384vw, 10.0625rem);
	padding-left: 9.375rem;
	position: relative;
}
.contact-form-team-member__members__main .thumbnail,
p.contact-form-team-member__members__main .thumbnail {
	height: clamp(8.1875rem, 11.0729023384vw, 10.0625rem);
	left: 0;
	position: absolute;
	top: 0;
	width: 8.1875rem;
}
@media (max-width: 781px) {
	.contact-form-team-member__members__main .thumbnail,
	p.contact-form-team-member__members__main .thumbnail {
		width: 8.1875rem;
	}
}
.contact-form-team-member__members__main .title,
p.contact-form-team-member__members__main .title {
	font-size: clamp(1.5rem, 1.788170564vw, 1.625rem);
	margin: 0;
	margin-bottom: 0.8125rem;
}
.contact-form-team-member__members__main .position,
p.contact-form-team-member__members__main .position {
	font-size: 0.75rem;
	margin-bottom: 1.125rem;
}
.contact-form-team-member__members__main .phone,
p.contact-form-team-member__members__main .phone {
	align-items: center;
	display: flex;
	font-size: clamp(0.9375rem, 1.1004126547vw, 1rem);
	font-weight: 500;
	gap: 0.5rem;
}
.contact-form-team-member__members__main .excerpt,
p.contact-form-team-member__members__main .excerpt {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	font-size: 0.9375rem;
	-webkit-line-clamp: 4;
	margin-top: clamp(1.125rem, 1.9257221458vw, 1.75rem);
	max-width: 25.625rem;
	overflow: hidden;
	text-overflow: ellipsis;
}
.contact-form-team-member__members__main .excerpt p,
p.contact-form-team-member__members__main .excerpt p {
	margin-top: 0;
}
.contact-form-team-member__members__main .read-more,
p.contact-form-team-member__members__main .read-more {
	align-items: center;
	background: none;
	display: flex;
	font-size: 0.875rem;
	font-weight: 500;
	gap: 0.375rem;
	margin-top: 0.875rem;
	text-transform: uppercase;
}
.contact-form-team-member__members__main .read-more svg,
p.contact-form-team-member__members__main .read-more svg {
	flex-shrink: 0;
}
.contact-form-team-member__members__main .member-image,
p.contact-form-team-member__members__main .member-image {
	margin-top: auto;
	max-width: 70%;
	overflow: hidden;
}
@media (max-width: 781px) {
	.contact-form-team-member__members__main .member-image,
	p.contact-form-team-member__members__main .member-image {
		display: none;
	}
}
.contact-form-team-member__members__main .member-image img,
p.contact-form-team-member__members__main .member-image img {
	display: block;
	height: auto;
	width: 100%;
}
.contact-form-team-member__title,
p.contact-form-team-member__title {
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--heading-2);
	margin-bottom: 2.8125rem;
	margin-top: 0;
	text-align: center;
}
@media (max-width: 781px) {
	.contact-form-team-member__title,
	p.contact-form-team-member__title {
		font-size: 2.375rem;
		margin-bottom: 2.5rem;
	}
}
.contact-form-team-member__inner,
p.contact-form-team-member__inner {
	backdrop-filter: blur(27px);
	background: rgba(255, 255, 255, 0.4);
	border-radius: 0.5rem;
	padding: clamp(1.375rem, 1.1004126547vw, 1rem);
}
@media (min-width: 782px) {
	.contact-form-team-member__inner,
	p.contact-form-team-member__inner {
		display: flex;
		padding: clamp(1.875rem, 2.7510316369vw, 2.5rem);
	}
}
.contact-form-team-member__form,
p.contact-form-team-member__form {
	width: 100%;
}
.contact-form-team-member__form > *,
p.contact-form-team-member__form > * {
	max-width: 42.8125rem;
}
.contact-form-team-member .thumbnail,
p.contact-form-team-member .thumbnail {
	border-radius: 0.375rem;
	overflow: hidden;
}
.contact-form-team-member .thumbnail::after,
p.contact-form-team-member .thumbnail::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;
	pointer-events: none;
	position: absolute;
}
.contact-form-team-member .thumbnail img,
p.contact-form-team-member .thumbnail img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}
@media (min-width: 782px) {
	.contact-form-team-member .form-row,
	p.contact-form-team-member .form-row {
		display: flex;
		gap: 1.25rem;
	}
	.contact-form-team-member .form-row .form-group,
	p.contact-form-team-member .form-row .form-group {
		flex: 1;
		margin-top: 0;
	}
}
.contact-form-team-member .wpcf7-form .wpcf7-not-valid-tip,
p.contact-form-team-member .wpcf7-form .wpcf7-not-valid-tip {
	background-color: rgba(255, 255, 255, 0.75);
	border-radius: 0.25rem;
	padding: 0 0.3125rem;
}
.contact-form-team-member .wpcf7-form .wpcf7-submit,
p.contact-form-team-member .wpcf7-form .wpcf7-submit {
	padding: 0.8125rem 2.75rem 0.8125rem 1.25rem;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2luY2x1ZGVzL21vZHVsZXMvY29udGFjdC1mb3JtLXRlYW0tbWVtYmVyL2J1aWxkL3N0eWxlLmNzcyIsIm1hcHBpbmdzIjoiQUFFQTtDQUNDO0FDREQ7QURHQztDQUNDO0FDREY7QURJQztDQUNDO0FDRkY7QURJRTtDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBQ0ZIO0FES0U7Q0FDQztBQ0hIO0FET0M7Q0FDQyxzQ0VuQmE7Q0ZvQmI7Q0FDQTtDQUNBO0NBQ0E7QUNMRjtBRE9FO0NBQ0M7QUNMSDtBRFFFO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBQ05IO0FEV0U7Q0FDQztBQ1RIO0FEWUU7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUNWSDtBRGNHO0NBQ0M7QUNaSjtBRGNJO0NBQ0MsZ0JFdkJlO0NGd0JmO0NBQ0E7Q0FDQTtBQ1pMO0FEY0s7Q0FDQztBQ1pOO0FEZ0JJO0NBQ0M7Q0FDQTtDQUNBO0FDZEw7QURtQkU7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUNqQkg7QUVpZkU7Q0h6ZUE7RUFZRTtFQUNBO0VBQ0E7Q0NoQkg7QUFDRDtBRGtCRztDQUNDLGtERXRGWTtDRnVGWiw4Q0V2Rlk7QUR1RWhCO0FEb0JFO0NBQ0M7Q0FDQTtBQ2xCSDtBRHFCRTtDQUNDO0NBQ0E7Q0FDQTtBQ25CSDtBRHFCRzs7Ozs7Ozs7O0NBU0MsaURFdEhXO0NGdUhYO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FDbkJKO0FEcUJJOzs7Ozs7Ozs7Q0FDQztBQ1hMO0FEY0k7Ozs7Ozs7OztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0FDSkw7QURTSTtDQUNDO0FDUEw7QURVSTtDQUNDO0FDUkw7QURVSztDQUNDO0FDUk47QURhRztDQUNDO0NBQ0E7QUNYSjtBRGVFO0NBQ0M7QUNiSDtBRGVHO0NBQ0M7QUNiSjtBRGVJO0NBQ0M7Q0FDQSxnQkV2SWU7Q0Z3SWY7Q0FDQTtDQUNBO0FDYkw7QURlSztDQUNDO0FDYk47QURpQkk7Q0FDQztDQUNBO0NBQ0E7QUNmTDtBRHFCQztDQUNDO0FDbkJGO0FEcUJFO0NBQ0M7QUNuQkg7QURzQkU7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUNwQkg7QUUrWEU7Q0h4V0E7RUFFRTtDQ3JCSDtBQUNEO0FEeUJDO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBQ3ZCRjtBRHlCRTs7Q0FFQztBQ3ZCSDtBRDBCRTtDQUNDO0NBQ0E7Q0FDQTtBQ3hCSDtBRDJCRTtDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUN6Qkg7QUQyQkc7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtBQ3pCSjtBRDJCSTtDQUNDO0FDekJMO0FENEJJO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUMxQkw7QUQ0Qks7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtBQzFCTjtBRDZCSztDQUNDLHNDRTlQUztBRG1PZjtBRDhCSztDQUNDO0FDNUJOO0FEa0NFO0NBQ0M7Q0FDQSwwQ0VuUmdCO0NGb1JoQjtDQUNBO0FDaENIO0FEa0NHO0NBQ0MscURFeFJlO0NGeVJmLGlERXpSZTtDRjBSZixzQ0U3Ulc7QUQ2UGY7O0FBclFBOztDQUVDLG9EQ1VpQjtDRFRqQix3Q0NPZ0I7Q0ROaEI7Q0FDQTtBQXdRRDtBQXJRRTs7Q0FDQztDQUNBO0NBQ0E7QUF3UUg7QUV5U0U7Q0ZwakJBOztFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q0EwUUg7QUFDRDtBQXZRRTs7Q0FDQztDQUNBO0NBQ0E7QUEwUUg7QUF4UUc7O0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FBMlFKO0FBeFFHOztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUEyUUo7QUVxUUU7Q0ZyaEJDOztFQVFFO0NBNlFKO0FBQ0Q7QUExUUc7O0NBQ0M7Q0FDQTtDQUNBO0FBNlFKO0FBMVFHOztDQUNDO0NBQ0E7QUE2UUo7QUExUUc7O0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBQTZRSjtBQTFRRzs7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FBNlFKO0FBM1FJOztDQUNDO0FBOFFMO0FBMVFHOztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUE2UUo7QUEzUUk7O0NBQ0M7QUE4UUw7QUExUUc7O0NBQ0M7Q0FDQTtDQUNBO0FBNlFKO0FFd01FO0NGeGRDOztFQU1FO0NBK1FKO0FBQ0Q7QUE3UUk7O0NBQ0M7Q0FDQTtDQUNBO0FBZ1JMO0FBMVFDOztDQUNDLHNDQ2hIYTtDRGlIYixrREMxRWM7Q0QyRWQ7Q0FDQTtDQUNBO0FBNlFGO0FFb0xFO0NGdGNEOztFQVFFO0VBQ0E7Q0ErUUY7QUFDRDtBQTVRQzs7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtBQStRRjtBRXNLRTtDRnpiRDs7RUFPRTtFQUNBO0NBaVJGO0FBQ0Q7QUE5UUM7O0NBQ0M7QUFpUkY7QUEvUUU7O0NBQ0M7QUFrUkg7QUE5UUM7O0NBQ0M7Q0FDQTtBQWlSRjtBQS9RRTs7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FBa1JIO0FBL1FFOztDQUNDO0NBQ0E7Q0FDQTtBQWtSSDtBRW9JRTtDRmxaRDs7RUFFRTtFQUNBO0NBaVJGO0NBL1FFOztFQUNDO0VBQ0E7Q0FrUkg7QUFDRDtBQTlRQzs7Q0FDQztDQUNBO0NBQ0E7QUFpUkY7QUE5UUM7O0NBQ0M7QUFpUkYsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2xtYXYtZW52Ly4vd3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2Fzc2V0cy9jc3MvcGx1Z2lucy93cGNmNy5zY3NzIiwid2VicGFjazovL2xtYXYtZW52Ly4vd3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2luY2x1ZGVzL21vZHVsZXMvY29udGFjdC1mb3JtLXRlYW0tbWVtYmVyL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vbG1hdi1lbnYvLi93cC1jb250ZW50L3RoZW1lcy9sZS1tb25kZS1hLXZlbG8vYXNzZXRzL2Nzcy9fc2V0dGluZ3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2xtYXYtZW52Ly4vd3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2Fzc2V0cy9jc3MvX3NldHRpbmdzL19pbmNsdWRlLW1lZGlhLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vX3NldHRpbmdzL2luaXQnO1xyXG5cclxuLndwY2Y3LWZvcm0ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0PiAqIHtcclxuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb247XHJcblx0fVxyXG5cclxuXHQmLnN1Ym1pdHRpbmcge1xyXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG5cdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXByaW1hcnk7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRpbnNldDogMDtcclxuXHRcdFx0bWFzay1pbWFnZTogdXJsKCdAaW1hZ2VzL2ljb24tYmctc3Bpbm5lci5zdmcnKTtcclxuXHRcdFx0bWFzay1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRtYXNrLXNpemU6IHJlbSg1MCk7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0ei1pbmRleDogMTtcclxuXHRcdH1cclxuXHJcblx0XHQ+ICoge1xyXG5cdFx0XHRvcGFjaXR5OiAwLjY7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQ+IGxhYmVsIHtcclxuXHRcdGNvbG9yOiAkY29sb3ItLWJsYWNrO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdCY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiByZW0oMTYpO1xyXG5cdFx0fVxyXG5cclxuXHRcdD4gc3Bhbjpub3QoW2NsYXNzXSkge1xyXG5cdFx0XHRmb250LXNpemU6IHJlbSgxMik7XHJcblx0XHRcdGxlZnQ6IHJlbSgxMyk7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiByZW0oOSk7XHJcblx0XHRcdHotaW5kZXg6IDI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQud3BjZjcge1xyXG5cdFx0Ji1zcGlubmVyIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHQmLXJlc3BvbnNlLW91dHB1dCB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IHJlbSg0KSAhaW1wb3J0YW50O1xyXG5cdFx0XHRib3JkZXItd2lkdGg6IHJlbSgxKSAhaW1wb3J0YW50O1xyXG5cdFx0XHRmb250LXNpemU6IHJlbSgxNSk7XHJcblx0XHRcdG1hcmdpbjogcmVtKDMyKSAwIDAgIWltcG9ydGFudDtcclxuXHRcdFx0cGFkZGluZzogcmVtKDkpIHJlbSgxMykgIWltcG9ydGFudDtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji1jaGVja2JveCB7XHJcblx0XHRcdC53cGNmNy1saXN0LWl0ZW0ge1xyXG5cdFx0XHRcdG1hcmdpbjogMCByZW0oMjIpIHJlbSg0KSAwO1xyXG5cclxuXHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1ib2xkO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0oMjIpO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogY3VycmVudENvbG9yO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XHJcblx0XHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0dG9wOiByZW0oOCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji1zdWJtaXQge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTEuMDU0OCAxNi4wNTQ3TDE2LjIyNzIgMTAuODgyM0wxLjc2NDg1IDEwLjg4MjNWOS43MDU4N0wxNi4yMjcyIDkuNzA1ODdMMTEuMDU0OCA0LjUzMzUzTDExLjg4NjYgMy43MDE3M0wxOC40NzkgMTAuMjk0MUwxMS44ODY2IDE2Ljg4NjVMMTEuMDU0OCAxNi4wNTQ3WicgZmlsbD0nd2hpdGUnLyUzRSUzQy9zdmclM0VcIik7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHJlbSgxOCkgY2VudGVyO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IHJlbSgyMCkgcmVtKDIwKTtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogcmVtKDQpO1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdG1hcmdpbjogcmVtKDMwKSAwIDA7XHJcblx0XHRcdHBhZGRpbmc6IHJlbSg4KSByZW0oNDQpIHJlbSg4KSByZW0oMjApO1xyXG5cdFx0XHR3aGl0ZS1zcGFjZTogd3JhcDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcblx0XHRcdFx0bWFyZ2luOiByZW0oMjQpIDAgMDtcclxuXHRcdFx0XHRwYWRkaW5nOiByZW0oMTMpIHJlbSg0NCkgcmVtKDEzKSByZW0oMjApO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmW2Rpc2FibGVkXSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1iZy1hbHQ7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItLWJnLWFsdDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYtbm90LXZhbGlkLXRpcCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcclxuXHRcdFx0bWFyZ2luLXRvcDogcmVtKDQpO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYtZm9ybS1jb250cm9sLXdyYXAge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0XHRpbnB1dFt0eXBlPSd0ZXh0J10sXHJcblx0XHRcdGlucHV0W3R5cGU9J2VtYWlsJ10sXHJcblx0XHRcdGlucHV0W3R5cGU9J251bWJlciddLFxyXG5cdFx0XHRpbnB1dFt0eXBlPSdzZWFyY2gnXSxcclxuXHRcdFx0aW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcclxuXHRcdFx0aW5wdXRbdHlwZT0ndGVsJ10sXHJcblx0XHRcdGlucHV0W3R5cGU9J3VybCddLFxyXG5cdFx0XHR0ZXh0YXJlYSxcclxuXHRcdFx0c2VsZWN0IHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXdoaXRlO1xyXG5cdFx0XHRcdGJvcmRlcjogcmVtKDEpIHNvbGlkIHJnYmEoIzFjMmIzYSwgMC4zKTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiByZW0oNik7XHJcblx0XHRcdFx0Y29sb3I6ICMxYzJiM2E7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTQpO1xyXG5cdFx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC40MnB4O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNjAlO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiByZW0oNDYpO1xyXG5cdFx0XHRcdHBhZGRpbmc6IHJlbSgxOCkgcmVtKDIwKSAhaW1wb3J0YW50O1xyXG5cclxuXHRcdFx0XHQmLndwY2Y3LW5vdC12YWxpZCB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlY2VhO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jjo6cGxhY2Vob2xkZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6IHJnYmEoIzFjMmIzYSwgMC40KTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDE0KTtcclxuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjQycHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTYwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHNlbGVjdCB7XHJcblx0XHRcdFx0Ji5pcy1wbGFjZWhvbGRlciB7XHJcblx0XHRcdFx0XHRjb2xvcjogcmdiYSgjMWMyYjNhLCAwLjQpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0b3B0aW9uIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAjMWMyYjNhO1xyXG5cclxuXHRcdFx0XHRcdCZbdmFsdWU9JyddIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6IHJnYmEoIzFjMmIzYSwgMC40KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRleHRhcmVhIHtcclxuXHRcdFx0XHRoZWlnaHQ6IHZ3KDEwMCwgMTcwKTtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiByZW0oMTcwKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYtYWNjZXB0YW5jZSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHRcdFx0LndwY2Y3LWxpc3QtaXRlbSB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cclxuXHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbSgxNCk7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1ib2xkO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0oMjYpO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogY3VycmVudENvbG9yO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XHJcblx0XHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0dG9wOiByZW0oNik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuZm9ybS1ncm91cCB7XHJcblx0XHRtYXJnaW4tdG9wOiByZW0oMTYpO1xyXG5cclxuXHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdD4gbGFiZWwge1xyXG5cdFx0XHRjb2xvcjogIzFjMmIzYTtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0oMTQpO1xyXG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC40MnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTYwJTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDYpO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYtLXN1Ym1pdCB7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmZpbGVzIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRjb2xvcjogI2EyOTg5NTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRnYXA6IHJlbSg4KSAwO1xyXG5cclxuXHRcdHAsXHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdH1cclxuXHJcblx0XHQuZGVzYyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcclxuXHRcdFx0bWFyZ2luOiByZW0oMjIpIDAgcmVtKDExKTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0I21mY2Y3X3psX211bHRpZmlsZWNvbnRhaW5lciB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRcdGdhcDogcmVtKDUpIHJlbSgyMCk7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0b3JkZXI6IDM7XHJcblxyXG5cdFx0XHQud3BjZjctZm9ybS1jb250cm9sLXdyYXAge1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0XHRcdFx0Z2FwOiByZW0oMTApO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHRcdFx0Lm1mY2Y3LXpsLW11bHRpZmlsZS1uYW1lIHtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IHJlbSgxKSBzb2xpZCBjdXJyZW50Q29sb3I7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQubWZjZjdfemxfZGVsZXRlX2ZpbGUge1xyXG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdFx0XHRib3JkZXI6IHJlbSgxKSBzb2xpZCBjdXJyZW50Q29sb3I7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xyXG5cdFx0XHRcdFx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiByZW0oMTkpO1xyXG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbjtcclxuXHRcdFx0XHRcdHdpZHRoOiByZW0oMTkpO1xyXG5cclxuXHRcdFx0XHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogcmVtKDEpO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogcmVtKDcpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLS1lcnJvcjtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuZGVsZXRlLWZpbGUge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCNtZmNmN196bF9hZGRfZmlsZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogcmVtKDI3KTtcclxuXHRcdFx0cGFkZGluZzogcmVtKDUpIHJlbSgyMCk7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItLWJsYWNrO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIkBpbXBvcnQgJy4uLy4uLy4uL2Fzc2V0cy9jc3MvX3NldHRpbmdzL2luaXQnO1xyXG5AaW1wb3J0ICcuLi8uLi8uLi9hc3NldHMvY3NzL3BsdWdpbnMvd3BjZjcnO1xyXG5cclxuLmNvbnRhY3QtZm9ybS10ZWFtLW1lbWJlcixcclxucC5jb250YWN0LWZvcm0tdGVhbS1tZW1iZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tdGVydGlhcnk7XHJcblx0Y29sb3I6ICRjb2xvci0tcHJpbWFyeTtcclxuXHRwYWRkaW5nLWJvdHRvbTogdncoNjAsIDgwKTtcclxuXHRwYWRkaW5nLXRvcDogdncoNjAsIDgwKTtcclxuXHJcblx0Jl9fbWVtYmVycyB7XHJcblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiByZW0oMSkgc29saWQgJGNvbG9yLS10ZXJ0aWFyeTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbSg0MCk7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0XHRcdGJvcmRlci1yaWdodDogcmVtKDIpIHNvbGlkICRjb2xvci0tdGVydGlhcnk7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHZ3KDUwLCA3Mik7XHJcblx0XHRcdFx0bWluLXdpZHRoOiB2dygzMDAsIDQ1Mik7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtKDQ0KTtcclxuXHRcdFx0XHR3aWR0aDogdncoMzAwLCA0MjEpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fbWFpbiB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHJcblx0XHRcdC5oZWFkZXIge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiB2dygxMzEsIDE2MSk7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0oMTUwKTtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50aHVtYm5haWwge1xyXG5cdFx0XHRcdGhlaWdodDogdncoMTMxLCAxNjEpO1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHR3aWR0aDogcmVtKDEzMSk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcblx0XHRcdFx0XHR3aWR0aDogcmVtKDEzMSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQudGl0bGUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogdncoMjQsIDI2KTtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDEzKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnBvc2l0aW9uIHtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbSgxMik7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDE4KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnBob25lIHtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiB2dygxNSwgMTYpO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0Z2FwOiByZW0oOCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5leGNlcnB0IHtcclxuXHRcdFx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG5cdFx0XHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDE1KTtcclxuXHRcdFx0XHQtd2Via2l0LWxpbmUtY2xhbXA6IDQ7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogdncoMTgsIDI4KTtcclxuXHRcdFx0XHRtYXgtd2lkdGg6IHJlbSg0MTApO1xyXG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG5cdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5yZWFkLW1vcmUge1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDE0KTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdGdhcDogcmVtKDYpO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbSgxNCk7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcblx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdGZsZXgtc2hyaW5rOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lm1lbWJlci1pbWFnZSB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogYXV0bztcclxuXHRcdFx0XHRtYXgtd2lkdGg6IDcwJTtcclxuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fdGl0bGUge1xyXG5cdFx0Y29sb3I6ICRjb2xvci0td2hpdGU7XHJcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtLWgyO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDQ1KTtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0oMzgpO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oNDApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9faW5uZXIge1xyXG5cdFx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDI3cHgpO1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogcmVtKDgpO1xyXG5cdFx0cGFkZGluZzogdncoMjIsIDE2KTtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0cGFkZGluZzogdncoMzAsIDQwKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCZfX2Zvcm0ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0Pioge1xyXG5cdFx0XHRtYXgtd2lkdGg6IHJlbSg2ODUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRodW1ibmFpbCB7XHJcblx0XHRib3JkZXItcmFkaXVzOiByZW0oNik7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjUyLCAxMzgsIDMxLCAwLjEyKSwgcmdiYSgyNTIsIDEzOCwgMzEsIDAuMTIpKSwgdXJsKCcuLi8uLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2JnLW5vaXNlLnBuZycpO1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0aW5zZXQ6IDA7XHJcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR9XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRvYmplY3QtZml0OiBjb3ZlcjtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuZm9ybS1yb3cge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGdhcDogcmVtKDIwKTtcclxuXHJcblx0XHRcdC5mb3JtLWdyb3VwIHtcclxuXHRcdFx0XHRmbGV4OiAxO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC53cGNmNy1mb3JtIC53cGNmNy1ub3QtdmFsaWQtdGlwIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiByZW0oNCk7XHJcblx0XHRwYWRkaW5nOiAwIHJlbSg1KTtcclxuXHR9XHJcblxyXG5cdC53cGNmNy1mb3JtIC53cGNmNy1zdWJtaXQge1xyXG5cdFx0cGFkZGluZzogcmVtKDEzKSByZW0oNDQpIHJlbSgxMykgcmVtKDIwKTtcclxuXHR9XHJcbn1cclxuIiwiQGltcG9ydCAnbWl4aW5zJztcclxuXHJcbi8vIExheW91dFxyXG4kbGF5b3V0LS13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7XHJcbiRsYXlvdXQtLXdpZGUtd2lkdGg6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS13aWRlLXNpemUpO1xyXG4kbGF5b3V0LS1wYWRkaW5nLS1taW46IDE2O1xyXG4kbGF5b3V0LS1wYWRkaW5nLS1tYXg6IDMyO1xyXG4kbGF5b3V0LS1wYWRkaW5nOiB2dygkbGF5b3V0LS1wYWRkaW5nLS1taW4sICRsYXlvdXQtLXBhZGRpbmctLW1heCk7XHJcblxyXG4vLyBDb2xvcnNcclxuJGNvbG9yLS13aGl0ZTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKTtcclxuJGNvbG9yLS1ibGFjazogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKTtcclxuXHJcbiRjb2xvci0tcHJpbWFyeTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnkpO1xyXG4kY29sb3ItLXNlY29uZGFyeTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeSk7XHJcbiRjb2xvci0tdGVydGlhcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS10ZXJ0aWFyeSk7XHJcbiRjb2xvci0tYmx1ZS1saWdodDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsdWUtbGlnaHQpO1xyXG5cclxuJGNvbG9yLS1iZy1hbHQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iZy1hbHQpO1xyXG4kY29sb3ItLWJnLWxpZ2h0OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmctbGlnaHQpO1xyXG5cclxuJGNvbG9yLS1hbGVydDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWFsZXJ0KTtcclxuJGNvbG9yLS1zdWNjZXNzOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc3VjY2Vzcyk7XHJcbiRjb2xvci0tZXJyb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1lcnJvcik7XHJcblxyXG4kY29sb3ItLXRleHQ6ICRjb2xvci0tcHJpbWFyeTtcclxuJGNvbG9yLS1saW5rOiAkY29sb3ItLWJsYWNrO1xyXG4kY29sb3ItLWhlYWRpbmdzOiAkY29sb3ItLWJsYWNrO1xyXG4kY29sb3ItLWNvbnRlbnQtYmc6ICRjb2xvci0tYmctYWx0O1xyXG5cclxuJGNvbG9yLS1maWVsZHMtdGV4dDogJGNvbG9yLS1ibGFjaztcclxuJGNvbG9yLS1maWVsZHMtYmc6ICRjb2xvci0td2hpdGU7XHJcbiRjb2xvci0tZmllbGRzLWJvcmRlcjogY29sb3ItbWl4KGluIHNyZ2IsICRjb2xvci0tcHJpbWFyeSAzMCUsIHRyYW5zcGFyZW50KTtcclxuXHJcbi8vIEdsb2JhbFxyXG4kZnVsbC1oZWlnaHQ6IHZhcigtLWxtYXYtLWZ1bGwtaGVpZ2h0KTtcclxuJGZ1bGwtd2lkdGg6IHZhcigtLWxtYXYtLWZ1bGwtd2lkdGgpO1xyXG5cclxuJGhlYWRlci0tbW9iaWxlLW1heDogJ2xnJztcclxuJGZpbHRlcnMtLW1vYmlsZS1tYXg6ICdsZyc7XHJcblxyXG4vLyBGb250c1xyXG4kZm9udC1mYW1pbHktLWJvZHk6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1ib2R5LWZvbnQpO1xyXG4kZm9udC1mYW1pbHktLWhlYWRpbmctYWRkOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0taGVhZGluZy1hZGQtZm9udCk7XHJcblxyXG4kZm9udC13ZWlnaHQtLWJvbGQ6IDcwMDtcclxuXHJcbi8vIEhlYWRpbmdzXHJcbiRmb250LXNpemUtLWgxOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctMSk7XHJcbiRmb250LXNpemUtLWgyOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctMik7XHJcbiRmb250LXNpemUtLWgzOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctMyk7XHJcbiRmb250LXNpemUtLWg0OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctNCk7XHJcbiRmb250LXNpemUtLWg1OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctNSk7XHJcblxyXG4vLyBUZXh0XHJcbiRmb250LXNpemUtLXRleHQtbGFyZ2U6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tdGV4dC1sYXJnZSk7XHJcbiRmb250LXNpemUtLXRleHQtbWVkaXVtOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXRleHQtbWVkaXVtKTtcclxuJGZvbnQtc2l6ZS0tdGV4dC1zbWFsbDogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS10ZXh0LXNtYWxsKTtcclxuJGZvbnQtc2l6ZS0tdGV4dC14c21hbGw6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tdGV4dC14c21hbGwpO1xyXG5cclxuLy8gQnV0dG9uc1xyXG4kZm9udC1zaXplLS1idXR0b24tbWFpbjogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1idXR0b24tbWFpbik7XHJcbiRmb250LXNpemUtLWJ1dHRvbi1yZWFkbW9yZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1idXR0b24tcmVhZG1vcmUpO1xyXG5cclxuLy8gUHJpY2VzXHJcbiRmb250LXNpemUtLXByaWNlLWRlZmF1bHQ6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tcHJpY2UtZGVmYXVsdCk7XHJcbiRmb250LXNpemUtLXByaWNlLWJpZzogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1wcmljZS1iaWcpO1xyXG5cclxuLy8gQm9yZGVyIFJhZGl1c2VzXHJcbiRib3JkZXItcmFkaXVzLS1pbnB1dDogcmVtKDYpO1xyXG4kYm9yZGVyLXJhZGl1cy0tY2hlY2tib3g6IHJlbSgyKTtcclxuXHJcbi8vIElucHV0c1xyXG4kaW5wdXQtLWhlaWdodDogNjI7XHJcbiRpbnB1dC0tcGFkZGluZy0teDogMTM7XHJcbiRpbnB1dC0tcGFkZGluZy0teTogMTg7XHJcbiRpbnB1dC0tYm9yZGVyLXdpZHRoOiAwO1xyXG4kaW5wdXQtLWJvcmRlci1zdHlsZTogc29saWQ7XHJcbiRpbnB1dC0tYm9yZGVyLWNvbG9yOiAkY29sb3ItLWZpZWxkcy1ib3JkZXI7XHJcblxyXG4vLyBUcmFuc2l0aW9uc1xyXG4kdHJhbnNpdGlvbi0tc3BlZWQ6IHZhcigtLWxtYXYtLXRyYW5zaXRpb24tc3BlZWQpO1xyXG4kdHJhbnNpdGlvbi0tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1sbWF2LS10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbik7XHJcbiR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi0tc3BlZWQgJHRyYW5zaXRpb24tLXRpbWluZy1mdW5jdGlvbjtcclxuXHJcbi8vIEJyZWFrcG9pbnRzXHJcbiRicmVha3BvaW50czogKFxyXG5cdHhzOiAzNzVweCxcclxuXHRzbTogNTc2cHgsXHJcblx0bWQ6IDc4MnB4LFxyXG5cdGxnOiA5OTJweCxcclxuXHR4bDogMTIwMHB4LFxyXG5cdHh4bDogMTQ0MHB4LFxyXG5cdG1heDogMTU4NXB4XHJcbik7XHJcblxyXG4vLyBTcGFjaW5nXHJcbiRzcGFjZXItMTogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMjQpO1xyXG4kc3BhY2VyLTI6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTM2KTtcclxuJHNwYWNlci0zOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS02MCk7XHJcbiRzcGFjZXItNDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tODApO1xyXG4kc3BhY2VyLTU6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTEwMCk7XHJcbiRzcGFjZXItNjogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMTIwKTtcclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxyXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG5cdCdwaG9uZSc6IDMyMHB4LFxyXG5cdCd0YWJsZXQnOiA3NjhweCxcclxuXHQnZGVza3RvcCc6IDEwMjRweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcblx0J3NjcmVlbic6ICdzY3JlZW4nLFxyXG5cdCdwcmludCc6ICdwcmludCcsXHJcblx0J2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuXHQnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcblx0J3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuXHQncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG5cdCdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cclxuLy8vXHJcbiR1bml0LWludGVydmFsczogKFxyXG5cdCdweCc6IDEsXHJcblx0J2VtJzogMC4wMSxcclxuXHQncmVtJzogMC4xLFxyXG5cdCcnOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xyXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3JcclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXHJcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gICAuZm9vIHtcclxuLy8vICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XHJcblx0QGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcclxuXHRcdEBlcnJvciAkbWVzc2FnZTtcclxuXHR9XHJcblxyXG5cdEBlbHNlIHtcclxuXHRcdEB3YXJuICRtZXNzYWdlO1xyXG5cdFx0JF86IG5vb3AoKTtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJG1lc3NhZ2U7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5cclxuQG1peGluIGxvZygkbWVzc2FnZSkge1xyXG5cdEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gbm9vcCgpIHt9XHJcblxyXG4vLy9cclxuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuXHQkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcblx0QGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcblx0XHRAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuXHR9XHJcblxyXG5cdEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG5cdFx0QGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuXHRcdFx0JG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuXHRcdFx0JHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcblx0XHRcdCR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcblx0XHRcdEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG5cdFx0XHRcdCgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG5cdFx0XHRcdEByZXR1cm4gZmFsc2U7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcblx0XHRcdEByZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuLy8vXHJcbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcblx0QGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcblx0XHRAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuXHRcdFx0QHJldHVybiAkb3BlcmF0b3I7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcblx0Ly8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuXHQvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuXHQvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG5cdC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuXHQkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG5cdCRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cdCRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG5cdCRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG5cdEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG5cdFx0JGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG5cdEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuXHQkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHQkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcblx0QGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcblx0XHQkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG5cdH1cclxuXHJcblx0QGVsc2Uge1xyXG5cdFx0JHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdCRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG5cdEBpZiBub3QgJGludGVydmFsIHtcclxuXHRcdC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuXHRcdC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcblx0XHQvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuXHRcdC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcblx0XHQvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcblx0XHQkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcblx0fVxyXG5cclxuXHRAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcblx0XHQkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuXHR9XHJcblxyXG5cdEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG5cdFx0JHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuXHQvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcblx0Ly8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuXHJcblx0QGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuXHRcdEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuXHR9XHJcblxyXG5cdCRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG5cdCRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHQkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuXHQkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuXHRAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuXHRAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XHJcblx0XHRAcmV0dXJuICgpO1xyXG5cdH1cclxuXHJcblx0JHJlc3VsdDogKCk7XHJcblxyXG5cdEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuXHRcdCRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xyXG5cdEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG5cdFx0QHJldHVybiAkdmFsdWU7XHJcblx0fVxyXG5cclxuXHRAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xyXG5cdFx0JF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcclxuXHR9XHJcblxyXG5cdCRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xyXG5cdCRyZXN1bHQ6IDA7XHJcblx0JGRpZ2l0czogMDtcclxuXHQkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XHJcblx0JG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xyXG5cclxuXHQvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcclxuXHJcblx0QGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG5cdFx0JHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuXHR9XHJcblxyXG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuXHRcdCRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG5cdFx0QGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG5cdFx0XHRAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKTtcclxuXHRcdH1cclxuXHJcblx0XHRAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG5cdFx0XHQkZGlnaXRzOiAxO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcblx0XHRcdCRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBlbHNlIHtcclxuXHRcdFx0JGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG5cdFx0XHQkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XHJcblx0JHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcclxuXHJcblx0QGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xyXG5cdFx0JF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXHJcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXHJcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcclxuLy8vIGZvciBpbnN0YW5jZS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG5cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG5cdC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcblx0JGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuXHQvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuXHQkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcblx0Ly8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG5cdCRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xyXG5cdCRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xyXG5cclxuXHRAY29udGVudDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcbi8vL1xyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxyXG4vLy9cclxuXHJcbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xyXG5cdEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuXHRcdChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcblx0XHRAY29udGVudDtcclxuXHR9XHJcblxyXG5cdEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuXHRcdEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuXHRcdFx0Ly8gUmVjdXJzaXZlIGNhbGxcclxuXHRcdFx0JHNsaWNlZC1jb25kaXRpb25zOiBzbGljZSgkY29uZGl0aW9ucywgMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkc2xpY2VkLWNvbmRpdGlvbnMuLi4pIHtcclxuXHRcdFx0XHRAY29udGVudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/