/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(76224c7fa303861462e7.woff2) format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(9c1163dc5cc2a1c9b55b.woff2) format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(9ed71fbc8206e8069042.woff2) format("woff2");
}

.card {
  display: flex;

  flex-direction: column;
  list-style: none;
}

.card_top {
  display: flex;
  position: absolute;
}

.card__image {
  width: 282px;
  height: 282px;
  border-radius: 10px 10px 0 0;
}

.card__description {
  display: flex;
  background-color: white;
  color: black;
  padding-top: 25px;
  padding-bottom: 25px;
  padding-left: 20px;
  padding-right: 20px;
  align-items: center;
  justify-content: space-between;
  border-radius: 0 0 10px 10px;
  margin-top: 0px;
  margin-bottom: 0px;
}

.card__title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  font-family: "Inter", sans-serif;
  font-weight: 900;
  font-size: 24px;
  line-height: 29.05px;
  width: 193px;
  margin-top: 0px;
  margin-bottom: 0px;
}

.card__like-button {
  background: transparent url(cfd603a7a410dc4cf45a.svg) center no-repeat;
  width: 21px;
  height: 18px;
  margin-left: 10px;
  border: 0px;
}

.card__like-button:hover {
  background: url(c459af4c9399ced8cab9.svg) center no-repeat;
  cursor: pointer;
  transition: ease-in-out 0.5s;
}

.card__like-button_active {
  background-image: url(f8482d28867cec189b08.svg);
}

.card__delete-button {
  position: absolute;
  background: url(a85cc5e25106301e909e.svg) no-repeat;
  width: 18px;
  height: 19.3px;
  margin: 18px 15px 323.7px 249px;
  border: 0px;
}

.card__delete-button:hover {
  background: url(70d1e4add1f3faeb7897.svg) no-repeat;
  cursor: pointer;
  transition: ease-in-out 0.5s;
}

.content {
}

.cards {
  margin-top: 30px;
  margin-bottom: 67px;
}

.cards__list {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(auto-fit, 282px);
  grid-gap: 20px 17px;
  padding: 0;
  margin: 0;
}

@media screen and (max-width: 600px) {
  .cards {
    padding-top: 36px;
  }
}

.page {
  background-color: black;
  color: white;
  font-family: "Inter", sans-serif;
}

.page__content {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 0 19px;
}

.page__section {
  max-width: 880px;
  width: 100%;
  position: relative;
  margin: 0 auto;
}

@media screen and (max-width: 600px) {
  .page__content {
    align-items: center;
    padding: 0px 0px;
  }
}

.profile {
	display: flex;
	align-items: center;
	margin-top: 40px;
	margin-bottom: 51px;
}

.profile__info {
	display: grid;
	grid-template-areas:
		'title button'
		'description description';
	grid-template-columns: minmax(auto, 373px) auto;
	margin-right: 10px;
}

.profile__edit-button {
	background: transparent url(af236f6cf67005f1d7aa.svg) center no-repeat;
	border: 0px;
	height: 24px;
	width: 24px;
	grid-area: button;
	margin: 15px 0px 9px 18px;
}

.profile__edit-button:hover {
	cursor: pointer;
	transition: ease-in-out 0.5s;
	opacity: 0.6;
}

.profile__add-button {
	background: transparent url(bed8c136e13907f5eefb.svg) center no-repeat;
	height: 50px;
	width: 150px;
	margin-left: auto;
	border: 2px #ffffff;
	border-style: solid;
	border-radius: 2px;
	min-width: 150px;
}

.profile__add-button:hover {
	cursor: pointer;
	transition: ease-in-out 0.5s;
	opacity: 0.6;
}

.profile__edit-avatar-button {
	/* position the button in the center of the profile picture */
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

	height: 26px;
	width: 26px;
	background: transparent url(8f38193d8521f66c09fa.png) center no-repeat;
	/* this insures the icon scales properly */
	background-size: contain;
	/* remove default button styling */
	border: none;

	/* hover functionality */
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease-in-out;
}

.profile__image-container:hover .profile__edit-avatar-button {
	cursor: pointer;
	opacity: 1;
	pointer-events: auto;
}

/* image container for profile picture, used as the positioning element for edit-avatar button */
.profile__image-container {
	position: relative;
	margin-right: 24px;
	border-radius: 50%; /* make the container circular too! */
	overflow: hidden; /* ensure the image doesn't spill out of the circular container */
	height: 120px;
	width: 120px;
}

