/*------------------------------------------------------------
	Media
------------------------------------------------------------*/
/*------------------------------------------------------------
	Flex Box
------------------------------------------------------------*/
:root {
  --font-pri: "Inter", sans-serif;
  --font-sec: "Be Vietnam Pro", sans-serif;
  --font-third: "Spoqa Han Sans Neo", sans-serif;
  --font-title: "Unbounded", sans-serif;
  --header-index: 99;
  --header-height: 9.6rem; }
  @media screen and (max-width: 767px) {
    :root {
      --header-height: 8rem; } }
  @media screen and (max-width: 576px) {
    :root {
      --header-height: 7rem; } }

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block; }

body {
  line-height: 1; }

ol,
ul {
  list-style: none; }

blockquote,
q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/*------------------------------------------------------------
	Media
------------------------------------------------------------*/
/*------------------------------------------------------------
	Flex Box
------------------------------------------------------------*/
:root {
  --font-pri: "Inter", sans-serif;
  --font-sec: "Be Vietnam Pro", sans-serif;
  --font-third: "Spoqa Han Sans Neo", sans-serif;
  --font-title: "Unbounded", sans-serif;
  --header-index: 99;
  --header-height: 9.6rem; }
  @media screen and (max-width: 767px) {
    :root {
      --header-height: 8rem; } }
  @media screen and (max-width: 576px) {
    :root {
      --header-height: 7rem; } }

* {
  box-sizing: border-box; }

html {
  font-size: 10px;
  scroll-behavior: smooth; }
  html ::-webkit-scrollbar {
    width: 0.4rem;
    height: 0.4rem; }
  html ::-webkit-scrollbar-thumb {
    border-radius: 1rem;
    background: rgba(51, 51, 51, 0.8); }

body {
  line-height: 130%;
  font-weight: 400;
  font-size: 1.6rem;
  color: #082823;
  overflow: hidden auto;
  font-family: var(--font-pri);
  letter-spacing: calc(16px * (-4 / 100)); }
  body.is-language {
    font-family: var(--font-third); }
  body.admin-bar .header {
    top: 3.2rem; }
    @media screen and (max-width: 782px) {
      body.admin-bar .header {
        top: 4.6rem; } }
  body .mona-empty {
    color: #333;
    font-weight: 600; }
  body .grecaptcha-badge {
    display: none !important; }

a {
  color: inherit;
  text-decoration: none; }

button,
select {
  border: none;
  outline: none;
  cursor: pointer;
  -webkit-appearance: none; }

button {
  padding: 0;
  cursor: pointer;
  background-color: transparent; }

input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.container {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0 1.6rem;
  max-width: 124.8rem; }

.no-scroll,
.no-scroll-popup {
  overflow: hidden;
  touch-action: none;
  overscroll-behavior: none;
  -webkit-overflow-scrolling: none; }

iframe {
  vertical-align: middle; }

img {
  height: auto;
  display: block;
  max-width: 100%;
  user-select: none; }

.tabBtn {
  cursor: pointer; }

.tabPanel {
  display: none; }
  .tabPanel.open {
    display: block; }

.gItem {
  cursor: pointer; }

.hide-sitename {
  width: 0;
  height: 0;
  opacity: 0;
  visibility: visible; }

.section {
  scroll-margin-top: 10rem; }

.overlay,
.aside-overlay {
  inset: 0;
  opacity: 0;
  width: 100%;
  z-index: 100;
  height: 100dvh;
  position: fixed;
  visibility: hidden;
  transition: 0.4s ease-in-out;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.6); }
  .overlay.is-active,
  .aside-overlay.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; }

.row {
  --rg: 3.2rem;
  --cg: 3.2rem;
  display: flex;
  flex-wrap: wrap;
  margin: 0 calc(var(--cg) / 2 * -1) calc(var(--rg) * -1); }

.col {
  width: 100%;
  margin-bottom: var(--rg);
  padding: 0 calc(var(--cg) / 2); }
  .col-11 {
    width: calc(11 / 12 * 100%); }
  .col-10 {
    width: calc(10 / 12 * 100%); }
  .col-9 {
    width: calc(9 / 12 * 100%); }
  .col-8 {
    width: calc(8 / 12 * 100%); }
  .col-7 {
    width: calc(7 / 12 * 100%); }
  .col-6 {
    width: 50%; }
  .col-5 {
    width: calc(5 / 12 * 100%); }
  .col-4 {
    width: calc(4 / 12 * 100%); }
  .col-3 {
    width: calc(3 / 12 * 100%); }
  .col-2 {
    width: calc(2 / 12 * 100%); }
  .col-1 {
    width: calc(1 / 12 * 100%); }

.flex {
  display: flex;
  flex-direction: column; }
  .flex-2 {
    gap: 0.2rem; }
  .flex-4 {
    gap: 0.4rem; }
  .flex-6 {
    gap: 0.6rem; }
  .flex-8 {
    gap: 0.8rem; }
  .flex-10 {
    gap: 1rem; }
  .flex-12 {
    gap: 1.2rem; }
  .flex-14 {
    gap: 1.4rem; }
  .flex-16 {
    gap: 1.6rem; }
  .flex-18 {
    gap: 1.8rem; }
  .flex-20 {
    gap: 2rem; }
  .flex-22 {
    gap: 2.2rem; }
  .flex-24 {
    gap: 2.4rem; }
  .flex-26 {
    gap: 2.6rem; }
  .flex-28 {
    gap: 2.8rem; }
  .flex-30 {
    gap: 3rem; }
  .flex-32 {
    gap: 3.2rem; }
  .flex-34 {
    gap: 3.4rem; }
  .flex-36 {
    gap: 3.6rem; }
  .flex-40 {
    gap: 4rem; }
  .flex-48 {
    gap: 4.8rem; }
  .flex-50 {
    gap: 5rem; }
  .flex-56 {
    gap: 5.6rem; }
  .flex-60 {
    gap: 6rem; }
  .flex-64 {
    gap: 6.4rem; }
  .flex-68 {
    gap: 6.8rem; }
  .flex-80 {
    gap: 8rem; }
  .flex-100 {
    gap: 10rem; }
  .flex-120 {
    gap: 12rem; }
  @media screen and (max-width: 992px) {
    .flex-48 {
      gap: 3.2rem; }
    .flex-50 {
      gap: 3.2rem; }
    .flex-56 {
      gap: 3.2rem; }
    .flex-60 {
      gap: 3.2rem; }
    .flex-64 {
      gap: 3.2rem; }
    .flex-68 {
      gap: 3.2rem; }
    .flex-80 {
      gap: 3.2rem; }
    .flex-100 {
      gap: 3.2rem; }
    .flex-120 {
      gap: 3.2rem; } }
  @media screen and (max-width: 576px) {
    .flex-48 {
      gap: 2.4rem; }
    .flex-50 {
      gap: 2.4rem; }
    .flex-56 {
      gap: 2.4rem; }
    .flex-60 {
      gap: 2.4rem; }
    .flex-64 {
      gap: 2.4rem; }
    .flex-68 {
      gap: 2.4rem; }
    .flex-80 {
      gap: 2.4rem; }
    .flex-100 {
      gap: 2.4rem; }
    .flex-120 {
      gap: 2.4rem; } }

.custom-logo-link {
  display: block;
  user-select: none; }
  .custom-logo-link img {
    width: 100%;
    object-fit: cover; }

.blocker {
  padding: 1.6rem;
  z-index: 100 !important;
  background: rgba(71, 71, 71, 0.6); }

.modal {
  max-width: unset;
  padding: 0; }
  @media screen and (max-width: 992px) {
    .modal {
      width: 100%;
      height: auto; } }
  .modal iframe {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .modal.video-modal {
    width: 75%;
    height: auto;
    max-width: 100%;
    aspect-ratio: 1335 / 751; }
    @media screen and (max-width: 992px) {
      .modal.video-modal {
        width: 100%; } }
    .modal.video-modal video {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain; }

.title-64 {
  font-size: 6.4rem;
  letter-spacing: calc(64px * (-4 / 100));
  line-height: 1.2; }
  @media only screen and (max-width: 1200px) {
    .title-64 {
      font-size: 3.9rem; } }
  @media only screen and (max-width: 800px) {
    .title-64 {
      font-size: 2.9rem; } }
  @media screen and (max-width: 640.98px) {
    .title-64 br {
      display: none; } }

.title-48 {
  font-size: 4.8rem;
  letter-spacing: calc(48px * (-4 / 100));
  line-height: 1.1; }
  @media only screen and (max-width: 1200px) {
    .title-48 {
      font-size: 4.3rem; } }
  @media only screen and (max-width: 800px) {
    .title-48 {
      font-size: 3.3rem; } }

.title-40 {
  font-size: 4rem;
  letter-spacing: calc(40px * (-4 / 100));
  line-height: 1.2; }
  @media only screen and (max-width: 1200px) {
    .title-40 {
      font-size: 3.5rem; } }
  @media only screen and (max-width: 800px) {
    .title-40 {
      font-size: 2.7rem; } }

.title-36 {
  font-size: 3.6rem;
  letter-spacing: calc(36px * (-4 / 100));
  line-height: 1.2; }
  @media only screen and (max-width: 1200px) {
    .title-36 {
      font-size: 3.1rem; } }
  @media only screen and (max-width: 800px) {
    .title-36 {
      font-size: 2.6rem; } }

.title-32 {
  font-size: 3.2rem;
  letter-spacing: calc(32px * (-4 / 100));
  line-height: 1.2; }
  @media only screen and (max-width: 1200px) {
    .title-32 {
      font-size: 2.7rem; } }
  @media only screen and (max-width: 800px) {
    .title-32 {
      font-size: 2.2rem; } }

.title-28 {
  font-size: 2.8rem; }
  @media only screen and (max-width: 1200px) {
    .title-28 {
      font-size: 2.4rem; } }
  @media only screen and (max-width: 800px) {
    .title-28 {
      font-size: 2.1rem; } }

.title-24 {
  font-size: 2.4rem;
  letter-spacing: calc(24px * (-4 / 100));
  line-height: 1.3; }
  @media only screen and (max-width: 1200px) {
    .title-24 {
      font-size: 2rem; } }
  @media only screen and (max-width: 800px) {
    .title-24 {
      font-size: 1.7rem; } }

.title-desc {
  margin-top: 1.2rem;
  color: #667085;
  font-size: 1.6rem;
  line-height: 1.3;
  letter-spacing: calc(16px * (-4 / 100)); }
  @media only screen and (max-width: 800px) {
    .title-desc {
      font-size: 1.4rem; } }
  .title-desc strong,
  .title-desc b {
    font-weight: 7000; }
  .title-desc:has(img) {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.2rem;
    margin-top: 0;
    color: #fff;
    font-weight: 600;
    margin-right: auto;
    margin-left: auto;
    width: fit-content; }
    .title-desc:has(img) img {
      flex-shrink: 0;
      width: 3.2rem;
      height: auto; }

.text-20 {
  font-size: 2rem; }
  @media only screen and (max-width: 1200px) {
    .text-20 {
      font-size: 1.8rem; } }
  @media only screen and (max-width: 800px) {
    .text-20 {
      font-size: 1.6rem; } }

.text-18 {
  font-size: 1.8rem;
  letter-spacing: calc(18px * (-4 / 100)); }
  @media only screen and (max-width: 1200px) {
    .text-18 {
      font-size: 1.6rem; } }
  @media only screen and (max-width: 800px) {
    .text-18 {
      font-size: 1.5rem; } }

.text-16 {
  font-size: 1.6rem; }
  @media only screen and (max-width: 800px) {
    .text-16 {
      font-size: 1.4rem; } }

.text-14 {
  font-size: 1.4rem; }

.text-12 {
  font-size: 1.2rem; }

.f-pri {
  font-family: var(--font-pri); }

.f-tt {
  font-family: var(--font-title); }

.f-desc {
  font-family: var(--font-desc); }

.fs-i {
  font-style: italic; }

.t-cap {
  text-transform: capitalize; }

.t-up {
  text-transform: uppercase; }

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

.fw-b {
  font-weight: 700; }

.fw-sb {
  font-weight: 600; }

.fw-m {
  font-weight: 500; }

.fw-n {
  font-weight: 400; }

.fw-t {
  font-weight: 300; }

.title__head {
  text-align: center; }

.py-50 {
  padding-top: 5rem;
  padding-bottom: 5rem; }
  @media screen and (max-width: 991.98px) {
    .py-50 {
      padding-top: 4rem;
      padding-bottom: 4rem; } }
  @media screen and (max-width: 575.98px) {
    .py-50 {
      padding-top: 3rem;
      padding-bottom: 3rem; } }

.py-60 {
  padding-top: 6rem;
  padding-bottom: 6rem; }
  @media screen and (max-width: 991.98px) {
    .py-60 {
      padding-top: 4rem;
      padding-bottom: 4rem; } }
  @media screen and (max-width: 575.98px) {
    .py-60 {
      padding-top: 3rem;
      padding-bottom: 3rem; } }

.py-100 {
  padding-top: 10rem;
  padding-bottom: 10rem; }
  @media screen and (max-width: 991.98px) {
    .py-100 {
      padding-top: 8rem;
      padding-bottom: 8rem; } }
  @media screen and (max-width: 575.98px) {
    .py-100 {
      padding-top: 6rem;
      padding-bottom: 6rem; } }

.py-120 {
  padding-top: 12rem;
  padding-bottom: 12rem; }
  @media screen and (max-width: 991.98px) {
    .py-120 {
      padding-top: 8rem;
      padding-bottom: 8rem; } }
  @media screen and (max-width: 575.98px) {
    .py-120 {
      padding-top: 6rem;
      padding-bottom: 6rem; } }

.pt-100 {
  padding-top: 10rem; }
  @media screen and (max-width: 991.98px) {
    .pt-100 {
      padding-top: 8rem; } }
  @media screen and (max-width: 575.98px) {
    .pt-100 {
      padding-top: 6rem; } }

.pb-100 {
  padding-bottom: 10rem; }
  @media screen and (max-width: 991.98px) {
    .pb-100 {
      padding-bottom: 8rem; } }
  @media screen and (max-width: 575.98px) {
    .pb-100 {
      padding-bottom: 6rem; } }

.pt-120 {
  padding-top: 12rem; }
  @media screen and (max-width: 991.98px) {
    .pt-120 {
      padding-top: 8rem; } }
  @media screen and (max-width: 575.98px) {
    .pt-120 {
      padding-top: 6rem; } }

.pb-120 {
  padding-bottom: 12rem; }
  @media screen and (max-width: 991.98px) {
    .pb-120 {
      padding-bottom: 8rem; } }
  @media screen and (max-width: 575.98px) {
    .pb-120 {
      padding-bottom: 6rem; } }

@keyframes opacityAni {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20%); }
  100% {
    opacity: 1;
    transform: translateY(0%); } }

