@charset "UTF-8";
/* Base */ /* Reset and base styles  */
* {
  padding: 0px;
  margin: 0px;
  border: none;
}

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

/* Links */
a,
a:link,
a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

/* Common */
aside,
nav,
footer,
header,
section,
main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  font-size: inherit;
  font-weight: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  color: var(--lightest-slate);
  line-height: 1.1;
}

ul,
ul li {
  list-style: none;
}

img {
  vertical-align: top;
}

img,
svg {
  max-width: 100%;
  height: auto;
}

address {
  font-style: normal;
}

/* Form */
input,
textarea,
button,
select {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  background-color: transparent;
}

input::-ms-clear {
  display: none;
}

button,
input[type=submit] {
  display: inline-block;
  box-shadow: none;
  background-color: transparent;
  background: none;
  cursor: pointer;
}

input:focus,
input:active,
button:focus,
button:active {
  outline: none;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

label {
  cursor: pointer;
}

legend {
  display: block;
}

:root {
  --dark-navy: #020c1b;
  --navy: #0a192f;
  --light-navy: #112240;
  --lightest-navy: #233554;
  --navy-shadow: rgba(2, 12, 27, 0.7);
  --dark-slate: #495670;
  --slate: #8892b0;
  --light-slate: #a8b2d1;
  --lightest-slate: #ccd6f6;
  --white: #e6f1ff;
  --green: #64ffda;
  --green-tint: rgba(100, 255, 218, 0.1);
  --pink: #f57dff;
  --blue: #57cbff;
  --easing: cubic-bezier(0.645, 0.045, 0.355, 1);
  --transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  --container-width: 1300px;
  --container-padding: 150px;
  --font-main: "Inter", system-ui, sans-serif;
  --font-accent: "SFMono", "FiraMono", monospace;
  --page-bg: var(--navy);
  --text-color: var(--slate);
  --text-color-titles: var(--lightest-slate);
  --text-color-description: var(--light-slate);
  --accent: var(--green);
  --link-color: var(--green);
  --laptop-size: 1199px;
  --tablet-size: 959px;
  --mobile-size: 599px;
}

.light {
  --page-bg: white;
  --text-color: #000;
  --text-color-titles: #000;
  --link-color: #2578c8;
}

@font-face {
  font-family: FiraMono;
  font-display: swap;
  src: url("../fonts/FiraMono-Bold.woff2") format("woff2"), url("../fonts/FiraMono-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: FiraMono;
  font-display: swap;
  src: url("../fonts/FiraMono-Medium.woff2") format("woff2"), url("../fonts/FiraMono-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: Inter;
  font-display: swap;
  src: url("../fonts/Inter-Regular.woff2") format("woff2"), url("../fonts/Inter-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Inter;
  font-display: swap;
  src: url("../fonts/Inter-Bold.woff2") format("woff2"), url("../fonts/Inter-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: FiraMono;
  font-display: swap;
  src: url("../fonts/FiraMono-Regular.woff2") format("woff2"), url("../fonts/FiraMono-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: SFMono;
  font-display: swap;
  src: url("../fonts/SFMono-Bold.woff2") format("woff2"), url("../fonts/SFMono-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: Inter;
  font-display: swap;
  src: url("../fonts/Inter-SemiBold.woff2") format("woff2"), url("../fonts/Inter-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: SFMono;
  font-display: swap;
  src: url("../fonts/SFMono-Regular.woff2") format("woff2"), url("../fonts/SFMono-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
html {
  scroll-behavior: smooth;
  background-color: var(--page-bg);
  scrollbar-width: thin;
  scrollbar-color: var(--dark-slate) var(--navy);
}

body {
  background-color: var(--page-bg);
  color: var(--slate);
  font-family: var(--font-main);
  counter-reset: section;
}
body.no-scroll main {
  filter: blur(5px) brightness(0.7);
  transition: var(--transition);
  pointer-events: none;
  user-select: none;
}
body.no-scroll footer {
  filter: blur(5px) brightness(0.7);
  transition: var(--transition);
  pointer-events: none;
  user-select: none;
}

img {
  display: block;
}

a {
  color: var(--link-color);
}

/* Маленькая внутренняя точка */
.cursor-dot {
  position: fixed;
  width: 6px;
  height: 6px;
  background-color: var(--green);
  border-radius: 50%;
  pointer-events: none;
  z-index: 10000;
  transform: translate(-50%, -50%);
  transition: transform 0.05s ease-out;
}
@media (max-width: 768px) {
  .cursor-dot {
    display: none;
  }
}

/* Большой внешний круг */
.cursor-circle {
  position: fixed;
  width: 30px;
  height: 30px;
  border: 1px solid var(--green);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  transition: transform 0.15s ease-out;
  opacity: 0.5;
}
@media (max-width: 768px) {
  .cursor-circle {
    display: none;
  }
}

.none {
  display: none !important;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.no-scroll {
  overflow-y: hidden;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.d-flex {
  display: flex;
}

.flex-center {
  justify-content: center;
}

/* Демо контент */
.header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* Контейнеры */
.container {
  margin: 0 auto;
  padding: 0 var(--container-padding);
  max-width: var(--container-width);
  width: 100%;
}
@media (max-width: 768px) {
  .container {
    padding: 0px 50px;
  }
}
@media (max-width: 480px) {
  .container {
    padding: 0px 25px;
  }
}

.container-full {
  padding: 0 var(--container-padding);
  max-width: 100%;
}

.container-left-50 {
  padding: 0 var(--container-padding);
  max-width: 50%;
}
@media (max-width: 768px) {
  .container-left-50 {
    max-width: 100%;
  }
}

.container-right-50 {
  padding: 0 var(--container-padding);
  max-width: 50%;
  margin-left: auto;
}
@media (max-width: 768px) {
  .container-right-50 {
    max-width: 100%;
  }
}

.container-right {
  padding-left: calc((100% - var(--container-width)) / 2 + var(--container-padding));
}
@media (max-width: 1220px) {
  .container-right {
    padding-left: var(--container-padding);
  }
}

.container-left {
  padding-right: calc((100% - var(--container-width)) / 2 + var(--container-padding));
}
@media (max-width: 1220px) {
  .container-left {
    padding-right: var(--container-padding);
  }
}

.container-half-left {
  padding-right: calc((100% - var(--container-width)) / 2 + var(--container-width) / 2);
  padding-left: calc((100% - var(--container-width)) / 2 + var(--container-padding));
}
@media (max-width: 1220px) {
  .container-half-left {
    padding-left: var(--container-padding);
  }
}
@media (max-width: 768px) {
  .container-half-left {
    padding: 0 var(--container-padding);
  }
}

.container-half-right {
  padding-left: calc((100% - var(--container-width)) / 2 + var(--container-width) / 2);
  padding-right: calc((100% - var(--container-width)) / 2 + var(--container-padding));
}
@media (max-width: 1220px) {
  .container-half-right {
    padding-right: var(--container-padding);
  }
}
@media (max-width: 768px) {
  .container-half-right {
    padding: 0 var(--container-padding);
  }
}

html,
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.footer {
  margin-top: auto;
}

/* Blocks */
.btn {
  display: inline-block;
  position: relative;
  color: var(--green);
  background-color: transparent;
  border: 1px solid var(--green);
  border-radius: 4px;
  padding: 10px 16px;
  font-family: var(--font-accent);
  line-height: 1;
  text-decoration: none;
  transition: var(--transition);
  font-size: 14px;
  align-self: baseline;
}
.btn:hover, .btn:focus-visible {
  outline: none;
  box-shadow: 3px 3px 0 0 var(--green);
  transform: translate(-4px, -4px);
}

.contact {
  padding-top: 100px;
  padding-bottom: 100px;
}
.contact .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  max-width: 900px;
}
.contact .numbered-heading {
  display: flex;
  align-items: center;
  font-family: var(--font-accent);
  font-size: 16px;
  font-weight: 400;
  color: var(--green);
}
.contact .numbered-heading::before {
  bottom: -1px;
  font-size: 14px;
}
.contact .numbered-heading::after {
  content: none;
}
.contact .contact__title {
  margin-bottom: 10px;
  font-size: clamp(20px, 5vw, 40px);
  font-weight: 600;
  color: var(--lightest-slate);
  text-align: center;
}
.contact .contact__description {
  margin-bottom: 30px;
  text-align: center;
  font-size: 20px;
  line-height: 1.3;
}
.contact .btn {
  padding: 20px 25px;
  align-self: center;
  font-size: 16px;
}
.contact .btn:hover {
  box-shadow: 4px 4px 0 0 var(--green);
  transform: translate(-5px, -5px);
}

.footer {
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  height: auto;
  min-height: 70px;
  padding: 16px;
  padding-bottom: 30px;
  text-align: center;
  font-family: var(--font-accent);
  font-size: 12px;
}
.footer .footer__socials {
  display: none;
  gap: 10px;
}
@media (max-width: 768px) {
  .footer .footer__socials {
    display: flex;
  }
}
.footer .footer__socials-item {
  padding: 10px;
}
.footer .footer__socials-item svg {
  width: 24px;
  height: 24px;
}

.header {
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  position: fixed;
  top: 0px;
  z-index: 11;
  padding: 0px 50px;
  width: 100%;
  background-color: rgba(10, 25, 47, 0.85);
  backdrop-filter: blur(10px);
  transition: var(--transition);
  filter: none !important;
  pointer-events: auto !important;
  user-select: auto !important;
  height: 100px;
  z-index: 9995;
}
.header.hidden {
  height: 70px;
  transform: translateY(-70px);
  box-shadow: 0 10px 30px -10px var(--navy-shadow);
}
.header.scroll-up {
  height: 70px;
  transform: translateY(0px);
  box-shadow: 0 10px 30px -10px var(--navy-shadow);
}
.header .logo a {
  transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.4s;
}
.header .logo a:hover {
  opacity: 0.65;
}
.header .btn {
  margin-left: 15px;
}

.header__nav {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media (max-width: 768px) {
  .header__nav {
    display: none;
  }
}

.nav__list {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-accent);
  list-style: none;
  counter-reset: nav-counter;
}
.nav__list li {
  counter-increment: nav-counter;
  font-size: 18px;
}
.nav__list li a::before {
  content: counter(nav-counter, decimal-leading-zero) ".";
  color: var(--green);
  font-size: 12px;
  margin-right: 5px;
}

.nav__item a {
  padding: 10px;
  color: var(--lightest-slate);
  font-size: 14px;
  font-weight: 400;
  transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.nav__item:hover a {
  color: var(--green);
}

.hero {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  min-height: 100vh;
}
.hero .container {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.hero .btn {
  margin-top: 30px;
}

@media (max-height: 600px) and (min-width: 600px), (max-width: 380px) {
  .hero {
    height: auto;
    padding-top: 100px;
  }
}
.hero__block p {
  max-width: 600px;
  margin-top: 24px;
  font-size: 18px;
  line-height: 1.5;
}

.icons-wrapper {
  padding: 30px 0;
  display: flex;
  column-gap: 30px;
}

.icon {
  fill: transparent;
  stroke: transparent;
  width: 62px;
  height: 62px;
}

.icon--github {
  stroke: var(--light-slate);
  transition: all 0.2s ease-in;
}

.icon--telegram {
  stroke: var(--light-slate);
  transition: all 0.2s ease-in;
}

.icon--whatsapp {
  fill: var(--light-slate);
  transition: all 0.2s ease-in;
}

.icon--card-external {
  stroke: var(--light-slate);
  transition: all 0.2s ease-in;
}

.icon--card-github {
  stroke: var(--light-slate);
  transition: all 0.2s ease-in;
}

.left-side {
  position: fixed;
  bottom: 0px;
  left: 40px;
  right: auto;
  z-index: 10;
}
.left-side__socials {
  display: flex;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
}
.left-side__socials::after {
  content: "";
  display: block;
  width: 1px;
  height: 90px;
  background-color: var(--light-slate);
}
.left-side__socials li:last-of-type {
  margin-bottom: 20px;
}
.left-side.left-side__socials-item {
  display: flex;
  align-items: center;
  justify-content: center;
}
.left-side a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  transition: var(--transition);
}
.left-side a:hover {
  transform: translateY(-3px);
}
.left-side a:hover:has(.icon--whatsapp) {
  fill: var(--green);
}
.left-side a:hover svg {
  stroke: var(--green);
}
.left-side a:hover .icon--whatsapp {
  fill: var(--green);
}
.left-side svg {
  width: 20px;
  height: 20px;
}
@media (max-width: 768px) {
  .left-side {
    display: none;
  }
}

.logo {
  font-size: 32px;
}

.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: min(75vw, 400px);
  height: 100vh;
  z-index: 99;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 50px;
  padding-top: 40px;
  padding-bottom: 40px;
  background: var(--light-navy);
  box-shadow: -10px 0px 30px -15px var(--navy-shadow);
  transition: var(--transition);
  transform: translateX(100vw);
  visibility: hidden;
}
.mobile-nav .btn {
  align-self: auto;
  margin-left: 0;
  color: var(--green);
  padding: 20px 40px;
}

.mobile-nav--open {
  transform: translateX(0vw);
  visibility: visible;
}

.mobile-nav a {
  font-family: var(--font-accent);
  font-size: clamp(14px, 4vw, 18px);
  color: var(--lightest-slate);
}

.mobile-nav__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 30px;
  font-size: 28px;
  text-align: center;
}
.mobile-nav__list .active {
  opacity: 0.5;
}
.mobile-nav__list li {
  display: flex;
  flex-direction: column;
  counter-increment: item 1;
}
.mobile-nav__list li::before {
  content: "0" counter(item) ".";
  display: block;
  color: var(--green);
  font-size: 14px;
}
.mobile-nav__list li a {
  padding: 10px;
}

/* Nav Icon */
.mobile-nav-btn {
  --time: 0.1s;
  --width: 40px;
  --height: 30px;
  --line-height: 2px;
  --spacing: 6px;
  --color: var(--green);
  --radius: 4px;
  height: calc(var(--line-height) * 3 + var(--spacing) * 2);
  width: var(--width);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 999;
}
@media (max-width: 768px) {
  .mobile-nav-btn {
    display: flex;
  }
}

.nav-icon {
  position: relative;
  width: var(--width);
  height: var(--line-height);
  background-color: var(--color);
  border-radius: var(--radius);
}

.nav-icon::before,
.nav-icon::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: var(--width);
  height: var(--line-height);
  border-radius: var(--radius);
  background-color: var(--color);
  transition: transform var(--time) ease-in, top var(--time) linear var(--time);
}

.nav-icon::before {
  top: calc(-1 * (var(--line-height) + var(--spacing)));
}

.nav-icon::after {
  top: calc(var(--line-height) + var(--spacing));
}

.nav-icon.nav-icon--active {
  background-color: transparent;
}

.nav-icon.nav-icon--active::before,
.nav-icon.nav-icon--active::after {
  top: 0;
  transition: top var(--time) linear, transform var(--time) ease-in var(--time);
}

.nav-icon.nav-icon--active::before {
  transform: rotate(45deg);
}

.nav-icon.nav-icon--active::after {
  transform: rotate(-45deg);
}

.portfolio {
  padding-top: 80px;
  padding-bottom: 80px;
}
.portfolio .container {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.portfolio .portfolio__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(323px, 1fr));
  gap: 15px;
}
.portfolio .portfolio__card {
  display: flex;
  flex-direction: column;
  justify-content: end;
  position: relative;
  min-height: 304px;
  border-radius: 4px;
  background-color: var(--light-navy);
  box-shadow: 0 10px 30px -15px var(--navy-shadow);
  transition: var(--transition);
}
.portfolio .portfolio__card:hover .portfolio__card-title {
  color: var(--green);
}
.portfolio .portfolio__card:hover .portfolio__card-bg {
  background-color: var(--light-navy);
  opacity: 0.2;
}
.portfolio .portfolio__card:hover .portfolio__card-description {
  height: 105px;
  margin-bottom: 15px;
  opacity: 1;
}
.portfolio .portfolio__card:hover .portfolio__card-links {
  opacity: 1;
  transform: translateY(0);
}
.portfolio .portfolio__card .portfolio__card-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: var(--transition);
}
.portfolio .portfolio__card .portfolio__card-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.portfolio .portfolio__card-content {
  display: flex;
  flex-direction: column;
  padding: 20px 30px;
  background-color: var(--light-navy);
  z-index: 5;
}
.portfolio .portfolio__card-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-bottom: 15px;
  font-size: 20px;
  color: var(--lightest-slate);
  overflow: hidden;
  transition: var(--transition);
}
.portfolio .portfolio__card-title:hover {
  color: var(--green);
}
.portfolio .portfolio__card-description {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  height: 0px;
  line-height: 1.3;
  overflow: hidden;
  transition: var(--transition);
  padding-bottom: 0px;
  opacity: 0;
}
.portfolio .portfolio__card-tech-list {
  display: flex;
  column-gap: 10px;
  flex-wrap: wrap;
  font-family: var(--font-accent);
  font-size: 14px;
  line-height: 1.5;
}
.portfolio .portfolio__card-links {
  position: absolute;
  top: 15px;
  right: 10px;
  display: flex;
  gap: 10px;
  z-index: 10;
  opacity: 0;
  transform: translateY(-50%);
  transition: var(--transition);
  z-index: 999;
}
.portfolio .portfolio__card-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 5px;
  overflow: hidden;
}
.portfolio .portfolio__card-links a:hover .icon {
  stroke: var(--green);
}
.portfolio .portfolio__card-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  opacity: 0;
  z-index: 99;
}

.right-side {
  position: fixed;
  bottom: 0px;
  right: 40px;
  left: auto;
  z-index: 10;
}

.right-side__email {
  display: flex;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
}
.right-side__email a {
  margin: 20px auto;
  padding: 10px;
  font-family: var(--font-accent);
  font-size: 14px;
  line-height: 18px;
  letter-spacing: 0.1em;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  color: var(--light-slate);
  transition: var(--transition);
}
.right-side__email a:hover {
  transform: translateY(-3px);
  color: var(--green);
}
.right-side__email::after {
  content: "";
  display: block;
  width: 1px;
  height: 90px;
  margin: 0px auto;
  background-color: var(--light-slate);
}
@media (max-width: 768px) {
  .right-side__email {
    display: none;
  }
}

.skills {
  padding-top: 80px;
  padding-bottom: 80px;
}
.skills .container {
  display: flex;
  flex-direction: column;
  gap: 50px;
  max-width: 900px;
  padding: 0px 100px;
}
@media (max-width: 768px) {
  .skills .container {
    padding: 0px 50px;
  }
}
@media (max-width: 480px) {
  .skills .container {
    padding: 0px 25px;
  }
}
.skills .skills__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  row-gap: 30px;
}
.skills .skills__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.skills .skills__item:hover .skills__item-title {
  color: var(--green);
}
.skills .skills__item img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
}
.skills .skills__item-title {
  font-family: var(--font-accent);
  transition: var(--transition);
}

h1 {
  margin: 0px 0px 16px 4px;
  color: var(--green);
  font-family: var(--font-accent);
  font-size: clamp(14px, 5vw, 16px);
  font-weight: 400;
}

h2 {
  color: var(--lightest-slate);
}

h3 {
  color: var(--slate);
}

.heading-big {
  font-size: clamp(40px, 7vw, 80px);
}

.numbered-heading {
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  position: relative;
  font-size: clamp(26px, 5vw, 32px);
  white-space: nowrap;
}
.numbered-heading::before {
  position: relative;
  bottom: -3px;
  height: 100%;
  counter-increment: section 1;
  content: "0" counter(section) ".";
  margin-right: 10px;
  color: var(--green);
  font-family: var(--font-accent);
  font-size: clamp(16px, 3vw, 20px);
  font-weight: 400;
}
.numbered-heading:after {
  content: "";
  display: block;
  position: relative;
  bottom: -2px;
  width: 400px;
  height: 1px;
  margin-left: 20px;
  background-color: var(--lightest-navy);
}
@media (max-width: 768px) {
  .numbered-heading:after {
    width: 100%;
  }
}

/* No styles code below. Only in modules */
/* Не пишите CSS код ниже. Только в подключаемых файлах */
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJiYXNlL192YXJzLnNjc3MiLCJiYXNlL19mb250c0F1dG9HZW4uc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsImJhc2UvX21peGlucy5zY3NzIiwiYmFzZS9fdXRpbHMuc2NzcyIsImJhc2UvX2NvbnRhaW5lcnMuc2NzcyIsImJhc2UvX3N0aWNreS1mb290ZXIuc2NzcyIsImJsb2Nrcy9fYnRucy5zY3NzIiwiYmxvY2tzL19jb250YWN0LnNjc3MiLCJibG9ja3MvX2Zvb3Rlci5zY3NzIiwiYmxvY2tzL19oZWFkZXIuc2NzcyIsImJsb2Nrcy9faGVyby5zY3NzIiwiYmxvY2tzL19pY29ucy5zY3NzIiwiYmxvY2tzL19sZWZ0LXNpZGUuc2NzcyIsImJsb2Nrcy9fbG9nby5zY3NzIiwiYmxvY2tzL19tb2JpbGUtbmF2LnNjc3MiLCJibG9ja3MvX25hdi1pY29uLnNjc3MiLCJibG9ja3MvX3BvcnRmb2xpby5zY3NzIiwiYmxvY2tzL19yaWdodC1zaWRlLnNjc3MiLCJibG9ja3MvX3NraWxscy5zY3NzIiwiYmxvY2tzL190aXRsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUNDQTtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7QUFBQTtBQUFBO0VBR0M7OztBQUdEO0FBRUE7QUFBQTtBQUFBO0VBR0M7OztBQUdEO0VBQ0M7OztBQUdEO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUM7OztBQUdEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBT0M7RUFDQTs7O0FBR0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUM7RUFDQTtFQUNBOzs7QUFHRDtBQUFBO0VBRUM7OztBQUdEO0VBQ0M7OztBQUdEO0FBQUE7RUFFQztFQUNBOzs7QUFHRDtFQUNDOzs7QUFHRDtBQUVBO0FBQUE7QUFBQTtBQUFBO0VBSUM7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7OztBQUdEO0FBQUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtBQUFBO0FBQUE7QUFBQTtFQUlDOzs7QUFHRDtFQUNDO0VBQ0E7OztBQUdEO0VBQ0M7OztBQUdEO0VBQ0M7OztBQ3ZIRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQzFDRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ3RERDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUVBOztBQUdDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBS0g7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBaUJEO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDbERBO0VEeUNEO0lBWUU7Ozs7QUFJRjtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDcEVBO0VEMEREO0lBYUU7Ozs7QUVwRkY7RUFDQzs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FDdENEO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7QUFDQTtFQUNDO0VBQ0E7RUFFQTtFQUNBOztBRkRBO0VFSkQ7SUFRRTs7O0FGRUQ7RUVWRDtJQVlFOzs7O0FBSUY7RUFDQztFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7O0FGbkJBO0VFaUJEO0lBS0U7Ozs7QUFJRjtFQUNDO0VBQ0E7RUFDQTs7QUY3QkE7RUUwQkQ7SUFNRTs7OztBQUlGO0VBQ0M7O0FGM0NBO0VFMENEO0lBSUU7Ozs7QUFJRjtFQUNDOztBRm5EQTtFRWtERDtJQUlFOzs7O0FBSUY7RUFDQztFQUNBOztBRjVEQTtFRTBERDtJQUtFOzs7QUZ6REQ7RUVvREQ7SUFTRTs7OztBQUlGO0VBQ0M7RUFDQTs7QUZ6RUE7RUV1RUQ7SUFLRTs7O0FGdEVEO0VFaUVEO0lBU0U7Ozs7QUN2RkY7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FSRUo7QVNWQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUk7RUFDQTtFQUNBOzs7QUNuQlI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7OztBQ3BEWjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBOztBTkxEO0VNR0E7SUFLRTs7O0FBSUY7RUFDQzs7QUFFQTtFQUNDO0VBQ0E7OztBQzlCSDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUNDOztBQUVBO0VBQ0M7O0FBSUY7RUFDQzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7O0FQbkNBO0VPZ0NEO0lBTUU7Ozs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBUUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7OztBQ3pGRjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtJQUNJO0lBQ0E7OztBQUtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQzlCUjtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTs7O0FBR0Q7RUFDQztFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7OztBQ25DRDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7O0FBR0o7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7O0FWN0NQO0VVYkQ7SUE4RFE7Ozs7QUM5RFI7RUFDSTs7O0FDREo7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDQztFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7OztBQ2pFSDtBQUNBO0VBQ0M7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7O0FiUEE7RWFaRDtJQXNCRTs7OztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7QUFBQTtFQUVDO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQSxZQUNDOzs7QUFJRjtFQUNDOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDOzs7QUFHRDtBQUFBO0VBRUM7RUFDQSxZQUNDOzs7QUFJRjtFQUNDOzs7QUFHRDtFQUNDOzs7QUM5RUQ7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNoSlI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBZnpCUDtFZUxEO0lBa0NROzs7O0FDMUNSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FoQklQO0VnQlRHO0lBUVE7OztBaEJPWDtFZ0JmRztJQVlROzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7O0FDakRSO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FqQnJDRDtFaUI2QkE7SUFXRTs7OztBdEIzQkg7QUFDQSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEJhc2UgKi9cbkBpbXBvcnQgXCIuL2Jhc2UvcmVzZXRcIjtcbkBpbXBvcnQgXCIuL2Jhc2UvdmFyc1wiO1xuQGltcG9ydCBcIi4vYmFzZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL2Jhc2UvZm9udHNBdXRvR2VuXCI7XG5AaW1wb3J0IFwiLi9iYXNlL2Jhc2VcIjtcbkBpbXBvcnQgXCIuL2Jhc2UvdXRpbHNcIjtcbkBpbXBvcnQgXCIuL2Jhc2UvY29udGFpbmVyc1wiO1xuQGltcG9ydCBcIi4vYmFzZS9zdGlja3ktZm9vdGVyXCI7XG5cbi8qIEJsb2NrcyAqL1xuQGltcG9ydCBcImJsb2Nrcy9fYnRucy5zY3NzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL19jb250YWN0LnNjc3NcIjtcbkBpbXBvcnQgXCJibG9ja3MvX2Zvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL19oZWFkZXIuc2Nzc1wiO1xuQGltcG9ydCBcImJsb2Nrcy9faGVyby5zY3NzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL19pY29ucy5zY3NzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL19sZWZ0LXNpZGUuc2Nzc1wiO1xuQGltcG9ydCBcImJsb2Nrcy9fbG9nby5zY3NzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL19tb2JpbGUtbmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJibG9ja3MvX25hdi1pY29uLnNjc3NcIjtcbkBpbXBvcnQgXCJibG9ja3MvX3BvcnRmb2xpby5zY3NzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL19yaWdodC1zaWRlLnNjc3NcIjtcbkBpbXBvcnQgXCJibG9ja3MvX3NraWxscy5zY3NzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL190aXRsZXMuc2Nzc1wiO1xuXG4vKiBObyBzdHlsZXMgY29kZSBiZWxvdy4gT25seSBpbiBtb2R1bGVzICovXG4vKiDQndC1INC/0LjRiNC40YLQtSBDU1Mg0LrQvtC0INC90LjQttC1LiDQotC+0LvRjNC60L4g0LIg0L/QvtC00LrQu9GO0YfQsNC10LzRi9GFINGE0LDQudC70LDRhSAqL1xuIiwiLyogUmVzZXQgYW5kIGJhc2Ugc3R5bGVzICAqL1xuKiB7XG5cdHBhZGRpbmc6IDBweDtcblx0bWFyZ2luOiAwcHg7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogTGlua3MgKi9cblxuYSxcbmE6bGluayxcbmE6dmlzaXRlZCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogQ29tbW9uICovXG5cbmFzaWRlLFxubmF2LFxuZm9vdGVyLFxuaGVhZGVyLFxuc2VjdGlvbixcbm1haW4ge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucCB7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS1saWdodGVzdC1zbGF0ZSk7XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5cbnVsLFxudWwgbGkge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5pbWcge1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5pbWcsXG5zdmcge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcbn1cblxuYWRkcmVzcyB7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogRm9ybSAqL1xuXG5pbnB1dCxcbnRleHRhcmVhLFxuYnV0dG9uLFxuc2VsZWN0IHtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5pbnB1dDo6LW1zLWNsZWFyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuaW5wdXQ6Zm9jdXMsXG5pbnB1dDphY3RpdmUsXG5idXR0b246Zm9jdXMsXG5idXR0b246YWN0aXZlIHtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xufVxuXG5sYWJlbCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxubGVnZW5kIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4iLCI6cm9vdCB7XG5cdC0tZGFyay1uYXZ5OiAjMDIwYzFiO1xuXHQtLW5hdnk6ICMwYTE5MmY7XG5cdC0tbGlnaHQtbmF2eTogIzExMjI0MDtcblx0LS1saWdodGVzdC1uYXZ5OiAjMjMzNTU0O1xuXHQtLW5hdnktc2hhZG93OiByZ2JhKDIsIDEyLCAyNywgMC43KTtcblx0LS1kYXJrLXNsYXRlOiAjNDk1NjcwO1xuXHQtLXNsYXRlOiAjODg5MmIwO1xuXHQtLWxpZ2h0LXNsYXRlOiAjYThiMmQxO1xuXHQtLWxpZ2h0ZXN0LXNsYXRlOiAjY2NkNmY2O1xuXHQtLXdoaXRlOiAjZTZmMWZmO1xuXHQtLWdyZWVuOiAjNjRmZmRhO1xuXHQtLWdyZWVuLXRpbnQ6IHJnYmEoMTAwLCAyNTUsIDIxOCwgMC4xKTtcblx0LS1waW5rOiAjZjU3ZGZmO1xuXHQtLWJsdWU6ICM1N2NiZmY7XG5cblx0LS1lYXNpbmc6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblx0LS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG5cdC0tY29udGFpbmVyLXdpZHRoOiAxMzAwcHg7XG5cdC0tY29udGFpbmVyLXBhZGRpbmc6IDE1MHB4O1xuXG5cdC0tZm9udC1tYWluOiBcIkludGVyXCIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcblx0LS1mb250LWFjY2VudDogXCJTRk1vbm9cIiwgXCJGaXJhTW9ub1wiLCBtb25vc3BhY2U7XG5cblx0LS1wYWdlLWJnOiB2YXIoLS1uYXZ5KTtcblx0LS10ZXh0LWNvbG9yOiB2YXIoLS1zbGF0ZSk7XG5cdC0tdGV4dC1jb2xvci10aXRsZXM6IHZhcigtLWxpZ2h0ZXN0LXNsYXRlKTtcblx0LS10ZXh0LWNvbG9yLWRlc2NyaXB0aW9uOiB2YXIoLS1saWdodC1zbGF0ZSk7XG5cblx0LS1hY2NlbnQ6IHZhcigtLWdyZWVuKTtcblx0LS1saW5rLWNvbG9yOiB2YXIoLS1ncmVlbik7XG5cblx0LS1sYXB0b3Atc2l6ZTogMTE5OXB4O1xuXHQtLXRhYmxldC1zaXplOiA5NTlweDtcblx0LS1tb2JpbGUtc2l6ZTogNTk5cHg7XG59XG5cbi5saWdodCB7XG5cdC0tcGFnZS1iZzogd2hpdGU7XG5cdC0tdGV4dC1jb2xvcjogIzAwMDtcblx0LS10ZXh0LWNvbG9yLXRpdGxlczogIzAwMDtcblx0LS1saW5rLWNvbG9yOiAjMjU3OGM4O1xufVxuIiwiQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBGaXJhTW9ubztcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xuXHRzcmM6IHVybChcIi4uL2ZvbnRzL0ZpcmFNb25vLUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0ZpcmFNb25vLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XHJcbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogRmlyYU1vbm87XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0c3JjOiB1cmwoXCIuLi9mb250cy9GaXJhTW9uby1NZWRpdW0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0ZpcmFNb25vLU1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cclxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBJbnRlcjtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xuXHRzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0ludGVyLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XHJcbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogSW50ZXI7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0c3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9JbnRlci1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxyXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IEZpcmFNb25vO1xuXHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdHNyYzogdXJsKFwiLi4vZm9udHMvRmlyYU1vbm8tUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvRmlyYU1vbm8tUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cclxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBTRk1vbm87XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0c3JjOiB1cmwoXCIuLi9mb250cy9TRk1vbm8tQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvU0ZNb25vLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XHJcbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogSW50ZXI7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0c3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci1TZW1pQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvSW50ZXItU2VtaUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XHJcbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogU0ZNb25vO1xuXHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdHNyYzogdXJsKFwiLi4vZm9udHMvU0ZNb25vLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL1NGTW9uby1SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxyXG4iLCJodG1sIHtcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhZ2UtYmcpO1xuXHRzY3JvbGxiYXItd2lkdGg6IHRoaW47XG5cdHNjcm9sbGJhci1jb2xvcjogdmFyKC0tZGFyay1zbGF0ZSkgdmFyKC0tbmF2eSk7XG59XG5cbmJvZHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYWdlLWJnKTtcblx0Y29sb3I6IHZhcigtLXNsYXRlKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbWFpbik7XG5cdC8vdGV4dC13cmFwOiBiYWxhbmNlO1xuXHRjb3VudGVyLXJlc2V0OiBzZWN0aW9uO1xuXG5cdCYubm8tc2Nyb2xsIHtcblx0XHRtYWluIHtcblx0XHRcdGZpbHRlcjogYmx1cig1cHgpIGJyaWdodG5lc3MoMC43KTtcblx0XHRcdHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0XHR9XG5cblx0XHRmb290ZXIge1xuXHRcdFx0ZmlsdGVyOiBibHVyKDVweCkgYnJpZ2h0bmVzcygwLjcpO1xuXHRcdFx0dHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG5pbWcge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuYSB7XG5cdGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcbn1cblxuLy8uY3Vyc29yLWZvbGxvd2VyIHtcbi8vXHRwb3NpdGlvbjogZml4ZWQ7XG4vL1x0d2lkdGg6IDMwcHg7XG4vL1x0aGVpZ2h0OiAzMHB4O1xuLy9cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyZWVuKTtcbi8vXHRvcGFjaXR5OiAwLjU7XG4vL1x0Ym9yZGVyLXJhZGl1czogNTAlO1xuLy9cdC8vYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDIwMCwgMjU1LCAwLjEpO1xuLy9cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuLy9cdHotaW5kZXg6IDk5OTk7XG4vL1x0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4vL1x0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZS1vdXQ7XG4vL31cblxuLyog0JzQsNC70LXQvdGM0LrQsNGPINCy0L3Rg9GC0YDQtdC90L3Rj9GPINGC0L7Rh9C60LAgKi9cbi5jdXJzb3ItZG90IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR3aWR0aDogNnB4O1xuXHRoZWlnaHQ6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JlZW4pO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR6LWluZGV4OiAxMDAwMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA1cyBlYXNlLW91dDtcblxuXHRAaW5jbHVkZSBtb2JpbGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLyog0JHQvtC70YzRiNC+0Lkg0LLQvdC10YjQvdC40Lkg0LrRgNGD0LMgKi9cbi5jdXJzb3ItY2lyY2xlIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR3aWR0aDogMzBweDtcblx0aGVpZ2h0OiAzMHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmVlbik7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHotaW5kZXg6IDk5OTk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1vdXQ7XG5cdG9wYWNpdHk6IDAuNTtcblxuXHRAaW5jbHVkZSBtb2JpbGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsIkBtaXhpbiBtZWRpYUJnKCkge1xuXHRAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIHRhYmxldCgpIHtcblx0QG1lZGlhIChtYXgtd2lkdGg6IDEyMjBweCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtb2JpbGUoKSB7XG5cdEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtb2JpbGVYcygpIHtcblx0QG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbiIsIi5ub25lIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udmlzdWFsbHktaGlkZGVuIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMXB4O1xuXHRoZWlnaHQ6IDFweDtcblx0bWFyZ2luOiAtMXB4O1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5uby1zY3JvbGwge1xuXHRvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi50ZXh0LWxlZnQge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGV4dC1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGV4dC1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5kLWZsZXgge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC1jZW50ZXIge1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbiIsIi8qINCU0LXQvNC+INC60L7QvdGC0LXQvdGCICovXG4uaGVhZGVyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qINCa0L7QvdGC0LXQudC90LXRgNGLICovXG4uY29udGFpbmVyIHtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHBhZGRpbmc6IDAgdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuXG5cdG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoKTtcblx0d2lkdGg6IDEwMCU7XG5cblx0QGluY2x1ZGUgbW9iaWxlIHtcblx0XHRwYWRkaW5nOiAwcHggNTBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1vYmlsZVhzIHtcblx0XHRwYWRkaW5nOiAwcHggMjVweDtcblx0fVxufVxuXG4uY29udGFpbmVyLWZ1bGwge1xuXHRwYWRkaW5nOiAwIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29udGFpbmVyLWxlZnQtNTAge1xuXHRwYWRkaW5nOiAwIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0bWF4LXdpZHRoOiA1MCU7XG5cblx0QGluY2x1ZGUgbW9iaWxlIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmNvbnRhaW5lci1yaWdodC01MCB7XG5cdHBhZGRpbmc6IDAgdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuXHRtYXgtd2lkdGg6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cblx0QGluY2x1ZGUgbW9iaWxlIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmNvbnRhaW5lci1yaWdodCB7XG5cdHBhZGRpbmctbGVmdDogY2FsYygoMTAwJSAtIHZhcigtLWNvbnRhaW5lci13aWR0aCkpIC8gMiArIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSk7XG5cblx0QGluY2x1ZGUgdGFibGV0IHtcblx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0fVxufVxuXG4uY29udGFpbmVyLWxlZnQge1xuXHRwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDAlIC0gdmFyKC0tY29udGFpbmVyLXdpZHRoKSkgLyAyICsgdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpKTtcblxuXHRAaW5jbHVkZSB0YWJsZXQge1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0fVxufVxuXG4uY29udGFpbmVyLWhhbGYtbGVmdCB7XG5cdHBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMCUgLSB2YXIoLS1jb250YWluZXItd2lkdGgpKSAvIDIgKyAodmFyKC0tY29udGFpbmVyLXdpZHRoKSAvIDIpKTtcblx0cGFkZGluZy1sZWZ0OiBjYWxjKCgxMDAlIC0gdmFyKC0tY29udGFpbmVyLXdpZHRoKSkgLyAyICsgdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpKTtcblxuXHRAaW5jbHVkZSB0YWJsZXQge1xuXHRcdHBhZGRpbmctbGVmdDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuXHR9XG5cblx0QGluY2x1ZGUgbW9iaWxlIHtcblx0XHRwYWRkaW5nOiAwIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0fVxufVxuXG4uY29udGFpbmVyLWhhbGYtcmlnaHQge1xuXHRwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMCUgLSB2YXIoLS1jb250YWluZXItd2lkdGgpKSAvIDIgKyAodmFyKC0tY29udGFpbmVyLXdpZHRoKSAvIDIpKTtcblx0cGFkZGluZy1yaWdodDogY2FsYygoMTAwJSAtIHZhcigtLWNvbnRhaW5lci13aWR0aCkpIC8gMiArIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSk7XG5cblx0QGluY2x1ZGUgdGFibGV0IHtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb250YWluZXItcGFkZGluZyk7XG5cdH1cblxuXHRAaW5jbHVkZSBtb2JpbGUge1xuXHRcdHBhZGRpbmc6IDAgdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuXHR9XG59XG4iLCJodG1sLFxuYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xufVxuIiwiLmJ0biB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW4pO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmVlbik7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1hY2NlbnQpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAwIDAgdmFyKC0tZ3JlZW4pO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00cHgsIC00cHgpO1xyXG4gICAgfVxyXG59XHJcbiIsIi5jb250YWN0IHtcclxuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuXHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcclxuICAgIH1cclxuXHJcbiAgICAubnVtYmVyZWQtaGVhZGluZyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWFjY2VudCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuKTtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWN0X190aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IGNsYW1wKDIwcHgsIDV2dywgNDBweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tbGlnaHRlc3Qtc2xhdGUpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuY29udGFjdF9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4ge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjVweDtcclxuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogNHB4IDRweCAwIDAgdmFyKC0tZ3JlZW4pO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNXB4LCAtNXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLmZvb3RlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMjBweDtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtaW4taGVpZ2h0OiA3MHB4O1xuXHRwYWRkaW5nOiAxNnB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1hY2NlbnQpO1xuXHRmb250LXNpemU6IDEycHg7XG5cblx0LmZvb3Rlcl9fc29jaWFscyB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRnYXA6IDEwcHg7XG5cblx0XHRAaW5jbHVkZSBtb2JpbGUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHR9XG5cdH1cblxuXHQuZm9vdGVyX19zb2NpYWxzLWl0ZW0ge1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cblx0XHRzdmcge1xuXHRcdFx0d2lkdGg6IDI0cHg7XG5cdFx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0fVxuXHR9XG59XG4iLCIuaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0LXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHQtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMHB4O1xuXHR6LWluZGV4OiAxMTtcblx0cGFkZGluZzogMHB4IDUwcHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAyNSwgNDcsIDAuODUpO1xuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG5cdHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuXHRmaWx0ZXI6IG5vbmUgIWltcG9ydGFudDtcblx0cG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDtcblx0dXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxMDBweDtcblx0ei1pbmRleDogOTk5NTtcblxuXHQmLmhpZGRlbiB7XG5cdFx0aGVpZ2h0OiA3MHB4O1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDcwcHggKiAtMSkpO1xuXHRcdGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IC0xMHB4IHZhcigtLW5hdnktc2hhZG93KTtcblx0fVxuXG5cdCYuc2Nyb2xsLXVwIHtcblx0XHRoZWlnaHQ6IDcwcHg7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG5cdFx0Ym94LXNoYWRvdzogMCAxMHB4IDMwcHggLTEwcHggdmFyKC0tbmF2eS1zaGFkb3cpO1xuXHR9XG5cblx0LmxvZ28gYSB7XG5cdFx0dHJhbnNpdGlvbjogYWxsIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgMC40cztcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0b3BhY2l0eTogMC42NTtcblx0XHR9XG5cdH1cblxuXHQuYnRuIHtcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0fVxufVxuXG4uaGVhZGVyX19uYXYge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDE2cHg7XG5cblx0QGluY2x1ZGUgbW9iaWxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5uYXZfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEwcHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWFjY2VudCk7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGNvdW50ZXItcmVzZXQ6IG5hdi1jb3VudGVyO1xuXG5cdCYgbGkge1xuXHRcdGNvdW50ZXItaW5jcmVtZW50OiBuYXYtY291bnRlcjtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdH1cblxuXHQmIGxpIGE6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogY291bnRlcihuYXYtY291bnRlciwgZGVjaW1hbC1sZWFkaW5nLXplcm8pIFwiLlwiO1xuXHRcdGNvbG9yOiB2YXIoLS1ncmVlbik7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHR9XG59XG5cbi5uYXZfX2l0ZW0ge1xuXHQmLmFjdGl2ZSB7XG5cdH1cblxuXHQmIGEge1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0Y29sb3I6IHZhcigtLWxpZ2h0ZXN0LXNsYXRlKTtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXHR9XG5cblx0Jjpob3ZlciBhIHtcblx0XHRjb2xvcjogdmFyKC0tZ3JlZW4pO1xuXHR9XG59XG5cbi5oZWFkZXJfX3Jlc3VtZSB7XG59XG4iLCIuaGVybyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAuYnRuIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC1oZWlnaHQ6IDYwMHB4KSBhbmQgKG1pbi13aWR0aDogNjAwcHgpLCAobWF4LXdpZHRoOiAzODBweCkge1xyXG4gICAgLmhlcm8ge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oZXJvX19ibG9jayB7XHJcbiAgICBwIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgLy90ZXh0LXdyYXA6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuIiwiLmljb25zLXdyYXBwZXIge1xuXHRwYWRkaW5nOiAzMHB4IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGNvbHVtbi1nYXA6IDMwcHg7XG59XG5cbi5pY29uIHtcblx0ZmlsbDogdHJhbnNwYXJlbnQ7XG5cdHN0cm9rZTogdHJhbnNwYXJlbnQ7XG5cdHdpZHRoOiA2MnB4O1xuXHRoZWlnaHQ6IDYycHg7XG59XG5cbi5pY29uLS1naXRodWIge1xuXHRzdHJva2U6IHZhcigtLWxpZ2h0LXNsYXRlKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbjtcbn1cblxuLmljb24tLXRlbGVncmFtIHtcblx0c3Ryb2tlOiB2YXIoLS1saWdodC1zbGF0ZSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW47XG59XG5cbi5pY29uLS13aGF0c2FwcCB7XG5cdGZpbGw6IHZhcigtLWxpZ2h0LXNsYXRlKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbjtcbn1cblxuLmljb24tLWNhcmQtZXh0ZXJuYWwge1xuXHRzdHJva2U6IHZhcigtLWxpZ2h0LXNsYXRlKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbjtcbn1cblxuLmljb24tLWNhcmQtZ2l0aHViIHtcblx0c3Ryb2tlOiB2YXIoLS1saWdodC1zbGF0ZSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW47XG59XG4iLCIubGVmdC1zaWRlIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJvdHRvbTogMHB4O1xyXG4gICAgbGVmdDogNDBweDtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTA7XHJcblxyXG4gICAgJl9fc29jaWFscyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1zbGF0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaTpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmxlZnQtc2lkZV9fc29jaWFscy1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XHJcblxyXG4gICAgICAgICAgICAmOmhhcyguaWNvbi0td2hhdHNhcHApIHtcclxuICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWdyZWVuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciBzdmcge1xyXG4gICAgICAgICAgICBzdHJva2U6IHZhcigtLWdyZWVuKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIgLmljb24tLXdoYXRzYXBwIHtcclxuICAgICAgICAgICAgZmlsbDogdmFyKC0tZ3JlZW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuIiwiLmxvZ28ge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbn0iLCIubW9iaWxlLW5hdiB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IG1pbig3NXZ3LCA0MDBweCk7XG5cdGhlaWdodDogMTAwdmg7XG5cdHotaW5kZXg6IDk5O1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IDUwcHg7XG5cdHBhZGRpbmctdG9wOiA0MHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogNDBweDtcblx0YmFja2dyb3VuZDogdmFyKC0tbGlnaHQtbmF2eSk7XG5cdGJveC1zaGFkb3c6IC0xMHB4IDBweCAzMHB4IC0xNXB4IHZhcigtLW5hdnktc2hhZG93KTtcblx0dHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDB2dyk7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHQuYnRuIHtcblx0XHRhbGlnbi1zZWxmOiBhdXRvO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdGNvbG9yOiB2YXIoLS1ncmVlbik7XG5cdFx0cGFkZGluZzogMjBweCA0MHB4O1xuXHR9XG59XG5cbi5tb2JpbGUtbmF2LS1vcGVuIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDB2dyk7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5tb2JpbGUtbmF2IGEge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1hY2NlbnQpO1xuXHRmb250LXNpemU6IGNsYW1wKDE0cHgsIDR2dywgMThweCk7XG5cdGNvbG9yOiB2YXIoLS1saWdodGVzdC1zbGF0ZSk7XG59XG5cbi5tb2JpbGUtbmF2X19saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cm93LWdhcDogMzBweDtcblx0Zm9udC1zaXplOiAyOHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0JiAuYWN0aXZlIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cblxuXHRsaSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGNvdW50ZXItaW5jcmVtZW50OiBpdGVtIDE7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCIwXCIgY291bnRlcihpdGVtKSBcIi5cIjtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Y29sb3I6IHZhcigtLWdyZWVuKTtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0fVxuXHR9XG59XG4iLCIvKiBOYXYgSWNvbiAqL1xuLm1vYmlsZS1uYXYtYnRuIHtcblx0LS10aW1lOiAwLjFzO1xuXG5cdC0td2lkdGg6IDQwcHg7XG5cdC0taGVpZ2h0OiAzMHB4O1xuXG5cdC0tbGluZS1oZWlnaHQ6IDJweDtcblx0LS1zcGFjaW5nOiA2cHg7XG5cblx0LS1jb2xvcjogdmFyKC0tZ3JlZW4pO1xuXHQtLXJhZGl1czogNHB4O1xuXG5cdGhlaWdodDogY2FsYyh2YXIoLS1saW5lLWhlaWdodCkgKiAzICsgdmFyKC0tc3BhY2luZykgKiAyKTtcblx0d2lkdGg6IHZhcigtLXdpZHRoKTtcblxuXHRkaXNwbGF5OiBub25lO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHR6LWluZGV4OiA5OTk7XG5cblx0QGluY2x1ZGUgbW9iaWxlIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cbi5uYXYtaWNvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IHZhcigtLXdpZHRoKTtcblx0aGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbn1cblxuLm5hdi1pY29uOjpiZWZvcmUsXG4ubmF2LWljb246OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogYmxvY2s7XG5cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXG5cdHdpZHRoOiB2YXIoLS13aWR0aCk7XG5cdGhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQpO1xuXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yKTtcblx0dHJhbnNpdGlvbjpcblx0XHR0cmFuc2Zvcm0gdmFyKC0tdGltZSkgZWFzZS1pbixcblx0XHR0b3AgdmFyKC0tdGltZSkgbGluZWFyIHZhcigtLXRpbWUpO1xufVxuXG4ubmF2LWljb246OmJlZm9yZSB7XG5cdHRvcDogY2FsYygtMSAqICh2YXIoLS1saW5lLWhlaWdodCkgKyB2YXIoLS1zcGFjaW5nKSkpO1xufVxuXG4ubmF2LWljb246OmFmdGVyIHtcblx0dG9wOiBjYWxjKHZhcigtLWxpbmUtaGVpZ2h0KSArIHZhcigtLXNwYWNpbmcpKTtcbn1cblxuLm5hdi1pY29uLm5hdi1pY29uLS1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm5hdi1pY29uLm5hdi1pY29uLS1hY3RpdmU6OmJlZm9yZSxcbi5uYXYtaWNvbi5uYXYtaWNvbi0tYWN0aXZlOjphZnRlciB7XG5cdHRvcDogMDtcblx0dHJhbnNpdGlvbjpcblx0XHR0b3AgdmFyKC0tdGltZSkgbGluZWFyLFxuXHRcdHRyYW5zZm9ybSB2YXIoLS10aW1lKSBlYXNlLWluIHZhcigtLXRpbWUpO1xufVxuXG4ubmF2LWljb24ubmF2LWljb24tLWFjdGl2ZTo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4ubmF2LWljb24ubmF2LWljb24tLWFjdGl2ZTo6YWZ0ZXIge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuIiwiLnBvcnRmb2xpbyB7XHJcbiAgICBwYWRkaW5nLXRvcDogODBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xyXG5cclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnBvcnRmb2xpb19fY2FyZHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMzIzcHgsIDFmcikpO1xyXG4gICAgICAgIGdhcDogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAucG9ydGZvbGlvX19jYXJkIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwNHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1uYXZ5KTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCAtMTVweCB2YXIoLS1uYXZ5LXNoYWRvdyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAucG9ydGZvbGlvX19jYXJkLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5wb3J0Zm9saW9fX2NhcmQtYmcge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtbmF2eSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5wb3J0Zm9saW9fX2NhcmQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDVweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucG9ydGZvbGlvX19jYXJkLWxpbmtzIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wb3J0Zm9saW9fX2NhcmQtYmcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucG9ydGZvbGlvX19jYXJkLWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtbmF2eSk7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgIH1cclxuXHJcbiAgICAucG9ydGZvbGlvX19jYXJkLXRpdGxlIHtcclxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tbGlnaHRlc3Qtc2xhdGUpO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JlZW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucG9ydGZvbGlvX19jYXJkLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDU7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICBoZWlnaHQ6IDBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5wb3J0Zm9saW9fX2NhcmQtdGVjaC1saXN0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGNvbHVtbi1nYXA6IDEwcHg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWFjY2VudCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICB9XHJcblxyXG4gICAgLnBvcnRmb2xpb19fY2FyZC1saW5rcyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcclxuICAgICAgICB6LWluZGV4OiA5OTk7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDM2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6IHZhcigtLWdyZWVuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucG9ydGZvbGlvX19jYXJkLWxheWVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICB9XHJcbn1cclxuIiwiLnJpZ2h0LXNpZGUge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm90dG9tOiAwcHg7XHJcbiAgICByaWdodDogNDBweDtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxMDtcclxufVxyXG5cclxuLnJpZ2h0LXNpZGVfX2VtYWlsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1hY2NlbnQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XHJcbiAgICAgICAgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xyXG4gICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LXNsYXRlKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1zbGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsIi5za2lsbHMge1xyXG4gICAgcGFkZGluZy10b3A6IDgwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcclxuXHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiA1MHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogOTAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMHB4IDEwMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZVhzIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMHB4IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5za2lsbHNfX2xpc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMTBweCwgMWZyKSk7XHJcbiAgICAgICAgcm93LWdhcDogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAuc2tpbGxzX19pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDEycHg7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuc2tpbGxzX19pdGVtLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNraWxsc19faXRlbSBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogNjRweDtcclxuICAgICAgICBoZWlnaHQ6IDY0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNraWxsc19faXRlbS10aXRsZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYWNjZW50KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcclxuICAgIH1cclxufVxyXG4iLCJoMSB7XG5cdG1hcmdpbjogMHB4IDBweCAxNnB4IDRweDtcblx0Y29sb3I6IHZhcigtLWdyZWVuKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYWNjZW50KTtcblx0Zm9udC1zaXplOiBjbGFtcCgxNHB4LCA1dncsIDE2cHgpO1xuXHRmb250LXdlaWdodDogNDAwO1xufVxuXG5oMiB7XG5cdGNvbG9yOiB2YXIoLS1saWdodGVzdC1zbGF0ZSk7XG59XG5cbmgzIHtcblx0Y29sb3I6IHZhcigtLXNsYXRlKTtcbn1cblxuLmhlYWRpbmctYmlnIHtcblx0Zm9udC1zaXplOiBjbGFtcCg0MHB4LCA3dncsIDgwcHgpO1xufVxuXG4ubnVtYmVyZWQtaGVhZGluZyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ly93aWR0aDogMTAwJTtcblx0Zm9udC1zaXplOiBjbGFtcCgyNnB4LCA1dncsIDMycHgpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJvdHRvbTogLTNweDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0Y291bnRlci1pbmNyZW1lbnQ6IHNlY3Rpb24gMTtcblx0XHRjb250ZW50OiBcIjBcIiBjb3VudGVyKHNlY3Rpb24pIFwiLlwiO1xuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRjb2xvcjogdmFyKC0tZ3JlZW4pO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWFjY2VudCk7XG5cdFx0Zm9udC1zaXplOiBjbGFtcCgxNnB4LCAzdncsIDIwcHgpO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRib3R0b206IC0ycHg7XG5cdFx0d2lkdGg6IDQwMHB4O1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0ZXN0LW5hdnkpO1xuXG5cdFx0QGluY2x1ZGUgbW9iaWxlIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxufVxuIl19 */