.profile__title {
	font-family: 'Inter', sans-serif;
	font-size: 41px;
	line-height: 48px;
	font-weight: 500;
	grid-area: title;
	margin: 0px 0px;
	max-width: 368px;
	margin-bottom: 0px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.profile__description {
	font-family: 'Inter', sans-serif;
	font-size: 18px;
	line-height: 21.78px;
	font-weight: 400;
	grid-area: description;
	margin: 0px 0px;
	max-width: 365px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.profile__image {
	height: 120px;
	width: 120px;
	border-radius: 50%; /* make the image circular */
	object-fit: cover; /* ensure the image covers the entire area without distortion */
}

@media screen and (max-width: 600px) {
	.profile {
		flex-wrap: wrap;
		flex-direction: column;
		justify-content: center;
		width: 282px;
		margin-top: 42px;
		margin-bottom: 0px;
		text-align: center;
	}

	.profile__info {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 282px;
		margin: 0px;
		text-align: baseline;
	}

	.profile__title {
		width: 196px;
		font-size: 22px;
		line-height: 26.63px;
		text-align: center;
		margin-bottom: 14px;
	}

	.profile__description {
		width: 100%;
		width: 282px;
		height: 14px;
		overflow: visible;
		font-size: 14px;
		line-height: 16.94px;
		text-align: center;
		padding: 0px 43px 0px;
	}

	.profile__edit-button {
		border: 1px solid rgba(255, 255, 255, 1);
		width: 17px;
		height: 17px;
		margin-left: 10px;
		margin-top: 4px;
		margin-bottom: 0px;
		padding: 0px;
	}

	.profile__add-button {
		width: 282px;
		margin-top: 36px;
		width: 100%;
		text-align: center;
	}

	.profile__image {
		margin: 0px 0px 30px;
		text-align: center;
	}
}

.header {
  margin-top: 45px;
  border: 1px rgba(84, 84, 84, 0.7);
  border-bottom-style: solid;
}

.header__logo {
  margin: 0px 0px 41px 0px;
}

@media screen and (max-width: 600px) {
  .header {
    width: 320px;
    height: 56px;
    border-bottom: auto;
    margin-top: 28px;
  }

  .header__logo {
    width: 126px;
    height: 24px;
    margin-left: 27px;
    margin-right: 167px;
    margin-bottom: 32px;
  }
}

.footer {
  color: #545454;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 18px;
  padding-top: 67px;
  padding-bottom: 60px;
}

.footer__text {
  width: 318px;
  margin: 0px;
  line-height: 21.78px;
}

@media screen and (max-width: 600px) {
  .footer {
    margin: 48px 0px 36px;
    padding: 0px;
    width: auto;
    font-size: 14px;
    line-height: 16.94px;
  }

  .footer__text {
    width: 282px;
  }
}

/* transparent layer for popup content */
.modal {
	display: flex;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	padding: 0 19px;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 998;
	/* smooth transition (works w/ .modal_opened): */
	visibility: hidden;
	opacity: 0;
	transition:
		visibility 0s 0.5s,
		opacity 0.5s linear;
}

/* standard container for profile and add card with forms */
.modal__container {
	position: relative;
	margin-top: 195px;
	margin-bottom: 195px;
	width: 430px;
	height: 330px;
	background-color: rgb(255, 254, 254);
	margin: auto;
	padding: 0px 36px;
	border-radius: 10px;
}

/* small container for confirm delete modal */
.modal__confirm-delete-container {
	/* use the same centering approach as other modals */
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

	/* modal dimensions */
	width: 430px;
	height: 181px;

	/* styling */
	background-color: #ffffff;
	border-radius: 10px;
	padding: 34px 36px 36px 36px;
	box-sizing: border-box;
}

/* container for edit avatar modal */
.modal__edit-avatar-container {
	/* controls overall size of modal accounting for padding of fields and button: */
	box-sizing: border-box;
	/* controls vertical and horizontal spacing of modal on screen */
	padding: 34px 36px 36px 36px;
	/* handles centering of modal on screen: */
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

	width: 430px;
	height: 272px;

	background-color: #ffffff;
	margin: auto;
	border-radius: 10px;
}

/* container for image, x button and caption */
.image__modal_container {
	display: flex;
	position: relative;
	padding: 0;
	/* keeps right proportions on image: */
	max-width: 75vw;
	max-height: 75vh;
	margin: auto;
}

.popup__image {
	object-fit: cover;
	align-items: center;
	max-width: 100%;
}

.popup__caption {
	position: absolute;
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 12px;
	color: #ffffff;
	line-height: 14.52px;
	top: calc(100% + 5px);
	margin: 0;
	padding: 0;
}

.modal_opened {
	display: flex;
	/* smooth fade-in (works w/ .modal): */
	visibility: visible;
	opacity: 1;
	transition:
		visibility 0s,
		opacity 0.5s linear;
}

/* standard heading for edit-profile and add-card modals */
.modal__heading {
	font-family: 'Inter', sans-serif;
	font-weight: 900;
	font-size: 24px;
	color: #000;
	line-height: 29.05px;
	margin: 34px 0 54px;
}

.modal__close {
	border: none;
	background-color: transparent;
	position: absolute;
	bottom: calc(100% + 5px);
	left: calc(100% + 5px);
	width: 40px;
	height: 40px;
	background-image: url(dac22d3e7f8c8059add2.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.modal__close:hover {
	cursor: pointer;
	transition: ease-in-out 0.5s;
	opacity: 60%;
}

.modal__form {
	display: grid;
	height: 170px;
}

/* standard button for edit-profile and add-card modals (black button clicked to submit data) */
.modal__button {
	background-color: #000;
	width: 100%;
	height: 50.15px;
	border: 0;
	border-radius: 2px;
	margin-bottom: 36.51px;
	padding: 0px;
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 18px;
	text-align: center;
	line-height: 21.78px;
	color: #fff;
}

/* CONFIRM DELETE ("Are you sure?") MODAL STYLES */
/* X-button for confirm delete modal (same image as standard close button, but rotated 45 degrees to look like a checkmark) */
.modal__confirm-delete-close-btn {
	/* position realative to the modal container: */
	position: absolute;
	top: -45px;
	right: -45px;

	/* button styling */
	width: 40px;
	height: 40px;
	border: none;
	background-color: transparent;
	background-image: url(dac22d3e7f8c8059add2.svg);
	background-repeat: no-repeat;
	background-size: contain;
	cursor: pointer;
}

/* heading for confirm delete modal ("Are you sure?") */
.modal__confirm-delete-heading {
	font-family: 'Inter', sans-serif;
	font-weight: 900;
	font-size: 24px;
	color: #000;
	line-height: 100%;
	margin: 0 0 38px 0; /* adjust top and bottom margins (which controls spacing between heading and button) */
	text-align: left;
}
/* confirm-delete-button has same styles as standard modal button, but different width and height */
.modal__confirm-delete-card-btn {
	background-color: #000;
	width: 100%; /* use full width of modal container (which is 430px) minus padding (36px on each side) to get 358px) */
	height: 50px;
	border: 0;
	border-radius: 2px;
	margin: 0;

	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 18px;
	text-align: center;
	line-height: 100%;
	color: #fff;
	cursor: pointer;
}

/* EDIT AVATAR MODAL STYLES */
/* standard heading for edit avatar modal */
.modal__edit-avatar-modal-heading {
	width: 330px;
	height: 23px;

	margin-top: 0px;
	margin-bottom: 54px;
	padding-right: 28px;

	font-family: 'Inter', sans-serif;
	font-weight: 900;
	font-size: 24px;
	color: #000;
	line-height: 100%;
	letter-spacing: 0%;
}
/* input for edit avatar modal (same styles as standard input, but different width and height) notice: how it uses the :last-of-type pseudo-class to target the last input field to avoid extra spacing*/
.modal__edit-avatar-container-input {
	width: 358px;
	height: 27px;

	margin-bottom: 48px;

	border: 0px;
	border-bottom: 1px solid gray;

	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 14px;

	color: #000;
	background-color: transparent;

	line-height: 100%;
	letter-spacing: 0%;
}
/* container for edit avatar modal form (same styles as standard form, but display is block instead of grid to allow for vertical stacking of input and button) */
.modal__edit-avatar-form {
	display: block;
}
/* confirm edit avatar button has same styles as standard modal button, but different width and height, note: this selector targets the submit button specifically within the edit avatar modal by using the ID selector */
#edit-avatar-modal .modal__button {
	width: 358px;
	height: 50px;
}

.modal__button:hover {
	cursor: pointer;
	transition: ease-in-out 0.5s;
	opacity: 80%;
}

.modal__button_disabled {
	background-color: gray;
	color: black;
	opacity: 30%;
}

.modal__input {
	font-family: 'Inter', sans-serif;
	width: 100%;
	height: 27.26px;
	font-weight: 400;
	padding: 0px;

	border: 0px;
	border-bottom: 1px solid #000000;
	margin-bottom: 29.74px;

	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 16.94px;
}

.modal__input:last-of-type {
	margin-bottom: 48px;
}

.modal__input_type_error {
	border-bottom: 1px solid #ff0000;
}

.modal__error {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 14.52px;
	color: #ff0000;
	position: absolute;
	top: calc(100% + -40px);
	left: 0;
	transition: opacity 0.3s;
	opacity: 0;
	/*prevents user from interacting w/modal*/
	pointer-events: none;
	z-index: 1;
}

.modal__error_visible {
	opacity: 1;
	/*to interact*/
	pointer-events: auto;
}

.modal__label {
	/*works together with 'position: absolute' in previous class*/
	position: relative;
}

@media screen and (max-width: 430px) {
	.modal__container {
		width: 100%;
		max-width: calc(100% + 19px * 2);
		padding: 19px;
		height: 322px;
	}
	.modal__heading {
		font-size: 18px;
		line-height: 21.78px;
	}
	.modal__input {
		height: 27px;
		margin-bottom: 30px;
	}
	.modal__input:last-of-type {
		margin-bottom: 45px;
	}
	.modal__button {
		height: 46px;
	}
	.modal__close {
		width: 26px;
		height: 26px;
		bottom: calc(100% + 13.62px);
		left: calc(100% + -29px);
	}
}



/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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a0I7Q0FDbEIsdUJBQXVCO0NBQ3ZCLE9BQU87Q0FDUCx3QkFBd0I7Q0FDeEIsVUFBVTtDQUNWLHlDQUF5QztDQUN6QyxvQkFBb0I7Q0FDcEIsVUFBVTtBQUNYOztBQUVBO0NBQ0MsVUFBVTtDQUNWLGNBQWM7Q0FDZCxvQkFBb0I7QUFDckI7O0FBRUE7Q0FDQyw2REFBNkQ7Q0FDN0Qsa0JBQWtCO0FBQ25COztBQUVBO0NBQ0M7RUFDQyxXQUFXO0VBQ1gsZ0NBQWdDO0VBQ2hDLGFBQWE7RUFDYixhQUFhO0NBQ2Q7Q0FDQTtFQUNDLGVBQWU7RUFDZixvQkFBb0I7Q0FDckI7Q0FDQTtFQUNDLFlBQVk7RUFDWixtQkFBbUI7Q0FDcEI7Q0FDQTtFQUNDLG1CQUFtQjtDQUNwQjtDQUNBO0VBQ0MsWUFBWTtDQUNiO0NBQ0E7RUFDQyxXQUFXO0VBQ1gsWUFBWTtFQUNaLDRCQUE0QjtFQUM1Qix3QkFBd0I7Q0FDekI7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL0Fyb3VuZCB0aGUgVVMvLi9zcmMvdmVuZG9yL25vcm1hbGl6ZS5jc3MiLCJ3ZWJwYWNrOi8vQXJvdW5kIHRoZSBVUy8uL3NyYy92ZW5kb3IvZm9udHMuY3NzIiwid2VicGFjazovL0Fyb3VuZCB0aGUgVVMvLi9zcmMvYmxvY2tzL2NhcmQuY3NzIiwid2VicGFjazovL0Fyb3VuZCB0aGUgVVMvLi9zcmMvYmxvY2tzL2NvbnRlbnQuY3NzIiwid2VicGFjazovL0Fyb3VuZCB0aGUgVVMvLi9zcmMvYmxvY2tzL2NhcmRzLmNzcyIsIndlYnBhY2s6Ly9Bcm91bmQgdGhlIFVTLy4vc3JjL2Jsb2Nrcy9wYWdlLmNzcyIsIndlYnBhY2s6Ly9Bcm91bmQgdGhlIFVTLy4vc3JjL2Jsb2Nrcy9wcm9maWxlLmNzcyIsIndlYnBhY2s6Ly9Bcm91bmQgdGhlIFVTLy4vc3JjL2Jsb2Nrcy9oZWFkZXIuY3NzIiwid2VicGFjazovL0Fyb3VuZCB0aGUgVVMvLi9zcmMvYmxvY2tzL2Zvb3Rlci5jc3MiLCJ3ZWJwYWNrOi8vQXJvdW5kIHRoZSBVUy8uL3NyYy9ibG9ja3MvbW9kYWwuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbi8qIERvY3VtZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBTZWN0aW9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5ib2R5IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cclxuICovXHJcblxyXG5tYWluIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcclxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5oMSB7XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xyXG4gIGhlaWdodDogMDsgLyogMSAqL1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxucHJlIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5hIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYWJiclt0aXRsZV0ge1xyXG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAqIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuICBib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgdG9wOiAtMC41ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICBtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQge1xyXG4gIC8qIDEgKi9cclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxyXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3Qge1xyXG4gIC8qIDEgKi9cclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5bdHlwZT1cImJ1dHRvblwiXSxcclxuW3R5cGU9XCJyZXNldFwiXSxcclxuW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICovXHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXHJcbiAqL1xyXG5cclxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcclxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcclxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xyXG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICovXHJcblxyXG5maWVsZHNldCB7XHJcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cclxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxyXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XHJcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmxlZ2VuZCB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXHJcbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cclxuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cclxuICBwYWRkaW5nOiAwOyAvKiAzICovXHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5wcm9ncmVzcyB7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXHJcbiAqL1xyXG5cclxudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXHJcbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5bdHlwZT1cImNoZWNrYm94XCJdLFxyXG5bdHlwZT1cInJhZGlvXCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gKi9cclxuXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cclxuICovXHJcblxyXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xyXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cclxufVxyXG5cclxuLyogSW50ZXJhY3RpdmVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXHJcbiAqL1xyXG5cclxuZGV0YWlscyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdW1tYXJ5IHtcclxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbn1cclxuXHJcbi8qIE1pc2NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXHJcbiAqL1xyXG5cclxudGVtcGxhdGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cclxuICovXHJcblxyXG5baGlkZGVuXSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4iLCJAZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICBzcmM6IHVybChcIi4vZm9udHMvSW50ZXItUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL0ludGVyLU1lZGl1bS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL0ludGVyLUJsYWNrLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xyXG59XHJcbiIsIi5jYXJkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbi5jYXJkX3RvcCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5jYXJkX19pbWFnZSB7XHJcbiAgd2lkdGg6IDI4MnB4O1xyXG4gIGhlaWdodDogMjgycHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDtcclxufVxyXG5cclxuLmNhcmRfX2Rlc2NyaXB0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIGNvbG9yOiBibGFjaztcclxuICBwYWRkaW5nLXRvcDogMjVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4O1xyXG4gIG1hcmdpbi10b3A6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jYXJkX190aXRsZSB7XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICBmb250LXNpemU6IDI0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDI5LjA1cHg7XHJcbiAgd2lkdGg6IDE5M3B4O1xyXG4gIG1hcmdpbi10b3A6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jYXJkX19saWtlLWJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL2xpa2UtaW5hY3RpdmUuc3ZnXCIpIGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgd2lkdGg6IDIxcHg7XHJcbiAgaGVpZ2h0OiAxOHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIGJvcmRlcjogMHB4O1xyXG59XHJcblxyXG4uY2FyZF9fbGlrZS1idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9saWtlLWhvdmVyLnN2Z1wiKSBjZW50ZXIgbm8tcmVwZWF0O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBlYXNlLWluLW91dCAwLjVzO1xyXG59XHJcblxyXG4uY2FyZF9fbGlrZS1idXR0b25fYWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbGlrZS1hY3RpdmUuc3ZnXCIpO1xyXG59XHJcblxyXG4uY2FyZF9fZGVsZXRlLWJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9kZWxldGUuc3ZnXCIpIG5vLXJlcGVhdDtcclxuICB3aWR0aDogMThweDtcclxuICBoZWlnaHQ6IDE5LjNweDtcclxuICBtYXJnaW46IDE4cHggMTVweCAzMjMuN3B4IDI0OXB4O1xyXG4gIGJvcmRlcjogMHB4O1xyXG59XHJcblxyXG4uY2FyZF9fZGVsZXRlLWJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2RlbGV0ZS1ob3Zlci5zdmdcIikgbm8tcmVwZWF0O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBlYXNlLWluLW91dCAwLjVzO1xyXG59XHJcbiIsIi5jb250ZW50IHtcclxufVxyXG4iLCIuY2FyZHMge1xyXG4gIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogNjdweDtcclxufVxyXG5cclxuLmNhcmRzX19saXN0IHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCAyODJweCk7XHJcbiAgZ3JpZC1nYXA6IDIwcHggMTdweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICAuY2FyZHMge1xyXG4gICAgcGFkZGluZy10b3A6IDM2cHg7XHJcbiAgfVxyXG59XHJcbiIsIi5wYWdlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuLnBhZ2VfX2NvbnRlbnQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuICBwYWRkaW5nOiAwIDE5cHg7XHJcbn1cclxuXHJcbi5wYWdlX19zZWN0aW9uIHtcclxuICBtYXgtd2lkdGg6IDg4MHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICAucGFnZV9fY29udGVudCB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMHB4IDBweDtcclxuICB9XHJcbn1cclxuIiwiLnByb2ZpbGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiA0MHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDUxcHg7XHJcbn1cclxuXHJcbi5wcm9maWxlX19pbmZvIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtYXJlYXM6XHJcblx0XHQndGl0bGUgYnV0dG9uJ1xyXG5cdFx0J2Rlc2NyaXB0aW9uIGRlc2NyaXB0aW9uJztcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heChhdXRvLCAzNzNweCkgYXV0bztcclxuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5wcm9maWxlX19lZGl0LWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uL2ltYWdlcy9lZGl0LWljb24uc3ZnKSBjZW50ZXIgbm8tcmVwZWF0O1xyXG5cdGJvcmRlcjogMHB4O1xyXG5cdGhlaWdodDogMjRweDtcclxuXHR3aWR0aDogMjRweDtcclxuXHRncmlkLWFyZWE6IGJ1dHRvbjtcclxuXHRtYXJnaW46IDE1cHggMHB4IDlweCAxOHB4O1xyXG59XHJcblxyXG4ucHJvZmlsZV9fZWRpdC1idXR0b246aG92ZXIge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBlYXNlLWluLW91dCAwLjVzO1xyXG5cdG9wYWNpdHk6IDAuNjtcclxufVxyXG5cclxuLnByb2ZpbGVfX2FkZC1idXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvYWRkLWljb24uc3ZnKSBjZW50ZXIgbm8tcmVwZWF0O1xyXG5cdGhlaWdodDogNTBweDtcclxuXHR3aWR0aDogMTUwcHg7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0Ym9yZGVyOiAycHggI2ZmZmZmZjtcclxuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRtaW4td2lkdGg6IDE1MHB4O1xyXG59XHJcblxyXG4ucHJvZmlsZV9fYWRkLWJ1dHRvbjpob3ZlciB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGVhc2UtaW4tb3V0IDAuNXM7XHJcblx0b3BhY2l0eTogMC42O1xyXG59XHJcblxyXG4ucHJvZmlsZV9fZWRpdC1hdmF0YXItYnV0dG9uIHtcclxuXHQvKiBwb3NpdGlvbiB0aGUgYnV0dG9uIGluIHRoZSBjZW50ZXIgb2YgdGhlIHByb2ZpbGUgcGljdHVyZSAqL1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblxyXG5cdGhlaWdodDogMjZweDtcclxuXHR3aWR0aDogMjZweDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1hZ2VzL2VkaXQtaWNvbi10cmFuc3AucG5nKSBjZW50ZXIgbm8tcmVwZWF0O1xyXG5cdC8qIHRoaXMgaW5zdXJlcyB0aGUgaWNvbiBzY2FsZXMgcHJvcGVybHkgKi9cclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0LyogcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxpbmcgKi9cclxuXHRib3JkZXI6IG5vbmU7XHJcblxyXG5cdC8qIGhvdmVyIGZ1bmN0aW9uYWxpdHkgKi9cclxuXHRvcGFjaXR5OiAwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLnByb2ZpbGVfX2ltYWdlLWNvbnRhaW5lcjpob3ZlciAucHJvZmlsZV9fZWRpdC1hdmF0YXItYnV0dG9uIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0b3BhY2l0eTogMTtcclxuXHRwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG5cclxuLyogaW1hZ2UgY29udGFpbmVyIGZvciBwcm9maWxlIHBpY3R1cmUsIHVzZWQgYXMgdGhlIHBvc2l0aW9uaW5nIGVsZW1lbnQgZm9yIGVkaXQtYXZhdGFyIGJ1dHRvbiAqL1xyXG4ucHJvZmlsZV9faW1hZ2UtY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luLXJpZ2h0OiAyNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTsgLyogbWFrZSB0aGUgY29udGFpbmVyIGNpcmN1bGFyIHRvbyEgKi9cclxuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBlbnN1cmUgdGhlIGltYWdlIGRvZXNuJ3Qgc3BpbGwgb3V0IG9mIHRoZSBjaXJjdWxhciBjb250YWluZXIgKi9cclxuXHRoZWlnaHQ6IDEyMHB4O1xyXG5cdHdpZHRoOiAxMjBweDtcclxufVxyXG5cclxuLnByb2ZpbGVfX3RpdGxlIHtcclxuXHRmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcclxuXHRmb250LXNpemU6IDQxcHg7XHJcblx0bGluZS1oZWlnaHQ6IDQ4cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRncmlkLWFyZWE6IHRpdGxlO1xyXG5cdG1hcmdpbjogMHB4IDBweDtcclxuXHRtYXgtd2lkdGg6IDM2OHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDBweDtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5wcm9maWxlX19kZXNjcmlwdGlvbiB7XHJcblx0Zm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XHJcblx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAyMS43OHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0Z3JpZC1hcmVhOiBkZXNjcmlwdGlvbjtcclxuXHRtYXJnaW46IDBweCAwcHg7XHJcblx0bWF4LXdpZHRoOiAzNjVweDtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5wcm9maWxlX19pbWFnZSB7XHJcblx0aGVpZ2h0OiAxMjBweDtcclxuXHR3aWR0aDogMTIwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlOyAvKiBtYWtlIHRoZSBpbWFnZSBjaXJjdWxhciAqL1xyXG5cdG9iamVjdC1maXQ6IGNvdmVyOyAvKiBlbnN1cmUgdGhlIGltYWdlIGNvdmVycyB0aGUgZW50aXJlIGFyZWEgd2l0aG91dCBkaXN0b3J0aW9uICovXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcblx0LnByb2ZpbGUge1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDI4MnB4O1xyXG5cdFx0bWFyZ2luLXRvcDogNDJweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDBweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5wcm9maWxlX19pbmZvIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiAyODJweDtcclxuXHRcdG1hcmdpbjogMHB4O1xyXG5cdFx0dGV4dC1hbGlnbjogYmFzZWxpbmU7XHJcblx0fVxyXG5cclxuXHQucHJvZmlsZV9fdGl0bGUge1xyXG5cdFx0d2lkdGg6IDE5NnB4O1xyXG5cdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI2LjYzcHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxNHB4O1xyXG5cdH1cclxuXHJcblx0LnByb2ZpbGVfX2Rlc2NyaXB0aW9uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0d2lkdGg6IDI4MnB4O1xyXG5cdFx0aGVpZ2h0OiAxNHB4O1xyXG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMTYuOTRweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDBweCA0M3B4IDBweDtcclxuXHR9XHJcblxyXG5cdC5wcm9maWxlX19lZGl0LWJ1dHRvbiB7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xyXG5cdFx0d2lkdGg6IDE3cHg7XHJcblx0XHRoZWlnaHQ6IDE3cHg7XHJcblx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdG1hcmdpbi10b3A6IDRweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDBweDtcclxuXHRcdHBhZGRpbmc6IDBweDtcclxuXHR9XHJcblxyXG5cdC5wcm9maWxlX19hZGQtYnV0dG9uIHtcclxuXHRcdHdpZHRoOiAyODJweDtcclxuXHRcdG1hcmdpbi10b3A6IDM2cHg7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5wcm9maWxlX19pbWFnZSB7XHJcblx0XHRtYXJnaW46IDBweCAwcHggMzBweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcbn1cclxuIiwiLmhlYWRlciB7XHJcbiAgbWFyZ2luLXRvcDogNDVweDtcclxuICBib3JkZXI6IDFweCByZ2JhKDg0LCA4NCwgODQsIDAuNyk7XHJcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbn1cclxuXHJcbi5oZWFkZXJfX2xvZ28ge1xyXG4gIG1hcmdpbjogMHB4IDBweCA0MXB4IDBweDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICAuaGVhZGVyIHtcclxuICAgIHdpZHRoOiAzMjBweDtcclxuICAgIGhlaWdodDogNTZweDtcclxuICAgIGJvcmRlci1ib3R0b206IGF1dG87XHJcbiAgICBtYXJnaW4tdG9wOiAyOHB4O1xyXG4gIH1cclxuXHJcbiAgLmhlYWRlcl9fbG9nbyB7XHJcbiAgICB3aWR0aDogMTI2cHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMjdweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTY3cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG4gIH1cclxufVxyXG4iLCIuZm9vdGVyIHtcclxuICBjb2xvcjogIzU0NTQ1NDtcclxuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIHBhZGRpbmctdG9wOiA2N3B4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xyXG59XHJcblxyXG4uZm9vdGVyX190ZXh0IHtcclxuICB3aWR0aDogMzE4cHg7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDIxLjc4cHg7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgLmZvb3RlciB7XHJcbiAgICBtYXJnaW46IDQ4cHggMHB4IDM2cHg7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNi45NHB4O1xyXG4gIH1cclxuXHJcbiAgLmZvb3Rlcl9fdGV4dCB7XHJcbiAgICB3aWR0aDogMjgycHg7XHJcbiAgfVxyXG59XHJcbiIsIi8qIHRyYW5zcGFyZW50IGxheWVyIGZvciBwb3B1cCBjb250ZW50ICovXHJcbi5tb2RhbCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHBhZGRpbmc6IDAgMTlweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcblx0ei1pbmRleDogOTk4O1xyXG5cdC8qIHNtb290aCB0cmFuc2l0aW9uICh3b3JrcyB3LyAubW9kYWxfb3BlbmVkKTogKi9cclxuXHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2l0aW9uOlxyXG5cdFx0dmlzaWJpbGl0eSAwcyAwLjVzLFxyXG5cdFx0b3BhY2l0eSAwLjVzIGxpbmVhcjtcclxufVxyXG5cclxuLyogc3RhbmRhcmQgY29udGFpbmVyIGZvciBwcm9maWxlIGFuZCBhZGQgY2FyZCB3aXRoIGZvcm1zICovXHJcbi5tb2RhbF9fY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luLXRvcDogMTk1cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTk1cHg7XHJcblx0d2lkdGg6IDQzMHB4O1xyXG5cdGhlaWdodDogMzMwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU0LCAyNTQpO1xyXG5cdG1hcmdpbjogYXV0bztcclxuXHRwYWRkaW5nOiAwcHggMzZweDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcblxyXG4vKiBzbWFsbCBjb250YWluZXIgZm9yIGNvbmZpcm0gZGVsZXRlIG1vZGFsICovXHJcbi5tb2RhbF9fY29uZmlybS1kZWxldGUtY29udGFpbmVyIHtcclxuXHQvKiB1c2UgdGhlIHNhbWUgY2VudGVyaW5nIGFwcHJvYWNoIGFzIG90aGVyIG1vZGFscyAqL1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblxyXG5cdC8qIG1vZGFsIGRpbWVuc2lvbnMgKi9cclxuXHR3aWR0aDogNDMwcHg7XHJcblx0aGVpZ2h0OiAxODFweDtcclxuXHJcblx0Lyogc3R5bGluZyAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRwYWRkaW5nOiAzNHB4IDM2cHggMzZweCAzNnB4O1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi8qIGNvbnRhaW5lciBmb3IgZWRpdCBhdmF0YXIgbW9kYWwgKi9cclxuLm1vZGFsX19lZGl0LWF2YXRhci1jb250YWluZXIge1xyXG5cdC8qIGNvbnRyb2xzIG92ZXJhbGwgc2l6ZSBvZiBtb2RhbCBhY2NvdW50aW5nIGZvciBwYWRkaW5nIG9mIGZpZWxkcyBhbmQgYnV0dG9uOiAqL1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0LyogY29udHJvbHMgdmVydGljYWwgYW5kIGhvcml6b250YWwgc3BhY2luZyBvZiBtb2RhbCBvbiBzY3JlZW4gKi9cclxuXHRwYWRkaW5nOiAzNHB4IDM2cHggMzZweCAzNnB4O1xyXG5cdC8qIGhhbmRsZXMgY2VudGVyaW5nIG9mIG1vZGFsIG9uIHNjcmVlbjogKi9cclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiA1MCU7XHJcblx0bGVmdDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cclxuXHR3aWR0aDogNDMwcHg7XHJcblx0aGVpZ2h0OiAyNzJweDtcclxuXHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuXHRtYXJnaW46IGF1dG87XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuLyogY29udGFpbmVyIGZvciBpbWFnZSwgeCBidXR0b24gYW5kIGNhcHRpb24gKi9cclxuLmltYWdlX19tb2RhbF9jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Lyoga2VlcHMgcmlnaHQgcHJvcG9ydGlvbnMgb24gaW1hZ2U6ICovXHJcblx0bWF4LXdpZHRoOiA3NXZ3O1xyXG5cdG1heC1oZWlnaHQ6IDc1dmg7XHJcblx0bWFyZ2luOiBhdXRvO1xyXG59XHJcblxyXG4ucG9wdXBfX2ltYWdlIHtcclxuXHRvYmplY3QtZml0OiBjb3ZlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnBvcHVwX19jYXB0aW9uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0Zm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Y29sb3I6ICNmZmZmZmY7XHJcblx0bGluZS1oZWlnaHQ6IDE0LjUycHg7XHJcblx0dG9wOiBjYWxjKDEwMCUgKyA1cHgpO1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4ubW9kYWxfb3BlbmVkIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdC8qIHNtb290aCBmYWRlLWluICh3b3JrcyB3LyAubW9kYWwpOiAqL1xyXG5cdHZpc2liaWxpdHk6IHZpc2libGU7XHJcblx0b3BhY2l0eTogMTtcclxuXHR0cmFuc2l0aW9uOlxyXG5cdFx0dmlzaWJpbGl0eSAwcyxcclxuXHRcdG9wYWNpdHkgMC41cyBsaW5lYXI7XHJcbn1cclxuXHJcbi8qIHN0YW5kYXJkIGhlYWRpbmcgZm9yIGVkaXQtcHJvZmlsZSBhbmQgYWRkLWNhcmQgbW9kYWxzICovXHJcbi5tb2RhbF9faGVhZGluZyB7XHJcblx0Zm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XHJcblx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRmb250LXNpemU6IDI0cHg7XHJcblx0Y29sb3I6ICMwMDA7XHJcblx0bGluZS1oZWlnaHQ6IDI5LjA1cHg7XHJcblx0bWFyZ2luOiAzNHB4IDAgNTRweDtcclxufVxyXG5cclxuLm1vZGFsX19jbG9zZSB7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3R0b206IGNhbGMoMTAwJSArIDVweCk7XHJcblx0bGVmdDogY2FsYygxMDAlICsgNXB4KTtcclxuXHR3aWR0aDogNDBweDtcclxuXHRoZWlnaHQ6IDQwcHg7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbW9kYWxfY2xvc2Uuc3ZnJyk7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbn1cclxuXHJcbi5tb2RhbF9fY2xvc2U6aG92ZXIge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBlYXNlLWluLW91dCAwLjVzO1xyXG5cdG9wYWNpdHk6IDYwJTtcclxufVxyXG5cclxuLm1vZGFsX19mb3JtIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGhlaWdodDogMTcwcHg7XHJcbn1cclxuXHJcbi8qIHN0YW5kYXJkIGJ1dHRvbiBmb3IgZWRpdC1wcm9maWxlIGFuZCBhZGQtY2FyZCBtb2RhbHMgKGJsYWNrIGJ1dHRvbiBjbGlja2VkIHRvIHN1Ym1pdCBkYXRhKSAqL1xyXG4ubW9kYWxfX2J1dHRvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDUwLjE1cHg7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRtYXJnaW4tYm90dG9tOiAzNi41MXB4O1xyXG5cdHBhZGRpbmc6IDBweDtcclxuXHRmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGZvbnQtc2l6ZTogMThweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bGluZS1oZWlnaHQ6IDIxLjc4cHg7XHJcblx0Y29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi8qIENPTkZJUk0gREVMRVRFIChcIkFyZSB5b3Ugc3VyZT9cIikgTU9EQUwgU1RZTEVTICovXHJcbi8qIFgtYnV0dG9uIGZvciBjb25maXJtIGRlbGV0ZSBtb2RhbCAoc2FtZSBpbWFnZSBhcyBzdGFuZGFyZCBjbG9zZSBidXR0b24sIGJ1dCByb3RhdGVkIDQ1IGRlZ3JlZXMgdG8gbG9vayBsaWtlIGEgY2hlY2ttYXJrKSAqL1xyXG4ubW9kYWxfX2NvbmZpcm0tZGVsZXRlLWNsb3NlLWJ0biB7XHJcblx0LyogcG9zaXRpb24gcmVhbGF0aXZlIHRvIHRoZSBtb2RhbCBjb250YWluZXI6ICovXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogLTQ1cHg7XHJcblx0cmlnaHQ6IC00NXB4O1xyXG5cclxuXHQvKiBidXR0b24gc3R5bGluZyAqL1xyXG5cdHdpZHRoOiA0MHB4O1xyXG5cdGhlaWdodDogNDBweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbW9kYWxfY2xvc2Uuc3ZnJyk7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vKiBoZWFkaW5nIGZvciBjb25maXJtIGRlbGV0ZSBtb2RhbCAoXCJBcmUgeW91IHN1cmU/XCIpICovXHJcbi5tb2RhbF9fY29uZmlybS1kZWxldGUtaGVhZGluZyB7XHJcblx0Zm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XHJcblx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRmb250LXNpemU6IDI0cHg7XHJcblx0Y29sb3I6ICMwMDA7XHJcblx0bGluZS1oZWlnaHQ6IDEwMCU7XHJcblx0bWFyZ2luOiAwIDAgMzhweCAwOyAvKiBhZGp1c3QgdG9wIGFuZCBib3R0b20gbWFyZ2lucyAod2hpY2ggY29udHJvbHMgc3BhY2luZyBiZXR3ZWVuIGhlYWRpbmcgYW5kIGJ1dHRvbikgKi9cclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcbi8qIGNvbmZpcm0tZGVsZXRlLWJ1dHRvbiBoYXMgc2FtZSBzdHlsZXMgYXMgc3RhbmRhcmQgbW9kYWwgYnV0dG9uLCBidXQgZGlmZmVyZW50IHdpZHRoIGFuZCBoZWlnaHQgKi9cclxuLm1vZGFsX19jb25maXJtLWRlbGV0ZS1jYXJkLWJ0biB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuXHR3aWR0aDogMTAwJTsgLyogdXNlIGZ1bGwgd2lkdGggb2YgbW9kYWwgY29udGFpbmVyICh3aGljaCBpcyA0MzBweCkgbWludXMgcGFkZGluZyAoMzZweCBvbiBlYWNoIHNpZGUpIHRvIGdldCAzNThweCkgKi9cclxuXHRoZWlnaHQ6IDUwcHg7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRtYXJnaW46IDA7XHJcblxyXG5cdGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRsaW5lLWhlaWdodDogMTAwJTtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIEVESVQgQVZBVEFSIE1PREFMIFNUWUxFUyAqL1xyXG4vKiBzdGFuZGFyZCBoZWFkaW5nIGZvciBlZGl0IGF2YXRhciBtb2RhbCAqL1xyXG4ubW9kYWxfX2VkaXQtYXZhdGFyLW1vZGFsLWhlYWRpbmcge1xyXG5cdHdpZHRoOiAzMzBweDtcclxuXHRoZWlnaHQ6IDIzcHg7XHJcblxyXG5cdG1hcmdpbi10b3A6IDBweDtcclxuXHRtYXJnaW4tYm90dG9tOiA1NHB4O1xyXG5cdHBhZGRpbmctcmlnaHQ6IDI4cHg7XHJcblxyXG5cdGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xyXG5cdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdGNvbG9yOiAjMDAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAxMDAlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwJTtcclxufVxyXG4vKiBpbnB1dCBmb3IgZWRpdCBhdmF0YXIgbW9kYWwgKHNhbWUgc3R5bGVzIGFzIHN0YW5kYXJkIGlucHV0LCBidXQgZGlmZmVyZW50IHdpZHRoIGFuZCBoZWlnaHQpIG5vdGljZTogaG93IGl0IHVzZXMgdGhlIDpsYXN0LW9mLXR5cGUgcHNldWRvLWNsYXNzIHRvIHRhcmdldCB0aGUgbGFzdCBpbnB1dCBmaWVsZCB0byBhdm9pZCBleHRyYSBzcGFjaW5nKi9cclxuLm1vZGFsX19lZGl0LWF2YXRhci1jb250YWluZXItaW5wdXQge1xyXG5cdHdpZHRoOiAzNThweDtcclxuXHRoZWlnaHQ6IDI3cHg7XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDQ4cHg7XHJcblxyXG5cdGJvcmRlcjogMHB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBncmF5O1xyXG5cclxuXHRmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHJcblx0Y29sb3I6ICMwMDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG5cdGxpbmUtaGVpZ2h0OiAxMDAlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwJTtcclxufVxyXG4vKiBjb250YWluZXIgZm9yIGVkaXQgYXZhdGFyIG1vZGFsIGZvcm0gKHNhbWUgc3R5bGVzIGFzIHN0YW5kYXJkIGZvcm0sIGJ1dCBkaXNwbGF5IGlzIGJsb2NrIGluc3RlYWQgb2YgZ3JpZCB0byBhbGxvdyBmb3IgdmVydGljYWwgc3RhY2tpbmcgb2YgaW5wdXQgYW5kIGJ1dHRvbikgKi9cclxuLm1vZGFsX19lZGl0LWF2YXRhci1mb3JtIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG4vKiBjb25maXJtIGVkaXQgYXZhdGFyIGJ1dHRvbiBoYXMgc2FtZSBzdHlsZXMgYXMgc3RhbmRhcmQgbW9kYWwgYnV0dG9uLCBidXQgZGlmZmVyZW50IHdpZHRoIGFuZCBoZWlnaHQsIG5vdGU6IHRoaXMgc2VsZWN0b3IgdGFyZ2V0cyB0aGUgc3VibWl0IGJ1dHRvbiBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBlZGl0IGF2YXRhciBtb2RhbCBieSB1c2luZyB0aGUgSUQgc2VsZWN0b3IgKi9cclxuI2VkaXQtYXZhdGFyLW1vZGFsIC5tb2RhbF9fYnV0dG9uIHtcclxuXHR3aWR0aDogMzU4cHg7XHJcblx0aGVpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG4ubW9kYWxfX2J1dHRvbjpob3ZlciB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGVhc2UtaW4tb3V0IDAuNXM7XHJcblx0b3BhY2l0eTogODAlO1xyXG59XHJcblxyXG4ubW9kYWxfX2J1dHRvbl9kaXNhYmxlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogZ3JheTtcclxuXHRjb2xvcjogYmxhY2s7XHJcblx0b3BhY2l0eTogMzAlO1xyXG59XHJcblxyXG4ubW9kYWxfX2lucHV0IHtcclxuXHRmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDI3LjI2cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRwYWRkaW5nOiAwcHg7XHJcblxyXG5cdGJvcmRlcjogMHB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwMDAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDI5Ljc0cHg7XHJcblxyXG5cdGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxNi45NHB4O1xyXG59XHJcblxyXG4ubW9kYWxfX2lucHV0Omxhc3Qtb2YtdHlwZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogNDhweDtcclxufVxyXG5cclxuLm1vZGFsX19pbnB1dF90eXBlX2Vycm9yIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmMDAwMDtcclxufVxyXG5cclxuLm1vZGFsX19lcnJvciB7XHJcblx0Zm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0bGluZS1oZWlnaHQ6IDE0LjUycHg7XHJcblx0Y29sb3I6ICNmZjAwMDA7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogY2FsYygxMDAlICsgLTQwcHgpO1xyXG5cdGxlZnQ6IDA7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0LypwcmV2ZW50cyB1c2VyIGZyb20gaW50ZXJhY3Rpbmcgdy9tb2RhbCovXHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuLm1vZGFsX19lcnJvcl92aXNpYmxlIHtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdC8qdG8gaW50ZXJhY3QqL1xyXG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG59XHJcblxyXG4ubW9kYWxfX2xhYmVsIHtcclxuXHQvKndvcmtzIHRvZ2V0aGVyIHdpdGggJ3Bvc2l0aW9uOiBhYnNvbHV0ZScgaW4gcHJldmlvdXMgY2xhc3MqL1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMwcHgpIHtcclxuXHQubW9kYWxfX2NvbnRhaW5lciB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1heC13aWR0aDogY2FsYygxMDAlICsgMTlweCAqIDIpO1xyXG5cdFx0cGFkZGluZzogMTlweDtcclxuXHRcdGhlaWdodDogMzIycHg7XHJcblx0fVxyXG5cdC5tb2RhbF9faGVhZGluZyB7XHJcblx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMjEuNzhweDtcclxuXHR9XHJcblx0Lm1vZGFsX19pbnB1dCB7XHJcblx0XHRoZWlnaHQ6IDI3cHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxuXHQubW9kYWxfX2lucHV0Omxhc3Qtb2YtdHlwZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA0NXB4O1xyXG5cdH1cclxuXHQubW9kYWxfX2J1dHRvbiB7XHJcblx0XHRoZWlnaHQ6IDQ2cHg7XHJcblx0fVxyXG5cdC5tb2RhbF9fY2xvc2Uge1xyXG5cdFx0d2lkdGg6IDI2cHg7XHJcblx0XHRoZWlnaHQ6IDI2cHg7XHJcblx0XHRib3R0b206IGNhbGMoMTAwJSArIDEzLjYycHgpO1xyXG5cdFx0bGVmdDogY2FsYygxMDAlICsgLTI5cHgpO1xyXG5cdH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/