.move-top {
  opacity: 0;
  z-index: 98;
  right: 3.2rem;
  bottom: 3.2rem;
  cursor: pointer;
  position: fixed;
  visibility: hidden;
  transition: 0.4s ease-in-out;
  transform: translateX(100%); }
  @media screen and (max-width: 991px) {
    .move-top {
      right: 1.2rem;
      bottom: 1.2rem; } }
  .move-top.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0); }
  .move-top-icon {
    gap: 1rem;
    flex-direction: column;
    display: flex;
    flex-wrap: wrap; }
  .move-top-social {
    gap: 1rem;
    display: flex;
    flex-direction: column; }
    .move-top-social a {
      overflow: hidden;
      position: relative;
      border-radius: 50%;
      transition: 0.4s ease-in-out;
      width: 4.8rem;
      height: 4.8rem;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      background-color: #a9d433;
      border: 0.1rem solid #a9d433; }
      @media screen and (min-width: 1201px) {
        .move-top-social a:hover {
          transform: scale(1.1); } }
      .move-top-social a img {
        object-fit: contain; }
    .move-top-social.scrolltop a {
      background-color: white; }
      .move-top-social.scrolltop a img {
        transform: rotate(90deg);
        filter: brightness(0) saturate(100%) invert(67%) sepia(98%) saturate(327%) hue-rotate(29deg) brightness(97%) contrast(93%); }

.breadcrumb {
  margin-bottom: 2rem; }
  .breadcrumb-list {
    flex-wrap: nowrap;
    display: flex;
    align-items: center;
    justify-content: center; }
  .breadcrumb-item {
    color: #667085;
    line-height: 1.3;
    font-size: 1.6rem;
    letter-spacing: calc(16px * (-4 / 100));
    white-space: nowrap;
    transition: 0.4s ease-in-out;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 800px) {
      .breadcrumb-item {
        font-size: 1.4rem; } }
    @media screen and (min-width: 1201px) {
      .breadcrumb-item:not(.is-current):hover {
        color: #59a15f; } }
    .breadcrumb-item:not(:first-child)::before {
      content: "";
      flex-shrink: 0;
      margin: 0 1.2rem;
      user-select: none;
      width: 1.2rem;
      height: 1.2rem;
      display: inline-block;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      background-image: url("../../assets/images/icons/icon-chevron.svg");
      margin-top: 0.2rem; }
      @media screen and (max-width: 767px) {
        .breadcrumb-item:not(:first-child)::before {
          margin: 0 0.8rem; } }
    .breadcrumb-item.is-current {
      font-weight: 500;
      color: #082823; }
    .breadcrumb-item:last-child {
      cursor: default;
      white-space: normal; }
      .breadcrumb-item:last-child > * {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-clamp: 1;
        -webkit-line-clamp: 1; }
    @media screen and (max-width: 1200px) {
      .breadcrumb-item .text-16 {
        font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      .breadcrumb-item .text-16 {
        font-size: 1.2rem; } }

.container .breadcrumb .container {
  padding: 0; }

.header {
  top: 0;
  left: 0;
  width: 100%;
  position: fixed;
  padding: 1.6rem 0;
  transition: 0.4s ease-in-out;
  background-color: white;
  height: var(--header-height);
  z-index: var(--header-index); }
  .header > .container {
    max-width: 169.6rem; }
  .header .custom-logo-link {
    flex-shrink: 0;
    max-width: 27.4rem; }
    @media screen and (max-width: 767px) {
      .header .custom-logo-link {
        max-width: 20.6rem; } }
    @media screen and (max-width: 576px) {
      .header .custom-logo-link {
        max-width: 16.25rem; } }
  .header.is-fixed {
    box-shadow: 1rem 1rem 4rem 0 rgba(40, 105, 240, 0.16); }
    @media screen and (min-width: 1201px) {
      .header.is-fixed.is-fixed {
        background-color: white; } }
  .header.is-hidden {
    transform: translateY(calc(-1 * var(--header-height))); }
  .header-wrap {
    gap: 2.4rem;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 1366px) {
      .header-wrap {
        gap: 1.6rem; } }
  @media screen and (min-width: 1201px) {
    .header-nav {
      margin: 0 auto; } }
  @media screen and (max-width: 1200px) {
    .header-nav {
      top: 0;
      right: 0;
      bottom: 0;
      width: 32rem;
      display: flex;
      height: 100dvh;
      position: fixed;
      box-shadow: 1rem 1rem 4rem 0 rgba(40, 105, 240, 0.16);
      transition: 0.4s ease-in-out;
      overflow: hidden auto;
      flex-direction: column;
      background-color: white;
      transform: translateX(100%);
      z-index: calc(var(--header-index) + 3); }
      .header-nav.is-active {
        transform: translateX(0); } }
  @media screen and (max-width: 576px) {
    .header-nav {
      width: 30rem; } }
  .header-nav .menu {
    display: flex; }
    @media screen and (min-width: 1201px) {
      .header-nav .menu {
        gap: 4rem;
        align-items: center; } }
  @media screen and (min-width: 1201px) and (max-width: 1366px) {
    .header-nav .menu {
      gap: 3.2rem; } }
    @media screen and (max-width: 1200px) {
      .header-nav .menu {
        flex-direction: column; } }
    .header-nav .menu-dropdown {
      gap: 0.4rem;
      position: relative;
      display: flex;
      align-items: center; }
      .header-nav .menu-dropdown img {
        flex-shrink: 0;
        transition: 0.4s ease-in-out;
        width: 1.6rem;
        height: 1.6rem; }
    @media screen and (min-width: 1201px) {
      .header-nav .menu-item:hover > .menu-link {
        color: #59a15f; }
      .header-nav .menu-item:hover img {
        transform: rotate(180deg);
        filter: brightness(0) saturate(100%) invert(55%) sepia(12%) saturate(1415%) hue-rotate(75deg) brightness(98%) contrast(93%); }
      .header-nav .menu-item:hover > .child {
        opacity: 1;
        pointer-events: auto; } }
    @media screen and (max-width: 1200px) {
      .header-nav .menu-item {
        padding: 1.2rem;
        flex-wrap: wrap; } }
    .header-nav .menu-item.is-active > img {
      transform: rotate(180deg); }
    .header-nav .menu-link {
      line-height: 130%;
      transition: 0.4s ease-in-out;
      letter-spacing: -0.064rem; }
      @media screen and (max-width: 1200px) {
        .header-nav .menu-link {
          display: block;
          font-weight: 500;
          width: calc(100% - 2rem); } }
    @media screen and (max-width: 1200px) {
      .header-nav .menu > .menu-item {
        border-bottom: 0.1rem solid #d0d0d0; } }
    .header-nav .menu .current-menu-item > .menu-link {
      font-weight: 700;
      color: #59a15f; }
  .header-info {
    padding: 1.2rem;
    margin-top: auto;
    background-color: #082823; }
    @media screen and (min-width: 1201px) {
      .header-info {
        display: none; } }
    .header-info > .title-60 {
      font-size: 2.4rem;
      color: #a9d433;
      line-height: normal; }
      @media screen and (max-width: 576px) {
        .header-info > .title-60 {
          font-size: 2rem; } }
    .header-info .footer-address .address {
      row-gap: 0.8rem; }
  .header-action {
    gap: 2.4rem;
    flex-shrink: 0;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 1366px) {
      .header-action {
        gap: 1.6rem; } }
    @media screen and (max-width: 1200px) {
      .header-action {
        margin-left: auto; } }
    @media screen and (max-width: 1200px) {
      .header-action > .btn {
        display: none; } }
  .header-lang .language {
    position: relative; }
    .header-lang .language:hover .language-head::after {
      transform: rotate(180deg); }
    .header-lang .language:hover .language-child {
      opacity: 1; }
    .header-lang .language-head {
      gap: 0.4rem;
      position: relative;
      display: flex;
      align-items: center; }
      .header-lang .language-head:after {
        content: "";
        transition: 0.4s ease-in-out;
        width: 1.4rem;
        height: 1.4rem;
        display: inline-block;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url("../../assets/images/header/icon-arrow.svg"); }
      .header-lang .language-head > img {
        flex-shrink: 0;
        border-radius: 50%;
        object-fit: contain;
        width: 2.4rem;
        height: 2.4rem; }
      .header-lang .language-head .text-16 {
        line-height: 130%;
        color: #082823;
        letter-spacing: -0.064rem; }
    .header-lang .language-child {
      left: 50%;
      top: 100%;
      z-index: 5;
      opacity: 0;
      box-shadow: 1rem 1rem 4rem 0 rgba(40, 105, 240, 0.16);
      min-width: 5rem;
      overflow: hidden;
      width: max-content;
      position: absolute;
      transition: 0.4s ease-in-out;
      border-radius: 0.6rem;
      background-color: white;
      transform: translateX(-50%);
      border: 0.1rem solid white; }
      .header-lang .language-child-link {
        display: block;
        padding: 0.4rem;
        font-weight: 600;
        font-size: 1.4rem;
        color: #082823;
        transition: 0.4s ease-in-out; }
        @media screen and (min-width: 1201px) {
          .header-lang .language-child-link:hover {
            color: white;
            background-color: #082823; } }
  @media screen and (min-width: 577px) {
    .header-search {
      position: relative; } }
  .header-search button,
  .header-search .search {
    flex-shrink: 0;
    cursor: pointer;
    user-select: none;
    padding: 0.6rem;
    margin: -0.6rem;
    border-radius: 50%;
    transition: 0.4s ease-in-out; }
    .header-search button:hover,
    .header-search .search:hover {
      background-color: #59a15f; }
      .header-search button:hover img,
      .header-search .search:hover img {
        filter: brightness(0) invert(1); }
    .header-search button img,
    .header-search .search img {
      object-fit: cover;
      transition: 0.4s ease-in-out;
      width: 2.4rem;
      height: 2.4rem; }
  .header-search.is-active .search {
    background-color: #59a15f; }
    .header-search.is-active .search img {
      filter: brightness(0) invert(1); }
  .header-search.is-active .header-search-menu {
    opacity: 1;
    pointer-events: auto; }
  .header-search-menu {
    opacity: 0;
    width: 100%;
    position: absolute;
    transition: 0.4s ease-in-out;
    pointer-events: none;
    top: calc(100% + 0.8rem); }
    @media screen and (min-width: 577px) {
      .header-search-menu {
        right: 0;
        min-width: 32rem; } }
    @media screen and (max-width: 576px) {
      .header-search-menu {
        left: 50%;
        top: calc(100% - 0.8rem);
        width: calc(100% - 3.2rem);
        transform: translateX(-50%); } }
    .header-search-menu form .form-label {
      gap: 1.2rem;
      border-radius: 4rem;
      transition: 0.4s ease-in-out;
      flex-direction: unset;
      background-color: white;
      border: 0.1rem solid transparent;
      padding: 1.2rem 1.6rem 1.2rem 2.4rem;
      box-shadow: 1rem 1rem 4rem 0 rgba(40, 105, 240, 0.16); }
      @media screen and (max-width: 1200px) {
        .header-search-menu form .form-label {
          border-color: #d0d0d0; } }
      .header-search-menu form .form-label:hover {
        border-color: #59a15f; }
      .header-search-menu form .form-label:has(input:focus) {
        border-color: #59a15f; }
    .header-search-menu form input {
      border: 0;
      padding: 0;
      height: auto;
      background-color: transparent; }

@media screen and (min-width: 1201px) {
  .child {
    left: 50%;
    top: 100%;
    z-index: 5;
    opacity: 0;
    box-shadow: 1rem 1rem 4rem 0 rgba(40, 105, 240, 0.16);
    overflow: hidden;
    min-width: 15rem;
    width: max-content;
    position: absolute;
    transition: 0.4s ease-in-out;
    pointer-events: none;
    border-radius: 0.8rem;
    background-color: white;
    transform: translateX(-50%); } }

@media screen and (max-width: 1200px) {
  .child {
    width: 100%;
    margin-top: 1.2rem;
    border-left: 0.1rem solid rgba(8, 40, 35, 0.4); } }

.child .menu-item {
  font-weight: 500;
  transition: 0.4s ease-in-out; }
  @media screen and (min-width: 1201px) {
    .child .menu-item {
      padding: 0.8rem; }
      .child .menu-item:hover {
        background-color: #59a15f; }
        .child .menu-item:hover > .menu-link {
          color: white; } }

.menu-close-icon {
  padding: 1.2rem;
  border-bottom: 0.1rem solid #d0d0d0; }
  @media screen and (min-width: 1201px) {
    .menu-close-icon {
      display: none; } }
  .menu-close-icon img {
    margin-left: auto;
    width: 2.4rem;
    height: 2.4rem; }

@media screen and (min-width: 1201px) {
  .menu-bar {
    display: none; } }

.menu-bar .menu-span span {
  width: 2.4rem;
  height: 0.2rem;
  display: block;
  user-select: none;
  margin-top: 0.4rem;
  transition: 0.4s ease-in-out;
  border-radius: 0.5rem;
  background-color: #082823; }
  .menu-bar .menu-span span:nth-child(1) {
    margin-top: 0; }

.footer {
  padding-top: 8rem;
  isolation: isolate;
  position: relative; }
  @media screen and (max-width: 1200px) {
    .footer {
      padding-top: 6rem; } }
  .footer::before {
    content: "";
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    position: absolute;
    pointer-events: none;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top;
    background-image: url("../../assets/images/footer/footer-bg.jpg"); }
  .footer.active .footer-heading .social-link {
    width: 4.8rem;
    height: 4.8rem; }
  @media screen and (max-width: 850px) {
    .footer-col {
      width: 100%; } }
  .footer-heading {
    gap: 2.4rem;
    flex-wrap: wrap;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .footer-heading > .title-60 {
      font-size: 6rem;
      color: #a9d433;
      line-height: normal;
      letter-spacing: -0.24rem; }
      @media only screen and (max-width: 1200px) {
        .footer-heading > .title-60 {
          font-size: 3.5rem; } }
      @media only screen and (max-width: 800px) {
        .footer-heading > .title-60 {
          font-size: 2.5rem; } }
    .footer-heading .social {
      gap: 0.8rem;
      user-select: none;
      display: flex;
      align-items: center; }
      .footer-heading .social .text-16 {
        color: white;
        letter-spacing: -0.064rem; }
      .footer-heading .social-list {
        gap: 0.8rem;
        display: flex;
        flex-wrap: wrap; }
      .footer-heading .social-link {
        display: block;
        border-radius: 50%;
        transition: 0.4s ease-in-out;
        width: 3.6rem;
        height: 3.6rem;
        border: 0.1rem solid transparent; }
        @media screen and (min-width: 1201px) {
          .footer-heading .social-link:hover {
            transform: scale(1.1);
            border-color: #59a15f; } }
        @media screen and (max-width: 1200px) {
          .footer-heading .social-link {
            width: 3.2rem;
            height: 3.2rem; } }
        .footer-heading .social-link img {
          width: 100%;
          height: 100%;
          object-fit: contain; }
  @media screen and (min-width: 851px) {
    .footer-address {
      max-width: 41.4rem; } }
  @media screen and (max-width: 991px) {
    .footer-address .address {
      row-gap: 2rem; } }
  .footer-address .address-box {
    gap: 1.2rem;
    display: flex;
    flex-direction: column; }
    .footer-address .address-box > * {
      line-height: 130%; }
    .footer-address .address-box .text-14 {
      font-weight: 600;
      letter-spacing: -0.056rem;
      color: rgba(255, 255, 255, 0.5); }
    .footer-address .address-box .text-16 {
      color: white;
      transition: 0.4s ease-in-out;
      letter-spacing: -0.064rem; }
      @media screen and (min-width: 1201px) {
        .footer-address .address-box .text-16:hover {
          color: #a9d433; } }
  .footer-address .address .is-full .address-box {
    flex-direction: unset; }
  .footer-group {
    --letter-spacing: 3.2rem;
    display: flex;
    flex-wrap: wrap;
    row-gap: var(--letter-spacing);
    margin: 0 calc(-1 * var(--letter-spacing)); }
    @media screen and (max-width: 1200px) {
      .footer-group {
        --letter-spacing: 1.2rem; } }
  .footer-box {
    width: calc(100% / 2);
    padding: 0 var(--letter-spacing); }
    .footer-box > .text-20 {
      color: #59a15f;
      letter-spacing: -0.08rem; }
    .footer-box .menu-link {
      color: white;
      line-height: 130%;
      transition: 0.4s ease-in-out;
      letter-spacing: -0.064rem; }
      @media screen and (min-width: 1201px) {
        .footer-box .menu-link:hover {
          color: #a9d433; } }
      @media screen and (max-width: 576px) {
        .footer-box .menu-link {
          font-size: 1.4rem; } }
  .footer-copyright {
    flex-wrap: wrap;
    padding: 2.4rem 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (min-width: 1201px) {
      .footer-copyright {
        margin-top: 4rem; } }
    @media screen and (max-width: 767px) {
      .footer-copyright {
        gap: 1rem;
        flex-direction: column; } }
    .footer-copyright::before {
      content: "";
      top: 0;
      left: 50%;
      width: 100vw;
      height: 0.1rem;
      position: absolute;
      transform: translateX(-50%);
      background-color: rgba(255, 255, 255, 0.1); }
    .footer-copyright > .text-16 {
      font-weight: 400;
      line-height: 140%;
      letter-spacing: -0.064rem;
      color: rgba(255, 255, 255, 0.7); }
      .footer-copyright > .text-16 a {
        font-weight: 700;
        color: #59a15f;
        transition: 0.4s ease-in-out; }
        @media screen and (min-width: 1201px) {
          .footer-copyright > .text-16 a:hover {
            color: #a9d433; } }
    .footer-copyright ul {
      gap: 10rem;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 1200px) {
        .footer-copyright ul {
          gap: 4.8rem; } }
      @media screen and (max-width: 767px) {
        .footer-copyright ul {
          gap: 2rem; } }
      .footer-copyright ul li a {
        line-height: 120%;
        transition: 0.4s ease-in-out;
        letter-spacing: -0.064rem;
        color: rgba(255, 255, 255, 0.7); }
        @media screen and (min-width: 1201px) {
          .footer-copyright ul li a:hover {
            color: #a9d433; } }
        @media screen and (max-width: 576px) {
          .footer-copyright ul li a {
            font-size: 1.4rem; } }

.btn {
  z-index: 3;
  flex-shrink: 0;
  cursor: pointer;
  font-weight: 700;
  overflow: hidden;
  column-gap: 1rem;
  user-select: none;
  font-size: 1.6rem;
  line-height: 130%;
  text-align: center;
  position: relative;
  width: fit-content;
  color: #082823;
  transition: 0.4s ease-in-out;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border-radius: 10rem;
  letter-spacing: -0.064rem;
  font-family: var(--font-pri);
  background-color: #a9d433;
  border: 0.1rem solid transparent;
  padding: 0.4rem 0.4rem 0.4rem 2.4rem; }
  @media screen and (min-width: 1201px) {
    .btn:hover {
      border-color: #59a15f; }
      .btn:hover::after {
        left: 0;
        width: 100%; } }
  .btn::after {
    content: "";
    top: 0;
    right: 0;
    width: 0;
    z-index: -1;
    height: 100%;
    position: absolute;
    transition: 0.4s ease-in-out;
    background-color: #59a15f; }
  .btn.mx-auto {
    margin: 0 auto; }
  .btn.w-100 {
    width: 100%; }
  .btn span {
    line-height: inherit; }
  .btn img {
    width: 4rem;
    height: 4rem;
    transition: 0.4s ease-in-out; }
  .btn .wpcf7-spinner {
    top: 50%;
    left: 50%;
    margin: 0 auto;
    position: absolute;
    transform: translate(-50%, -50%); }
  .btn--border {
    border-radius: 10rem;
    background: transparent;
    color: #082823;
    font-weight: 700;
    border-color: #082823;
    padding: 1.3rem 2.4rem; }

form .form-wrap {
  gap: 3.2rem;
  display: flex;
  flex-direction: column; }
  @media screen and (max-width: 767px) {
    form .form-wrap {
      row-gap: 2.4rem; } }

form .form-group {
  flex-wrap: wrap;
  gap: 2.4rem 1.6rem;
  display: flex;
  align-items: center; }

form .form-box {
  width: calc(100% / 2 - 0.8rem); }
  @media screen and (max-width: 767px) {
    form .form-box {
      width: 100%; } }

form .form-label {
  width: 100%;
  display: flex;
  row-gap: 0.4rem;
  flex-direction: column; }

form .form-text {
  font-weight: 500;
  color: black;
  letter-spacing: -0.064rem; }
  form .form-text sup {
    color: #d92d20; }
  form .form-text span {
    color: #98a2b3;
    font-size: 1.2rem; }

form .form-select {
  position: relative; }
  form .form-select::before {
    z-index: 1;
    content: "";
    top: 50%;
    right: 1.6rem;
    position: absolute;
    width: 1.6rem;
    height: 1.6rem;
    transform: translateY(-50%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    background-image: url("../../assets/images/header/icon-arrow.svg"); }

form input {
  height: 4.8rem; }

form textarea {
  resize: none;
  height: 10rem; }

form select {
  padding: 1.6rem 4.8rem 1.6rem 1.6rem; }

form input,
form textarea {
  padding: 1.6rem; }
  form input:hover, form input:focus,
  form textarea:hover,
  form textarea:focus {
    color: #082823;
    border-color: #082823; }
  form input::placeholder,
  form textarea::placeholder {
    color: #98a2b3; }

form input,
form select,
form textarea {
  outline: 0;
  width: 100%;
  font-size: 1.6rem;
  transition: 0.4s ease-in-out;
  border-radius: 0.8rem;
  background-color: #f2f4f7;
  font-family: var(--font-pri);
  border: 0.1rem solid transparent; }

.g-recaptcha-wrap {
  padding: 0 !important; }

.wpcf7-form-control-wrap {
  width: 100%;
  display: block; }

.wpcf7-not-valid-tip {
  right: 0;
  z-index: 4;
  color: white;
  bottom: -2.2rem;
  padding: 0.4rem;
  font-size: 1.2rem;
  width: fit-content;
  position: absolute;
  border-radius: 0.5rem;
  background-color: red; }
  .wpcf7-not-valid-tip::before {
    content: "";
    width: 0;
    height: 0;
    bottom: 100%;
    right: 1.6rem;
    position: absolute;
    border-left: 0.5rem solid transparent;
    border-right: 0.5rem solid transparent;
    border-bottom: 0.5rem solid #ec1f26; }

.wpcf7-response-output {
  text-align: center;
  margin: 2rem 0 0 0 !important; }
  @media screen and (max-width: 1200px) {
    .wpcf7-response-output {
      font-size: 1.4rem !important;
      margin: 1.2rem 0 0 0 !important; } }

.select2-results {
  box-shadow: 1rem 1rem 4rem 0 rgba(40, 105, 240, 0.16);
  overflow: hidden;
  background-color: white;
  border-radius: 0 !important;
  border: 0.1rem solid white; }

.select2-container .select2-dropdown {
  border: 0;
  background-color: transparent; }

.select2-container--default
.select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #59a15f; }

.custom-input-file {
  display: flex;
  flex-wrap: wrap; }
  .custom-input-file .input-side {
    width: 100%;
    max-width: 35.3rem;
    flex-shrink: 0;
    position: relative; }
  .custom-input-file .file-name {
    color: var(10, #101212);
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: -0.32px; }
    @media only screen and (max-width: 800px) {
      .custom-input-file .file-name {
        font-size: 1.4rem; } }
  .custom-input-file input {
    width: 0.1px !important;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1; }
  .custom-input-file label {
    border-radius: 0.8rem;
    border: 0.1rem dashed #a3a3a3;
    background-color: #fff;
    padding: 1.6rem;
    width: 100%;
    min-height: 8.5rem;
    color: #101212;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: calc(16px * (-4 / 100));
    cursor: pointer;
    transition: background-color 0.4s, color 0.4s, border-color 0.4s;
    position: relative;
    display: flex;
    flex-direction: column;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis; }
    @media only screen and (max-width: 800px) {
      .custom-input-file label {
        font-size: 1.4rem; } }
    @media screen and (min-width: 1200px) {
      .custom-input-file label:hover, .custom-input-file label:focus-visible {
        border-color: #a9d433; } }
    @media screen and (max-width: 576px) {
      .custom-input-file label {
        padding: 1rem 1.2rem; } }
    .custom-input-file label .text-main {
      margin-top: 1.6rem;
      text-align: center; }
      @media screen and (max-width: 576px) {
        .custom-input-file label .text-main {
          margin-top: 0.8rem; } }
    .custom-input-file label .text-sup {
      text-align: center;
      color: #a1abab;
      font-size: 1.4rem;
      letter-spacing: calc(14px * (-4 / 100));
      line-height: 1.3;
      margin-top: 0.8rem;
      font-weight: 400; }
    .custom-input-file label p {
      overflow: hidden;
      text-overflow: ellipsis; }
    .custom-input-file label img {
      display: block;
      width: 3.2rem;
      height: 3.2rem;
      object-fit: contain;
      margin: 0 auto; }
      @media screen and (max-width: 576px) {
        .custom-input-file label img {
          width: 2.4rem;
          height: 2.4rem; } }
  .custom-input-file.is-drag label {
    border-color: #59a15f; }

.banner {
  height: calc(100vh - calc(1 * var(--header-height))); }
  @media screen and (min-width: 1201px) {
    .banner {
      position: sticky;
      top: var(--header-height); } }
  @media screen and (max-width: 1200px) {
    .banner {
      height: auto;
      position: relative; } }
  .banner-bg {
    inset: 0;
    z-index: -1;
    position: absolute; }
    .banner-bg::before {
      content: "";
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      user-select: none;
      position: absolute;
      pointer-events: none;
      background: linear-gradient(180deg, rgba(8, 40, 35, 0) 0%, #082823 85.75%); }
    .banner-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .banner-position {
    z-index: 5; }
    @media screen and (min-width: 1201px) {
      .banner-position {
        inset: 0;
        position: absolute; } }
    @media screen and (max-width: 1200px) {
      .banner-position {
        position: relative;
        padding: 40rem 0 10rem; } }
    @media screen and (max-width: 576px) {
      .banner-position {
        padding: 20rem 0 5rem; } }
  @media screen and (min-width: 1201px) {
    .banner-block {
      padding: 6rem 0; } }
  .banner-content {
    z-index: 5;
    width: 100%;
    margin: 0 auto;
    max-width: 100rem;
    text-align: center;
    position: relative; }
    .banner-content > * {
      color: white; }
    .banner-content > .text-16 {
      line-height: 160%;
      letter-spacing: -0.064rem;
      color: rgba(255, 255, 255, 0.7); }
    .banner-content .breadcrumb {
      margin: 0; }
      .banner-content .breadcrumb-item {
        color: rgba(255, 255, 255, 0.5); }
        .banner-content .breadcrumb-item:not(:first-child)::before {
          filter: brightness(0) invert(1); }
        .banner-content .breadcrumb-item.is-current {
          color: white; }
  @media screen and (min-width: 1201px) {
    .banner-block {
      height: 100%;
      align-items: flex-end; } }
  .banner-block:has(.count) {
    gap: 3.2rem;
    display: flex; }
    @media screen and (max-width: 1024px) {
      .banner-block:has(.count) {
        gap: 2.4rem;
        flex-wrap: wrap; } }
    .banner-block:has(.count) .banner-content {
      text-align: left; }
    .banner-block:has(.count) .breadcrumb-list {
      justify-content: flex-start; }
  .banner-block .count {
    width: 33.2rem;
    flex-shrink: 0;
    text-align: center;
    height: fit-content;
    padding: 4.8rem 4rem;
    border-radius: 2.4rem;
    background-color: #59a15f; }
    @media screen and (max-width: 1024px) {
      .banner-block .count {
        row-gap: 0.8rem;
        padding: 2.4rem; } }
    @media screen and (max-width: 576px) {
      .banner-block .count {
        padding: 1.6rem; } }
    .banner-block .count-heading {
      gap: 0.4rem;
      display: flex;
      text-align: center;
      align-items: flex-start;
      justify-content: center; }
      .banner-block .count-heading > * {
        font-weight: 700;
        letter-spacing: -0.256rem; }
      .banner-block .count-heading span:first-child {
        color: white;
        line-height: normal;
        font-family: var(--font-title); }
      .banner-block .count-heading span:last-child {
        line-height: 1;
        font-size: 4rem;
        color: #e3eba0; }
        @media screen and (max-width: 1200px) {
          .banner-block .count-heading span:last-child {
            font-size: 3.2rem; } }
        @media screen and (max-width: 767px) {
          .banner-block .count-heading span:last-child {
            font-size: 2.4rem; } }
    .banner-block .count-number {
      font-size: 6.4rem; }
      @media only screen and (max-width: 1200px) {
        .banner-block .count-number {
          font-size: 3.9rem; } }
      @media only screen and (max-width: 800px) {
        .banner-block .count-number {
          font-size: 2.9rem; } }
    .banner-block .count-content .text-20 {
      color: white;
      line-height: 130%;
      letter-spacing: -0.08rem;
      text-transform: capitalize; }

.banner__tag .service__card-list {
  margin-top: 2rem;
  margin-bottom: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  justify-content: center; }
  .banner__tag .service__card-list li {
    padding: 0.8rem 1.6rem;
    border-radius: 0.4rem;
    width: fit-content;
    background: #2b6732;
    color: #fff;
    margin-top: 0;
    position: relative;
    padding-left: 4rem;
    font-size: 1.8rem;
    line-height: 1.3;
    letter-spacing: calc(14px * (-4 / 100));
    display: flex;
    gap: 0.8rem; }
    @media only screen and (max-width: 1200px) {
      .banner__tag .service__card-list li {
        font-size: 1.6rem; } }
    @media only screen and (max-width: 800px) {
      .banner__tag .service__card-list li {
        font-size: 1.5rem; } }
    .banner__tag .service__card-list li::before {
      content: "";
      position: absolute;
      left: 1.6rem;
      width: 1.8rem;
      height: 1.8rem;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      background-image: url("../images/service/check.svg"); }
    .banner__tag .service__card-list li:first-child {
      margin-top: 0; }

.news__list {
  display: flex;
  --col-gap: 3.2rem;
  column-gap: var(--col-gap);
  row-gap: var(--col-gap);
  flex-wrap: wrap;
  margin-top: 4rem; }
  .news__list .news__item {
    width: calc(100% / 3 - (1 - 1 / 3) * var(--col-gap)); }
    @media screen and (max-width: 767.98px) {
      .news__list .news__item {
        width: calc(100% / 2 - (1 - 1 / 2) * var(--col-gap)); }
        .news__list .news__item:first-child {
          width: 100%; } }
  @media screen and (max-width: 1199.98px) {
    .news__list {
      --col-gap: 2.4rem; } }
  @media screen and (max-width: 991.98px) {
    .news__list {
      --col-gap: 1.6rem; } }

.news__item:first-child {
  grid-column: 1 / 2;
  grid-row: 1/6; }

.news__item-img {
  border-radius: 1.6rem;
  overflow: hidden;
  display: block;
  position: relative;
  padding-top: calc(280 / 384 * 100%); }
  .news__item-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.4s ease-in-out; }
  .news__item-img:hover img {
    transform: scale(1.05); }
  @media screen and (max-width: 575.98px) {
    .news__item-img {
      border-radius: 0.8rem; } }

.news__item-content {
  padding-top: 3.2rem;
  display: flex;
  flex-direction: column;
  row-gap: 2.4rem; }
  @media screen and (max-width: 991.98px) {
    .news__item-content {
      padding-top: 2.4rem;
      row-gap: 1.6rem; } }
  @media screen and (max-width: 575.98px) {
    .news__item-content {
      padding-top: 1.6rem;
      row-gap: 1rem; } }
  .news__item-content .btn {
    display: none;
    margin-top: 1.6rem; }
    @media screen and (max-width: 575.98px) {
      .news__item-content .btn {
        margin-top: 0.8rem; } }

.news__item-title {
  line-height: 1.2;
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: calc(20px * (-4 / 100));
  color: #082823; }
  @media only screen and (max-width: 1200px) {
    .news__item-title {
      font-size: 1.8rem; } }
  @media only screen and (max-width: 800px) {
    .news__item-title {
      font-size: 1.6rem; } }
  .news__item-title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    transition: 0.4s ease-in-out; }
    .news__item-title a:hover {
      color: #2b6732; }

.news__item-desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  line-height: 1.6;
  font-size: 1.6rem;
  letter-spacing: calc(16px * (-4 / 100));
  color: #667085; }
  @media only screen and (max-width: 800px) {
    .news__item-desc {
      font-size: 1.4rem; } }

.news__item-date {
  font-size: 1.6rem;
  letter-spacing: calc(16px * (-4 / 100));
  line-height: 1.3;
  color: #2b6732; }
  @media only screen and (max-width: 800px) {
    .news__item-date {
      font-size: 1.4rem; } }

.customer {
  z-index: 5;
  position: relative;
  padding: 10rem 0rem 10rem;
  background-color: white; }
  @media screen and (max-width: 992px) {
    .customer {
      padding: 8rem 0rem; } }
  @media screen and (max-width: 576px) {
    .customer {
      padding: 6rem 0rem; } }
  @media screen and (min-width: 1201px) {
    .customer {
      border-radius: 16rem 16rem 0 0;
      box-shadow: 0 -2rem 4rem 0 rgba(0, 0, 0, 0.15); } }
  .customer-heading {
    text-align: center; }
    @media screen and (max-width: 767px) {
      .customer-heading {
        row-gap: 0.8rem; } }
    .customer-heading .title-64 {
      line-height: normal; }
      .customer-heading .title-64 span:first-child {
        color: #59a15f; }
      .customer-heading .title-64 span:last-child {
        color: #a9d433; }
  .customer-list {
    display: flex;
    flex-wrap: wrap;
    border-top: 0.1rem solid #d9d9d9; }
  .customer-item {
    width: calc(100% / 5);
    border-right: 0.1rem solid #d9d9d9;
    border-bottom: 0.1rem solid #d9d9d9; }
    @media screen and (max-width: 1200px) {
      .customer-item {
        width: calc(100% / 4); } }
    @media screen and (max-width: 767px) {
      .customer-item {
        width: calc(100% / 3); } }
    @media screen and (max-width: 576px) {
      .customer-item {
        width: calc(100% / 2); } }
  .customer-img {
    user-select: none;
    position: relative;
    transition: 0.4s ease-in-out; }
    @media screen and (min-width: 1201px) {
      .customer-img:hover {
        background-color: white;
        box-shadow: 0 10rem 20rem 0 rgba(52, 64, 84, 0.18); }
        .customer-img:hover .img {
          filter: unset; } }
    .customer-img .img {
      width: 100%;
      height: 18rem;
      transition: 0.4s ease-in-out;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center; }
      @media screen and (min-width: 1201px) {
        .customer-img .img {
          filter: grayscale(1); } }
      @media screen and (max-width: 1200px) {
        .customer-img .img {
          height: 14rem; } }
      @media screen and (max-width: 767px) {
        .customer-img .img {
          height: 10rem; } }
      .customer-img .img img {
        height: 8rem;
        margin: 0 auto;
        object-fit: contain; }
        @media screen and (max-width: 1200px) {
          .customer-img .img img {
            height: 5.2rem; } }
        @media screen and (max-width: 767px) {
          .customer-img .img img {
            height: 4.2rem; } }
  .customer .splide.js-customer1 {
    border-top: 0.1rem solid #d9d9d9; }
  .customer .splide__slide {
    width: calc(100% / 5);
    border-right: 0.1rem solid #d9d9d9;
    border-bottom: 0.1rem solid #d9d9d9; }
    @media screen and (max-width: 1200px) {
      .customer .splide__slide {
        width: calc(100% / 4); } }
    @media screen and (max-width: 767px) {
      .customer .splide__slide {
        width: calc(100% / 3); } }
    @media screen and (max-width: 576px) {
      .customer .splide__slide {
        width: calc(100% / 2); } }

.relative {
  padding-block: 6rem;
  position: relative;
  overflow: hidden;
  background-color: white; }
  @media screen and (max-width: 991.98px) {
    .relative {
      padding-block: 4rem; } }
  @media screen and (max-width: 575.98px) {
    .relative {
      padding-block: 3rem; } }
  .relative__head {
    display: flex;
    align-items: end;
    gap: 1.2rem;
    justify-content: space-between; }
    .relative__head .title__head {
      text-align: left; }
      @media screen and (max-width: 767.98px) {
        .relative__head .title__head {
          text-align: center; } }
    .relative__head .btn__action {
      display: block; }
      @media screen and (max-width: 767.98px) {
        .relative__head .btn__action {
          display: none; } }
    @media screen and (max-width: 767.98px) {
      .relative__head {
        justify-content: center; } }
  .relative__slider {
    margin-top: 4rem;
    position: relative; }
    .relative__slider .swiper {
      overflow: visible; }
    .relative__slider .swiper-slide {
      width: fit-content;
      padding: 0 0.4rem;
      max-width: 40.8rem;
      opacity: 0.2;
      transition: 0.4s ease-in-out; }
      .relative__slider .swiper-slide .btn {
        display: flex; }
      .relative__slider .swiper-slide.swiper-slide-active, .relative__slider .swiper-slide.swiper-slide-next, .relative__slider .swiper-slide.swiper-slide-prev {
        opacity: 1; }
      @media screen and (max-width: 767.98px) {
        .relative__slider .swiper-slide {
          max-width: 30.8rem; } }
    .relative__slider .swiper-navigation .prev,
    .relative__slider .swiper-navigation .next {
      z-index: 1;
      position: absolute;
      top: 23%;
      background: #fff;
      border: 1px solid rgba(8, 40, 35, 0.2);
      width: 4rem;
      height: 4rem;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: 0.4s ease-in-out; }
      .relative__slider .swiper-navigation .prev img,
      .relative__slider .swiper-navigation .next img {
        width: 2rem;
        height: 2rem; }
      @media screen and (max-width: 767.98px) {
        .relative__slider .swiper-navigation .prev,
        .relative__slider .swiper-navigation .next {
          display: none; } }
      @media screen and (min-width: 1201px) {
        .relative__slider .swiper-navigation .prev:hover,
        .relative__slider .swiper-navigation .next:hover {
          background-color: #59a15f; }
          .relative__slider .swiper-navigation .prev:hover img,
          .relative__slider .swiper-navigation .next:hover img {
            filter: brightness(0) invert(1); } }
    .relative__slider .swiper-navigation .prev {
      left: -9.2rem; }
      .relative__slider .swiper-navigation .prev img {
        transform: rotate(180deg); }
      @media screen and (max-width: 1400.98px) {
        .relative__slider .swiper-navigation .prev {
          left: -3.2rem; } }
      @media screen and (max-width: 1300.98px) {
        .relative__slider .swiper-navigation .prev {
          left: -2.2rem; } }
    .relative__slider .swiper-navigation .next {
      right: -9.2rem; }
      @media screen and (max-width: 1400.98px) {
        .relative__slider .swiper-navigation .next {
          right: -3.2rem; } }
      @media screen and (max-width: 1300.98px) {
        .relative__slider .swiper-navigation .next {
          right: -2.2rem; } }
    @media screen and (min-width: 768px) {
      .relative__slider .swiper-pagination {
        display: none; } }
    .relative__slider .swiper-pagination .swiper-pagination-bullet-active {
      background: #59a15f; }
    @media screen and (max-width: 767.98px) {
      .relative__slider {
        padding-bottom: 6rem; } }

@media screen and (min-width: 768px) {
  .btn__action {
    display: none; } }

.btn__action .btn {
  background: #a9d433;
  font-family: var(--font-pri);
  font-weight: 700;
  letter-spacing: calc(16px * (-4 / 100));
  font-size: 1.6rem;
  color: #082823;
  line-height: 1.3;
  text-transform: capitalize;
  padding: 0.4rem 0.4rem 0.4rem 2.4rem;
  border-radius: 10rem; }
  @media only screen and (max-width: 800px) {
    .btn__action .btn {
      font-size: 1.4rem; } }
  .btn__action .btn img {
    width: 4rem;
    height: 4rem; }
  .btn__action .btn::after {
    background: #59a15f; }
  @media screen and (min-width: 1201px) {
    .btn__action .btn:hover {
      color: #082823; } }

@media screen and (max-width: 767.98px) {
  .btn__action {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2.4rem; } }

.service {
  padding-block: 6rem; }
  .service .title-64 span {
    color: #59a15f; }
  .service .title__head {
    max-width: 92.2rem;
    margin-right: auto;
    margin-left: auto; }

.service__grid {
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
  margin-top: 4rem; }

.service__card {
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  background: white;
  position: relative;
  transition: transform 0.4s ease;
  border-radius: 2.4rem;
  overflow: hidden;
  color: #fff; }
  .service__card-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; }
    .service__card-img::before {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(8, 40, 35, 0.6);
      z-index: 1; }
  .service__card-inner {
    position: relative;
    z-index: 2;
    max-width: 46rem;
    margin-right: auto;
    margin-left: auto; }
    .service__card-inner .btn--border {
      color: #fff;
      border-color: #fff; }
      @media screen and (min-width: 1201px) {
        .service__card-inner .btn--border:hover {
          border-color: #59a15f; } }
  .service__card-content {
    width: 54%;
    height: 100%;
    z-index: 1;
    display: flex;
    align-items: center;
    padding: 5.4rem;
    position: relative; }
    .service__card-content::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      z-index: 1;
      opacity: 0.6;
      mask: linear-gradient(to right, white 0%, white 62%, white 100%);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px); }
    @media screen and (max-width: 991.98px) {
      .service__card-content {
        padding: 4rem 2.4rem; } }
    @media screen and (max-width: 767.98px) {
      .service__card-content {
        width: 74%; } }
    @media screen and (max-width: 575.98px) {
      .service__card-content {
        width: 100%;
        padding: 4rem 1.6rem; } }
  .service__card-list {
    margin: 2.4rem 0;
    list-style: none; }
    .service__card-list li {
      margin-top: 1.6rem;
      position: relative;
      padding-left: 2.5rem;
      font-size: 1.4rem;
      line-height: 1.3;
      letter-spacing: calc(14px * (-4 / 100)); }
      .service__card-list li::before {
        content: "";
        position: absolute;
        left: 0;
        width: 1.8rem;
        height: 1.8rem;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url("../images/service/check.svg"); }
      .service__card-list li:first-child {
        margin-top: 0; }
  .service__card:nth-child(even) .service__card-content {
    margin-left: auto; }
    .service__card:nth-child(even) .service__card-content::after {
      transform: rotate(-180deg); }

.completed__timeline {
  position: relative;
  margin-top: 4rem; }
  .completed__timeline::after {
    position: absolute;
    content: "";
    height: 1px;
    width: 100%;
    left: 0;
    bottom: 8px;
    background: rgba(255, 255, 255, 0.2); }
  .completed__timeline .swiper-slide {
    padding: 0 1.6rem;
    width: calc(100% / 7);
    min-width: 17.6rem; }
    .completed__timeline .swiper-slide.swiper-slide-active .completed__timeline-item {
      font-weight: 700;
      font-size: 1.8rem;
      letter-spacing: calc(18px * (-4 / 100));
      color: #fff; }
      @media only screen and (max-width: 1200px) {
        .completed__timeline .swiper-slide.swiper-slide-active .completed__timeline-item {
          font-size: 1.6rem; } }
      @media only screen and (max-width: 800px) {
        .completed__timeline .swiper-slide.swiper-slide-active .completed__timeline-item {
          font-size: 1.5rem; } }
      .completed__timeline .swiper-slide.swiper-slide-active .completed__timeline-item::after {
        background: #a9d433; }
    .completed__timeline .swiper-slide.swiper-slide-active .completed__timeline-img {
      opacity: 1; }
    @media screen and (max-width: 767.98px) {
      .completed__timeline .swiper-slide {
        padding: 0 0.8rem;
        min-width: 15rem; } }
  .completed__timeline-item {
    display: flex;
    cursor: pointer;
    flex-direction: column;
    row-gap: 1.2rem;
    align-items: center;
    justify-content: end;
    color: rgba(255, 255, 255, 0.5);
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: calc(14px * (-4 / 100));
    transition: 0.4s ease-in-out;
    position: relative;
    padding-bottom: 2.8rem; }
    .completed__timeline-item::after {
      position: absolute;
      content: "";
      width: 1.6rem;
      height: 1.6rem;
      border-radius: 50%;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      background: #2b6732;
      transition: 0.4s ease-in-out; }
    .completed__timeline-item p {
      min-height: 4.2rem;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      overflow: hidden;
      line-clamp: 2;
      -webkit-line-clamp: 2;
      align-content: center; }
  .completed__timeline-img {
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #a9d433;
    opacity: 0;
    flex-shrink: 0;
    transition: 0.4s ease-in-out; }
    .completed__timeline-img picture {
      width: 8rem;
      height: 8rem;
      display: flex;
      align-items: center;
      justify-content: center; }
    .completed__timeline-img img {
      width: 100%;
      height: 100%;
      object-fit: cover; }

.completed {
  position: relative;
  background: #082823;
  color: #fff; }
  .completed .title__head {
    row-gap: 0.4rem;
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
    text-align: center;
    max-width: 84rem;
    margin-right: auto;
    margin-left: auto; }
  .completed .title-64 {
    text-transform: capitalize; }
    .completed .title-64 span {
      color: #a9d433; }
  .completed .title-desc {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.2rem;
    margin-top: 0;
    color: #fff;
    font-weight: 600; }
    .completed .title-desc img {
      flex-shrink: 0;
      width: 3.2rem;
      height: auto; }
  .completed .breadcrumb-item {
    color: rgba(255, 255, 255, 0.5); }
    .completed .breadcrumb-item.is-current {
      color: #fff; }
    .completed .breadcrumb-item:not(:first-child)::before {
      filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(1%) hue-rotate(78deg) brightness(105%) contrast(101%); }
  .completed + .project {
    position: relative;
    z-index: 1;
    background: #fff; }
    @media screen and (min-width: 1201px) {
      .completed + .project {
        border-radius: 16rem 16rem 0 0;
        box-shadow: 0 -2rem 4rem 0 rgba(0, 0, 0, 0.15); } }

.completed__wrap {
  position: relative;
  margin-top: 6rem; }
  .completed__wrap .swiper-navigation .next,
  .completed__wrap .swiper-navigation .prev {
    cursor: pointer;
    z-index: 1;
    display: flex;
    align-items: center;
    transition: 0.4s ease-in-out;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    --space: 5.2rem; }
    .completed__wrap .swiper-navigation .next img,
    .completed__wrap .swiper-navigation .prev img {
      filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(1%) hue-rotate(78deg) brightness(105%) contrast(101%); }
    @media screen and (max-width: 1536.98px) {
      .completed__wrap .swiper-navigation .next,
      .completed__wrap .swiper-navigation .prev {
        --space: 2.2rem; } }
    @media screen and (max-width: 1199.98px) {
      .completed__wrap .swiper-navigation .next,
      .completed__wrap .swiper-navigation .prev {
        --space: 1rem; } }
    @media screen and (min-width: 1201px) {
      .completed__wrap .swiper-navigation .next:hover,
      .completed__wrap .swiper-navigation .prev:hover {
        background-color: #59a15f; }
        .completed__wrap .swiper-navigation .next:hover img,
        .completed__wrap .swiper-navigation .prev:hover img {
          filter: brightness(0) invert(1); } }
  .completed__wrap .swiper-navigation .next {
    right: calc(-1 * var(--space)); }
  .completed__wrap .swiper-navigation .prev {
    left: calc(-1 * var(--space)); }
    .completed__wrap .swiper-navigation .prev img {
      transform: rotate(-180deg); }
  @media screen and (max-width: 767.98px) {
    .completed__wrap .swiper-navigation {
      display: none; } }
  @media screen and (min-width: 768px) {
    .completed__wrap .swiper-pagination {
      display: none; } }
  .completed__wrap .swiper-pagination-bullet {
    background: #fff; }
    .completed__wrap .swiper-pagination-bullet-active {
      background: #a9d433; }
  @media screen and (max-width: 767.98px) {
    .completed__wrap {
      padding-bottom: 6rem; } }

.completed__desc {
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-clamp: 4;
  -webkit-line-clamp: 4;
  margin-top: 2rem; }
  .completed__desc strong,
  .completed__desc b {
    font-weight: 700; }

.completed__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  --col-gap: 6rem;
  row-gap: 4rem;
  column-gap: var(--col-gap); }
  @media screen and (max-width: 1536.98px) {
    .completed__item {
      --col-gap: 4rem; } }
  @media screen and (max-width: 1199.98px) {
    .completed__item {
      --col-gap: 1.6rem; } }

.completed__img {
  width: 52%; }
  .completed__img .swiper-slide {
    width: 100%;
    padding: 4rem; }
    @media screen and (min-width: 1201px) {
      .completed__img .swiper-slide.swiper-slide-active .completed__img-item {
        transform: rotate(-4deg); } }
    .completed__img .swiper-slide.swiper-slide-active .completed__img-item::before {
      opacity: 0;
      transition-delay: 0s; }
    @media screen and (max-width: 1199.98px) {
      .completed__img .swiper-slide {
        padding: 0 2rem; } }
  .completed__img-item {
    width: 100%;
    position: relative;
    padding-top: calc(520 / 600 * 100%);
    border-radius: 2.4rem;
    overflow: hidden;
    transition: 0.4s ease-in-out; }
    @media screen and (min-width: 1201px) {
      .completed__img-item:hover img {
        transform: translate(-50%, -50%) scale(1.05); } }
    .completed__img-item::before {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background: rgba(8, 40, 35, 0.8);
      opacity: 1;
      z-index: 2;
      transition: 0.8s;
      transition-delay: 0.2s; }
    .completed__img-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      top: 50%;
      left: 50%;
      transition: 0.4s ease-in-out;
      transform: translate(-50%, -50%); }
  @media screen and (max-width: 767.98px) {
    .completed__img {
      width: 100%; } }

.completed__content {
  flex: 1; }
  .completed__content .service__card-list {
    margin: 4rem 0; }
    .completed__content .service__card-list li {
      font-size: 1.6rem;
      letter-spacing: calc(16px * (-4 / 100));
      line-height: 1.3;
      display: flex;
      gap: 0.8rem; }
      @media only screen and (max-width: 800px) {
        .completed__content .service__card-list li {
          font-size: 1.4rem; } }
      .completed__content .service__card-list li strong {
        font-weight: 600; }
    @media screen and (max-width: 575.98px) {
      .completed__content .service__card-list {
        margin: 2.4rem 0; } }

.service {
  padding-block: 6rem; }
  .service .title-64 span {
    color: #59a15f; }
  .service .title__head {
    max-width: 92.2rem;
    margin-right: auto;
    margin-left: auto; }

.service__grid {
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
  margin-top: 4rem; }

.service__card {
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  background: white;
  position: relative;
  transition: transform 0.4s ease;
  border-radius: 2.4rem;
  overflow: hidden;
  color: #fff; }
  .service__card-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; }
    .service__card-img::before {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(8, 40, 35, 0.6);
      z-index: 1; }
  .service__card-inner {
    position: relative;
    z-index: 2;
    max-width: 46rem;
    margin-right: auto;
    margin-left: auto; }
    .service__card-inner .btn--border {
      color: #fff;
      border-color: #fff; }
      @media screen and (min-width: 1201px) {
        .service__card-inner .btn--border:hover {
          border-color: #59a15f; } }
  .service__card-content {
    width: 54%;
    height: 100%;
    z-index: 1;
    display: flex;
    align-items: center;
    padding: 5.4rem;
    position: relative; }
    .service__card-content::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      z-index: 1;
      opacity: 0.6;
      mask: linear-gradient(to right, white 0%, white 62%, white 100%);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px); }
    @media screen and (max-width: 991.98px) {
      .service__card-content {
        padding: 4rem 2.4rem; } }
    @media screen and (max-width: 767.98px) {
      .service__card-content {
        width: 74%; } }
    @media screen and (max-width: 575.98px) {
      .service__card-content {
        width: 100%;
        padding: 4rem 1.6rem; } }
  .service__card-list {
    margin: 2.4rem 0;
    list-style: none; }
    .service__card-list li {
      margin-top: 1.6rem;
      position: relative;
      padding-left: 2.5rem;
      font-size: 1.4rem;
      line-height: 1.3;
      letter-spacing: calc(14px * (-4 / 100)); }
      .service__card-list li::before {
        content: "";
        position: absolute;
        left: 0;
        width: 1.8rem;
        height: 1.8rem;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url("../images/service/check.svg"); }
      .service__card-list li:first-child {
        margin-top: 0; }
  .service__card:nth-child(even) .service__card-content {
    margin-left: auto; }
    .service__card:nth-child(even) .service__card-content::after {
      transform: rotate(-180deg); }

.reason {
  z-index: 5;
  color: white;
  overflow: hidden;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 10rem 0rem 10rem;
  background: #082823;
  position: relative; }
  @media screen and (max-width: 992px) {
    .reason {
      padding: 8rem 0rem; } }
  @media screen and (max-width: 576px) {
    .reason {
      padding: 6rem 0rem; } }
  .reason::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    background-image: var(--img);
    opacity: 0.4;
    pointer-events: none;
    z-index: -1; }
  @media screen and (min-width: 1201px) {
    .reason {
      margin-top: -16rem;
      border-radius: 16rem;
      box-shadow: 0 -2rem 4rem 0 rgba(0, 0, 0, 0.15); } }
  .reason .title-desc {
    margin-top: 0;
    color: white; }
  @media screen and (max-width: 1024px) {
    .reason-row {
      --rg: 1.6rem;
      --cg: 1.6rem; } }
  @media screen and (max-width: 767px) {
    .reason-col {
      width: 100%; } }
  .reason-list {
    height: 100%; }
    @media screen and (max-width: 1024px) {
      .reason-list {
        row-gap: 1.6rem; } }
  .reason-item {
    width: 100%;
    height: 100%; }
  .reason-box {
    height: 100%;
    padding: 4rem;
    border-radius: 3.2rem;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.01);
    border: 0.1rem solid rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(0.7rem); }
    @media screen and (max-width: 1200px) {
      .reason-box {
        padding: 2.4rem; } }
    @media screen and (max-width: 767px) {
      .reason-box {
        padding: 1.6rem; } }
  .reason-icon {
    flex-shrink: 0;
    user-select: none;
    width: 4rem;
    height: 4rem; }
    .reason-icon img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      filter: brightness(0) invert(1); }
  .reason-content .text-16 {
    line-height: 160%;
    letter-spacing: -0.064rem;
    text-transform: capitalize;
    color: rgba(255, 255, 255, 0.7); }
  .reason-content .img {
    overflow: hidden;
    position: relative;
    border-radius: 2.4rem;
    padding-top: calc(320 / 408 * 100%); }
    @media screen and (min-width: 1201px) {
      .reason-content .img {
        margin-top: 1.4rem; }
        .reason-content .img:hover img {
          transform: translate(-50%, -50%) scale(1.05); } }
    .reason-content .img img {
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      transform: translate(-50%, -50%);
      transition: 0.4s ease-in-out; }

.p-customer .contact {
  color: white;
  margin-top: 0;
  border-radius: 0;
  overflow: hidden;
  padding: 12rem 0rem 24rem; }
  @media screen and (max-width: 992px) {
    .p-customer .contact {
      padding: 8rem 0rem; } }
  @media screen and (max-width: 576px) {
    .p-customer .contact {
      padding: 6rem 0rem; } }
  .p-customer .contact .title-desc {
    color: white; }
  .p-customer .contact-content ul li .box {
    background: rgba(255, 255, 255, 0.01);
    border: 0.1rem solid rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(0.7rem); }
    .p-customer .contact-content ul li .box-img img {
      filter: brightness(0) invert(1); }
  .p-customer .contact-content .phone-content .text-14 {
    color: rgba(255, 255, 255, 0.7); }

.p-customer .benefits {
  position: relative;
  padding: 12rem 0rem 24rem; }
  @media screen and (max-width: 992px) {
    .p-customer .benefits {
      padding: 8rem 0rem; } }
  @media screen and (max-width: 576px) {
    .p-customer .benefits {
      padding: 6rem 0rem; } }
  @media screen and (min-width: 1201px) {
    .p-customer .benefits {
      z-index: 5;
      margin-top: -15rem;
      border-radius: 16rem 16rem 0 0; } }
  .p-customer .benefits::before {
    position: absolute;
    top: 0;
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(169, 212, 51, 0.1) 37%, rgba(169, 212, 51, 0.2) 100%); }

@media screen and (min-width: 1201px) {
  .p-customer .benefit {
    z-index: 5;
    position: relative;
    margin-top: -15rem; } }

@media screen and (min-width: 1201px) {
  .p-customer .customer {
    padding-bottom: 25rem; } }

@media screen and (min-width: 1201px) {
  .p-customer .partnership {
    z-index: 1;
    background-color: white; }
    .p-customer .partnership::before {
      content: "";
      position: absolute;
      top: -100%;
      left: 0;
      background: white;
      width: 100%;
      height: 100%;
      z-index: -2; } }

.banner-home {
  height: 100vh;
  position: relative; }
  @media screen and (min-width: 1201px) {
    .banner-home {
      position: sticky;
      top: var(--header-height); } }
  @media screen and (max-width: 1200px) {
    .banner-home {
      height: 100%; } }
  .banner-home .swiper {
    height: 100%; }
    .banner-home .swiper-slide-active .banner-home-content .title-64 {
      animation: fadeInUp 1.5s ease 0.6s forwards; }
    .banner-home .swiper-slide-active .banner-home-content .text-16 {
      animation: fadeInUp 1.5s ease 1s forwards; }
    .banner-home .swiper-slide-active .banner-home-content .action {
      animation: fadeInUp 1.5s ease 1.4s forwards; }
    .banner-home .swiper-pagination {
      bottom: 10rem; }
      @media screen and (min-width: 1727.9px) {
        .banner-home .swiper-pagination {
          bottom: 55%; } }
      @media screen and (max-width: 1200px) {
        .banner-home .swiper-pagination {
          bottom: 2.4rem; } }
      .banner-home .swiper-pagination-bullet {
        background-color: #fff; }
  .banner-home-bg {
    inset: 0;
    z-index: -1;
    position: absolute;
    animation: opacityAni 0.8s ease-in-out 0.2s; }
    .banner-home-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .banner-home-position {
    z-index: 5; }
    @media screen and (min-width: 1201px) {
      .banner-home-position {
        inset: 0;
        position: absolute; } }
    @media screen and (max-width: 1200px) {
      .banner-home-position {
        position: relative;
        padding: 10rem 0 40rem; } }
    @media screen and (max-width: 767px) {
      .banner-home-position {
        padding: 10rem 0; } }
    .banner-home-position .container {
      max-width: 169.6rem; }
  @media screen and (min-width: 1201px) {
    .banner-home-block {
      padding-top: 12rem; } }
  .banner-home-content .title-64 {
    opacity: 0; }
    .banner-home-content .title-64 span:first-child {
      color: #59a15f; }
    .banner-home-content .title-64 span:nth-child(2) {
      color: #a9d433; }
    .banner-home-content .title-64 span:last-child {
      color: #2b6732; }
  .banner-home-content .text-16 {
    opacity: 0; }
  .banner-home-content .action {
    opacity: 0;
    gap: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
    .banner-home-content .action .btn {
      color: white;
      background-color: #082823; }
      .banner-home-content .action .btn-pri {
        color: #082823;
        padding: 1.35rem 2.4rem;
        background-color: transparent;
        border: 0.1rem solid #082823; }
  .banner-home-customer {
    width: 100%;
    padding: 3.2rem;
    max-width: 43rem;
    width: fit-content;
    border-radius: 1.6rem;
    border: 0.1rem solid white;
    background: rgba(255, 255, 255, 0.5);
    box-shadow: 0 1.2rem 1.6rem -0.4rem rgba(16, 24, 40, 0.08), 0 0.4rem 0.6rem -0.2rem rgba(16, 24, 40, 0.03); }
    @media screen and (max-width: 1200px) {
      .banner-home-customer {
        bottom: 5rem;
        row-gap: 1.6rem;
        padding: 2.4rem; } }
    @media screen and (min-width: 768px) {
      .banner-home-customer {
        left: 1.6rem;
        bottom: 20rem;
        position: absolute; } }
  @media screen and (min-width: 768px) and (max-width: 1440px) {
    .banner-home-customer {
      bottom: 12rem; } }
    @media screen and (max-width: 767px) {
      .banner-home-customer {
        margin: 0 auto; } }
    .banner-home-customer .icon {
      display: block;
      user-select: none;
      max-width: 25.4rem; }
      @media screen and (max-width: 767px) {
        .banner-home-customer .icon {
          max-width: 18.4rem; } }
      .banner-home-customer .icon img {
        width: 100%;
        object-fit: cover; }
    .banner-home-customer .text-18 .count-number {
      font-weight: 600;
      color: #59a15f;
      min-width: 7.4rem;
      display: inline-block;
      letter-spacing: -0.072rem;
      font-family: var(--font-title); }
      @media screen and (max-width: 576px) {
        .banner-home-customer .text-18 .count-number {
          min-width: 6.2rem; } }

.commit {
  z-index: 5;
  position: relative;
  padding: 10rem 0rem 10rem;
  background-color: white; }
  @media screen and (max-width: 992px) {
    .commit {
      padding: 8rem 0rem; } }
  @media screen and (max-width: 576px) {
    .commit {
      padding: 6rem 0rem; } }
  @media screen and (min-width: 1201px) {
    .commit {
      border-radius: 16rem 16rem 0 0; } }
  .commit .title-desc {
    gap: 0.2rem;
    margin-top: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
    .commit .title-desc img {
      flex-shrink: 0;
      object-fit: contain;
      width: 3.2rem;
      height: 3.2rem; }
    .commit .title-desc p {
      color: #2b6732;
      font-weight: 600;
      line-height: 130%;
      letter-spacing: -0.064rem;
      text-transform: uppercase; }
  .commit .title-48 {
    line-height: normal;
    letter-spacing: -0.192rem; }
    .commit .title-48 span:first-of-type {
      color: #59a15f; }
    .commit .title-48 span:nth-of-type(2) {
      color: #a9d433; }
    .commit .title-48 span:last-of-type {
      color: #59a15f; }
    .commit .title-48 .img {
      margin: 0 1rem;
      overflow: hidden;
      max-width: 20rem;
      border-radius: 10rem;
      display: inline-block;
      vertical-align: middle; }
      @media screen and (max-width: 767px) {
        .commit .title-48 .img {
          max-width: 15rem; } }
      .commit .title-48 .img img {
        width: 100%;
        object-fit: cover; }
    @media screen and (max-width: 575.98px) {
      .commit .title-48 br {
        display: none; } }
  .commit .video-bg {
    display: block;
    overflow: hidden;
    position: relative;
    border-radius: 4rem;
    padding-top: calc(520 / 800 * 100%); }
    .commit .video-bg img {
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      transform: translate(-50%, -50%); }
  .commit .video-play {
    z-index: 3;
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    transition: 0.4s ease-in-out;
    width: 6rem;
    height: 6rem; }
    @media screen and (max-width: 767px) {
      .commit .video-play {
        width: 4rem;
        height: 4rem; } }
    .commit .video-play::before, .commit .video-play::after {
      content: "";
      z-index: -1;
      width: 100%;
      height: 100%;
      top: 50%;
      left: 50%;
      position: absolute;
      transform: translate(-50%, -50%);
      border-radius: 50%;
      transition: 0.4s ease-in-out;
      pointer-events: none;
      border: 0.1rem solid white; }
    .commit .video-play::before {
      animation: pulseAni 2s linear infinite; }
    .commit .video-play::after {
      animation: pulseAni 2s 1s linear infinite; }
    .commit .video-play img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: 0.4s ease-in-out; }
      @media screen and (min-width: 1201px) {
        .commit .video-play img:hover {
          transform: translate(-50%, -50%) scale(1.1); } }

@keyframes pulseAni {
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.7); } }
  @media screen and (max-width: 991px) {
    .commit-col {
      width: 100%; } }
  @media screen and (max-width: 1024px) {
    .commit-content {
      row-gap: 2.4rem; } }
  .commit-content .number {
    gap: 2rem;
    padding: 4.8rem 4rem;
    display: flex;
    align-items: center;
    background-color: #59a15f;
    border-radius: 2.4rem 2.4rem 10rem 2.4rem; }
    @media screen and (max-width: 1200px) {
      .commit-content .number {
        padding: 3.2rem 2.4rem; } }
    .commit-content .number-text {
      height: 100%; }
      .commit-content .number-text span {
        display: block; }
        .commit-content .number-text span:first-child {
          color: #e3eba0;
          font-size: 3.2rem; }
      .commit-content .number-text .text-20 {
        color: white;
        line-height: 120%;
        letter-spacing: -0.08rem;
        text-transform: capitalize; }
    .commit-content .number-count {
      color: white;
      font-size: 12rem;
      font-weight: 700;
      line-height: normal;
      letter-spacing: -0.48rem;
      font-family: var(--font-title); }
      @media screen and (max-width: 1200px) {
        .commit-content .number-count {
          font-size: 8rem; } }
  .commit-content .btn {
    background: #082823;
    color: #fff; }
  .commit-content .desc .text-16 {
    line-height: 160%;
    letter-spacing: -0.064rem; }
  .commit-list {
    --letter-spacing: 8rem;
    display: flex;
    flex-wrap: wrap;
    row-gap: calc(2 * var(--letter-spacing));
    margin: 0 calc(-1 * var(--letter-spacing)); }
    @media screen and (max-width: 1200px) {
      .commit-list {
        --letter-spacing: 2rem; } }
    @media screen and (max-width: 767px) {
      .commit-list {
        --letter-spacing: 1.2rem; } }
  .commit-item {
    width: calc(100% / 3);
    padding: 0 var(--letter-spacing); }
    @media screen and (max-width: 767px) {
      .commit-item {
        width: calc(100% / 2); } }
  @media screen and (max-width: 991px) {
    .commit-box {
      row-gap: 1.2rem; } }
  .commit-heading {
    display: flex;
    align-items: flex-start;
    justify-content: center; }
    .commit-heading .count-number {
      color: #2b6732;
      font-weight: 700;
      font-size: 7.6rem;
      text-align: center;
      font-family: var(--font-title);
      line-height: normal;
      letter-spacing: -3.04px; }
      @media screen and (max-width: 1200px) {
        .commit-heading .count-number {
          font-size: 4.8rem; } }
      @media screen and (max-width: 767px) {
        .commit-heading .count-number {
          font-size: 3.2rem; } }
    .commit-heading span {
      color: #a9d433;
      font-weight: 700;
      font-size: 4rem; }
  .commit-info {
    text-align: center; }
    .commit-info .text-20 {
      line-height: 130%;
      /* 26px */
      letter-spacing: -0.08rem;
      text-transform: capitalize; }

.p-home .customer {
  margin-top: 0;
  border-radius: 0;
  box-shadow: unset;
  padding: 6rem 0 0 0; }

@media screen and (min-width: 1201px) {
  .p-home .completed {
    padding: 12rem 0rem 24rem; } }

.solution {
  z-index: 4;
  position: relative;
  overflow: hidden;
  color: #fff;
  background: #082823; }
  .solution::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: var(--img);
    opacity: 0.2;
    pointer-events: none;
    z-index: -1; }
  @media screen and (min-width: 1201px) {
    .solution {
      margin-top: -15rem;
      border-radius: 16rem 16rem 0 0; } }
  .solution .title-64 span {
    color: #a9d433; }
  .solution .title-desc {
    color: #fff; }
    .solution .title-desc:has(img) {
      width: fit-content;
      margin-right: auto;
      margin-left: auto;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.2rem;
      margin-top: 0;
      color: #fff;
      font-weight: 600; }
      .solution .title-desc:has(img) img {
        flex-shrink: 0;
        width: 3.2rem;
        height: auto; }
  .solution__top {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    row-gap: 2rem; }
  .solution__inner {
    margin-top: 6rem;
    margin-right: calc((100vw - 121.6rem) / 2);
    display: flex;
    align-items: center;
    --circle: 35rem; }
    @media screen and (max-width: 1536.98px) {
      .solution__inner {
        --circle: 30rem;
        transform: scale(0.9); } }
    @media screen and (max-width: 1280.98px) {
      .solution__inner {
        margin-right: 0;
        padding-right: 5.4rem; } }
    @media screen and (max-width: 1199.98px) {
      .solution__inner {
        --circle: 20rem; } }
    @media screen and (max-width: 991.98px) {
      .solution__inner {
        padding-left: 1.6rem;
        transform: scale(1);
        padding-right: 1.6rem; } }
  .solution__wrap {
    width: calc(100% - var(--circle));
    display: flex;
    flex-wrap: wrap;
    --col-gap: 7.6rem;
    gap: 4rem var(--col-gap);
    align-items: center;
    margin-left: -0.6rem;
    height: 100%;
    min-height: 40rem; }
    @media screen and (max-width: 1536.98px) {
      .solution__wrap {
        --col-gap: 2.4rem; } }
    @media screen and (max-width: 991.98px) {
      .solution__wrap {
        width: 100%;
        margin-left: 0; } }
  .solution__circle {
    flex-shrink: 0;
    width: calc(var(--circle) * 2);
    height: calc(var(--circle) * 2);
    position: relative;
    border-radius: 50%;
    margin-left: calc(var(--circle) * (-1));
    padding: 9rem; }
    .solution__circle-inner {
      border-radius: 50%;
      width: 100%;
      height: 100%;
      background: linear-gradient(250deg, rgba(169, 212, 51, 0.8) 0%, rgba(169, 212, 51, 0.3) 51%, rgba(169, 212, 51, 0) 100%); }
    .solution__circle::before, .solution__circle::after {
      position: absolute;
      content: "";
      border-radius: 50%; }
    .solution__circle::before {
      width: 100%;
      height: 100%;
      top: 0;
      right: 0;
      border: 1px solid rgba(255, 255, 255, 0.2); }
    .solution__circle::after {
      width: calc(100% - 4.2rem * 2);
      height: calc(100% - 4.2rem * 2);
      border: 7px solid #a9d433;
      top: 4.2rem;
      right: 4.2rem; }
    @media screen and (max-width: 991.98px) {
      .solution__circle {
        display: none; } }
  .solution__slider {
    position: relative;
    width: calc(65% - var(--col-gap)); }
    @media screen and (max-width: 1536.98px) {
      .solution__slider {
        width: calc(60% - var(--col-gap)); } }
    @media screen and (max-width: 991.98px) {
      .solution__slider {
        width: 100%;
        padding-bottom: 6rem; } }
    .solution__slider .swiper-navigation {
      position: absolute;
      right: -8.8rem;
      top: 50%;
      transform: translateY(-50%);
      display: flex;
      flex-direction: column;
      row-gap: 1.2rem; }
      .solution__slider .swiper-navigation .prev,
      .solution__slider .swiper-navigation .next {
        z-index: 1;
        background: transparent;
        border: 1.6px solid rgba(255, 255, 255, 0.2);
        width: 6.4rem;
        height: 6.4rem;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: 0.4s ease-in-out;
        cursor: pointer; }
        .solution__slider .swiper-navigation .prev img,
        .solution__slider .swiper-navigation .next img {
          width: 3.2rem;
          height: 3.2rem;
          filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(47deg) brightness(103%) contrast(101%); }
        @media screen and (min-width: 1201px) {
          .solution__slider .swiper-navigation .prev:hover,
          .solution__slider .swiper-navigation .next:hover {
            background: #59a15f; }
            .solution__slider .swiper-navigation .prev:hover img,
            .solution__slider .swiper-navigation .next:hover img {
              filter: brightness(0) invert(1); } }
        @media screen and (max-width: 1536.98px) {
          .solution__slider .swiper-navigation .prev,
          .solution__slider .swiper-navigation .next {
            width: 4rem;
            height: 4rem; }
            .solution__slider .swiper-navigation .prev img,
            .solution__slider .swiper-navigation .next img {
              width: 2rem;
              height: 2rem; } }
        @media screen and (max-width: 991.98px) {
          .solution__slider .swiper-navigation .prev,
          .solution__slider .swiper-navigation .next {
            display: none; } }
      .solution__slider .swiper-navigation .prev img {
        transform: rotate(-90deg); }
      .solution__slider .swiper-navigation .next img {
        transform: rotate(90deg); }
      @media screen and (max-width: 1536.98px) {
        .solution__slider .swiper-navigation {
          right: -5.2rem; } }
    @media screen and (min-width: 992px) {
      .solution__slider .swiper-pagination {
        display: none; } }
    .solution__slider .swiper-pagination-bullet {
      background: #fff; }
  .solution__thumb {
    width: 35%; }
    .solution__thumb .swiper-wrapper {
      max-height: 51.4rem; }
      @media screen and (max-width: 1536.98px) {
        .solution__thumb .swiper-wrapper {
          max-height: 48.4rem; } }
    .solution__thumb .swiper-slide {
      padding: 4rem 0;
      opacity: 0.2;
      transition: 0.4s ease-in-out;
      position: relative; }
      .solution__thumb .swiper-slide .title-32 {
        text-transform: capitalize; }
      .solution__thumb .swiper-slide::before {
        content: "";
        position: absolute;
        width: 0.8rem;
        height: 0.8rem;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        background: #fff;
        border-radius: 50%;
        overflow: hidden;
        transition: 0.4s ease-in-out;
        opacity: 0; }
      .solution__thumb .swiper-slide-active {
        opacity: 1;
        padding-left: 6.8rem; }
        .solution__thumb .swiper-slide-active::before {
          transition-delay: 0.5s;
          opacity: 1; }
        @media screen and (max-width: 1536.98px) {
          .solution__thumb .swiper-slide-active {
            padding-left: 3.2rem; } }
      .solution__thumb .swiper-slide-prev, .solution__thumb .swiper-slide-next {
        padding-left: 4.8rem; }
        @media screen and (max-width: 1536.98px) {
          .solution__thumb .swiper-slide-prev, .solution__thumb .swiper-slide-next {
            padding-left: 2.4rem; } }
      @media screen and (max-width: 1536.98px) {
        .solution__thumb .swiper-slide {
          padding-top: 2rem;
          padding-bottom: 2rem; } }
    @media screen and (max-width: 1536.98px) {
      .solution__thumb {
        width: 40%; } }
    @media screen and (max-width: 991.98px) {
      .solution__thumb {
        display: none; } }
  .solution__item {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem; }
    .solution__item .service__card-inner {
      width: 100%;
      max-width: 100%;
      padding: 4rem;
      border-radius: 2.4rem;
      overflow: hidden;
      background: rgba(255, 255, 255, 0.01);
      border: 1px solid rgba(255, 255, 255, 0.2);
      backdrop-filter: blur(10px); }
      @media screen and (max-width: 1199.98px) {
        .solution__item .service__card-inner {
          padding: 2.4rem 2rem; } }
  .solution__img {
    display: flex;
    align-items: center;
    position: relative;
    justify-content: center;
    padding-top: calc(388 / 714 * 100%);
    overflow: hidden;
    border-radius: 2.4rem; }
    .solution__img img {
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      transform: translate(-50%, -50%); }

.life {
  overflow: hidden;
  isolation: isolate;
  background-color: white; }
  @media screen and (min-width: 1201px) {
    .life {
      position: sticky;
      top: calc(var(--header-height) - calc(576 / 1728 * 100vw)); } }
  @media screen and (max-width: 1200px) {
    .life {
      position: relative; } }
  .life .decor {
    top: 0;
    z-index: -1;
    height: 72rem;
    width: 46.4rem;
    user-select: none;
    position: absolute; }
    @media screen and (max-width: 1200px) {
      .life .decor {
        height: 41rem;
        width: 26.4rem; } }
    .life .decor img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .life .decor1 {
      left: 12rem; }
      @media screen and (max-width: 1366px) {
        .life .decor1 {
          left: 2rem; } }
    .life .decor2 {
      right: 12rem; }
      @media screen and (max-width: 1366px) {
        .life .decor2 {
          right: 2rem; } }
  .life .container {
    max-width: 162rem; }
  .life .title-desc {
    gap: 0.2rem;
    margin-top: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
    .life .title-desc p {
      color: #2b6732;
      font-weight: 600;
      line-height: 130%;
      letter-spacing: -0.064rem;
      text-transform: uppercase; }
  .life-wrap {
    row-gap: 15rem;
    position: relative; }
    @media screen and (max-width: 1200px) {
      .life-wrap {
        row-gap: 4rem; } }
    @media screen and (min-width: 1201px) {
      .life-wrap .circle {
        top: 50%;
        left: 50%;
        z-index: -1;
        position: absolute;
        width: 80rem;
        height: 80rem;
        border-radius: 80rem;
        transform: translateX(-50%);
        background: linear-gradient(128deg, rgba(169, 212, 51, 0.32) 16.13%, rgba(169, 212, 51, 0.12) 45.28%, rgba(169, 212, 51, 0) 73.56%); }
        .life-wrap .circle::before {
          top: -3%;
          right: 30%;
          width: 3rem;
          height: 3rem;
          background-color: #2b6732; }
        .life-wrap .circle::after {
          top: 1%;
          right: 27%;
          width: 2rem;
          height: 2rem;
          background-color: #a9d433; }
        .life-wrap .circle::before, .life-wrap .circle:after {
          content: "";
          border-radius: 50%;
          position: absolute; } }
  .life-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1.2rem; }
    @media screen and (max-width: 1200px) {
      .life-list {
        row-gap: 1.6rem;
        margin: 0 -0.8rem; } }
  .life-item {
    padding: 0 1.2rem;
    width: calc(100% / 4); }
    @media screen and (max-width: 1200px) {
      .life-item {
        padding: 0 0.8rem; } }
    @media screen and (max-width: 1024px) {
      .life-item {
        width: calc(100% / 2); } }
    .life-item:first-child .life-box {
      background-color: #082823; }
    .life-item:nth-child(2) .life-box {
      background-color: #59a15f; }
    .life-item:nth-child(3) .life-box {
      background-color: #2b6732; }
    .life-item:last-child .life-box {
      background-color: #a9d433; }
    .life-item:last-child .life-content > * {
      color: #082823; }
  .life-box {
    gap: 1.6rem;
    height: 100%;
    padding: 2.4rem;
    transition: 0.4s ease-in-out;
    border-radius: 1.6rem;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 1200px) {
      .life-box {
        gap: 0.8rem;
        padding: 1.6rem; } }
    @media screen and (max-width: 575.98px) {
      .life-box {
        flex-direction: column;
        text-align: center; } }
  .life-img {
    flex-shrink: 0;
    width: 4.8rem;
    height: 4.8rem; }
    @media screen and (max-width: 1200px) {
      .life-img {
        width: 4rem;
        height: 4rem; } }
    .life-img img {
      width: 100%;
      height: 100%;
      object-fit: contain; }
  .life-content > * {
    color: white;
    line-height: 130%; }
  @media screen and (max-width: 1200px) {
    .life-content .text-16 {
      font-size: 1.4rem; } }
  .life-bg {
    margin-top: 4rem;
    user-select: none; }
    .life-bg .img {
      position: relative;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      background-attachment: fixed;
      padding-top: calc(744 / 1728 * 100%); }
      .life-bg .img::before {
        content: "";
        top: 0;
        left: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        position: absolute;
        background: rgba(8, 40, 35, 0.4); }
      .life-bg .img img {
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        transform: translate(-50%, -50%); }

@media screen and (min-width: 1201px) {
  .p-home .header {
    background-color: transparent; } }

@media screen and (max-width: 1200px) {
  .p-home .main {
    padding-top: 9.6rem; } }

@media screen and (max-width: 767px) {
  .p-home .main {
    padding-top: 8rem; } }

@media screen and (min-width: 1201px) {
  .p-home .banner-home {
    top: 0; } }

@media screen and (min-width: 1201px) {
  .p-home .relative {
    z-index: 1;
    overflow: visible; }
    .p-home .relative::before {
      content: "";
      position: absolute;
      top: -100%;
      left: 0;
      background: white;
      width: 100%;
      height: 100%;
      z-index: -2; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5jc3MiLCJzb3VyY2VzIjpbImhvbWUuc2NzcyIsIl9jb3JlL19mb250LnNjc3MiLCJfY29yZS9fbWl4aW4uc2NzcyIsIl9jb3JlL192YXJpYWJsZS5zY3NzIiwiX2NvcmUvX3Jlc2V0LnNjc3MiLCJfY29yZS9fYmFzZS5zY3NzIiwiX2NvcmUvX2ZsZXguc2NzcyIsIl9tb2R1bGVzL19hbGwuc2NzcyIsIl9tb2R1bGVzL190aXRsZS5zY3NzIiwiX21vZHVsZXMvX2FuaW1hdGlvbi5zY3NzIiwiX21vZHVsZXMvX3Njcm9sbC10b3Auc2NzcyIsIl9tb2R1bGVzL19icmVhZGNydW1iLnNjc3MiLCJfY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJfY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJfbGF5b3V0cy9fYnRuLnNjc3MiLCJfbGF5b3V0cy9fZm9ybS5zY3NzIiwiX2xheW91dHMvX2Jhbm5lci5zY3NzIiwiX2xheW91dHMvX2FydGljbGUuc2NzcyIsIl9sYXlvdXRzL19jdXN0b21lci5zY3NzIiwiX2xheW91dHMvX3JlbGF0aXZlLnNjc3MiLCJfbGF5b3V0cy9fY29tcGxldGVkLnNjc3MiLCJfcGFnZXMvX3NlcnZpY2Uuc2NzcyIsIl9wYWdlcy9fY3VzdG9tZXIuc2NzcyIsIl9wYWdlcy9faG9tZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmVcclxuQGltcG9ydCBcIl9jb3JlL2ZvbnRcIjtcclxuQGltcG9ydCBcIl9jb3JlL21peGluXCI7XHJcbkBpbXBvcnQgXCJfY29yZS92YXJpYWJsZVwiO1xyXG5cclxuLy8gTGF5b3V0XHJcblxyXG4vLyBDb3JlXHJcbkBpbXBvcnQgXCJfY29yZS9yZXNldFwiO1xyXG5AaW1wb3J0IFwiX2NvcmUvbWl4aW5cIjtcclxuQGltcG9ydCBcIl9jb3JlL3ZhcmlhYmxlXCI7XHJcbkBpbXBvcnQgXCJfY29yZS9mb250XCI7XHJcbkBpbXBvcnQgXCJfY29yZS9iYXNlXCI7XHJcbkBpbXBvcnQgXCJfY29yZS9mbGV4XCI7XHJcblxyXG4vLyBNb2R1bGVzXHJcbkBpbXBvcnQgXCJfbW9kdWxlcy9hbGxcIjtcclxuQGltcG9ydCBcIl9tb2R1bGVzL3RpdGxlXCI7XHJcbkBpbXBvcnQgXCJfbW9kdWxlcy9hbmltYXRpb25cIjtcclxuQGltcG9ydCBcIl9tb2R1bGVzL3Njcm9sbC10b3BcIjtcclxuQGltcG9ydCBcIl9tb2R1bGVzL2JyZWFkY3J1bWJcIjtcclxuXHJcbi8vIENvbXBvbmVudFxyXG5AaW1wb3J0IFwiX2NvbXBvbmVudHMvaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJfY29tcG9uZW50cy9mb290ZXJcIjtcclxuXHJcbi8vIExheW91dFxyXG5AaW1wb3J0IFwiX2xheW91dHMvYnRuXCI7XHJcbkBpbXBvcnQgXCJfbGF5b3V0cy9mb3JtXCI7XHJcbkBpbXBvcnQgXCJfbGF5b3V0cy9iYW5uZXJcIjtcclxuQGltcG9ydCBcIl9sYXlvdXRzL2FydGljbGVcIjtcclxuQGltcG9ydCBcIl9sYXlvdXRzL2N1c3RvbWVyXCI7XHJcbkBpbXBvcnQgXCJfbGF5b3V0cy9yZWxhdGl2ZVwiO1xyXG5AaW1wb3J0IFwiX2xheW91dHMvY29tcGxldGVkXCI7XHJcblxyXG4vLyBQYWdlXHJcbkBpbXBvcnQgXCJfcGFnZXMvc2VydmljZVwiO1xyXG5AaW1wb3J0IFwiX3BhZ2VzL2N1c3RvbWVyXCI7XHJcbkBpbXBvcnQgXCJfcGFnZXMvaG9tZVwiO1xyXG4iLCJAbWl4aW4gZnotMjAwIHtcbiAgZm9udC1zaXplOiAyMHJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMTVyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxMHJlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotOTAge1xuICBmb250LXNpemU6IDlyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDZyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiA0LjVyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTcyIHtcbiAgZm9udC1zaXplOiA3LjJyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDVyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei02NSB7XG4gIGZvbnQtc2l6ZTogNi41cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotNjQge1xuICBmb250LXNpemU6IDYuNHJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMy45cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi45cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei02MCB7XG4gIGZvbnQtc2l6ZTogNnJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei01NiB7XG4gIGZvbnQtc2l6ZTogNS42cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiA1LjFyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei01NSB7XG4gIGZvbnQtc2l6ZTogNS41cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMy45cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei01MCB7XG4gIGZvbnQtc2l6ZTogNXJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei00OCB7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiA0LjNyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzLjNyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTQ1IHtcbiAgZm9udC1zaXplOiA0LjVyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei00MiB7XG4gIGZvbnQtc2l6ZTogNC4ycmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjdyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTQwIHtcbiAgZm9udC1zaXplOiA0cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjdyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTM4IHtcbiAgZm9udC1zaXplOiAzLjhyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDMuNHJlbTtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotMzYge1xuICBmb250LXNpemU6IDMuNnJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMy4xcmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0zNSB7XG4gIGZvbnQtc2l6ZTogMy41cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0zNCB7XG4gIGZvbnQtc2l6ZTogMy40cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjlyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTMyIHtcbiAgZm9udC1zaXplOiAzLjJyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDIuN3JlbTtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotMzAge1xuICBmb250LXNpemU6IDNyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDIuN3JlbTtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotMjkge1xuICBmb250LXNpemU6IDIuOXJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi4zcmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0yOCB7XG4gIGZvbnQtc2l6ZTogMi44cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjFyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTI2IHtcbiAgZm9udC1zaXplOiAyLjZyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotMjUge1xuICBmb250LXNpemU6IDIuNXJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0yNCB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0yMiB7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0yMCB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0xOSB7XG4gIGZvbnQtc2l6ZTogMS45cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTE4IHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotMTYge1xuICBmb250LXNpemU6IDEuNnJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTE1IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG5cbkBtaXhpbiBmei0xNCB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG5AbWl4aW4gZnotMTMge1xuICBmb250LXNpemU6IDEuM3JlbTtcbn1cblxuQG1peGluIGZ6LTEyIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbkBtaXhpbiBmei0xMSB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuXG5AbWl4aW4gZnotMTAge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbkBtaXhpbiBmei05IHtcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdE1lZGlhXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBtaXhpbiBtYXgoJHBvaW50KSB7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtaW4oJHBvaW50KSB7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHBvaW50KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0RmxleCBCb3hcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQG1peGluIGZsZXgge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jZW50ZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWljZW50ZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIGZsZXgtamNlbnRlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIGZsZXgtamJldHdlZW4ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG5AbWl4aW4gYmdJbWFnZSgkcG9zaXRpb246IGNlbnRlciwgJHNpemU6IGNvdmVyLCAkcmVwZWF0OiBuby1yZXBlYXQpIHtcclxuICBiYWNrZ3JvdW5kLXNpemU6ICRzaXplO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiAkcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRwb3NpdGlvbjtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJHM6IDAuNHMpIHtcclxuICB0cmFuc2l0aW9uOiAkcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuQG1peGluIGJveCgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG59XHJcblxyXG5AbWl4aW4gaW1nQ292ZXIge1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG5AbWl4aW4gaW1nQ29udGFpbiB7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxufVxyXG5cclxuQG1peGluIGxpbmVDbGFtcCgkbGluZTogMiwgJGRpc3BsYXk6IHRydWUpIHtcclxuICBAaWYgJGRpc3BsYXkge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIGxpbmUtY2xhbXA6ICRsaW5lO1xyXG4gIC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmU7XHJcbn1cclxuXHJcbkBtaXhpbiBzaGFkb3cge1xyXG4gIGJveC1zaGFkb3c6IDFyZW0gMXJlbSA0cmVtIDAgcmdiYSg0MCwgMTA1LCAyNDAsIDAuMTYpO1xyXG59XHJcblxyXG5AbWl4aW4gcG9zQ2VudGVyIHtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG5AbWl4aW4gbWFyZ2luKCRtYXJnaW4xLCAkbWFyZ2luMjogJG1hcmdpbjEpIHtcclxuICBtYXJnaW46ICRtYXJnaW4xIDByZW0gJG1hcmdpbjI7XHJcblxyXG4gIEBpbmNsdWRlIG1heCg5OTJweCkge1xyXG4gICAgbWFyZ2luOiA2cmVtIDByZW07XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcclxuICAgIG1hcmdpbjogNHJlbSAwcmVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBhZGRpbmcoJHBhZGRpbmcxLCAkcGFkZGluZzI6ICRwYWRkaW5nMSkge1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nMSAwcmVtICRwYWRkaW5nMjtcclxuXHJcbiAgQGluY2x1ZGUgbWF4KDk5MnB4KSB7XHJcbiAgICBwYWRkaW5nOiA4cmVtIDByZW07XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcclxuICAgIHBhZGRpbmc6IDZyZW0gMHJlbTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsZXR0ZXJTcGFjaW5nKCRmejogMTZweCwgJHBlcmNlbnQ6IDQpIHtcclxuICBsZXR0ZXItc3BhY2luZzogY2FsYygjeyRmen0gKiAoI3skcGVyY2VudH0gLyAxMDApKTtcclxufVxyXG4iLCI6cm9vdCB7XHJcbiAgLS1mb250LXByaTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xyXG4gIC0tZm9udC1zZWM6IFwiQmUgVmlldG5hbSBQcm9cIiwgc2Fucy1zZXJpZjtcclxuICAtLWZvbnQtdGhpcmQ6IFwiU3BvcWEgSGFuIFNhbnMgTmVvXCIsIHNhbnMtc2VyaWY7XHJcbiAgLS1mb250LXRpdGxlOiBcIlVuYm91bmRlZFwiLCBzYW5zLXNlcmlmO1xyXG5cclxuICAtLWhlYWRlci1pbmRleDogOTk7XHJcbiAgLS1oZWFkZXItaGVpZ2h0OiA5LjZyZW07XHJcblxyXG4gIEBpbmNsdWRlIG1heCg3NjdweCkge1xyXG4gICAgLS1oZWFkZXItaGVpZ2h0OiA4cmVtO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XHJcbiAgICAtLWhlYWRlci1oZWlnaHQ6IDdyZW07XHJcbiAgfVxyXG59XHJcblxyXG4kY29sb3ItcHJpOiAjNTlhMTVmO1xyXG4kY29sb3Itc2VjOiAjYTlkNDMzO1xyXG4kY29sb3ItdGV4dDogIzA4MjgyMztcclxuJGNvbG9yLWJnOiAjZjBmMGYwO1xyXG5cclxuJGNvbG9yLWJsYWNrOiBibGFjaztcclxuJGNvbG9yLXdoaXRlOiB3aGl0ZTtcclxuIiwiaHRtbCxcclxuYm9keSxcclxuZGl2LFxyXG5zcGFuLFxyXG5hcHBsZXQsXHJcbm9iamVjdCxcclxuaWZyYW1lLFxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2LFxyXG5wLFxyXG5ibG9ja3F1b3RlLFxyXG5wcmUsXHJcbmEsXHJcbmFiYnIsXHJcbmFjcm9ueW0sXHJcbmFkZHJlc3MsXHJcbmJpZyxcclxuY2l0ZSxcclxuY29kZSxcclxuZGVsLFxyXG5kZm4sXHJcbmVtLFxyXG5pbWcsXHJcbmlucyxcclxua2JkLFxyXG5xLFxyXG5zLFxyXG5zYW1wLFxyXG5zbWFsbCxcclxuc3RyaWtlLFxyXG5zdHJvbmcsXHJcbnN1Yixcclxuc3VwLFxyXG50dCxcclxudmFyLFxyXG5iLFxyXG51LFxyXG5pLFxyXG5jZW50ZXIsXHJcbmRsLFxyXG5kdCxcclxuZGQsXHJcbm9sLFxyXG51bCxcclxubGksXHJcbmZpZWxkc2V0LFxyXG5mb3JtLFxyXG5sYWJlbCxcclxubGVnZW5kLFxyXG50YWJsZSxcclxuY2FwdGlvbixcclxudGJvZHksXHJcbnRmb290LFxyXG50aGVhZCxcclxudHIsXHJcbnRoLFxyXG50ZCxcclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmNhbnZhcyxcclxuZGV0YWlscyxcclxuZW1iZWQsXHJcbmZpZ3VyZSxcclxuZmlnY2FwdGlvbixcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbmhncm91cCxcclxubWVudSxcclxubmF2LFxyXG5vdXRwdXQsXHJcbnJ1YnksXHJcbnNlY3Rpb24sXHJcbnN1bW1hcnksXHJcbnRpbWUsXHJcbm1hcmssXHJcbmF1ZGlvLFxyXG52aWRlbyB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgZm9udC1zaXplOiAxMDAlO1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmRldGFpbHMsXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbmhncm91cCxcclxubWVudSxcclxubmF2LFxyXG5zZWN0aW9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG5vbCxcclxudWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuYmxvY2txdW90ZSxcclxucSB7XHJcbiAgICBxdW90ZXM6IG5vbmU7XHJcbn1cclxuXHJcbmJsb2NrcXVvdGU6YmVmb3JlLFxyXG5ibG9ja3F1b3RlOmFmdGVyLFxyXG5xOmJlZm9yZSxcclxucTphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgY29udGVudDogbm9uZTtcclxufVxyXG5cclxudGFibGUge1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xyXG59IiwiKiB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuaHRtbCB7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG5cclxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIHdpZHRoOiAwLjRyZW07XHJcbiAgICBoZWlnaHQ6IDAuNHJlbTtcclxuICB9XHJcblxyXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoIzMzMywgMC44KTtcclxuICB9XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIGxpbmUtaGVpZ2h0OiAxMzAlO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gIG92ZXJmbG93OiBoaWRkZW4gYXV0bztcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1wcmkpO1xyXG4gIEBpbmNsdWRlIGxldHRlclNwYWNpbmcoMTZweCwgLTQpO1xyXG5cclxuICAmLmlzLWxhbmd1YWdle1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGhpcmQpO1xyXG4gIH1cclxuXHJcbiAgJi5hZG1pbi1iYXIge1xyXG4gICAgLmhlYWRlciB7XHJcbiAgICAgIHRvcDogMy4ycmVtO1xyXG5cclxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzgycHgpIHtcclxuICAgICAgICB0b3A6IDQuNnJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1vbmEtZW1wdHkge1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gIH1cclxuXHJcbiAgLmdyZWNhcHRjaGEtYmFkZ2Uge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuYSB7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5idXR0b24sXHJcbnNlbGVjdCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuYnV0dG9uIHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuaW5wdXQsXHJcbnRleHRhcmVhIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gIGFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbi5jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBwYWRkaW5nOiAwIDEuNnJlbTtcclxuICBtYXgtd2lkdGg6IDEyNC44cmVtO1xyXG59XHJcblxyXG4ubm8tc2Nyb2xsLFxyXG4ubm8tc2Nyb2xsLXBvcHVwIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcclxuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBub25lO1xyXG59XHJcblxyXG5pZnJhbWUge1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLnRhYkJ0biB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4udGFiUGFuZWwge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICYub3BlbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5nSXRlbSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uaGlkZS1zaXRlbmFtZSB7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuLnNlY3Rpb24ge1xyXG4gIC8vIFThu7EgxJHhu5luZyBjxINuIGNo4buJbmggc2F1IGtoaSBjdeG7mW5cclxuICBzY3JvbGwtbWFyZ2luLXRvcDogMTByZW07XHJcbn1cclxuXHJcbi5vdmVybGF5LFxyXG4uYXNpZGUtb3ZlcmxheSB7XHJcbiAgaW5zZXQ6IDA7XHJcbiAgb3BhY2l0eTogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxMDA7XHJcbiAgaGVpZ2h0OiAxMDBkdmg7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICB9XHJcbn1cclxuIiwiLnJvdyB7XHJcbiAgLS1yZzogMy4ycmVtO1xyXG4gIC0tY2c6IDMuMnJlbTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IDAgY2FsYyh2YXIoLS1jZykgLyAyICogLTEpIGNhbGModmFyKC0tcmcpICogLTEpO1xyXG59XHJcblxyXG4uY29sIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1yZyk7XHJcbiAgcGFkZGluZzogMCBjYWxjKHZhcigtLWNnKSAvIDIpO1xyXG5cclxuICAmLTExIHtcclxuICAgIHdpZHRoOiBjYWxjKDExIC8gMTIgKiAxMDAlKTtcclxuICB9XHJcblxyXG4gICYtMTAge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAgLyAxMiAqIDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgJi05IHtcclxuICAgIHdpZHRoOiBjYWxjKDkgLyAxMiAqIDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgJi04IHtcclxuICAgIHdpZHRoOiBjYWxjKDggLyAxMiAqIDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgJi03IHtcclxuICAgIHdpZHRoOiBjYWxjKDcgLyAxMiAqIDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgJi02IHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgfVxyXG5cclxuICAmLTUge1xyXG4gICAgd2lkdGg6IGNhbGMoNSAvIDEyICogMTAwJSk7XHJcbiAgfVxyXG5cclxuICAmLTQge1xyXG4gICAgd2lkdGg6IGNhbGMoNCAvIDEyICogMTAwJSk7XHJcbiAgfVxyXG5cclxuICAmLTMge1xyXG4gICAgd2lkdGg6IGNhbGMoMyAvIDEyICogMTAwJSk7XHJcbiAgfVxyXG5cclxuICAmLTIge1xyXG4gICAgd2lkdGg6IGNhbGMoMiAvIDEyICogMTAwJSk7XHJcbiAgfVxyXG5cclxuICAmLTEge1xyXG4gICAgd2lkdGg6IGNhbGMoMSAvIDEyICogMTAwJSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLy0gRkxFWFxyXG4kZmxleC1kZWZhdWx0czogKFxyXG4gIDI6IDAuMnJlbSxcclxuICA0OiAwLjRyZW0sXHJcbiAgNjogMC42cmVtLFxyXG4gIDg6IDAuOHJlbSxcclxuICAxMDogMXJlbSxcclxuICAxMjogMS4ycmVtLFxyXG4gIDE0OiAxLjRyZW0sXHJcbiAgMTY6IDEuNnJlbSxcclxuICAxODogMS44cmVtLFxyXG4gIDIwOiAycmVtLFxyXG4gIDIyOiAyLjJyZW0sXHJcbiAgMjQ6IDIuNHJlbSxcclxuICAyNjogMi42cmVtLFxyXG4gIDI4OiAyLjhyZW0sXHJcbiAgMzA6IDNyZW0sXHJcbiAgMzI6IDMuMnJlbSxcclxuICAzNDogMy40cmVtLFxyXG4gIDM2OiAzLjZyZW0sXHJcbiAgNDA6IDRyZW0sXHJcbiAgNDg6IDQuOHJlbSxcclxuICA1MDogNXJlbSxcclxuICA1NjogNS42cmVtLFxyXG4gIDYwOiA2cmVtLFxyXG4gIDY0OiA2LjRyZW0sXHJcbiAgNjg6IDYuOHJlbSxcclxuICA4MDogOHJlbSxcclxuICAxMDA6IDEwcmVtLFxyXG4gIDEyMDogMTJyZW1cclxuKTtcclxuXHJcbi8vLSBGVU5DVElPTjogbOG7jWMgZmxleCA+PSAkbWluXHJcbkBmdW5jdGlvbiBmaWx0ZXItZmxleCgkbWFwLCAkbWluKSB7XHJcbiAgJHJlc3VsdDogKCk7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcclxuICAgIEBpZiAka2V5ID49ICRtaW4ge1xyXG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJGtleSwgY29tbWEpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLSBCUkVBS1BPSU5UU1xyXG4kdGFibGV0QnJlYWtwb2ludHM6IGZpbHRlci1mbGV4KCRmbGV4LWRlZmF1bHRzLCA0OCk7XHJcbiRtb2JpbGVCcmVha3BvaW50czogZmlsdGVyLWZsZXgoJGZsZXgtZGVmYXVsdHMsIDQ4KTtcclxuXHJcbi5mbGV4IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gIC8vIGJhc2UgY2xhc3Nlc1xyXG4gIEBlYWNoICRmbGV4TnVtYmVyLCAkZ2FwIGluICRmbGV4LWRlZmF1bHRzIHtcclxuICAgICYtI3skZmxleE51bWJlcn0ge1xyXG4gICAgICBnYXA6ICRnYXA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyB0YWJsZXQgPD0gOTkycHhcclxuICBAaW5jbHVkZSBtYXgoOTkycHgpIHtcclxuICAgIEBlYWNoICRmbGV4TnVtYmVyIGluICR0YWJsZXRCcmVha3BvaW50cyB7XHJcbiAgICAgICYtI3skZmxleE51bWJlcn0ge1xyXG4gICAgICAgIGdhcDogMy4ycmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBtb2JpbGUgPD0gNTc2cHhcclxuICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcclxuICAgIEBlYWNoICRmbGV4TnVtYmVyIGluICRtb2JpbGVCcmVha3BvaW50cyB7XHJcbiAgICAgICYtI3skZmxleE51bWJlcn0ge1xyXG4gICAgICAgIGdhcDogMi40cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmN1c3RvbS1sb2dvLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5ibG9ja2VyIHtcbiAgcGFkZGluZzogMS42cmVtO1xuICB6LWluZGV4OiAxMDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogcmdiYSg3MSwgNzEsIDcxLCAwLjYpO1xufVxuXG4ubW9kYWwge1xuICBtYXgtd2lkdGg6IHVuc2V0O1xuICBwYWRkaW5nOiAwO1xuXG4gIEBpbmNsdWRlIG1heCg5OTJweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG5cbiAgJi52aWRlby1tb2RhbCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogMTMzNSAvIDc1MTtcblxuICAgIEBpbmNsdWRlIG1heCg5OTJweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgdmlkZW8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBUSVRMRSBERUZBVUxUU1xuLnRpdGxlIHtcbiAgJi02NCB7XG4gICAgQGluY2x1ZGUgZnotNjQ7XG4gICAgQGluY2x1ZGUgbGV0dGVyU3BhY2luZyg2NHB4LCAtNCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBAaW5jbHVkZSBtYXgoNjQwLjk4cHgpIHtcbiAgICAgIGJyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLTQ4IHtcbiAgICBAaW5jbHVkZSBmei00ODtcbiAgICBAaW5jbHVkZSBsZXR0ZXJTcGFjaW5nKDQ4cHgsIC00KTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICB9XG5cbiAgJi00MCB7XG4gICAgQGluY2x1ZGUgZnotNDA7XG4gICAgQGluY2x1ZGUgbGV0dGVyU3BhY2luZyg0MHB4LCAtNCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuXG4gICYtMzYge1xuICAgIEBpbmNsdWRlIGZ6LTM2O1xuICAgIEBpbmNsdWRlIGxldHRlclNwYWNpbmcoMzZweCwgLTQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cblxuICAmLTMyIHtcbiAgICBAaW5jbHVkZSBmei0zMjtcbiAgICBAaW5jbHVkZSBsZXR0ZXJTcGFjaW5nKDMycHgsIC00KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG5cbiAgJi0yOCB7XG4gICAgQGluY2x1ZGUgZnotMjg7XG4gIH1cblxuICAmLTI0IHtcbiAgICBAaW5jbHVkZSBmei0yNDtcbiAgICBAaW5jbHVkZSBsZXR0ZXJTcGFjaW5nKDI0cHgsIC00KTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBtYXJnaW4tdG9wOiAxLjJyZW07XG4gICAgY29sb3I6ICM2NjcwODU7XG4gICAgQGluY2x1ZGUgZnotMTY7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBAaW5jbHVkZSBsZXR0ZXJTcGFjaW5nKDE2cHgsIC00KTtcblxuICAgIHN0cm9uZyxcbiAgICBiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDAwO1xuICAgIH1cbiAgICAmOmhhcyhpbWcpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZ2FwOiAwLjJyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBpbWcge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBURVhUIERFRkFVTFRTXG4udGV4dCB7XG4gICYtMjAge1xuICAgIEBpbmNsdWRlIGZ6LTIwO1xuICB9XG5cbiAgJi0xOCB7XG4gICAgQGluY2x1ZGUgZnotMTg7XG4gICAgQGluY2x1ZGUgbGV0dGVyU3BhY2luZygxOHB4LCAtNCk7XG4gIH1cblxuICAmLTE2IHtcbiAgICBAaW5jbHVkZSBmei0xNjtcbiAgfVxuXG4gICYtMTQge1xuICAgIEBpbmNsdWRlIGZ6LTE0O1xuICB9XG5cbiAgJi0xMiB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gIH1cbn1cblxuLy8tIE90aGVyXG4uZiB7XG4gICYtcHJpIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1wcmkpO1xuICB9XG5cbiAgJi10dCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGl0bGUpO1xuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kZXNjKTtcbiAgfVxufVxuXG4uZnMtaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnQge1xuICAmLWNhcCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cblxuICAmLXVwIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJi1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4uZncge1xuICAmLWIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICAmLXNiIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgJi1tIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgJi1uIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgJi10IHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG59XG5cbi50aXRsZV9faGVhZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnB5LTUwIHtcbiAgcGFkZGluZy10b3A6IDVyZW07XG4gIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICBAaW5jbHVkZSBtYXgoOTkxLjk4cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgfVxuICBAaW5jbHVkZSBtYXgoNTc1Ljk4cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgfVxufVxuXG4ucHktNjAge1xuICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDZyZW07XG4gIEBpbmNsdWRlIG1heCg5OTEuOThweCkge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICB9XG4gIEBpbmNsdWRlIG1heCg1NzUuOThweCkge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICB9XG59XG4ucHktMTAwIHtcbiAgcGFkZGluZy10b3A6IDEwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMTByZW07XG4gIEBpbmNsdWRlIG1heCg5OTEuOThweCkge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA4cmVtO1xuICB9XG4gIEBpbmNsdWRlIG1heCg1NzUuOThweCkge1xuICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICB9XG59XG4ucHktMTIwIHtcbiAgcGFkZGluZy10b3A6IDEycmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMTJyZW07XG4gIEBpbmNsdWRlIG1heCg5OTEuOThweCkge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA4cmVtO1xuICB9XG4gIEBpbmNsdWRlIG1heCg1NzUuOThweCkge1xuICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICB9XG59XG5cbi5wdC0xMDAge1xuICBwYWRkaW5nLXRvcDogMTByZW07XG4gIEBpbmNsdWRlIG1heCg5OTEuOThweCkge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuICB9XG4gIEBpbmNsdWRlIG1heCg1NzUuOThweCkge1xuICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICB9XG59XG5cbi5wYi0xMDAge1xuICBwYWRkaW5nLWJvdHRvbTogMTByZW07XG4gIEBpbmNsdWRlIG1heCg5OTEuOThweCkge1xuICAgIHBhZGRpbmctYm90dG9tOiA4cmVtO1xuICB9XG4gIEBpbmNsdWRlIG1heCg1NzUuOThweCkge1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICB9XG59XG4ucHQtMTIwIHtcbiAgcGFkZGluZy10b3A6IDEycmVtO1xuICBAaW5jbHVkZSBtYXgoOTkxLjk4cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogOHJlbTtcbiAgfVxuICBAaW5jbHVkZSBtYXgoNTc1Ljk4cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgfVxufVxuLnBiLTEyMCB7XG4gIHBhZGRpbmctYm90dG9tOiAxMnJlbTtcbiAgQGluY2x1ZGUgbWF4KDk5MS45OHB4KSB7XG4gICAgcGFkZGluZy1ib3R0b206IDhyZW07XG4gIH1cbiAgQGluY2x1ZGUgbWF4KDU3NS45OHB4KSB7XG4gICAgcGFkZGluZy1ib3R0b206IDZyZW07XG4gIH1cbn1cbiIsIkBrZXlmcmFtZXMgb3BhY2l0eUFuaSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbiIsIi5tb3ZlLXRvcCB7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDk4O1xuICByaWdodDogMy4ycmVtO1xuICBib3R0b206IDMuMnJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXG4gIEBpbmNsdWRlIG1heCg5OTFweCkge1xuICAgIHJpZ2h0OiAxLjJyZW07XG4gICAgYm90dG9tOiAxLjJyZW07XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gICYtaWNvbiB7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gICYtc29jaWFsIHtcbiAgICBnYXA6IDFyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgYSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgIEBpbmNsdWRlIGJveCg0LjhyZW0pO1xuICAgICAgQGluY2x1ZGUgZmxleC1jZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2VjO1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgJGNvbG9yLXNlYztcblxuICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNjcm9sbHRvcCB7XG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNjclKSBzZXBpYSg5OCUpIHNhdHVyYXRlKDMyNyUpIGh1ZS1yb3RhdGUoMjlkZWcpIGJyaWdodG5lc3MoOTclKVxuICAgICAgICAgICAgY29udHJhc3QoOTMlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAmLWxpc3Qge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYtaXRlbSB7XG4gICAgY29sb3I6ICM2NjcwODU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBAaW5jbHVkZSBmei0xNjtcbiAgICBAaW5jbHVkZSBsZXR0ZXJTcGFjaW5nKDE2cHgsIC00KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgJjpub3QoLmlzLWN1cnJlbnQpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbjogMCAxLjJyZW07XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIGJnSW1hZ2UoY2VudGVyLCBjb250YWluKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWFnZXMvaWNvbnMvaWNvbi1jaGV2cm9uLnN2Z1wiKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgICBtYXJnaW46IDAgMC44cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtY3VycmVudCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICMwODI4MjM7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cbiAgICAgIC8vIC50ZXh0LTE2IHtcbiAgICAgIC8vICAgQGluY2x1ZGUgbGluZUNsYW1wKDEpO1xuICAgICAgLy8gfVxuICAgICAgJiA+ICoge1xuICAgICAgICBAaW5jbHVkZSBsaW5lQ2xhbXAoMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQtMTYge1xuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmNvbnRhaW5lciB7XG4gIC5icmVhZGNydW1iIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG4iLCIuaGVhZGVyIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBwYWRkaW5nOiAxLjZyZW0gMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIHotaW5kZXg6IHZhcigtLWhlYWRlci1pbmRleCk7XG5cbiAgPiAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDE2OS42cmVtO1xuICB9XG5cbiAgLmN1c3RvbS1sb2dvLWxpbmsge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1heC13aWR0aDogMjcuNHJlbTtcblxuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgbWF4LXdpZHRoOiAyMC42cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgbWF4LXdpZHRoOiAxNi4yNXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmlzLWZpeGVkIHtcbiAgICBAaW5jbHVkZSBzaGFkb3c7XG5cbiAgICAmLmlzLWZpeGVkIHtcbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1oaWRkZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0taGVhZGVyLWhlaWdodCkpKTtcbiAgfVxuXG4gICYtd3JhcCB7XG4gICAgZ2FwOiAyLjRyZW07XG4gICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEzNjZweCkge1xuICAgICAgZ2FwOiAxLjZyZW07XG4gICAgfVxuICB9XG5cbiAgJi1uYXYge1xuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDMycmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwZHZoO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW4gYXV0bztcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIHotaW5kZXg6IGNhbGModmFyKC0taGVhZGVyLWluZGV4KSArIDMpO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcbiAgICAgIHdpZHRoOiAzMHJlbTtcbiAgICB9XG5cbiAgICAubWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgIGdhcDogNHJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtYXgoMTM2NnB4KSB7XG4gICAgICAgICAgZ2FwOiAzLjJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICAmLWRyb3Bkb3duIHtcbiAgICAgICAgZ2FwOiAwLjRyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICBAaW5jbHVkZSBib3goMS42cmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICA+IC5tZW51LWxpbmsge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIHNhdHVyYXRlKDEwMCUpIGludmVydCg1NSUpIHNlcGlhKDEyJSkgc2F0dXJhdGUoMTQxNSUpIGh1ZS1yb3RhdGUoNzVkZWcpXG4gICAgICAgICAgICAgICAgYnJpZ2h0bmVzcyg5OCUpIGNvbnRyYXN0KDkzJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmNoaWxkIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1saW5rIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNjRyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLm1lbnUtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgI2QwZDBkMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICA+IC5tZW51LWxpbmsge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1wcmk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWluZm8ge1xuICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOCwgNDAsIDM1LCAxKTtcblxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgPiAudGl0bGUtNjAge1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICBjb2xvcjogJGNvbG9yLXNlYztcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1hZGRyZXNzIC5hZGRyZXNzIHtcbiAgICAgIHJvdy1nYXA6IDAuOHJlbTtcbiAgICB9XG4gIH1cblxuICAmLWFjdGlvbiB7XG4gICAgZ2FwOiAyLjRyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEzNjZweCkge1xuICAgICAgZ2FwOiAxLjZyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgPiAuYnRuIHtcbiAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWxhbmcge1xuICAgIC5sYW5ndWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAubGFuZ3VhZ2UtaGVhZDo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAubGFuZ3VhZ2UtY2hpbGQge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1oZWFkIHtcbiAgICAgICAgZ2FwOiAwLjRyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICBAaW5jbHVkZSBib3goMS40cmVtKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgQGluY2x1ZGUgYmdJbWFnZShjZW50ZXIsIGNvbnRhaW4pO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWFnZXMvaGVhZGVyL2ljb24tYXJyb3cuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgIEBpbmNsdWRlIGJveCgyLjRyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtMTYge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDY0cmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtY2hpbGQge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgICBtaW4td2lkdGg6IDVyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjZyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkIHdoaXRlO1xuXG4gICAgICAgICYtbGluayB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMC40cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLXNlYXJjaCB7XG4gICAgQGluY2x1ZGUgbWluKDU3N3B4KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnNlYXJjaCB7XG4gICAgICAvLyBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAvLyAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAvLyB9XG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIC5zZWFyY2gge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgLy8gQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgcGFkZGluZzogMC42cmVtO1xuICAgICAgbWFyZ2luOiAtMC42cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmk7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICBAaW5jbHVkZSBib3goMi40cmVtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuc2VhcmNoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmhlYWRlci1zZWFyY2gtbWVudSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtbWVudSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0b3A6IGNhbGMoMTAwJSArIDAuOHJlbSk7XG5cbiAgICAgIEBpbmNsdWRlIG1pbig1NzdweCkge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWluLXdpZHRoOiAzMnJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAwLjhyZW0pO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMy4ycmVtKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuXG4gICAgICAvLyBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAvLyAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICAgIC8vICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkICNkMGQwZDA7XG4gICAgICAvLyB9XG5cbiAgICAgIGZvcm0ge1xuICAgICAgICAuZm9ybS1sYWJlbCB7XG4gICAgICAgICAgZ2FwOiAxLjJyZW07XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHJlbTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiB1bnNldDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMS42cmVtIDEuMnJlbSAyLjRyZW07XG5cbiAgICAgICAgICAvLyBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgICAgIC8vIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXByaTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhhcyhpbnB1dDpmb2N1cykge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItcHJpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY2hpbGQge1xuICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgc2hhZG93O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWluLXdpZHRoOiAxNXJlbTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxLjJyZW07XG4gICAgYm9yZGVyLWxlZnQ6IDAuMXJlbSBzb2xpZCByZ2JhKDgsIDQwLCAzNSwgMC40KTtcbiAgfVxuXG4gIC5tZW51LWl0ZW0ge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmk7XG5cbiAgICAgICAgPiAubWVudS1saW5rIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubWVudS1jbG9zZS1pY29uIHtcbiAgcGFkZGluZzogMS4ycmVtO1xuICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgI2QwZDBkMDtcblxuICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgQGluY2x1ZGUgYm94KDIuNHJlbSk7XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubWVudS1iYXIge1xuICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tZW51LXNwYW4ge1xuICAgIHNwYW4ge1xuICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgIGhlaWdodDogMC4ycmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNHJlbTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGV4dDtcblxuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmZvb3RlciB7XG4gIHBhZGRpbmctdG9wOiA4cmVtO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgcGFkZGluZy10b3A6IDZyZW07XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBAaW5jbHVkZSBiZ0ltYWdlKHRvcCwgY292ZXIpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWFnZXMvZm9vdGVyL2Zvb3Rlci1iZy5qcGdcIik7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgLmZvb3Rlci1oZWFkaW5nIC5zb2NpYWwtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3goNC44cmVtKTtcbiAgICB9XG4gIH1cblxuICAmLWNvbCB7XG4gICAgQGluY2x1ZGUgbWF4KDg1MHB4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIGdhcDogMi40cmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgPiAudGl0bGUtNjAge1xuICAgICAgQGluY2x1ZGUgZnotNjA7XG4gICAgICBjb2xvcjogJGNvbG9yLXNlYztcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMjRyZW07XG4gICAgfVxuXG4gICAgLnNvY2lhbCB7XG4gICAgICBnYXA6IDAuOHJlbTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgICAudGV4dC0xNiB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA2NHJlbTtcbiAgICAgIH1cblxuICAgICAgJi1saXN0IHtcbiAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICB9XG5cbiAgICAgICYtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgIEBpbmNsdWRlIGJveCgzLjZyZW0pO1xuICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1wcmk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJveCgzLjJyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYWRkcmVzcyB7XG4gICAgQGluY2x1ZGUgbWluKDg1MXB4KSB7XG4gICAgICBtYXgtd2lkdGg6IDQxLjRyZW07XG4gICAgfVxuXG4gICAgLmFkZHJlc3Mge1xuICAgICAgQGluY2x1ZGUgbWF4KDk5MXB4KSB7XG4gICAgICAgIHJvdy1nYXA6IDJyZW07XG4gICAgICB9XG5cbiAgICAgICYtYm94IHtcbiAgICAgICAgZ2FwOiAxLjJyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LTE0IHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNTZyZW07XG4gICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LTE2IHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDY0cmVtO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itc2VjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaXMtZnVsbCB7XG4gICAgICAgIC5hZGRyZXNzLWJveCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHVuc2V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1ncm91cCB7XG4gICAgLS1sZXR0ZXItc3BhY2luZzogMy4ycmVtO1xuXG4gICAgQGluY2x1ZGUgZmxleDtcbiAgICByb3ctZ2FwOiB2YXIoLS1sZXR0ZXItc3BhY2luZyk7XG4gICAgbWFyZ2luOiAwIGNhbGMoLTEgKiB2YXIoLS1sZXR0ZXItc3BhY2luZykpO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgLS1sZXR0ZXItc3BhY2luZzogMS4ycmVtO1xuICAgIH1cbiAgfVxuXG4gICYtYm94IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7XG4gICAgcGFkZGluZzogMCB2YXIoLS1sZXR0ZXItc3BhY2luZyk7XG5cbiAgICA+IC50ZXh0LTIwIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItcHJpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4cmVtO1xuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgICYtbGluayB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNjRyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1zZWM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWNvcHlyaWdodCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDIuNHJlbSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIGdhcDogMXJlbTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IDAuMXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICB9XG5cbiAgICA+IC50ZXh0LTE2IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNjRyZW07XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1zZWM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgZ2FwOiAxMHJlbTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICBnYXA6IDQuOHJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICAgIGdhcDogMnJlbTtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNjRyZW07XG4gICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXNlYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmJ0biB7XG4gIHotaW5kZXg6IDM7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbHVtbi1nYXA6IDFyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgQGluY2x1ZGUgZmxleC1jZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDEwcmVtO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDY0cmVtO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1wcmkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2VjO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMC40cmVtIDAuNHJlbSAwLjRyZW0gMi40cmVtO1xuXG4gIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXByaTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmk7XG4gIH1cblxuICAmLm14LWF1dG8ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgJi53LTEwMCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIGltZyB7XG4gICAgQGluY2x1ZGUgYm94KDRyZW0pO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gIH1cblxuICAud3BjZjctc3Bpbm5lciB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuXG4gICYtLWJvcmRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMTByZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMwODI4MjM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItY29sb3I6ICMwODI4MjM7XG4gICAgcGFkZGluZzogMS4zcmVtIDIuNHJlbTtcbiAgfVxufVxuIiwiZm9ybSB7XG4gIC5mb3JtLXdyYXAge1xuICAgIGdhcDogMy4ycmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgcm93LWdhcDogMi40cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAyLjRyZW0gMS42cmVtO1xuICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcbiAgfVxuXG4gIC5mb3JtLWJveCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAwLjhyZW0pO1xuXG4gICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICByb3ctZ2FwOiAwLjRyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5mb3JtLXRleHQge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDY0cmVtO1xuXG4gICAgc3VwIHtcbiAgICAgIGNvbG9yOiAjZDkyZDIwO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICM5OGEyYjM7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1zZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDEuNnJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIEBpbmNsdWRlIGJveCgxLjZyZW0pO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgQGluY2x1ZGUgYmdJbWFnZSh0b3AsIGNvbnRhaW4pO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vYXNzZXRzL2ltYWdlcy9oZWFkZXIvaWNvbi1hcnJvdy5zdmdcIik7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQge1xuICAgIGhlaWdodDogNC44cmVtO1xuICB9XG5cbiAgdGV4dGFyZWEge1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBoZWlnaHQ6IDEwcmVtO1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAxLjZyZW0gNC44cmVtIDEuNnJlbSAxLjZyZW07XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIHBhZGRpbmc6IDEuNnJlbTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvci10ZXh0O1xuICAgIH1cblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjOThhMmIzO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmY0Zjc7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcHJpKTtcbiAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uZy1yZWNhcHRjaGEtd3JhcCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLndwY2Y3LWZvcm0tY29udHJvbC13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA0O1xuICBjb2xvcjogd2hpdGU7XG4gIGJvdHRvbTogLTIuMnJlbTtcbiAgcGFkZGluZzogMC40cmVtO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIHJpZ2h0OiAxLjZyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1sZWZ0OiAwLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMC41cmVtIHNvbGlkICNlYzFmMjY7XG4gIH1cbn1cblxuLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAycmVtIDAgMCAwICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxLjJyZW0gMCAwIDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2VsZWN0Mi1yZXN1bHRzIHtcbiAgQGluY2x1ZGUgc2hhZG93O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCB3aGl0ZTtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0XG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLXNlbGVjdGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpO1xufVxuLmN1c3RvbS1pbnB1dC1maWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIC5pbnB1dC1zaWRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDM1LjNyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmZpbGUtbmFtZSB7XG4gICAgY29sb3I6IHZhcigtLTAxMCwgIzEwMTIxMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGZ6LTE2O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMzJweDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICB3aWR0aDogMC4xcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDAuMXB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICBsYWJlbCB7XG4gICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgIGJvcmRlcjogMC4xcmVtIGRhc2hlZCAjYTNhM2EzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMS42cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDguNXJlbTtcbiAgICBjb2xvcjogIzEwMTIxMjtcbiAgICBAaW5jbHVkZSBmei0xNjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgQGluY2x1ZGUgbGV0dGVyU3BhY2luZygxNnB4LCAtNCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cywgY29sb3IgMC40cywgYm9yZGVyLWNvbG9yIDAuNHM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgQGluY2x1ZGUgbWluKDEyMDBweCkge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXNlYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMS4ycmVtO1xuICAgIH1cbiAgICAudGV4dC1tYWluIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNnJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dC1zdXAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICNhMWFiYWI7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIEBpbmNsdWRlIGxldHRlclNwYWNpbmcoMTRweCwgLTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICB3aWR0aDogMy4ycmVtO1xuICAgICAgaGVpZ2h0OiAzLjJyZW07XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuXG4gICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgIHdpZHRoOiAyLjRyZW07XG4gICAgICAgIGhlaWdodDogMi40cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtZHJhZyBsYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItcHJpO1xuICB9XG59XG4iLCIuYmFubmVyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gY2FsYygxICogdmFyKC0taGVhZGVyLWhlaWdodCkpKTtcblxuICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmLWJnIHtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDgsIDQwLCAzNSwgMCkgMCUsICMwODI4MjMgODUuNzUlKTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLXBvc2l0aW9uIHtcbiAgICB6LWluZGV4OiA1O1xuICAgIC8vIHBhZGRpbmc6IDUzcmVtIDAgMTVyZW07XG5cbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICBpbnNldDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA0MHJlbSAwIDEwcmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgcGFkZGluZzogMjByZW0gMCA1cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtYmxvY2sge1xuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIHBhZGRpbmc6IDZyZW0gMDtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDByZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gKiB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgPiAudGV4dC0xNiB7XG4gICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNjRyZW07XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIH1cblxuICAgIC5icmVhZGNydW1iIHtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWN1cnJlbnQge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYmxvY2sge1xuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAmOmhhcyguY291bnQpIHtcbiAgICAgIGdhcDogMy4ycmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEwMjRweCkge1xuICAgICAgICBnYXA6IDIuNHJlbTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuXG4gICAgICAuYmFubmVyLWNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICAuYnJlYWRjcnVtYi1saXN0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb3VudCB7XG4gICAgICB3aWR0aDogMzMuMnJlbTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgIHBhZGRpbmc6IDQuOHJlbSA0cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMi40cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEwMjRweCkge1xuICAgICAgICByb3ctZ2FwOiAwLjhyZW07XG4gICAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICAgIH1cblxuICAgICAgJi1oZWFkaW5nIHtcbiAgICAgICAgZ2FwOiAwLjRyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMjU2cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGl0bGUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjZTNlYmEwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtbnVtYmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZnotNjQ7XG4gICAgICB9XG5cbiAgICAgICYtY29udGVudCB7XG4gICAgICAgIC50ZXh0LTIwIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4cmVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uYmFubmVyX190YWcge1xuICAuc2VydmljZV9fY2FyZC1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEuNnJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiAwLjhyZW0gMS42cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgYmFja2dyb3VuZDogIzJiNjczMjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgIEBpbmNsdWRlIGZ6LTE4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIEBpbmNsdWRlIGxldHRlclNwYWNpbmcoMTRweCwgLTQpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMC44cmVtO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAxLjZyZW07XG4gICAgICAgIHdpZHRoOiAxLjhyZW07XG4gICAgICAgIGhlaWdodDogMS44cmVtO1xuICAgICAgICBAaW5jbHVkZSBiZ0ltYWdlKGNlbnRlciwgY29udGFpbik7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZXJ2aWNlL2NoZWNrLnN2Z1wiKTtcbiAgICAgIH1cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm5ld3NfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICAtLWNvbC1nYXA6IDMuMnJlbTtcbiAgY29sdW1uLWdhcDogdmFyKC0tY29sLWdhcCk7XG4gIHJvdy1nYXA6IHZhcigtLWNvbC1nYXApO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDRyZW07XG4gIC5uZXdzX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtICgxIC0gMSAvIDMpICogdmFyKC0tY29sLWdhcCkpO1xuICAgIEBpbmNsdWRlIG1heCg3NjcuOThweCkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAoMSAtIDEgLyAyKSAqIHZhcigtLWNvbC1nYXApKTtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWF4KDExOTkuOThweCkge1xuICAgIC0tY29sLWdhcDogMi40cmVtO1xuICB9XG4gIEBpbmNsdWRlIG1heCg5OTEuOThweCkge1xuICAgIC0tY29sLWdhcDogMS42cmVtO1xuICB9XG59XG4ubmV3c19faXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gMjtcbiAgICBncmlkLXJvdzogMS82O1xuICB9XG5cbiAgJi1pbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNnJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygyODAgLyAzODQgKiAxMDAlKTtcbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1heCg1NzUuOThweCkge1xuICAgICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDMuMnJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcm93LWdhcDogMi40cmVtO1xuICAgIEBpbmNsdWRlIG1heCg5OTEuOThweCkge1xuICAgICAgcGFkZGluZy10b3A6IDIuNHJlbTtcbiAgICAgIHJvdy1nYXA6IDEuNnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNTc1Ljk4cHgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjZyZW07XG4gICAgICByb3ctZ2FwOiAxcmVtO1xuICAgIH1cbiAgICAuYnRuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gICAgICBAaW5jbHVkZSBtYXgoNTc1Ljk4cHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC44cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBAaW5jbHVkZSBmei0yMDtcbiAgICBAaW5jbHVkZSBsZXR0ZXJTcGFjaW5nKDIwcHgsIC00KTtcbiAgICBjb2xvcjogIzA4MjgyMztcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGxpbmVDbGFtcCgyKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMyYjY3MzI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtZGVzYyB7XG4gICAgQGluY2x1ZGUgbGluZUNsYW1wKDIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgQGluY2x1ZGUgZnotMTY7XG4gICAgQGluY2x1ZGUgbGV0dGVyU3BhY2luZygxNnB4LCAtNCk7XG4gICAgY29sb3I6ICM2NjcwODU7XG4gIH1cblxuICAmLWRhdGUge1xuICAgIEBpbmNsdWRlIGZ6LTE2O1xuICAgIEBpbmNsdWRlIGxldHRlclNwYWNpbmcoMTZweCwgLTQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6ICMyYjY3MzI7XG4gIH1cbn1cbi8vIC5uZXdzX19tb3JlIHtcbi8vICAgYm9yZGVyLXJhZGl1czogMTByZW07XG4vLyAgIG1hcmdpbi10b3A6IDEuNnJlbTtcbi8vICAgYm9yZGVyOiAxcHggc29saWQgIzA4MjgyMztcbi8vICAgY29sb3I6ICMwODI4MjM7XG4vLyAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4vLyAgIEBpbmNsdWRlIGZ6LTE2O1xuLy8gICBAaW5jbHVkZSBsZXR0ZXJTcGFjaW5nKDE2cHgsIC00KTtcbi8vICAgbGluZS1oZWlnaHQ6IDEuMztcbi8vICAgd2lkdGg6IGZpdC1jb250ZW50O1xuLy8gICBwYWRkaW5nOiAxLjNyZW0gMi40cmVtO1xuLy8gICBkaXNwbGF5OiBub25lO1xuLy8gICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbi8vICAgJjpob3ZlciB7XG4vLyAgICAgYm9yZGVyLWNvbG9yOiAjMmI2NzMyO1xuLy8gICAgIGNvbG9yOiAjMmI2NzMyO1xuLy8gICB9XG4vLyAgIEBpbmNsdWRlIG1heCg1NzUuOThweCkge1xuLy8gICAgIG1hcmdpbi10b3A6IDAuOHJlbTtcbi8vICAgfVxuLy8gfVxuIiwiLmN1c3RvbWVyIHtcbiAgei1pbmRleDogNTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBwYWRkaW5nKDEwcmVtKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgIC8vIG1hcmdpbi10b3A6IC0xNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnJlbSAxNnJlbSAwIDA7XG4gICAgYm94LXNoYWRvdzogMCAtMnJlbSA0cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICByb3ctZ2FwOiAwLjhyZW07XG4gICAgfVxuXG4gICAgLnRpdGxlLTY0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBjb2xvcjogIzU5YTE1ZjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgY29sb3I6ICNhOWQ0MzM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWxpc3Qge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkICNkOWQ5ZDk7XG4gIH1cblxuICAmLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA1KTtcbiAgICBib3JkZXItcmlnaHQ6IDAuMXJlbSBzb2xpZCAjZDlkOWQ5O1xuICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZDlkOWQ5O1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpO1xuICAgIH1cbiAgfVxuXG4gICYtaW1nIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHJlbSAyMHJlbSAwIHJnYmEoNTIsIDY0LCA4NCwgMC4xOCk7XG5cbiAgICAgICAgLmltZyB7XG4gICAgICAgICAgZmlsdGVyOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4cmVtO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgIGhlaWdodDogMTRyZW07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgICBoZWlnaHQ6IDEwcmVtO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IDhyZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuXG4gICAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgICBoZWlnaHQ6IDUuMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgICAgIGhlaWdodDogNC4ycmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNwbGlkZSB7XG4gICAgJi5qcy1jdXN0b21lcjEge1xuICAgICAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkICNkOWQ5ZDk7XG4gICAgfVxuXG4gICAgJl9fc2xpZGUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDUpO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwLjFyZW0gc29saWQgI2Q5ZDlkOTtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZDlkOWQ5O1xuXG4gICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA0KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5yZWxhdGl2ZSB7XG4gIHBhZGRpbmctYmxvY2s6IDZyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIEBpbmNsdWRlIG1heCg5OTEuOThweCkge1xuICAgIHBhZGRpbmctYmxvY2s6IDRyZW07XG4gIH1cbiAgQGluY2x1ZGUgbWF4KDU3NS45OHB4KSB7XG4gICAgcGFkZGluZy1ibG9jazogM3JlbTtcbiAgfVxuICAvLyBAaW5jbHVkZSBtaW4oMTI0OHB4KSB7XG4gIC8vICAgJjo6YmVmb3JlLFxuICAvLyAgICY6OmFmdGVyIHtcbiAgLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4gIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vICAgICB3aWR0aDogY2FsYygoMTAwdncgLSAxMjEuNnJlbSkgLyAyKTtcbiAgLy8gICAgIGhlaWdodDogMTAwJTtcbiAgLy8gICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAvLyAgICAgdG9wOiAwO1xuICAvLyAgICAgb3BhY2l0eTogMC4yO1xuICAvLyAgICAgYmFja2dyb3VuZDogcmVkO1xuICAvLyAgICAgei1pbmRleDogMztcbiAgLy8gICB9XG4gIC8vICAgJjo6YmVmb3JlIHtcbiAgLy8gICAgIGxlZnQ6IDA7XG4gIC8vICAgfVxuICAvLyAgICY6OmFmdGVyIHtcbiAgLy8gICAgIHJpZ2h0OiAwO1xuICAvLyAgIH1cbiAgLy8gfVxuICAmX19oZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgZ2FwOiAxLjJyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIC50aXRsZV9faGVhZCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgQGluY2x1ZGUgbWF4KDc2Ny45OHB4KSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuX19hY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBtYXgoNzY3Ljk4cHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWF4KDc2Ny45OHB4KSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgJl9fc2xpZGVyIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuc3dpcGVyIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIHBhZGRpbmc6IDAgMC40cmVtO1xuICAgICAgbWF4LXdpZHRoOiA0MC44cmVtO1xuICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgIC5idG4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgICAgJi5zd2lwZXItc2xpZGUtYWN0aXZlLFxuICAgICAgJi5zd2lwZXItc2xpZGUtbmV4dCxcbiAgICAgICYuc3dpcGVyLXNsaWRlLXByZXYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWF4KDc2Ny45OHB4KSB7XG4gICAgICAgIG1heC13aWR0aDogMzAuOHJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnN3aXBlci1uYXZpZ2F0aW9uIHtcbiAgICAgIC5wcmV2LFxuICAgICAgLm5leHQge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjMlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCMwODI4MjMsIDAuMik7XG4gICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgQGluY2x1ZGUgbWF4KDc2Ny45OHB4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnByZXYge1xuICAgICAgICBsZWZ0OiAtOS4ycmVtO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWF4KDE0MDAuOThweCkge1xuICAgICAgICAgIGxlZnQ6IC0zLjJyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWF4KDEzMDAuOThweCkge1xuICAgICAgICAgIGxlZnQ6IC0yLjJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5uZXh0IHtcbiAgICAgICAgcmlnaHQ6IC05LjJyZW07XG4gICAgICAgIEBpbmNsdWRlIG1heCgxNDAwLjk4cHgpIHtcbiAgICAgICAgICByaWdodDogLTMuMnJlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtYXgoMTMwMC45OHB4KSB7XG4gICAgICAgICAgcmlnaHQ6IC0yLjJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICAgIEBpbmNsdWRlIG1pbig3NjhweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtYXgoNzY3Ljk4cHgpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICAgIH1cbiAgfVxufVxuLmJ0bl9fYWN0aW9uIHtcbiAgQGluY2x1ZGUgbWluKDc2OHB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiAjYTlkNDMzO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXByaSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBAaW5jbHVkZSBsZXR0ZXJTcGFjaW5nKDE2cHgsIC00KTtcbiAgICBAaW5jbHVkZSBmei0xNjtcbiAgICBjb2xvcjogIzA4MjgyMztcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwLjRyZW0gMC40cmVtIDIuNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHJlbTtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDRyZW07XG4gICAgICBoZWlnaHQ6IDRyZW07XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1OWExNWY7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzA4MjgyMztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWF4KDc2Ny45OHB4KSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL19wYWdlcy9zZXJ2aWNlXCI7XG4uY29tcGxldGVkX190aW1lbGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiA4cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgjZmZmZmZmLCAwLjIpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUge1xuICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAvLyBwYWRkaW5nOiAwIDNyZW07XG4gICAgcGFkZGluZzogMCAxLjZyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDcpO1xuICAgIG1pbi13aWR0aDogMTcuNnJlbTtcbiAgICAmLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgICAgLmNvbXBsZXRlZF9fdGltZWxpbmUtaXRlbSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIEBpbmNsdWRlIGZ6LTE4O1xuICAgICAgICBAaW5jbHVkZSBsZXR0ZXJTcGFjaW5nKDE4cHgsIC00KTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjYTlkNDMzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29tcGxldGVkX190aW1lbGluZS1pbWcge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtYXgoNzY3Ljk4cHgpIHtcbiAgICAgIHBhZGRpbmc6IDAgMC44cmVtO1xuICAgICAgbWluLXdpZHRoOiAxNXJlbTtcbiAgICB9XG4gIH1cbiAgJi1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHJvdy1nYXA6IDEuMnJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIGNvbG9yOiByZ2JhKCNmZmZmZmYsIDAuNSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgQGluY2x1ZGUgbGV0dGVyU3BhY2luZygxNHB4LCAtNCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDIuOHJlbTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgYmFja2dyb3VuZDogIzJiNjczMjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtaW4taGVpZ2h0OiA0LjJyZW07XG4gICAgICBAaW5jbHVkZSBsaW5lQ2xhbXAoMik7XG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG4gICYtaW1nIHtcbiAgICB3aWR0aDogOHJlbTtcbiAgICBoZWlnaHQ6IDhyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAycHggc29saWQgI2E5ZDQzMztcbiAgICBvcGFjaXR5OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgcGljdHVyZSB7XG4gICAgICB3aWR0aDogOHJlbTtcbiAgICAgIGhlaWdodDogOHJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxufVxuLmNvbXBsZXRlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzA4MjgyMztcbiAgY29sb3I6ICNmZmY7XG5cbiAgLnRpdGxlX19oZWFkIHtcbiAgICByb3ctZ2FwOiAwLjRyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA4NHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLnRpdGxlLTY0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAjYTlkNDMzO1xuICAgIH1cbiAgfVxuICAudGl0bGUtZGVzYyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuMnJlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgaW1nIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgY29sb3I6IHJnYmEoI2ZmZmZmZiwgMC41KTtcbiAgICAmLmlzLWN1cnJlbnQge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDEwMCUpIHNlcGlhKDEwMCUpIHNhdHVyYXRlKDElKSBodWUtcm90YXRlKDc4ZGVnKSBicmlnaHRuZXNzKDEwNSUpXG4gICAgICAgIGNvbnRyYXN0KDEwMSUpO1xuICAgIH1cbiAgfVxuICAmOmhhcygrIC5wcm9qZWN0KSB7XG4gICAgLy8gcGFkZGluZy1ib3R0b206IDI0cmVtO1xuICB9XG4gICYgKyAucHJvamVjdCB7XG4gICAgLy8gbWFyZ2luLXRvcDogLTE1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTZyZW0gMTZyZW0gMCAwO1xuICAgICAgYm94LXNoYWRvdzogMCAtMnJlbSA0cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB9XG4gIH1cbn1cbi5jb21wbGV0ZWRfX3dyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDZyZW07XG4gIC5zd2lwZXItbmF2aWdhdGlvbiB7XG4gICAgLm5leHQsXG4gICAgLnByZXYge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgjZmZmZmZmLCAwLjIpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgd2lkdGg6IDRyZW07XG4gICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGltZyB7XG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoMTAwJSkgc2VwaWEoMTAwJSkgc2F0dXJhdGUoMSUpIGh1ZS1yb3RhdGUoNzhkZWcpIGJyaWdodG5lc3MoMTA1JSlcbiAgICAgICAgICBjb250cmFzdCgxMDElKTtcbiAgICAgIH1cbiAgICAgIC0tc3BhY2U6IDUuMnJlbTtcbiAgICAgIEBpbmNsdWRlIG1heCgxNTM2Ljk4cHgpIHtcbiAgICAgICAgLS1zcGFjZTogMi4ycmVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWF4KDExOTkuOThweCkge1xuICAgICAgICAtLXNwYWNlOiAxcmVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5uZXh0IHtcbiAgICAgIHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tc3BhY2UpKTtcbiAgICB9XG4gICAgLnByZXYge1xuICAgICAgbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNlKSk7XG4gICAgICBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWF4KDc2Ny45OHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIG1pbig3NjhweCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi1idWxsZXQge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICYtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2E5ZDQzMztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWF4KDc2Ny45OHB4KSB7XG4gICAgcGFkZGluZy1ib3R0b206IDZyZW07XG4gIH1cbn1cbi5jb21wbGV0ZWRfX2Rlc2Mge1xuICBjb2xvcjogcmdiYSgjZmZmZmZmLCAwLjcpO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbiAgQGluY2x1ZGUgbGluZUNsYW1wKDQpO1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuLmNvbXBsZXRlZF9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLS1jb2wtZ2FwOiA2cmVtO1xuICByb3ctZ2FwOiA0cmVtO1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2wtZ2FwKTtcbiAgQGluY2x1ZGUgbWF4KDE1MzYuOThweCkge1xuICAgIC0tY29sLWdhcDogNHJlbTtcbiAgfVxuICBAaW5jbHVkZSBtYXgoMTE5OS45OHB4KSB7XG4gICAgLS1jb2wtZ2FwOiAxLjZyZW07XG4gIH1cbn1cbi5jb21wbGV0ZWRfX2ltZyB7XG4gIHdpZHRoOiA1MiU7XG5cbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNHJlbTtcbiAgICAmLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgICAgLmNvbXBsZXRlZF9faW1nLWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTRkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1heCgxMTk5Ljk4cHgpIHtcbiAgICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICB9XG4gIH1cbiAgJi1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoNTIwIC8gNjAwICogMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMi40cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAmOmhvdmVyIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMDUpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoIzA4MjgyMywgMC44KTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdHJhbnNpdGlvbjogMC44cztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1heCg3NjcuOThweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uY29tcGxldGVkX19jb250ZW50IHtcbiAgZmxleDogMTtcbiAgLnNlcnZpY2VfX2NhcmQtbGlzdCB7XG4gICAgbWFyZ2luOiA0cmVtIDA7XG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgZnotMTY7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXJTcGFjaW5nKDE2cHgsIC00KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtYXgoNTc1Ljk4cHgpIHtcbiAgICAgIG1hcmdpbjogMi40cmVtIDA7XG4gICAgfVxuICB9XG59XG4iLCIuc2VydmljZSB7XG4gIHBhZGRpbmctYmxvY2s6IDZyZW07XG4gIC50aXRsZS02NCB7XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogIzU5YTE1ZjtcbiAgICB9XG4gIH1cbiAgLnRpdGxlX19oZWFkIHtcbiAgICBtYXgtd2lkdGg6IDkyLjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG4uc2VydmljZV9fZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHJvdy1nYXA6IDAuOHJlbTtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbn1cblxuLnNlcnZpY2VfX2NhcmQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlO1xuICAvLyBtaW4taGVpZ2h0OiBjYWxjKDEwMHZ3ICogKDQwMCAvIDEyMTYpKTtcbiAgYm9yZGVyLXJhZGl1czogMi40cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogI2ZmZjtcbiAgJi1pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBAaW5jbHVkZSBiZ0ltYWdlO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCMwODI4MjMsIDAuNik7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAvLyAmID4gaW1nIHtcbiAgICAvLyAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8vICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgLy8gfVxuICB9XG4gICYtaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1heC13aWR0aDogNDZyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIC5idG4tLWJvcmRlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItcHJpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtY29udGVudCB7XG4gICAgd2lkdGg6IDU0JTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDUuNHJlbTtcbiAgICAvLyBsZWZ0OiAwO1xuICAgIC8vIHRvcDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAvLyAgIDkwZGVnLFxuICAgICAgLy8gICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLFxuICAgICAgLy8gICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpIDYyJSxcbiAgICAgIC8vICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KSAxMDAlXG4gICAgICAvLyApO1xuICAgICAgbWFzazogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byByaWdodCxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSxcbiAgICAgICAgcmdiKDI1NSwgMjU1LCAyNTUpIDYyJSxcbiAgICAgICAgcmdiKDI1NSwgMjU1LCAyNTUpIDEwMCVcbiAgICAgICk7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWF4KDk5MS45OHB4KSB7XG4gICAgICBwYWRkaW5nOiA0cmVtIDIuNHJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWF4KDc2Ny45OHB4KSB7XG4gICAgICB3aWR0aDogNzQlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXgoNTc1Ljk4cHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogNHJlbSAxLjZyZW07XG4gICAgfVxuICB9XG5cbiAgJi1saXN0IHtcbiAgICBtYXJnaW46IDIuNHJlbSAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMS42cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICBAaW5jbHVkZSBmei0xNDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXJTcGFjaW5nKDE0cHgsIC00KTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjhyZW07XG4gICAgICAgIEBpbmNsdWRlIGJnSW1hZ2UoY2VudGVyLCBjb250YWluKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlcnZpY2UvY2hlY2suc3ZnXCIpO1xuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAuc2VydmljZV9fY2FyZC1jb250ZW50IHtcbiAgICAgIC8vIGxlZnQ6IHVuc2V0O1xuICAgICAgLy8gcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5yZWFzb24ge1xuICB6LWluZGV4OiA1O1xuICBjb2xvcjogd2hpdGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGJnSW1hZ2U7XG5cbiAgQGluY2x1ZGUgcGFkZGluZygxMHJlbSk7XG4gIGJhY2tncm91bmQ6ICMwODI4MjM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYmdJbWFnZTtcbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VydmljZS9vZmZlcl9iZy5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaG9tZS9zb2x1dGlvbi1iZzEuanBnXCIpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZyk7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICBtYXJnaW4tdG9wOiAtMTZyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTZyZW07XG4gICAgYm94LXNoYWRvdzogMCAtMnJlbSA0cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxuXG4gIC50aXRsZS1kZXNjIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gICYtcm93IHtcbiAgICBAaW5jbHVkZSBtYXgoMTAyNHB4KSB7XG4gICAgICAtLXJnOiAxLjZyZW07XG4gICAgICAtLWNnOiAxLjZyZW07XG4gICAgfVxuICB9XG5cbiAgJi1jb2wge1xuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1saXN0IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTAyNHB4KSB7XG4gICAgICByb3ctZ2FwOiAxLjZyZW07XG4gICAgfVxuICB9XG5cbiAgJi1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmLWJveCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMy4ycmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSk7XG4gICAgYm9yZGVyOiAwLjFyZW0gc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwLjdyZW0pO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgcGFkZGluZzogMi40cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtaWNvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94KDRyZW0pO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICAudGV4dC0xNiB7XG4gICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNjRyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgfVxuXG4gICAgLmltZyB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMi40cmVtO1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoMzIwIC8gNDA4ICogMTAwJSk7XG5cbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS40cmVtO1xuXG4gICAgICAgICY6aG92ZXIgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjA1KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBAaW5jbHVkZSBpbWdDb3ZlcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucC1jdXN0b21lciB7XG4gIC5jb250YWN0IHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLy8gQGluY2x1ZGUgYmdJbWFnZTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDEycmVtLCAyNHJlbSk7XG4gICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlcnZpY2Uvb2ZmZXJfYmcuanBnXCIpO1xuICAgIC8vIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIGJhY2tncm91bmQ6ICMwODI4MjM7XG4gICAgLy8gJjo6YmVmb3JlIHtcbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gICB0b3A6IDA7XG4gICAgLy8gICBsZWZ0OiAwO1xuICAgIC8vICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8vICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gICBAaW5jbHVkZSBiZ0ltYWdlO1xuICAgIC8vICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlcnZpY2Uvb2ZmZXJfYmcuanBnXCIpO1xuICAgIC8vICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAvLyAgIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9ob21lL3NvbHV0aW9uLWJnMS5qcGdcIik7XG4gICAgLy8gICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWcpO1xuICAgIC8vICAgb3BhY2l0eTogMC40O1xuICAgIC8vICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gICB6LWluZGV4OiAtMTtcbiAgICAvLyB9XG4gICAgLnRpdGxlLWRlc2Mge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgICYtY29udGVudCB7XG4gICAgICB1bCBsaSAuYm94IHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKTtcbiAgICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMC43cmVtKTtcblxuICAgICAgICAmLWltZyBpbWcge1xuICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBob25lLWNvbnRlbnQgLnRleHQtMTQge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iZW5lZml0cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMTJyZW0sIDI0cmVtKTtcblxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxNnJlbSAxNnJlbSAwIDA7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLFxuICAgICAgICByZ2JhKDE2OSwgMjEyLCA1MSwgMC4xKSAzNyUsXG4gICAgICAgIHJnYmEoMTY5LCAyMTIsIDUxLCAwLjIpIDEwMCVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLmJlbmVmaXQge1xuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTVyZW07XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbWVyIHtcbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjVyZW07XG4gICAgfVxuICB9XG5cbiAgLnBhcnRuZXJzaGlwIHtcbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgLy8gbWFyZ2luLXRvcDogLTE1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmJhbm5lci1ob21lIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIH1cblxuICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnN3aXBlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgJi1zbGlkZSB7XG4gICAgICAmLWFjdGl2ZSB7XG4gICAgICAgIC5iYW5uZXItaG9tZS1jb250ZW50IHtcbiAgICAgICAgICAudGl0bGUtNjQge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxLjVzIGVhc2UgMC42cyBmb3J3YXJkcztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudGV4dC0xNiB7XG4gICAgICAgICAgICBhbmltYXRpb246IGZhZGVJblVwIDEuNXMgZWFzZSAxcyBmb3J3YXJkcztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMS41cyBlYXNlIDEuNHMgZm9yd2FyZHM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1wYWdpbmF0aW9uIHtcbiAgICAgIGJvdHRvbTogMTByZW07XG5cbiAgICAgIEBpbmNsdWRlIG1pbigxNzI3LjlweCkge1xuICAgICAgICBib3R0b206IDU1JTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICBib3R0b206IDIuNHJlbTtcbiAgICAgIH1cblxuICAgICAgJi1idWxsZXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYmcge1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBhbmltYXRpb246IG9wYWNpdHlBbmkgMC44cyBlYXNlLWluLW91dCAwLjJzO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgJi1wb3NpdGlvbiB7XG4gICAgei1pbmRleDogNTtcblxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDEwcmVtIDAgNDByZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICBwYWRkaW5nOiAxMHJlbSAwO1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxNjkuNnJlbTtcbiAgICB9XG4gIH1cblxuICAmLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTJyZW07XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICAudGl0bGUtNjQge1xuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3Itc2VjO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBjb2xvcjogIzJiNjczMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LTE2IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLmFjdGlvbiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgZ2FwOiAxLjJyZW07XG4gICAgICBAaW5jbHVkZSBmbGV4LWNlbnRlcjtcblxuICAgICAgLmJ0biB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRleHQ7XG5cbiAgICAgICAgJi1wcmkge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgICAgICAgICBwYWRkaW5nOiAxLjM1cmVtIDIuNHJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAkY29sb3ItdGV4dDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY3VzdG9tZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDMuMnJlbTtcbiAgICBtYXgtd2lkdGg6IDQzcmVtO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBib3JkZXItcmFkaXVzOiAxLjZyZW07XG4gICAgYm9yZGVyOiAwLjFyZW0gc29saWQgd2hpdGU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDEuMnJlbSAxLjZyZW0gLTAuNHJlbSByZ2JhKDE2LCAyNCwgNDAsIDAuMDgpLFxuICAgICAgMCAwLjRyZW0gMC42cmVtIC0wLjJyZW0gcmdiYSgxNiwgMjQsIDQwLCAwLjAzKTtcblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIGJvdHRvbTogNXJlbTtcbiAgICAgIHJvdy1nYXA6IDEuNnJlbTtcbiAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtaW4oNzY4cHgpIHtcbiAgICAgIGxlZnQ6IDEuNnJlbTtcbiAgICAgIGJvdHRvbTogMjByZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxNDQwcHgpIHtcbiAgICAgICAgYm90dG9tOiAxMnJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBtYXgtd2lkdGg6IDI1LjRyZW07XG5cbiAgICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgICBtYXgtd2lkdGg6IDE4LjRyZW07XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dC0xOCB7XG4gICAgICAuY291bnQtbnVtYmVyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmk7XG4gICAgICAgIG1pbi13aWR0aDogNy40cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNzJyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcblxuICAgICAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDYuMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNvbW1pdCB7XG4gIHotaW5kZXg6IDU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgcGFkZGluZygxMHJlbSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAvLyBtYXJnaW4tdG9wOiAtMTVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTZyZW0gMTZyZW0gMCAwO1xuICB9XG5cbiAgLnRpdGxlLWRlc2Mge1xuICAgIGdhcDogMC4ycmVtO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZmxleC1jZW50ZXI7XG5cbiAgICBpbWcge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgQGluY2x1ZGUgYm94KDMuMnJlbSk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogIzJiNjczMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNjRyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS00OCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMTkycmVtO1xuXG4gICAgc3BhbiB7XG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBjb2xvcjogIzU5YTE1ZjtcbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIGNvbG9yOiAjYTlkNDMzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGNvbG9yOiAjNTlhMTVmO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWcge1xuICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICAgIG1heC13aWR0aDogMTVyZW07XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWF4KDU3NS45OHB4KSB7XG4gICAgICBiciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnZpZGVvLWJnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiA0cmVtO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDUyMCAvIDgwMCAqIDEwMCUpO1xuXG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIGltZ0NvdmVyO1xuICAgIH1cbiAgfVxuXG4gIC52aWRlby1wbGF5IHtcbiAgICB6LWluZGV4OiAzO1xuICAgIEBpbmNsdWRlIHBvc0NlbnRlcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgIEBpbmNsdWRlIGJveCg2cmVtKTtcblxuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgQGluY2x1ZGUgYm94KDRyZW0pO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHBvc0NlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkIHdoaXRlO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBhbmltYXRpb246IHB1bHNlQW5pIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBhbmltYXRpb246IHB1bHNlQW5pIDJzIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4xKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgcHVsc2VBbmkge1xuICAgICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuNyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jb2wge1xuICAgIEBpbmNsdWRlIG1heCg5OTFweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtYXgoMTAyNHB4KSB7XG4gICAgICByb3ctZ2FwOiAyLjRyZW07XG4gICAgfVxuXG4gICAgLm51bWJlciB7XG4gICAgICBnYXA6IDJyZW07XG4gICAgICBwYWRkaW5nOiA0LjhyZW0gNHJlbTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmk7XG4gICAgICBib3JkZXItcmFkaXVzOiAyLjRyZW0gMi40cmVtIDEwcmVtIDIuNHJlbTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICBwYWRkaW5nOiAzLjJyZW0gMi40cmVtO1xuICAgICAgfVxuXG4gICAgICAmLXRleHQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBjb2xvcjogI2UzZWJhMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LTIwIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4cmVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtY291bnQge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40OHJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGl0bGUpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDhyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJ0biB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDgyODIzO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgIC5kZXNjIHtcbiAgICAgIC50ZXh0LTE2IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNjRyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1saXN0IHtcbiAgICAtLWxldHRlci1zcGFjaW5nOiA4cmVtO1xuXG4gICAgQGluY2x1ZGUgZmxleDtcbiAgICByb3ctZ2FwOiBjYWxjKDIgKiB2YXIoLS1sZXR0ZXItc3BhY2luZykpO1xuICAgIG1hcmdpbjogMCBjYWxjKC0xICogdmFyKC0tbGV0dGVyLXNwYWNpbmcpKTtcblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIC0tbGV0dGVyLXNwYWNpbmc6IDJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICAtLWxldHRlci1zcGFjaW5nOiAxLjJyZW07XG4gICAgfVxuICB9XG5cbiAgJi1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgcGFkZGluZzogMCB2YXIoLS1sZXR0ZXItc3BhY2luZyk7XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTtcbiAgICB9XG4gIH1cblxuICAmLWJveCB7XG4gICAgQGluY2x1ZGUgbWF4KDk5MXB4KSB7XG4gICAgICByb3ctZ2FwOiAxLjJyZW07XG4gICAgfVxuICB9XG5cbiAgJi1oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLmNvdW50LW51bWJlciB7XG4gICAgICBjb2xvcjogIzJiNjczMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDcuNnJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTMuMDRweDtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICBmb250LXNpemU6IDQuOHJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICNhOWQ0MzM7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtaW5mbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLnRleHQtMjAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7IC8qIDI2cHggKi9cbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wOHJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnAtaG9tZSB7XG4gIC5jdXN0b21lciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IHVuc2V0O1xuICAgIHBhZGRpbmc6IDZyZW0gMCAwIDA7XG4gIH1cblxuICAuY29tcGxldGVkIHtcbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICBwYWRkaW5nOiAxMnJlbSAwcmVtIDI0cmVtO1xuICAgIH1cbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PSBzb2x1dGlvbiA9PT09PT09PT09XG4uc29sdXRpb24ge1xuICB6LWluZGV4OiA0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIEBpbmNsdWRlIGJnSW1hZ2U7XG4gIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9ob21lL3NvbHV0aW9uLWJnLmpwZ1wiKTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICMwODI4MjM7XG4gIC8vIC0taW1nOiB2YXIodmFyKC0taW1nKSk7XG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGJnSW1hZ2U7XG4gICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2hvbWUvc29sdXRpb24tYmcxLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWcpO1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgbWFyZ2luLXRvcDogLTE1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cmVtIDE2cmVtIDAgMDtcbiAgfVxuXG4gIC50aXRsZS02NCB7XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogI2E5ZDQzMztcbiAgICB9XG4gIH1cbiAgLnRpdGxlLWRlc2Mge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgICY6aGFzKGltZykge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogMC4ycmVtO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGltZyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB3aWR0aDogMy4ycmVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3RvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcm93LWdhcDogMnJlbTtcbiAgfVxuICAmX19pbm5lciB7XG4gICAgbWFyZ2luLXRvcDogNnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gMTIxLjZyZW0pIC8gMik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC0tY2lyY2xlOiAzNXJlbTtcbiAgICBAaW5jbHVkZSBtYXgoMTUzNi45OHB4KSB7XG4gICAgICAtLWNpcmNsZTogMzByZW07XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1heCgxMjgwLjk4cHgpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUuNHJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWF4KDExOTkuOThweCkge1xuICAgICAgLS1jaXJjbGU6IDIwcmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXgoOTkxLjk4cHgpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS42cmVtO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNnJlbTtcbiAgICB9XG4gIH1cbiAgJl9fd3JhcCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWNpcmNsZSkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC0tY29sLWdhcDogNy42cmVtO1xuICAgIGdhcDogNHJlbSB2YXIoLS1jb2wtZ2FwKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA0MHJlbTtcbiAgICBAaW5jbHVkZSBtYXgoMTUzNi45OHB4KSB7XG4gICAgICAtLWNvbC1nYXA6IDIuNHJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWF4KDk5MS45OHB4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICAmX19jaXJjbGUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLWNpcmNsZSkgKiAyKTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tY2lyY2xlKSAqIDIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tY2lyY2xlKSAqICgtMSkpO1xuICAgIHBhZGRpbmc6IDlyZW07XG4gICAgJi1pbm5lciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMjUwZGVnLFxuICAgICAgICByZ2JhKDE2OSwgMjEyLCA1MSwgMC44KSAwJSxcbiAgICAgICAgcmdiYSgxNjksIDIxMiwgNTEsIDAuMykgNTElLFxuICAgICAgICByZ2JhKDE2OSwgMjEyLCA1MSwgMCkgMTAwJVxuICAgICAgKTtcbiAgICB9XG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTYsIDI1NiwgMjU2LCAwLjIpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNC4ycmVtICogMik7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQuMnJlbSAqIDIpO1xuICAgICAgYm9yZGVyOiA3cHggc29saWQgI2E5ZDQzMztcbiAgICAgIHRvcDogNC4ycmVtO1xuICAgICAgcmlnaHQ6IDQuMnJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWF4KDk5MS45OHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAvLyAmX19kb3Qge1xuICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy8gICB3aWR0aDogMC44cmVtO1xuICAvLyAgIGhlaWdodDogMC44cmVtO1xuICAvLyAgIHJpZ2h0OiAtMC40cmVtO1xuICAvLyAgIHRvcDogY2FsYyg1MCUgKyAycmVtKTtcbiAgLy8gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC8vICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLy8gICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC8vICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gfVxuICAmX19zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogY2FsYyg2NSUgLSB2YXIoLS1jb2wtZ2FwKSk7XG4gICAgQGluY2x1ZGUgbWF4KDE1MzYuOThweCkge1xuICAgICAgd2lkdGg6IGNhbGMoNjAlIC0gdmFyKC0tY29sLWdhcCkpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXgoOTkxLjk4cHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDZyZW07XG4gICAgfVxuICAgIC5zd2lwZXItbmF2aWdhdGlvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTguOHJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICByb3ctZ2FwOiAxLjJyZW07XG4gICAgICAucHJldixcbiAgICAgIC5uZXh0IHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMS42cHggc29saWQgcmdiYSgjZmZmZmZmLCAwLjIpO1xuICAgICAgICB3aWR0aDogNi40cmVtO1xuICAgICAgICBoZWlnaHQ6IDYuNHJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAzLjJyZW07XG4gICAgICAgICAgaGVpZ2h0OiAzLjJyZW07XG4gICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIHNhdHVyYXRlKDEwMCUpIGludmVydCgxMDAlKSBzZXBpYSgwJSkgc2F0dXJhdGUoMCUpIGh1ZS1yb3RhdGUoNDdkZWcpIGJyaWdodG5lc3MoMTAzJSlcbiAgICAgICAgICAgIGNvbnRyYXN0KDEwMSUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtYXgoMTUzNi45OHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWF4KDk5MS45OHB4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnByZXYge1xuICAgICAgICAvLyBsZWZ0OiAtOS4ycmVtO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQGluY2x1ZGUgbWF4KDE1MDAuOThweCkge1xuICAgICAgICAvLyAgIGxlZnQ6IC0xLjZyZW07XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gQGluY2x1ZGUgbWF4KDEzMDAuOThweCkge1xuICAgICAgICAvLyAgIGxlZnQ6IDAuOHJlbTtcbiAgICAgICAgLy8gfVxuICAgICAgfVxuICAgICAgLm5leHQge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAvLyByaWdodDogLTkuMnJlbTtcbiAgICAgICAgLy8gQGluY2x1ZGUgbWF4KDE1MDAuOThweCkge1xuICAgICAgICAvLyAgIHJpZ2h0OiAtMS42cmVtO1xuICAgICAgICAvLyB9XG4gICAgICAgIC8vIEBpbmNsdWRlIG1heCgxMzAwLjk4cHgpIHtcbiAgICAgICAgLy8gICByaWdodDogMC44cmVtO1xuICAgICAgICAvLyB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtYXgoMTUzNi45OHB4KSB7XG4gICAgICAgIHJpZ2h0OiAtNS4ycmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgICAgQGluY2x1ZGUgbWluKDk5MnB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmLWJ1bGxldCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3RodW1iIHtcbiAgICB3aWR0aDogMzUlO1xuICAgIC8vIG1hcmdpbi10b3A6IC0ycmVtO1xuICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICBtYXgtaGVpZ2h0OiA1MS40cmVtO1xuICAgICAgQGluY2x1ZGUgbWF4KDE1MzYuOThweCkge1xuICAgICAgICBtYXgtaGVpZ2h0OiA0OC40cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHBhZGRpbmc6IDRyZW0gMDtcbiAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC50aXRsZS0zMiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgfVxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMC44cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuOHJlbTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgJi1hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDYuOHJlbTtcbiAgICAgICAgQGluY2x1ZGUgbWF4KDE1MzYuOThweCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMy4ycmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLXByZXYsXG4gICAgICAmLW5leHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuOHJlbTtcbiAgICAgICAgQGluY2x1ZGUgbWF4KDE1MzYuOThweCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi40cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtYXgoMTUzNi45OHB4KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWF4KDE1MzYuOThweCkge1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWF4KDk5MS45OHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcm93LWdhcDogMS42cmVtO1xuICAgIC5zZXJ2aWNlX19jYXJkLWlubmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogNHJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIuNHJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NiwgMjU2LCAyNTYsIDAuMDEpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTYsIDI1NiwgMjU2LCAwLjIpO1xuICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgICAgQGluY2x1ZGUgbWF4KDExOTkuOThweCkge1xuICAgICAgICBwYWRkaW5nOiAyLjRyZW0gMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9faW1nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDM4OCAvIDcxNCAqIDEwMCUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogMi40cmVtO1xuXG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIGltZ0NvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4ubGlmZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiBjYWxjKHZhcigtLWhlYWRlci1oZWlnaHQpIC0gY2FsYyg1NzYgLyAxNzI4ICogMTAwdncpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZGVjb3Ige1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBoZWlnaHQ6IDcycmVtO1xuICAgIHdpZHRoOiA0Ni40cmVtO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIGhlaWdodDogNDFyZW07XG4gICAgICB3aWR0aDogMjYuNHJlbTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICAmMSB7XG4gICAgICBsZWZ0OiAxMnJlbTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEzNjZweCkge1xuICAgICAgICBsZWZ0OiAycmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICYyIHtcbiAgICAgIHJpZ2h0OiAxMnJlbTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEzNjZweCkge1xuICAgICAgICByaWdodDogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDE2MnJlbTtcbiAgfVxuXG4gIC50aXRsZS1kZXNjIHtcbiAgICBnYXA6IDAuMnJlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAjMmI2NzMyO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA2NHJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgJi13cmFwIHtcbiAgICByb3ctZ2FwOiAxNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICByb3ctZ2FwOiA0cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIC5jaXJjbGUge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBib3goODByZW0pO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4MHJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgMTI4ZGVnLFxuICAgICAgICAgIHJnYmEoMTY5LCAyMTIsIDUxLCAwLjMyKSAxNi4xMyUsXG4gICAgICAgICAgcmdiYSgxNjksIDIxMiwgNTEsIDAuMTIpIDQ1LjI4JSxcbiAgICAgICAgICByZ2JhKDE2OSwgMjEyLCA1MSwgMCkgNzMuNTYlXG4gICAgICAgICk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IC0zJTtcbiAgICAgICAgICByaWdodDogMzAlO1xuICAgICAgICAgIEBpbmNsdWRlIGJveCgzcmVtKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI2NzMyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMSU7XG4gICAgICAgICAgcmlnaHQ6IDI3JTtcbiAgICAgICAgICBAaW5jbHVkZSBib3goMnJlbSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlYztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1saXN0IHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICAgIG1hcmdpbjogMCAtMS4ycmVtO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgcm93LWdhcDogMS42cmVtO1xuICAgICAgbWFyZ2luOiAwIC0wLjhyZW07XG4gICAgfVxuICB9XG5cbiAgJi1pdGVtIHtcbiAgICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gNCk7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDAuOHJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoMTAyNHB4KSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAvLyB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5saWZlLWJveCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10ZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIC5saWZlLWJveCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgLmxpZmUtYm94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiNjczMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLmxpZmUtYm94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlYztcbiAgICAgIH1cblxuICAgICAgLmxpZmUtY29udGVudCB7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1ib3gge1xuICAgIGdhcDogMS42cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICBib3JkZXItcmFkaXVzOiAxLjZyZW07XG4gICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICBwYWRkaW5nOiAxLjZyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIG1heCg1NzUuOThweCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAmLWltZyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgQGluY2x1ZGUgYm94KDQuOHJlbSk7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICBAaW5jbHVkZSBib3goNHJlbSk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgID4gKiB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICB9XG5cbiAgICAudGV4dC0xNiB7XG4gICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYmcge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAuaW1nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDc0NCAvIDE3MjggKiAxMDAlKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoOCwgNDAsIDM1LCAwLjQpO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICAvLyBvcGFjaXR5OiAwO1xuICAgICAgICBAaW5jbHVkZSBpbWdDb3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnAtaG9tZSB7XG4gIC5oZWFkZXIge1xuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tYWluIHtcbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogOS42cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgcGFkZGluZy10b3A6IDhyZW07XG4gICAgfVxuICB9XG5cbiAgLmJhbm5lci1ob21lIHtcbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLnJlbGF0aXZlIHtcbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAtMTVyZW07XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBRUFBOzs4REFFOEQ7QUFhOUQ7OzhEQUU4RDtBQ2pCOUQsQUFBQSxLQUFLLENBQUM7RUFDSixVQUFVLENBQUEsb0JBQUM7RUFDWCxVQUFVLENBQUEsNkJBQUM7RUFDWCxZQUFZLENBQUEsaUNBQUM7RUFDYixZQUFZLENB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 */
