@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-ThinItalic.ttf") format("truetype");
  font-weight: 100;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-SemiBoldItalic.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-ExtraBoldItalic.ttf") format("truetype");
  font-weight: 800;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-BlackItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
}
body {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
}

h1, .like-h1,
h2, .like-h2,
h3, .like-h3,
h4, .like-h4 {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-weight: 800;
}

h5, .like-h5,
h6, .like-h6 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}

.title-with-line.yellow:before {
  background-color: #FFFFFF;
}
.title-with-line:before {
  background-color: #FFFFFF;
}

strong {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}

a {
  color: #88D04B;
}
a:hover, a:focus {
  color: #3D6E1D;
}

svg.info-circle path, svg.info-circle line {
  stroke: #529621;
}

.primary-button {
  padding: 12px 20px;
  justify-content: center;
  align-items: center;
  border-radius: 16px;
  background: #529621;
  border: 1px solid #529621;
  color: #FFFFFF !important;
  display: flex;
  height: 56px;
  gap: 8px;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
  width: inherit;
}
@media (max-width: 575.98px) {
  .primary-button {
    max-width: 500px;
    width: 100%;
  }
}
.primary-button svg path, .primary-button svg line {
  stroke: #fff;
}
.primary-button.disabled, .primary-button.button-disabled {
  background-color: #E4E4E7 !important;
  color: #A1A1AA !important;
  border: 0 !important;
}
.primary-button.disabled svg path, .primary-button.disabled svg line, .primary-button.button-disabled svg path, .primary-button.button-disabled svg line {
  stroke: #A1A1AA;
}
.primary-button:not(.disabled):hover, .primary-button:not(.disabled):focus {
  background: #3D6E1D;
  /* hover shadow */
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
  color: #FFFFFF;
}
.primary-button:not(.disabled):active {
  border-radius: 16px;
  background: #2D4B1C;
  /* pressed shadow */
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1) inset;
  color: #FFFFFF;
}

.secondary-button {
  padding: 12px 20px;
  justify-content: center;
  align-items: center;
  border-radius: 16px;
  color: #529621 !important;
  border: 1px solid #529621;
  background: var(--white, #FFF);
  display: flex;
  height: 56px;
  gap: 8px;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  width: auto;
  text-decoration: none;
}
@media (max-width: 575.98px) {
  .secondary-button {
    width: 100%;
    height: 100%;
  }
}
.secondary-button svg path, .secondary-button svg line {
  stroke: #529621;
}
.secondary-button.disabled {
  background-color: #E4E4E7;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #A1A1AA;
}
.secondary-button:not(.disabled):hover, .secondary-button:not(.disabled):focus {
  background: #F8FBF6;
  /* hover shadow */
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
  color: #529621 !important;
}
.secondary-button:not(.disabled):active {
  border: 1px solid #529621;
  color: #529621 !important;
  box-shadow: none;
  background: #CAEEA8;
}
.secondary-button:not(.disabled):active svg path, .secondary-button:not(.disabled):active svg line {
  stroke: #529621;
}

a.primary-btn, button.primary-btn {
  background-color: #88D04B;
  box-shadow: 0 0 0 rgba(61, 110, 29, 0.3);
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #FFFFFF;
}
a.primary-btn svg path, a.primary-btn svg line, button.primary-btn svg path, button.primary-btn svg line {
  stroke: #FFFFFF;
}
a.primary-btn .animated-bg-wrapper .animated-background, button.primary-btn .animated-bg-wrapper .animated-background {
  background-color: #88D04B;
}
a.primary-btn.alt-colors, button.primary-btn.alt-colors {
  background-color: #FFFFFF;
  color: #3D6E1D;
}
a.primary-btn.alt-colors svg path, a.primary-btn.alt-colors svg line, button.primary-btn.alt-colors svg path, button.primary-btn.alt-colors svg line {
  stroke: #3D6E1D;
}
a.primary-btn.alt-colors .animated-bg-wrapper .animated-background, button.primary-btn.alt-colors .animated-bg-wrapper .animated-background {
  background-color: rgb(229.5, 229.5, 229.5);
}
a.primary-btn.disabled, button.primary-btn.disabled {
  background-color: #E4E4E7;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #A1A1AA;
}
a.primary-btn:not(.disabled):hover, a.primary-btn:not(.disabled):focus, button.primary-btn:not(.disabled):hover, button.primary-btn:not(.disabled):focus {
  box-shadow: 0 10px 20px rgba(61, 110, 29, 0.3);
}
a.primary-btn:not(.disabled):active, a.primary-btn:not(.disabled):focus, button.primary-btn:not(.disabled):active, button.primary-btn:not(.disabled):focus {
  box-shadow: 0 5px 5px rgba(61, 110, 29, 0.3);
}
a.secondary-btn, button.secondary-btn {
  border-color: #88D04B;
  background-color: #FFFFFF;
  box-shadow: 0 0 0 rgba(61, 110, 29, 0.3);
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #88D04B;
}
a.secondary-btn svg path, a.secondary-btn svg line, button.secondary-btn svg path, button.secondary-btn svg line {
  stroke: #88D04B;
}
a.secondary-btn .animated-bg-wrapper .animated-background, button.secondary-btn .animated-bg-wrapper .animated-background {
  background-color: #88D04B;
}
a.secondary-btn.disabled, button.secondary-btn.disabled {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}
a.secondary-btn.alt-colors, button.secondary-btn.alt-colors {
  border-color: #FFFFFF;
  background-color: transparent;
  color: #FFFFFF;
}
a.secondary-btn.alt-colors svg path, a.secondary-btn.alt-colors svg line, button.secondary-btn.alt-colors svg path, button.secondary-btn.alt-colors svg line {
  stroke: #FFFFFF;
}
a.secondary-btn.alt-colors .animated-bg-wrapper .animated-background, button.secondary-btn.alt-colors .animated-bg-wrapper .animated-background {
  background-color: #FFFFFF;
}
a.secondary-btn.alt-colors:not(.disabled):hover, a.secondary-btn.alt-colors:not(.disabled):focus, button.secondary-btn.alt-colors:not(.disabled):hover, button.secondary-btn.alt-colors:not(.disabled):focus {
  color: #3D6E1D;
}
a.secondary-btn.alt-colors:not(.disabled):hover svg path, a.secondary-btn.alt-colors:not(.disabled):hover svg line, a.secondary-btn.alt-colors:not(.disabled):focus svg path, a.secondary-btn.alt-colors:not(.disabled):focus svg line, button.secondary-btn.alt-colors:not(.disabled):hover svg path, button.secondary-btn.alt-colors:not(.disabled):hover svg line, button.secondary-btn.alt-colors:not(.disabled):focus svg path, button.secondary-btn.alt-colors:not(.disabled):focus svg line {
  stroke: #3D6E1D;
}
a.secondary-btn.disabled, button.secondary-btn.disabled {
  border-color: #A1A1AA;
  background-color: #FFFFFF;
  color: #A1A1AA;
}
a.secondary-btn:not(.disabled):hover, a.secondary-btn:not(.disabled):focus, button.secondary-btn:not(.disabled):hover, button.secondary-btn:not(.disabled):focus {
  box-shadow: 0 10px 20px rgba(61, 110, 29, 0.3);
  color: #FFFFFF;
}
a.secondary-btn:not(.disabled):hover svg path, a.secondary-btn:not(.disabled):hover svg line, a.secondary-btn:not(.disabled):focus svg path, a.secondary-btn:not(.disabled):focus svg line, button.secondary-btn:not(.disabled):hover svg path, button.secondary-btn:not(.disabled):hover svg line, button.secondary-btn:not(.disabled):focus svg path, button.secondary-btn:not(.disabled):focus svg line {
  stroke: #FFFFFF;
}
a.secondary-btn:not(.disabled):active, a.secondary-btn:not(.disabled):focus, button.secondary-btn:not(.disabled):active, button.secondary-btn:not(.disabled):focus {
  box-shadow: 0 5px 5px rgba(61, 110, 29, 0.3);
}
a.tertiary-btn, button.tertiary-btn {
  background: linear-gradient(90deg, #88D04B 33.3333333333%, transparent 0 66.6666666667%, #88D04B 0) var(--d, 100%) 100%/300% 1px no-repeat;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #88D04B;
}
a.tertiary-btn.green:not(.disabled):hover, a.tertiary-btn.green:not(.disabled):focus, button.tertiary-btn.green:not(.disabled):hover, button.tertiary-btn.green:not(.disabled):focus {
  background: linear-gradient(90deg, #3D6E1D 33.3333333333%, transparent 0 66.6666666667%, #3D6E1D 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #3D6E1D;
}
a.tertiary-btn.alt-colors, button.tertiary-btn.alt-colors {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.tertiary-btn.alt-colors:not(.disabled):hover, a.tertiary-btn.alt-colors:not(.disabled):focus, button.tertiary-btn.alt-colors:not(.disabled):hover, button.tertiary-btn.alt-colors:not(.disabled):focus {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.tertiary-btn.white, button.tertiary-btn.white {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.tertiary-btn.white:not(.disabled):hover, a.tertiary-btn.white:not(.disabled):focus, button.tertiary-btn.white:not(.disabled):hover, button.tertiary-btn.white:not(.disabled):focus {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.tertiary-btn:not(.disabled):hover, a.tertiary-btn:not(.disabled):focus, button.tertiary-btn:not(.disabled):hover, button.tertiary-btn:not(.disabled):focus {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.quartery-btn, button.quartery-btn {
  background: linear-gradient(90deg, #88D04B 33.3333333333%, transparent 0 66.6666666667%, #18181B 0) var(--d, 100%) 100%/300% 1px no-repeat;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
}
a.quartery-btn:not(.disabled):hover, a.quartery-btn:not(.disabled):focus, button.quartery-btn:not(.disabled):hover, button.quartery-btn:not(.disabled):focus {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
a.quartery-btn.alt-colors, button.quartery-btn.alt-colors {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.quartery-btn.alt-colors:not(.disabled):hover, a.quartery-btn.alt-colors:not(.disabled):focus, button.quartery-btn.alt-colors:not(.disabled):hover, button.quartery-btn.alt-colors:not(.disabled):focus {
  background: linear-gradient(90deg, #88D04B 33.3333333333%, transparent 0 66.6666666667%, #88D04B 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #88D04B;
}
a.primary-round-btn, button.primary-round-btn {
  background-color: #FFFFFF;
}
a.primary-round-btn svg path, a.primary-round-btn svg line, button.primary-round-btn svg path, button.primary-round-btn svg line {
  stroke: #3D6E1D;
}
a.primary-round-btn:hover, a.primary-round-btn:focus, button.primary-round-btn:hover, button.primary-round-btn:focus {
  box-shadow: 0 10px 20px rgba(61, 110, 29, 0.75);
}
a.primary-round-btn:active, a.primary-round-btn:focus, button.primary-round-btn:active, button.primary-round-btn:focus {
  box-shadow: 0 5px 5px rgba(61, 110, 29, 0.75);
}
a.secondary-round-btn, button.secondary-round-btn {
  background-color: transparent;
  border-color: #FFFFFF;
}
a.secondary-round-btn svg path, a.secondary-round-btn svg line, button.secondary-round-btn svg path, button.secondary-round-btn svg line {
  stroke: #FFFFFF;
}
a.secondary-round-btn:hover, a.secondary-round-btn:focus, button.secondary-round-btn:hover, button.secondary-round-btn:focus {
  background-color: #FFFFFF;
  box-shadow: 0 10px 20px rgba(61, 110, 29, 0.75);
}
a.secondary-round-btn:hover svg path, a.secondary-round-btn:hover svg line, a.secondary-round-btn:focus svg path, a.secondary-round-btn:focus svg line, button.secondary-round-btn:hover svg path, button.secondary-round-btn:hover svg line, button.secondary-round-btn:focus svg path, button.secondary-round-btn:focus svg line {
  stroke: #3D6E1D;
}
a.secondary-round-btn:active, a.secondary-round-btn:focus, button.secondary-round-btn:active, button.secondary-round-btn:focus {
  box-shadow: 0 5px 5px rgba(61, 110, 29, 0.75);
}

[type=checkbox]:not(:checked) + label,
[type=checkbox]:checked + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #3D6E1D;
}
[type=checkbox]:not(:checked) + label .animated-background,
[type=checkbox]:checked + label .animated-background {
  background-color: #F8FBF6;
}
[type=checkbox]:not(:checked) + label,
[type=checkbox]:checked + label {
  /* checkbox aspect */
}
[type=checkbox]:not(:checked) + label::before,
[type=checkbox]:checked + label::before {
  border-color: #A1A1AA;
  background: #FFFFFF;
}
[type=checkbox]:not(:checked):not(:disabled):hover + label::before, [type=checkbox]:not(:checked):not(:disabled):focus + label::before,
[type=checkbox]:checked:not(:disabled):hover + label::before,
[type=checkbox]:checked:not(:disabled):focus + label::before {
  border-color: #88D04B;
}
[type=checkbox]:not(:checked),
[type=checkbox]:checked {
  /* Disabled checkbox */
}
[type=checkbox]:not(:checked):disabled + label,
[type=checkbox]:checked:disabled + label {
  color: #A1A1AA;
}
[type=checkbox]:not(:checked):disabled + label::before,
[type=checkbox]:checked:disabled + label::before {
  border-color: #A1A1AA;
  background-color: #FFFFFF;
}
[type=checkbox]:not(:checked):checked + label::before,
[type=checkbox]:checked:checked + label::before {
  background-color: #88D04B;
  border-color: #88D04B;
}
[type=checkbox]:not(:checked):checked:focus + label::before,
[type=checkbox]:checked:checked:focus + label::before {
  border-color: #A1A1AA;
}

[type=radio]:not(:checked) + label,
[type=radio]:checked + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
}
[type=radio]:not(:checked) + label .animated-background,
[type=radio]:checked + label .animated-background {
  background-color: rgba(161, 161, 170, 0.08);
}
[type=radio]:not(:checked) + label,
[type=radio]:checked + label {
  /* checkbox aspect */
}
[type=radio]:not(:checked) + label::before,
[type=radio]:checked + label::before {
  border-color: #A1A1AA;
  background: #FFFFFF;
}
[type=radio]:not(:checked) + label::after,
[type=radio]:checked + label::after {
  background: #88D04B;
}
[type=radio]:not(:checked):not(:disabled):hover + label::before, [type=radio]:not(:checked):not(:disabled):focus + label::before,
[type=radio]:checked:not(:disabled):hover + label::before,
[type=radio]:checked:not(:disabled):focus + label::before {
  border-color: #88D04B;
}
[type=radio]:not(:checked),
[type=radio]:checked {
  /* Disabled checkbox */
}
[type=radio]:not(:checked):disabled + label,
[type=radio]:checked:disabled + label {
  color: #A1A1AA;
}
[type=radio]:not(:checked):disabled + label::before,
[type=radio]:checked:disabled + label::before {
  border-color: #A1A1AA;
  background-color: #FFFFFF;
}
[type=radio]:not(:checked):checked + label::before,
[type=radio]:checked:checked + label::before {
  border-color: #88D04B;
}
[type=radio]:not(:checked):checked:focus + label::before,
[type=radio]:checked:checked:focus + label::before {
  border-color: #A1A1AA;
}

.checkbox-error {
  color: #fa000a;
}
.checkbox-error .exclamation-icon {
  background-color: #fa000a;
  color: #FFFFFF;
}

select.select2-hidden-accessible {
  visibility: hidden;
}

[type=text], [type=number], [type=tel], [type=email], [type=password], [type=email], select, textarea {
  border-bottom-color: #A1A1AA;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #18181B;
  caret-color: #18181B;
  -moz-appearance: textfield;
}
[type=text]::-webkit-outer-spin-button, [type=text]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button, [type=number]::-webkit-inner-spin-button, [type=tel]::-webkit-outer-spin-button, [type=tel]::-webkit-inner-spin-button, [type=email]::-webkit-outer-spin-button, [type=email]::-webkit-inner-spin-button, [type=password]::-webkit-outer-spin-button, [type=password]::-webkit-inner-spin-button, [type=email]::-webkit-outer-spin-button, [type=email]::-webkit-inner-spin-button, select::-webkit-outer-spin-button, select::-webkit-inner-spin-button, textarea::-webkit-outer-spin-button, textarea::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
[type=text].form-control + label, [type=number].form-control + label, [type=tel].form-control + label, [type=email].form-control + label, [type=password].form-control + label, [type=email].form-control + label, select.form-control + label, textarea.form-control + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
}
[type=text].form-control ~ .invalid-feedback .exclamation-icon, [type=number].form-control ~ .invalid-feedback .exclamation-icon, [type=tel].form-control ~ .invalid-feedback .exclamation-icon, [type=email].form-control ~ .invalid-feedback .exclamation-icon, [type=password].form-control ~ .invalid-feedback .exclamation-icon, [type=email].form-control ~ .invalid-feedback .exclamation-icon, select.form-control ~ .invalid-feedback .exclamation-icon, textarea.form-control ~ .invalid-feedback .exclamation-icon {
  background-color: #fa000a;
  color: #FFFFFF;
}
[type=text].form-control:focus, [type=number].form-control:focus, [type=tel].form-control:focus, [type=email].form-control:focus, [type=password].form-control:focus, [type=email].form-control:focus, select.form-control:focus, textarea.form-control:focus {
  color: #3D6E1D;
  border-color: #88D04B;
}
[type=text].form-control:focus + label, [type=number].form-control:focus + label, [type=tel].form-control:focus + label, [type=email].form-control:focus + label, [type=password].form-control:focus + label, [type=email].form-control:focus + label, select.form-control:focus + label, textarea.form-control:focus + label {
  color: #88D04B;
}
[type=text].form-control.is-invalid, [type=number].form-control.is-invalid, [type=tel].form-control.is-invalid, [type=email].form-control.is-invalid, [type=password].form-control.is-invalid, [type=email].form-control.is-invalid, select.form-control.is-invalid, textarea.form-control.is-invalid {
  border-color: #fa000a;
}
[type=text].form-control.is-invalid + label, [type=number].form-control.is-invalid + label, [type=tel].form-control.is-invalid + label, [type=email].form-control.is-invalid + label, [type=password].form-control.is-invalid + label, [type=email].form-control.is-invalid + label, select.form-control.is-invalid + label, textarea.form-control.is-invalid + label {
  color: #fa000a;
}
[type=text].form-control.is-invalid ~ .select2-container .select2-selection, [type=number].form-control.is-invalid ~ .select2-container .select2-selection, [type=tel].form-control.is-invalid ~ .select2-container .select2-selection, [type=email].form-control.is-invalid ~ .select2-container .select2-selection, [type=password].form-control.is-invalid ~ .select2-container .select2-selection, [type=email].form-control.is-invalid ~ .select2-container .select2-selection, select.form-control.is-invalid ~ .select2-container .select2-selection, textarea.form-control.is-invalid ~ .select2-container .select2-selection {
  border-bottom-color: #fa000a;
}
[type=text].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=number].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=tel].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=email].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=password].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=email].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, select.form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, textarea.form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b {
  background-image: url("../images/dropdown-arrow-error@2x.png");
}
[type=text].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=number].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=tel].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=email].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=password].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=email].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, select.form-control.is-invalid ~ .select2-container .select2-selection__placeholder, textarea.form-control.is-invalid ~ .select2-container .select2-selection__placeholder {
  color: #fa000a !important;
}
[type=text].form-control.alt-colors, [type=number].form-control.alt-colors, [type=tel].form-control.alt-colors, [type=email].form-control.alt-colors, [type=password].form-control.alt-colors, [type=email].form-control.alt-colors, select.form-control.alt-colors, textarea.form-control.alt-colors {
  border-color: #FFFFFF;
  color: #FFFFFF;
  caret-color: #FFFFFF;
}
[type=text].form-control.alt-colors + label, [type=number].form-control.alt-colors + label, [type=tel].form-control.alt-colors + label, [type=email].form-control.alt-colors + label, [type=password].form-control.alt-colors + label, [type=email].form-control.alt-colors + label, select.form-control.alt-colors + label, textarea.form-control.alt-colors + label {
  color: #FFFFFF;
}
[type=text].form-control.alt-colors:focus, [type=number].form-control.alt-colors:focus, [type=tel].form-control.alt-colors:focus, [type=email].form-control.alt-colors:focus, [type=password].form-control.alt-colors:focus, [type=email].form-control.alt-colors:focus, select.form-control.alt-colors:focus, textarea.form-control.alt-colors:focus {
  border-color: #FFFFFF;
}
[type=text].form-control.alt-colors.is-invalid, [type=number].form-control.alt-colors.is-invalid, [type=tel].form-control.alt-colors.is-invalid, [type=email].form-control.alt-colors.is-invalid, [type=password].form-control.alt-colors.is-invalid, [type=email].form-control.alt-colors.is-invalid, select.form-control.alt-colors.is-invalid, textarea.form-control.alt-colors.is-invalid {
  border-color: #FFFFFF;
}
[type=text].form-control.alt-colors.is-invalid + label, [type=number].form-control.alt-colors.is-invalid + label, [type=tel].form-control.alt-colors.is-invalid + label, [type=email].form-control.alt-colors.is-invalid + label, [type=password].form-control.alt-colors.is-invalid + label, [type=email].form-control.alt-colors.is-invalid + label, select.form-control.alt-colors.is-invalid + label, textarea.form-control.alt-colors.is-invalid + label {
  color: #FFFFFF;
}
[type=text].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=number].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=tel].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=email].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=password].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=email].form-control.alt-colors.is-invalid ~ .invalid-feedback, select.form-control.alt-colors.is-invalid ~ .invalid-feedback, textarea.form-control.alt-colors.is-invalid ~ .invalid-feedback {
  color: #E32033;
}
[type=text].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=number].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=tel].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=email].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=password].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=email].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, select.form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, textarea.form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon {
  background-color: #E32033;
  color: #fff;
}

.form-floating textarea.form-control {
  border-color: #A1A1AA;
  caret-color: #88D04B;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #3D6E1D;
}
.form-floating textarea.form-control + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #A1A1AA;
  background-color: #FFFFFF;
}
.form-floating textarea.form-control:focus {
  border-color: #88D04B;
}
.form-floating textarea.form-control:focus + label {
  color: #88D04B;
}

.select-label .select-label-content {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #A1A1AA;
}

.select2-container .select2-selection {
  border-bottom-color: #A1A1AA;
}
.select2-container .select2-selection .select2-selection__rendered {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #88D04B;
}
.select2-container .select2-selection .select2-selection__rendered .select2-selection__placeholder {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}
.select2-container .select2-selection .select2-selection__arrow b {
  background-image: url("../images/dropdown-arrow@2x.png");
}
.select2-container .select2-results__options {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16);
}
.select2-container .select2-results__options .select2-results__option {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #52525B;
}
.select2-container .select2-results__options .select2-results__option.select2-results__option--selected {
  background-color: #FFFFFF;
}
.select2-container .select2-results__options .select2-results__option.select2-results__option--highlighted {
  background-color: #E4E4E7;
}
.select2-container.select2-container--open .select2-selection {
  border-bottom-color: #88D04B;
}

aside.aside-locations {
  background: #88D04B;
}
aside.aside-locations h3 {
  color: #FFFFFF;
}
aside.aside-locations [type=text] {
  border-bottom-color: #FFFFFF;
  color: #FFFFFF;
  caret-color: #FFFFFF;
}
aside.aside-locations [type=text]:focus {
  color: #FFFFFF;
}
aside.aside-locations [type=text].form-control + label {
  color: #FFFFFF;
}
aside.aside-locations .actions div {
  border: 1px solid #FFFFFF;
}
aside.aside-locations .actions div svg g > * {
  stroke: #FFFFFF;
}
aside.aside-locations .actions div:hover {
  background-color: #FFFFFF;
  border-color: #FFFFFF;
}
aside.aside-locations .actions div:hover svg g > * {
  stroke: #3D6E1D;
}
aside.aside-locations .location.active {
  background-color: #FFFFFF;
  box-shadow: 0 0 0 100vmax #FFFFFF;
  border-bottom: 1px solid #FFFFFF;
}
aside.aside-locations .location.active .infos {
  color: #3D6E1D;
}
aside.aside-locations .location.active .infos .icon span {
  color: #FFFFFF;
}
aside.aside-locations .location.active .select-location a {
  color: #3D6E1D;
}
aside.aside-locations .location.active .select-location a:hover {
  color: #3D6E1D;
}
aside.aside-locations .location:not(:last-child) {
  border-bottom: 1px solid #88D04B;
}
aside.aside-locations .location .infos {
  color: #FFFFFF;
}
aside.aside-locations .location .select-location a {
  color: #FFFFFF;
}
aside.aside-locations .location .select-location a:hover {
  color: #FFFFFF;
}
@media (max-width: 1023.98px) {
  aside.mobile-overlay .thumb:before {
    background: #FFFFFF;
  }
}

.add-child {
  background-color: #CAEEA8;
}

.checkout-confirmation .content .order {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.checkout-confirmation .check-instructions .thanks {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .checkout-confirmation .check-instructions {
    border-top: 1px solid #E4E4E7;
  }
  .checkout-confirmation .check-instructions .text, .checkout-confirmation .check-instructions .notice {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
  }
}

.checkout-form {
  background-color: #FFFFFF;
}
.checkout-form .has-top-border {
  border-top: 1px solid #E4E4E7;
}
.checkout-form h2 .text {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}
.checkout-form .text, .checkout-form .bold {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.checkout-form .separator {
  background-color: #E4E4E7;
}
.checkout-form .form-check [type=radio]:not(:checked) + label,
.checkout-form .form-check [type=radio]:checked + label,
.checkout-form .form-check .info-label,
.checkout-form .form-check .floating-elem {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.checkout-form .form-check input:disabled ~ .info, .checkout-form .form-check input:disabled ~ .info-label, .checkout-form .form-check input:disabled ~ .floating-elem {
  color: #A1A1AA;
}
.checkout-form .form-check .floating-elem {
  color: #52525B;
}
.checkout-form .form-check .floating-elem.pictures .payment-method.active {
  border-color: #88D04B;
}
.checkout-form .select-label .select2-selection__placeholder {
  color: #18181B;
}
.checkout-form .select-label .select2-selection__rendered {
  color: #18181B;
}

.checkout-review .has-bottom-border {
  border-bottom: 1px solid #E4E4E7;
  padding-bottom: 1.875rem;
}
.checkout-review .has-top-border {
  border-top: 1px solid #E4E4E7;
  padding-top: 1.5rem;
}
.checkout-review .content {
  background-color: #FFFFFF;
}
.checkout-review .extra-info .is-small {
  color: #18181B;
}
.checkout-review .extra-info .total .price.is-free {
  color: #88D04B;
}
.checkout-review .extra-info .total .tip {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.checkout-review .review-part.is-shipping .elem .label, .checkout-review .review-part.is-payment .elem .label {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
@media (max-width: 767.98px) {
  .checkout-review .has-bottom-border {
    padding-bottom: 1.4375rem;
  }
  .checkout-review .has-top-border {
    padding-top: 1.25rem;
  }
}

.child-tile .package {
  background-color: #FFFFFF;
}
.child-tile .package-summary .qty span, .child-tile .package-summary .original-price {
  color: #18181B;
}
.child-tile .package-summary .qty .select2-container .select2-selection .select2-selection__arrow b {
  background-image: url("../images/dropdown-arrow-colored@2x.png");
}
.child-tile .package-summary .price.is-free {
  color: #88D04B;
}
.child-tile .package-summary .tip {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}

.club-subscription {
  background-color: #FFFFFF;
}
.club-subscription .bottom {
  border-top: 1px solid #E4E4E7;
}
.club-subscription .bottom .price {
  color: #88D04B;
}

.letter-animation svg rect,
.letter-animation svg path,
.letter-animation svg line {
  stroke: #3D6E1D;
}
.letter-animation svg ellipse {
  stroke: none;
}
.letter-animation svg rect,
.letter-animation svg path,
.letter-animation svg ellipse {
  fill: #D3E6EC;
}
.letter-animation .checkmark rect,
.letter-animation .checkmark path,
.letter-animation .checkmark ellipse {
  fill: #22C55E;
}
.letter-animation .checkmark path {
  stroke: #fff;
}
.letter-animation:after {
  background-color: #F4F4F5;
}

.package-part.is-review .part-content {
  border: none;
}
.package-part:not(.is-review) {
  border-bottom: 1px solid #E4E4E7;
}
.package-part .package-title .description {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}
.package-part .img-wrapper {
  border: 1px solid #E4E4E7;
}
.package-part .img-wrapper .extra-poses {
  background-color: #88D04B;
  color: #FFFFFF;
}
.package-part .label {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
.package-part .layout-img {
  border: 1px solid #E4E4E7;
}

.summary .detail.is-bold .label, .summary .detail.is-bold .value {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
.summary .detail.is-highligthed .value {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #88D04B;
}
.summary .detail.final-total {
  border-top: 1px solid #E4E4E7;
}
.summary .need-help a {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.summary .promises p {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}

.survey-form {
  background-color: #FFFFFF;
}
.survey-form .experience .field label {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.survey-form .error {
  color: #fa000a;
}
.survey-form .thanks .checkmark-icon {
  background-color: #88D04B;
}

.popup {
  background: rgba(0, 0, 0, 0.75);
}
.popup .popup-wrapper {
  background: #FFFFFF;
}
.popup .popup-wrapper .popup-close-btn svg line {
  stroke: #3D6E1D;
}
.popup .popup-wrapper .popup-content .title {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}

.type-background .pictures-list .img-wrapper:hover .background, .type-background .pictures-list .img-wrapper.selected .background {
  border-color: #88D04B;
}
.type-background .pictures-list .img-wrapper:hover .background-name, .type-background .pictures-list .img-wrapper:hover .background-price, .type-background .pictures-list .img-wrapper:hover .premium-price, .type-background .pictures-list .img-wrapper.selected .background-name, .type-background .pictures-list .img-wrapper.selected .background-price, .type-background .pictures-list .img-wrapper.selected .premium-price {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #18181B;
}
.type-background .pictures-list .img-wrapper.load-more p {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #A1A1AA;
}
.type-background .pictures-list .img-wrapper:hover, .type-background .pictures-list .img-wrapper.favorited {
  color: #18181B;
}
.type-background .pictures-list .img-wrapper:hover .favorite, .type-background .pictures-list .img-wrapper.favorited .favorite {
  background-image: url("../images/customize/favorite-icon-filled.png");
}
.type-background .pictures-list .img-wrapper .favorite {
  background-image: url("../images/customize/favorite-icon-outline.png");
  background-size: 20px auto;
  background-position: center center;
  background-repeat: no-repeat;
}
.type-background .pictures-list .img-wrapper .background {
  border-color: transparent;
}
.type-background .pictures-list .img-wrapper .background-name {
  color: #A1A1AA;
}
@media (max-width: 1023.98px) {
  .type-background .pictures-list .img-wrapper .favorite {
    background-size: 15px auto;
  }
  .type-background .pictures-list .img-wrapper:hover .favorite, .type-background .pictures-list .img-wrapper.favorited .favorite {
    background-image: url("../images/customize/favorite-icon-filled.png");
  }
  .type-background .pictures-list .img-wrapper .favorite {
    background-image: url("../images/customize/favorite-icon-outline.png");
  }
}

.type-grades .select2-selection__placeholder {
  color: #A1A1AA !important;
}
.type-grades .select2-selection__rendered {
  color: #3D6E1D !important;
}

.type-layout .layouts-list .layout-wrapper {
  border: 1px solid #E4E4E7;
}
.type-layout .layouts-list .layout-wrapper:hover, .type-layout .layouts-list .layout-wrapper.selected {
  border: 3px solid #88D04B;
}
.type-layout .layouts-list .layout-wrapper:hover ~ .label, .type-layout .layouts-list .layout-wrapper.selected ~ .label {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #18181B;
}
.type-layout .layouts-list .layout-display {
  border-top: 1px solid #A1A1AA;
  border-right: 1px solid #A1A1AA;
}
.type-layout .layouts-list .layout-display .cell {
  border-bottom: 1px solid #A1A1AA;
  border-left: 1px solid #A1A1AA;
}
.type-layout .layouts-list .layout-display .cell .bg {
  background-color: #A1A1AA;
}

.type-phone .select2-selection__placeholder {
  color: #A1A1AA !important;
}
.type-phone .select2-selection__rendered {
  color: #3D6E1D !important;
}

.type-pose .pictures-list .img-wrapper {
  border-color: transparent;
}
.type-pose .pictures-list .img-wrapper:hover, .type-pose .pictures-list .img-wrapper.selected {
  border-color: #88D04B;
}
.type-pose .pictures-list .img-wrapper:hover img, .type-pose .pictures-list .img-wrapper.selected img {
  border-color: #88D04B;
}
.type-pose .pictures-list .img-wrapper i {
  background: #88D04B;
}
.type-pose .pictures-list .img-wrapper img {
  border-color: #E4E4E7;
  border-width: 2px;
}

.downloads .download-link a {
  color: #529621;
}
.downloads .download-link a svg, .downloads .download-link a svg * {
  width: 32px;
  height: 32px;
  aspect-ratio: 1/1;
  fill: #529621;
}
.downloads .download-link a:hover {
  color: #3D6E1D;
}
.downloads .download-link a:hover svg, .downloads .download-link a:hover svg * {
  fill: #3D6E1D;
}

.login {
  background-color: #fff;
}
.login .login-nav .login-nav-element.selected {
  border-bottom: 2px solid #529621;
}
.login .login__title {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.login .remove-code svg * {
  stroke: #18181B;
}
.login .form-login .login-codes:focus {
  border: 1px solid var(--darker-primary-color, #3D6E1D);
  background: var(--white, #FFF) !important;
  box-shadow: 0px 1px 4px 0px #88D04B;
}
.login .login__add-code-btn {
  color: #529621;
  border: 1px solid #529621;
}
.login .login__add-code-btn:hover {
  background: var(--NanC-Light-primary, #F8FBF6);
  /* hover shadow */
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
}
.login .login__add-code-btn:active {
  background: #529621;
}
.login .form-login__submit {
  background: #529621;
  border: 1px solid #529621;
}
.login .form-login__submit:hover {
  background: var(--NanC-Hover, #88D04B);
}
.login .form-login__submit:active {
  background: #529621;
}

.package-tile .link:hover ~ .package, .package-tile .link:hover ~ .price {
  color: #88D04B;
}
.package-tile .link:hover ~ .name {
  color: #3D6E1D;
}
.package-tile .img-wrapper {
  background-color: #F8FBF6;
}

.animated-curve .background {
  background-color: #3D6E1D;
}

.header-map {
  border-bottom: 1px solid #E4E4E7;
  background-color: #FFFFFF;
}
.header-map span.close-overlay svg line {
  stroke: #18181B;
}

header.checkout {
  background: #FFFFFF;
  border-bottom: 1px solid #E4E4E7;
  padding-bottom: 0 !important;
}
header.checkout .logo {
  padding-bottom: 16px;
}
header.checkout .checkout-nav {
  color: #A1A1AA;
  /* Label/Label medium */
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 125% */
  text-transform: capitalize;
  /* Label/Label medium */
}
header.checkout .checkout-nav ul li a, header.checkout .checkout-nav ul li p {
  color: #52525B;
  padding-bottom: 16px;
}
header.checkout .checkout-nav ul li.active a, header.checkout .checkout-nav ul li.active p {
  font-weight: 600;
  color: #18181B;
}
header.checkout .checkout-nav ul li.active a::after, header.checkout .checkout-nav ul li.active p::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
  height: 2px;
  background-color: #18181B;
}
header.checkout .checkout-nav ul li.completed a, header.checkout .checkout-nav ul li.completed p {
  font-weight: 600;
  color: #18181B;
}
header.checkout .checkout-nav ul li.completed i.caret svg * {
  stroke: #18181B;
}
header.checkout .checkout-nav ul li i.completed-icon {
  top: 14px !important;
}
@media (max-width: 1023.98px) {
  header.checkout .checkout-nav ul li i.completed-icon {
    top: 32px !important;
  }
}
header.checkout .checkout-nav ul li i.completed-icon {
  background-color: #22C55E;
}
header.checkout .checkout-nav ul li i.caret {
  margin-bottom: 16px;
}
header.checkout .checkout-nav ul li i.caret svg * {
  stroke: #A1A1AA;
}
@media (max-width: 1023.98px) {
  header.checkout .header-container .checkout-nav ul {
    border-top: 1px solid #E4E4E7;
    border-bottom: 1px solid #E4E4E7;
  }
  header.checkout .header-container .checkout-nav ul li a {
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
  }
}
.checkout-page-content {
  background-color: #FAFAFA;
}
.checkout-page-content .newsletter-signup, .checkout-page-content .add-webcode {
  background: #CAEEA8;
  border: 2px solid #88D04B;
}

.bg-shipping-badge {
  background-color: #CAEEA8;
  color: #52525B;
}

.upsell-cta-buttons {
  padding-top: 24px;
}

.aside-customize {
  background: #FAFAFA;
  border-color: #E4E4E7;
}
.aside-customize .step {
  color: #52525B;
}
.aside-customize .step .step-title {
  color: #52525B;
  font-size: 14px;
  font-weight: 400;
}
.aside-customize .step svg path {
  stroke: #52525B;
}
.aside-customize .step svg circle {
  stroke: #52525B;
}
.aside-customize .step svg line {
  stroke: #52525B;
}
.aside-customize .step .error-icon svg circle, .aside-customize .step .error-icon svg path {
  fill: #fa000a;
}
@media (min-width: 1024px) {
  .aside-customize .step.active {
    background: #F8FBF6;
  }
  .aside-customize .step.active:hover {
    background: #F8FBF6;
  }
}

.header-customize {
  background: #FFFFFF;
  border-bottom: 1px solid #E4E4E7;
}
.header-customize .navigation h1 {
  color: #18181B;
}
.header-customize .navigation ul li {
  color: #A1A1AA;
}
.header-customize .navigation ul li.active {
  color: #A1A1AA;
}
.header-customize .navigation ul li.active p {
  color: #18181B;
}
.header-customize .navigation ul li.completed {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  opacity: 0.9;
}
.header-customize .navigation ul li.completed i.caret svg * {
  stroke: #88D04B;
}
.header-customize .navigation ul li.completed.active {
  opacity: 1;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
.header-customize .navigation ul li i.completed-icon {
  background-color: #88D04B;
}
.header-customize .navigation ul li i.caret svg * {
  stroke: #A1A1AA;
}
.header-customize .prices .total {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-weight: 600;
  color: #18181B;
}
.header-customize .prices .donation {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #52525B;
}
@media (max-width: 1023.98px) {
  .header-customize {
    background: none;
  }
  .header-customize .navigation {
    background: #FFFFFF;
  }
  .header-customize .navigation ul {
    background: #FFFFFF;
  }
}
@media (max-width: 1023.98px) {
  .mobile-nav {
    border-color: #E4E4E7;
    background: var(--primary-green, #88D04B);
    justify-content: center;
    padding: 0;
  }
  .mobile-nav .prices {
    color: #88D04B;
  }
  .mobile-nav .prices .total {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
  }
  .mobile-nav .prices .donation {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
  }
  .mobile-nav .tertiary-button {
    display: flex;
    width: 300px;
    height: 56px;
    padding: 8px 20px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    border-radius: 20px;
    border: 1px solid #529621;
    background: var(--white, #FFF);
  }
  .mobile-nav .tertiary-button span {
    color: #529621;
    /* Big button style */
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
  .mobile-nav .tertiary-button svg {
    margin-left: 0;
  }
  .mobile-nav .tertiary-button svg path {
    stroke: #529621;
  }
  .mobile-nav .tertiary-button svg line {
    stroke: #529621;
  }
  .mobile-nav .tertiary-button :hover, .mobile-nav .tertiary-button :focus {
    background: #EFEFEF;
    /* hover shadow */
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
    color: #529621;
  }
  .mobile-nav .tertiary-button:hover, .mobile-nav .tertiary-button:focus {
    background: #EFEFEF;
    /* hover shadow */
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
    color: #529621;
  }
}

.preview-customize {
  background-color: #FFF;
}
.preview-customize .preview-montage {
  background: #FAFAFA;
}
.preview-customize .preview-montage.has-bg .image-wrapper img {
  background-color: transparent;
}
.preview-customize .preview-montage .image-wrapper img {
  background-color: #EFEFEF;
  border-radius: 8px;
}
.preview-customize .preview-montage .random-background i {
  border-color: #88D04B;
}
.preview-customize .preview-montage .random-background i:before {
  background-color: #88D04B;
}
.preview-customize .preview-montage .random-background i svg .svg-background {
  fill: #88D04B;
}
.preview-customize .preview-montage .random-background span {
  color: #88D04B;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
@media (max-width: 1023.98px) {
  .preview-customize .preview-montage {
    background: #ffffff;
  }
  .preview-customize .preview-montage .included-formats .top h5 {
    color: #A1A1AA;
  }
  .preview-customize .preview-montage .included-formats .top h5 span.is-mobile {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
  }
  .preview-customize .preview-montage .included-formats .top .tertiary-btn:hover, .preview-customize .preview-montage .included-formats .top .tertiary-btn:focus {
    color: #88D04B !important;
    background: linear-gradient(90deg, #88D04B 33.3333333333%, transparent 0 66.6666666667%, #88D04B 0) var(--d, 100%) 100%/300% 1px no-repeat;
  }
}
.tools-customize {
  background: #FFFFFF;
}
.tools-customize:after {
  background: #FFFFFF;
}
.tools-customize .tools-content .error {
  color: #fa000a;
}
@media (max-width: 1023.98px) {
  .tools-customize {
    background: transparent;
  }
}
.footer {
  padding-top: 32px;
}
.footer .footer__wrapper.is-main-content {
  background-color: #2D4B1C;
  color: #FFFFFF;
}
.footer .footer__wrapper.is-main-content a {
  color: currentColor;
}
.footer .footer__wrapper.is-main-content a:hover, .footer .footer__wrapper.is-main-content a:focus {
  color: #FFFFFF;
}
.footer .footer-advantage {
  background-color: #88D04B;
  color: #FFFFFF;
}
.footer .footer-advantage .footer-advantage__text {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.footer .footer-socials .footer-socials__link:hover svg rect, .footer .footer-socials .footer-socials__link:focus svg rect {
  fill: #FFFFFF;
}
.footer .footer-socials .footer-socials__link:hover svg > g, .footer .footer-socials .footer-socials__link:focus svg > g {
  fill: #FFFFFF;
}
.footer .footer-socials .footer-socials__link:hover svg > path, .footer .footer-socials .footer-socials__link:focus svg > path {
  fill: #3D6E1D;
}
.footer .footer__website {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.footer .footer-nav .footer-nav__link {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
@media (max-width: 1023.98px) {
  .footer .footer-contacts .footer-contacts__link {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
  }
}

.header-category {
  background-color: #F8FBF6;
}
.header-category.open .selected-session-selector,
.header-category.open .scrolling-wrapper {
  background-color: #FFFFFF;
}
.header-category .scrolling-wrapper {
  filter: drop-shadow(0px 8px 30px rgba(0, 0, 0, 0.16));
}
.header-category .scrolling-wrapper .scroll:before {
  background: linear-gradient(rgb(255, 255, 255) 10%, rgba(255, 255, 255, 0) 100%);
}
.header-category .scrolling-wrapper .scroll:after {
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}
.header-category .scrolling-wrapper .nano-pane {
  background: #F8FBF6;
}
.header-category .scrolling-wrapper .nano-pane .nano-slider {
  background: #88D04B;
}
.header-category .session-selector, .header-category .selected-session-selector {
  color: #52525B;
}
.header-category .session-selector:hover .name, .header-category .selected-session-selector:hover .name {
  color: #18181B;
}
.header-category .session-selector:hover .session-name, .header-category .selected-session-selector:hover .session-name {
  color: #18181B;
}
.header-category .session-selector .img-wrapper, .header-category .selected-session-selector .img-wrapper {
  background-color: #FFFFFF;
  box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
}

.support-mode-banner {
  display: flex;
  height: 56px;
  padding: 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: var(--color-Status-Info-colorInfoActive, #2563EB);
  color: var(--white, #FFF);
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 125% */
  text-transform: uppercase;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}
.messages.support-mode + .support-mode-banner {
  top: 49px;
}

.seasonal-promo-banner {
  border: 1px solid #CAEEA8;
}
.seasonal-promo-banner .promo-column1 .promo-title {
  color: #529621;
}
.seasonal-promo-banner .promo-column1 .promo-description {
  color: #529621;
}
.seasonal-promo-banner {
  background: linear-gradient(180deg, #FFF 79.35%, #CAEEA8 79.36%);
}

.seasonal-promo-banner-promo-page {
  background: #F8FBF6;
}
.seasonal-promo-banner-promo-page .promo-title {
  color: #529621;
}
.seasonal-promo-banner-promo-page .promo-description {
  color: #529621;
}

header.connected {
  background-color: var(--white, #FFF);
  border-bottom: 1px solid #A1A1AA;
  padding-bottom: 18px;
}
header.support-mode {
  margin-top: 50px;
}
header a.main-header-link {
  color: #52525B;
  position: relative;
}
header a.main-header-link.selected {
  border: 0;
  font-weight: 600;
}
header a.main-header-link.selected::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
  height: 2px;
  background-color: #18181B;
}
header a.main-header-link:hover {
  color: #18181B;
}
header a.main-header-link:active {
  color: #18181B;
}
header a.main-header-link.inactive {
  color: #A1A1AA;
}
header nav ul li.cart-icon a span.item-count {
  background-color: #18181B;
}
header {
  background-color: #529621;
  color: var(--white, #FFF);
  padding-top: 20px;
  padding-left: 50px;
  padding-right: 50px;
}
header .header-info {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 40px;
  font-size: 14px;
  line-height: normal;
}
header .header-info p {
  margin-bottom: 0 !important;
}
header .header-info .lang-switch {
  display: flex;
  width: 32px;
  height: 32px;
  padding: 7.5px 6px;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #EFEFEF;
  background: #529621;
}
header .header-info .lang-switch:hover {
  border: 1px solid var(--white, #FFF);
  background: var(--primary-green, #88D04B);
}
header .header-info .lang-switch:hover a {
  color: var(--white, #FFF);
}
header .header-info .lang-switch a {
  color: #EFEFEF;
}
header .header-info .lang-switch a:hover, header .header-info .lang-switch a:focus {
  color: var(--white, #FFF);
}
header .header-info .lang-switch.connected {
  border: 1px solid #529621;
  background: var(--white, #FFF);
}
header .header-info .lang-switch.connected a {
  color: #529621;
}
header .header-info .lang-switch.connected {
  background: #FFF;
}
header .header-info .lang-switch.connected:hover, header .header-info .lang-switch.connected:focus {
  background: var(--primary-green, #88D04B);
}
header .header-info .lang-switch.connected:hover a, header .header-info .lang-switch.connected:focus a {
  color: var(--white, #FFF);
}
header nav ul li a {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  line-height: normal;
}
header nav ul li a:hover, header nav ul li a:focus {
  color: #FFFFFF;
}
header nav ul li.active a {
  color: #FFF;
}
header nav ul li.active a svg path, header nav ul li.active a svg line {
  stroke: #FFF;
}
header nav ul li.cart-link-wrapper span {
  color: #FFFFFF;
  background-color: #fa000a;
}
header nav ul li .header-logout {
  font-weight: 500 !important;
  font-size: 14px !important;
}

.hero-default {
  background-color: #88D04B;
  color: #FFFFFF;
}

.hero-home {
  background: linear-gradient(180deg, #529621 55.5%, #88D04B 100%);
  color: #FFFFFF;
}
@media (max-width: 1023.98px) {
  .hero-home {
    padding-top: 64px;
  }
}
.hero-home .col-12 button.login__add-code-btn, .hero-home .col-md-12 button.login__add-code-btn {
  width: 100%;
  margin-bottom: 20px;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.hero-home .col-12 button.login__add-code-btn svg line, .hero-home .col-md-12 button.login__add-code-btn svg line {
  stroke: #529621;
}
.hero-home .col-12 button.form-login__submit, .hero-home .col-md-12 button.form-login__submit {
  width: 100%;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.hero-welcome {
  background: #fff;
}
@media (max-width: 1023.98px) {
  .hero-welcome .mobile-add-code {
    background-color: #F8FBF6;
  }
}
.hero-welcome {
  color: #18181B;
}
.hero-welcome .nav-pills .nav-link.active, .hero-welcome .nav-pills .show > .nav-link {
  border: 1px solid #88D04B;
  border-radius: 12px;
}
.hero-welcome .secondary-round-btn.slick-disabled {
  box-shadow: none;
  background-color: transparent;
  border: 1px solid #FFFFFF;
}
.hero-welcome .secondary-round-btn.slick-disabled svg path, .hero-welcome .secondary-round-btn.slick-disabled svg line {
  stroke: #FFFFFF;
}
.hero-welcome .add-codes-wrapper.expanded .content {
  background: #CAEEA8;
}
.hero-welcome .add-codes-wrapper .content {
  background: #88D04B;
}
.hero-welcome .add-codes-wrapper .content .texts {
  color: #3D6E1D !important;
}
.hero-welcome .add-codes-wrapper .content .codes input {
  color: #3D6E1D !important;
  border-color: var(--mid-gri, #18181B);
  text-transform: uppercase;
}
.hero-welcome .add-codes-wrapper .content .codes label {
  color: var(--mid-gri, #18181B);
}
.hero-welcome .datacards .datacard {
  position: relative;
}
.hero-welcome .datacards .datacard .photos {
  background: #fff;
  margin-bottom: 16px;
  border-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(1) {
  border-top-left-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(2) {
  border-top-right-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(3) {
  border-bottom-left-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(4) {
  border-bottom-right-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(2), .hero-welcome .datacards .datacard .photo-container:nth-child(3) {
  background: #FFFFFF;
}
.hero-welcome .datacards .datacard .photo-container .more {
  font-size: 2.25rem;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #3D6E1D;
}

.image-text .row:after {
  background-color: #18181B;
}
.image-text .row .col-texts * {
  color: #18181B;
}

.messages .message.is-info .close-btn svg line, .messages .message.is-warning .close-btn svg line {
  stroke: #3D6E1D;
}
.messages .message.is-error .close-btn svg line, .messages .message.is-success .close-btn svg line {
  stroke: #FFFFFF;
}
.messages .message.is-info {
  background: #CAEEA8;
}
.messages .message.is-warning {
  background: #FFFFFF;
}
.messages .message.is-error {
  background: #fa000a;
  color: #FFFFFF;
}
.messages .message.is-success {
  background: #3D6E1D;
  color: #FFFFFF;
}
.messages .message p {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.messages .message .particles.particle-1 {
  background: #3D6E1D;
}
.messages .message .particles.particle-2 {
  background: #FFFFFF;
}
.messages .message .particles.particle-3 {
  border: 1px solid #3D6E1D;
}
.messages .message .particles.particle-4 {
  background: #3D6E1D;
}
.messages .message .particles.particle-5 {
  border: 1px solid #3D6E1D;
}
.messages .message .particles.particle-6 {
  background: #FFFFFF;
}

.notice-bar {
  background: #CAEEA8;
}
.notice-bar p {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.notice-bar .particles.particle-1 {
  background: #3D6E1D;
}
.notice-bar .particles.particle-2 {
  background: #FFFFFF;
}
.notice-bar .particles.particle-3 {
  border: 1px solid #3D6E1D;
}
.notice-bar .particles.particle-4 {
  background: #3D6E1D;
}
.notice-bar .particles.particle-5 {
  border: 1px solid #3D6E1D;
}
.notice-bar .particles.particle-6 {
  background: #FFFFFF;
}

.ordering-widget-slider {
  background: #F8FBF6;
}
.ordering-widget-slider .ordering-widget-item {
  background: #CAEEA8;
}

.text-page-content {
  background-color: #FFFFFF;
}
.text-page-content .heading-wrapper {
  background-color: #88D04B;
}
.text-page-content .heading-wrapper h1 {
  color: #FFFFFF;
}

.customize-page {
  background-color: #F8FBF6;
}
.customize-page.scroll-disabled {
  overflow: hidden;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL2Nzcy90aGVtZS5zdHVkaW8tZW5mYW50c2NsaWsuY3NzIiwibWFwcGluZ3MiOiJBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFBRjtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFERjtBQUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFGRjtBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFIRjtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFKRjtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFMRjtBQVFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFORjtBQVNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFQRjtBQVVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFSRjtBQVdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFURjtBQVlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFWRjtBQWFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFYRjtBQWNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFaRjtBQWVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFiRjtBQWdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FBZEY7QUFpQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQWZGO0FDNUZBO0VDR0k7RUFDQTtFREZBLGNFSlc7QUhtR2Y7O0FDeEZBOzs7O0VDTkk7RUFDQTtFRFVBO0FENEZKOztBQ3pGQTs7RUNFSTtFQUNBO0FGNEZKOztBQ3ZGUTtFQUNJO0FEMEZaO0FDckZJO0VBQ0k7QUR1RlI7O0FDL0VBO0VDTEk7RUFDQTtBRndGSjs7QUM1RUE7RUFDSTtBRCtFSjtBQzdFSTtFQUNJO0FEK0VSOztBSW5JSTtFQUNJLGVDSVE7QUxrSWhCOztBSWpJSTtFQUNIO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJDTmU7RURPZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VGY0c7RUFDQTtFRWJIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUpxSUQ7QUlwSUM7RUFqQkc7SUFrQkM7SUFDTztFSnVJVjtBQUNGO0FJcElZO0VBQ0k7QUpzSWhCO0FJbElRO0VBQ0k7RUFDQTtFQUNQO0FKb0lMO0FJbElFO0VBQ2tCLGVEeENiO0FINEtQO0FJNUhZO0VBQ1YsbUJDN0NtQjtFRDhDbkI7RUFDQTtFQUNBO0FKOEhGO0FJNUhLO0VBQ0g7RUFDQSxtQkNyRHNCO0VEc0R0QjtFQUNBO0VBQ0E7QUo4SEY7O0FJdkhJO0VBQ0g7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUZoREc7RUFDQTtFRWlESDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKeUhEO0FJdkhDO0VBcEJHO0lBcUJRO0lBQ1A7RUowSEg7QUFDRjtBSXRIWTtFQUNWLGVDekZjO0FMaU5oQjtBSXBIUTtFQUNJO0VGaEdSO0VBQ0E7RUVpR1E7QUp1SFo7QUlsSFk7RUFDVixtQkNuR3VCO0VEb0d2QjtFQUNBO0VBQ0E7QUpvSEY7QUlsSEs7RUFDSDtFQUNBO0VBQ0E7RUFDQSxtQkM3R29CO0FMaU90QjtBSWxITTtFQUNILGVDbEhhO0FMc09oQjs7QUl6R0k7RUFDSTtFQUNBO0VGdEdKO0VBQ0E7RUV1R0k7QUo2R1I7QUkxR1k7RUFDSTtBSjRHaEI7QUl2R1k7RUFDSTtBSnlHaEI7QUlyR1E7RUFDSTtFQUNBO0FKdUdaO0FJcEdnQjtFQUNJO0FKc0dwQjtBSWpHZ0I7RUFDSTtBSm1HcEI7QUk5RlE7RUFDSTtFRm5LUjtFQUNBO0VFb0tRO0FKaUdaO0FJN0ZZO0VBQ0k7QUorRmhCO0FJNUZZO0VBQ0k7QUo4RmhCO0FJekZJO0VBQ0k7RUFDQTtFQUNBO0VGM0pKO0VBQ0E7RUU0Skk7QUo0RlI7QUl6Rlk7RUFDSTtBSjJGaEI7QUl0Rlk7RUFDSTtBSndGaEI7QUlwRlE7RUZ0TUo7RUFDQTtBRjZSSjtBSXBGUTtFQUNJO0VBQ0E7RUFDQTtBSnNGWjtBSW5GZ0I7RUFDSTtBSnFGcEI7QUloRmdCO0VBQ0k7QUprRnBCO0FJN0VnQjtFQUNJO0FKK0VwQjtBSTVFd0I7RUFDSTtBSjhFNUI7QUl2RVE7RUFDSTtFQUNBO0VBQ0E7QUp5RVo7QUlyRVk7RUFDSTtFQUNBO0FKdUVoQjtBSXBFb0I7RUFDSTtBSnNFeEI7QUlqRVk7RUFDSTtBSm1FaEI7QUk5REk7RUFDSTtFRnRPSjtFQUNBO0VFdU9JO0FKaUVSO0FJN0RnQjtFQUNJO0VBQ0E7QUorRHBCO0FJMURRO0VBQ0k7RUFDQTtBSjREWjtBSXpEZ0I7RUFDSTtFQUNBO0FKMkRwQjtBSXREUTtFQUNJO0VBQ0E7QUp3RFo7QUlyRGdCO0VBQ0k7RUFDQTtBSnVEcEI7QUlqRFk7RUFDSTtFQUNBO0FKbURoQjtBSTlDSTtFQUNJO0VGL1NKO0VBQ0E7RUVnVEksY0R0VE87QUh1V2Y7QUk5Q1k7RUZwU1I7RUFDQTtBRnFWSjtBSTdDUTtFQUNJO0VBQ0E7QUorQ1o7QUk1Q2dCO0VBQ0k7RUFDQTtBSjhDcEI7QUl4Q0k7RUFDSTtBSjBDUjtBSXZDWTtFQUNJO0FKeUNoQjtBSXJDUTtFQUNJO0FKdUNaO0FJcENRO0VBQ0k7QUpzQ1o7QUlsQ0k7RUFDSTtFQUNBO0FKb0NSO0FJakNZO0VBQ0k7QUptQ2hCO0FJL0JRO0VBQ0k7RUFDQTtBSmlDWjtBSTlCZ0I7RUFDSTtBSmdDcEI7QUkzQlE7RUFDSTtBSjZCWjs7QUlyQkk7O0VGdFhBO0VBQ0E7RUV1WEk7QUowQlI7QUl4QlE7O0VBQ0k7QUoyQlo7QUloQ0k7O0VBUUk7QUo0QlI7QUkzQlE7O0VBQ0k7RUFDQTtBSjhCWjtBSXZCZ0I7OztFQUNJO0FKMkJwQjtBSWhEQTs7RUEyQkk7QUp5Qko7QUl2QlE7O0VBQ0k7QUowQlo7QUl4Qlk7O0VBQ0k7RUFDQTtBSjJCaEI7QUlwQlk7O0VBQ0k7RUFDQTtBSnVCaEI7QUlqQmdCOztFQUVJO0FKbUJwQjs7QUlUSTs7RUZqYkE7RUFDQTtFRWtiSSxjRHhiTztBSHNjZjtBSVpROztFQUNJO0FKZVo7QUlwQkk7O0VBUUk7QUpnQlI7QUlmUTs7RUFDSTtFQUNBO0FKa0JaO0FJZlE7O0VBQ0k7QUprQlo7QUlYZ0I7OztFQUNJO0FKZXBCO0FJeENBOztFQStCSTtBSmFKO0FJWFE7O0VBQ0k7QUpjWjtBSVpZOztFQUNJO0VBQ0E7QUplaEI7QUlSWTs7RUFDSTtBSldoQjtBSUxnQjs7RUFFSTtBSk9wQjs7QUlBQTtFQUNJO0FKR0o7QUlESTtFQUNJO0VBQ0E7QUpHUjs7QUlDQTtFQUNJO0FKRUo7O0FJRUE7RUFDSTtFRjNlQTtFQUNBO0VFNGVBLGNEbGdCVztFQ21nQlgsb0JEbmdCVztFQ29nQlg7QUpFSjtBSUFJO0VBRUk7RUFDQTtBSkNSO0FJR1E7RUZ4Z0JKO0VBQ0E7RUV5Z0JRLGNEL2dCRztBSCtnQmY7QUlJWTtFQUNJO0VBQ0E7QUpGaEI7QUlNUTtFQUNJO0VBQ0E7QUpKWjtBSU1ZO0VBQ0k7QUpKaEI7QUlRUTtFQUNJO0FKTlo7QUlRWTtFQUNJO0FKTmhCO0FJVWdCO0VBQ0k7QUpScEI7QUlXd0I7RUFDSTtBSlQ1QjtBSWNnQjtFQUNJO0FKWnBCO0FJaUJRO0VBQ0k7RUFDQTtFQUNBO0FKZlo7QUlpQlk7RUFDSTtBSmZoQjtBSWtCWTtFQUNJO0FKaEJoQjtBSW1CWTtFQUNJO0FKakJoQjtBSW1CZ0I7RUFDSTtBSmpCcEI7QUlvQmdCO0VBQ0k7QUpsQnBCO0FJb0JvQjtFQUNJO0VBQ0E7QUpsQnhCOztBSTRCSTtFQUNJO0VBQ0E7RUYxa0JKO0VBQ0E7RUUya0JJO0FKeEJSO0FJMEJRO0VGOWxCSjtFQUNBO0VFK2xCUTtFQUNBO0FKdkJaO0FJMEJRO0VBQ0k7QUp4Qlo7QUkwQlk7RUFDSTtBSnhCaEI7O0FJZ0NJO0VGaG5CQTtFQUNBO0VFaW5CSTtBSjVCUjs7QUlpQ0k7RUFDSTtBSjlCUjtBSWdDUTtFRjFtQko7RUFDQTtFRTJtQlE7QUo3Qlo7QUkrQlk7RUY5bkJSO0VBQ0E7QUZrbUJKO0FJaUNZO0VBQ0k7QUovQmhCO0FJb0NJO0VBQ0k7QUpsQ1I7QUlvQ1E7RUY3bkJKO0VBQ0E7RUU4bkJRLGNEbnBCQTtBSGtuQlo7QUltQ1k7RUFDSTtBSmpDaEI7QUlvQ1k7RUFDSTtBSmxDaEI7QUl3Q1E7RUFDSTtBSnRDWjs7QU01bkJJO0VBQ0k7QU4rbkJSO0FNN25CUTtFQUNJO0FOK25CWjtBTTVuQlE7RUFDSTtFQUNBO0VBQ0E7QU44bkJaO0FNNW5CWTtFQUNJO0FOOG5CaEI7QU0xbkJnQjtFQUNJO0FONG5CcEI7QU10bkJZO0VBQ0k7QU53bkJoQjtBTXBuQm9CO0VBQ0k7QU5zbkJ4QjtBTWxuQmdCO0VBQ0k7RUFDQTtBTm9uQnBCO0FNam5Cd0I7RUFDSTtBTm1uQjVCO0FNM21CWTtFQUNJO0VBQ0E7RUFDQTtBTjZtQmhCO0FNM21CZ0I7RUFDSTtBTjZtQnBCO0FNMW1Cd0I7RUFDSTtBTjRtQjVCO0FNcm1Cb0I7RUFDSTtBTnVtQnhCO0FNcm1Cd0I7RUFDSTtBTnVtQjVCO0FNaG1CWTtFQUNJO0FOa21CaEI7QU05bEJZO0VBQ0k7QU5nbUJoQjtBTTVsQmdCO0VBQ0k7QU44bEJwQjtBTTVsQm9CO0VBQ0k7QU44bEJ4QjtBTzdtQkk7RUR5Qlk7SUFDSTtFTnVsQmxCO0FBQ0Y7O0FROXJCQTtFQUNJO0FSaXNCSjs7QVNoc0JRO0VQb0JKO0VBQ0E7QUZnckJKO0FTL3JCUTtFUGNKO0VBQ0E7QUZvckJKO0FPL25CSTtFRTlESTtJQUNJO0VUZ3NCVjtFUzlyQlU7SVBLUjtJQUNBO0VGNHJCRjtBQUNGOztBVXB0QkE7RUFDSTtBVnV0Qko7QVV0dEJJO0VBQ0k7QVZ3dEJSO0FVcnRCUTtFUkFKO0VBQ0E7QUZ3dEJKO0FVcHRCSTtFUldBO0VBQ0E7QUY0c0JKO0FVcHRCSTtFQUNJO0FWc3RCUjtBVWx0QlE7Ozs7RVJFSjtFQUNBO0FGc3RCSjtBVWp0Qlk7RUFHSTtBVml0QmhCO0FVN3NCUTtFQUNJLGNQbENBO0FIaXZCWjtBVTVzQmdCO0VBQ0k7QVY4c0JwQjtBVXZzQlE7RUFDSSxjUC9DRztBSHd2QmY7QVV0c0JRO0VBQ0ksY1BuREc7QUgydkJmOztBVzN2Qkk7RUFDSTtFQUNBO0FYOHZCUjtBVzV2Qkk7RUFDSTtFQUNBO0FYOHZCUjtBVzN2Qkk7RUFDSTtBWDZ2QlI7QVd6dkJRO0VBQ0ksY1JmRztBSDB3QmY7QVd2dkJZO0VBQ0k7QVh5dkJoQjtBV3R2Qlk7RVRGUjtFQUNBO0FGMnZCSjtBVy91QmdCO0VUR1o7RUFDQTtBRit1Qko7QU8xc0JJO0VJakNJO0lBQ0k7RVg4dUJWO0VXNXVCTTtJQUNJO0VYOHVCVjtBQUNGOztBWTd4Qkk7RUFDSTtBWmd5QlI7QVk1eEJRO0VBQ0ksY1RORztBSG95QmY7QVl0eEJvQjtFQUNJO0Fad3hCeEI7QVlseEJRO0VBQ0k7QVpveEJaO0FZanhCUTtFVllKO0VBQ0E7QUZ3d0JKOztBYS95QkE7RUFDSTtBYmt6Qko7QWFoekJJO0VBQ0k7QWJrekJSO0FhaHpCUTtFQUNJO0Fia3pCWjs7QWN2ekJDOzs7RUFJSSxlVENnQjtBTHd6QnJCO0FjdnpCQztFQUNJO0FkeXpCTDtBY3R6QkM7OztFQUdJO0Fkd3pCTDtBY256QkM7OztFQUdJO0FkcXpCTDtBY2p6QkM7RUFDSTtBZG16Qkw7QWMveUJJO0VBQ0k7QWRpekJSOztBZWgxQlE7RUFDSTtBZm0xQlo7QWUvMEJJO0VBQ0k7QWZpMUJSO0FlNzBCUTtFYk5KO0VBQ0E7QUZzMUJKO0FleDBCSTtFQUNJO0FmMDBCUjtBZXgwQlE7RUFDSTtFQUNBO0FmMDBCWjtBZXQwQkk7RWJRQTtFQUNBO0FGaTBCSjtBZXQwQkk7RUFDSTtBZncwQlI7O0FnQngyQlk7RWRtQ1I7RUFDQTtBRnkwQko7QWdCdjJCWTtFZDZCUjtFQUNBO0VjNUJZO0FoQjAyQmhCO0FnQnQyQlE7RUFDSTtBaEJ3MkJaO0FnQm4yQlE7RWRDSjtFQUNBO0FGcTJCSjtBZ0JqMkJRO0VkTEo7RUFDQTtBRnkyQko7O0FpQmg0QkE7RUFDSTtBakJtNEJKO0FpQi8zQlk7RWZpQlI7RUFDQTtBRmkzQko7QWlCNzNCSTtFQUNJO0FqQiszQlI7QWlCMzNCUTtFQUNJO0FqQjYzQlo7O0FrQjk0QkE7RUFDSTtBbEJpNUJKO0FrQi80Qkk7RUFDSTtBbEJpNUJSO0FrQjk0Qlk7RUFDSTtBbEJnNUJoQjtBa0IzNEJZO0VoQnlCUjtFQUNBO0FGcTNCSjs7QW1CeDVCZ0I7RUFDSTtBbkIyNUJwQjtBbUJ4NUJnQjtFakJjWjtFQUNBO0VpQmJnQixjaEJUTDtBSG82QmY7QW1CcjVCZ0I7RWpCTVo7RUFDQTtFaUJMZ0IsY2hCZmI7QUh1NkJQO0FtQnA1Qlk7RUFDVixjaEJ0QmE7QUg0NkJmO0FtQnI1QmdCO0VBQ0k7QW5CdTVCcEI7QW1CbjVCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuQnE1QmhCO0FtQmw1Qlk7RUFDSTtBbkJvNUJoQjtBbUJqNUJZO0VBQ0ksY2hCdENUO0FIeTdCUDtBT2gzQkk7RVkzQlk7SUFDSTtFbkI4NEJsQjtFbUIzNEJrQjtJQUNJO0VuQjY0QnRCO0VtQno0QmM7SUFDSTtFbkIyNEJsQjtBQUNGOztBb0J0OEJJO0VBQ0k7QXBCeThCUjtBb0J0OEJJO0VBQ0k7QXBCdzhCUjs7QXFCNThCUTtFQUNJO0FyQis4Qlo7QXFCNzhCWTtFQUNJO0FyQis4QmhCO0FxQjc4QmdCO0VuQmNaO0VBQ0E7RW1CYmdCLGNsQlRMO0FIeTlCZjtBcUIzOEJRO0VBQ0k7RUFDQTtBckI2OEJaO0FxQjM4Qlk7RUFDSTtFQUNBO0FyQjY4QmhCO0FxQjM4QmdCO0VBQ0kseUJsQnJCYjtBSGsrQlA7O0FzQnArQkk7RUFDSTtBdEJ1K0JSO0FzQnArQkk7RUFDSTtBdEJzK0JSOztBdUIxK0JRO0VBQ0k7QXZCNitCWjtBdUIzK0JZO0VBQ0k7QXZCNitCaEI7QXVCMytCZ0I7RUFDSTtBdkI2K0JwQjtBdUJ6K0JZO0VBQ0k7QXZCMitCaEI7QXVCeCtCWTtFQUNJO0VBQ2Q7QXZCMCtCRjs7QXdCMy9CSTtFQUNILGNuQktlO0FMeS9CaEI7QXdCNy9CUTtFQUNIO0VBQ0E7RUFDQTtFQUNPO0F4QisvQlo7QXdCNS9CUTtFQUNJLGNuQkxTO0FMbWdDckI7QXdCNy9CWTtFQUNWLGFuQlBtQjtBTHNnQ3JCOztBeUI3Z0NBO0VBQ0k7QXpCZ2hDSjtBeUI5Z0NJO0VBQ0g7QXpCZ2hDRDtBeUI3Z0NJO0V2QmVBO0VBQ0E7QUZpZ0NKO0F5QjNnQ1k7RUFDSSxldEJiRDtBSDBoQ2Y7QXlCcmdDWTtFQUNWO0VBQ0E7RUFDQTtBekJ1Z0NGO0F5QmxnQ0k7RUFDSCxjcEJ2QmU7RW9Cd0JmO0F6Qm9nQ0Q7QXlCbGdDUTtFQUNIO0VBQ0E7RUFDQTtBekJvZ0NMO0F5QmxnQ0M7RUFDSSxtQnBCaENXO0FMb2lDaEI7QXlCaGdDSTtFQUNILG1CcEJyQ2U7RW9Cc0NmO0F6QmtnQ0Q7QXlCaGdDQztFQUNJO0F6QmtnQ0w7QXlCaGdDQztFQUNJLG1CcEI1Q1c7QUw4aUNoQjs7QTBCcGpDUTtFQUNJO0ExQnVqQ1o7QTBCcGpDUTtFQUNJO0ExQnNqQ1o7QTBCbGpDSTtFQUNJLHlCckJEaUI7QUxxakN6Qjs7QTJCL2pDSTtFQUNJO0EzQmtrQ1I7O0E0QnBrQ0E7RUFDSTtFQUNBO0E1QnVrQ0o7QTRCbmtDZ0I7RUFDSSxlekJOTDtBSDJrQ2Y7O0E2QjVrQ0E7RUFDSTtFQUNBO0VBQ0E7QTdCK2tDSjtBNkI3a0NJO0VBQ0g7QTdCK2tDRDtBNkI1a0NJO0VBQ0gsYzFCUE07RTBCUU47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCOGtDRDtBNkIza0NnQjtFQUNJLGMxQm5CUjtFMEJvQk47QTdCNmtDTjtBNkJ6a0NvQjtFQUNqQjtFQUNBLGMxQjNCWTtBSHNtQ2Y7QTZCMWtDRztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUIxQnBDUTtBSGduQ2Y7QTZCcmtDTTtFQUNIO0VBQ0EsYzFCN0NZO0FIb25DZjtBNkJqa0M0QjtFQUNJLGUxQnBEakI7QUh1bkNmO0E2QjdqQ2dCO0VBRVY7QTdCOGpDTjtBTy9pQ0k7RXNCakJZO0lBSWI7RTdCZ2tDRDtBQUNGO0E2QnJrQ2dCO0VBT0k7QTdCaWtDcEI7QTZCOWpDZ0I7RUFDVjtBN0Jna0NOO0E2QjdqQ3dCO0VBQ0k7QTdCK2pDNUI7QU83akNJO0VzQllZO0lBQ0k7SUFDQTtFN0JvakNsQjtFNkJoakNzQjtJQUNJO0lBQ0E7RTdCa2pDMUI7QUFDRjtBOEJucENBO0VBQ0kseUIzQktZO0FIZ3BDaEI7QThCcHBDSTtFQUNILG1CekJPcUI7RXlCTnJCO0E5QnNwQ0Q7O0E4QmxwQ0E7RUFDSSx5QnpCQ2tCO0V5QkFsQixjM0JSUTtBSDZwQ1o7O0E4QmxwQ0E7RUFDSTtBOUJxcENKOztBK0JucUNBO0VBQ0ksbUI1QktZO0U0QkpaO0EvQnNxQ0o7QStCcHFDSTtFQUNJLGM1QkhJO0FIeXFDWjtBK0JycUNDO0VBQ0ksYzVCTE87RTRCTVA7RUFDQTtBL0J1cUNMO0ErQmxxQ0s7RUFDSCxlNUJiVTtBSGlyQ1o7QStCbHFDSztFQUNILGU1QmhCVTtBSG9yQ1o7QStCbHFDSztFQUNILGU1Qm5CVTtBSHVyQ1o7QStCL3BDWTtFQUNJO0EvQmlxQ2hCO0FPN25DSTtFd0IvQkM7SUFDSCxtQjFCdEJ1QjtFTHFyQ3ZCO0UrQjlwQ0E7SUFDSSxtQjFCeEJtQjtFTHdyQ3ZCO0FBQ0Y7O0FnQ3BzQ0E7RUFDSTtFQUNBO0FoQ3VzQ0o7QWdDcHNDUTtFQUNILGM3QkxVO0FIMnNDZjtBZ0Nsc0NZO0VBQ0k7QWhDb3NDaEI7QWdDbHNDZ0I7RUFDSSxjN0JYYjtBSCtzQ1A7QWdDbHNDZ0I7RUFDVixjN0JoQlM7QUhvdENmO0FnQ2xzQ2dCO0U5QkdaO0VBQ0E7RThCRmdCO0FoQ3FzQ3BCO0FnQ2pzQzRCO0VBQ0k7QWhDbXNDaEM7QWdDL3JDb0I7RUFDSTtFOUJPcEI7RUFDQTtBRjJyQ0o7QWdDOXJDZ0I7RUFDSTtBaENnc0NwQjtBZ0MzckN3QjtFQUNJO0FoQzZyQzVCO0FnQ2xyQ1E7RTlCaEJKO0VBQ0E7RThCaUJLO0VBQ1AsYzdCeERhO0FINnVDZjtBZ0NsckNRO0U5QnRDSjtFQUNBO0U4QnVDQyxjN0I1RE87QUhpdkNaO0FPdnFDSTtFeUI1RUo7SUFtRVE7RWhDb3JDTjtFZ0NsckNNO0lBQ0k7RWhDb3JDVjtFZ0NsckNVO0lBQ0k7RWhDb3JDZDtBQUNGO0FPbHJDSTtFMEI1RUo7SUFFUTtJQUNQO0lBQ0E7SUFDQTtFakNnd0NDO0VpQy92Q007SUFDSTtFakNpd0NWO0VpQy92Q1U7SS9CNkJSO0lBQ0E7RUZxdUNGO0VpQy92Q1U7SS9CU1I7SUFDQTtFRnl2Q0Y7RWlDOXZDRDtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpDK3ZDSDtFaUM5dkNHO0lBQ0gsYzVCeEJjO0k0QnlCZDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VqQ2d3Q0E7RWlDOXZDRztJQUNIO0VqQ2d3Q0E7RWlDL3ZDQTtJQUNJLGU1QmxDVTtFTG15Q2Q7RWlDL3ZDQTtJQUNJLGU1QnJDVTtFTHN5Q2Q7RWlDN3ZDRztJQUNILG1COUI3Q1c7SThCOENYO0lBQ0E7SUFDQSxjNUI3Q2M7RUw0eUNkO0VpQzF2Q0Q7SUFDSSxtQjlCdERRO0k4QnVEUjtJQUNBO0lBQ0EsYzVCdERXO0VMa3pDZDtBQUNGOztBa0MzekNBO0VBQ0k7QWxDOHpDSjtBa0M1ekNJO0VBQ0YsbUIvQkVjO0FINHpDaEI7QWtDMXpDZ0I7RUFDSTtBbEM0ekNwQjtBa0N0ekNZO0VBQ0kseUIvQlhIO0UrQllYO0FsQ3d6Q0Y7QWtDbnpDWTtFQUNJO0FsQ3F6Q2hCO0FrQ256Q2dCO0VBQ0k7QWxDcXpDcEI7QWtDanpDb0I7RUFDSTtBbENtekN4QjtBa0M5eUNZO0VBQ0k7RWhDZlo7RUFDQTtBRmcwQ0o7QU8zd0NJO0UyQi9CSTtJQUNIO0VsQzZ5Q0g7RWtDMXlDa0I7SUFDSTtFbEM0eUN0QjtFa0MxeUNzQjtJaEM5Q3BCO0lBQ0E7RUYyMUNGO0VrQ3h5Q3NCO0lBQ0k7SUFDQTtFbEMweUMxQjtBQUNGO0FtQ3YyQ0E7RUFDSTtBbkN5MkNKO0FtQ3YyQ0k7RUFDSTtBbkN5MkNSO0FtQ3IyQ1E7RUFDSTtBbkN1MkNaO0FPcHlDSTtFNEI1RUo7SUFjUTtFbkNzMkNOO0FBQ0Y7QW9DcjNDQTtFQUNJO0FwQ3UzQ0o7QW9DcjNDUTtFQUNJLHlCL0JFWTtFK0JEWjtBcEN1M0NaO0FvQ3IzQ1k7RUFDSTtBcEN1M0NoQjtBb0NyM0NnQjtFQUNJO0FwQ3UzQ3BCO0FvQ2ozQ0k7RUFDSSx5Qi9CVGlCO0UrQlVqQjtBcENtM0NSO0FvQ2ozQ1E7RWxDQ0o7RUFDQTtBRm0zQ0o7QW9DMzJDb0I7RUFDSTtBcEM2MkN4QjtBb0MzMkNvQjtFQUNJO0FwQzYyQ3hCO0FvQzEyQ29CO0VBQ0k7QXBDNDJDeEI7QW9DcjJDSTtFbEN4QkE7RUFDQTtBRmc0Q0o7QW9DcDJDUTtFbENiSjtFQUNBO0FGbzNDSjtBTy8wQ0k7RTZCbEJRO0lsQ3BDUjtJQUNBO0VGeTRDRjtBQUNGOztBcUNqNkNBO0VBQ0k7QXJDbzZDSjtBcUNqNkNROztFQUVJO0FyQ202Q1o7QXFDNzVDSTtFQUNJO0FyQys1Q1I7QXFDNTVDWTtFQUNJO0FyQzg1Q2hCO0FxQzM1Q1k7RUFDSTtBckM2NUNoQjtBcUN6NUNRO0VBQ0k7QXJDMjVDWjtBcUN6NUNZO0VBQ0k7QXJDMjVDaEI7QXFDdDVDSTtFQUNILGNsQ2pDVztBSHk3Q1o7QXFDdDVDWTtFQUNJLGNsQ3JDRDtBSDY3Q2Y7QXFDdDVDSztFQUNXLGNsQ3hDRDtBSGc4Q2Y7QXFDcDVDUTtFQUNJO0VBQ0E7QXJDczVDWjs7QXNDcjhDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEN3OENKO0FzQ3A4Q0k7RUFDSDtBdENzOENEOztBc0NoOENBO0VBRUk7QXRDazhDSjtBc0MvN0NDO0VBQ0ksY2pDM0JXO0FMNDlDaEI7QXNDOTdDQztFQUNJLGNqQy9CVztBTCs5Q2hCO0FzQzE4Q0E7RUFhSTtBdENnOENKOztBc0M3N0NBO0VBRUksbUJqQ3BDcUI7QUxtK0N6QjtBc0M3N0NJO0VBQ0gsY2pDMUNlO0FMeStDaEI7QXNDNTdDSTtFQUNILGNqQzlDZTtBTDQrQ2hCOztBc0NyN0NJO0VBQ0k7RUFDUDtFQUNBO0F0Q3c3Q0Q7QXNDdDdDSTtFQUNIO0F0Q3c3Q0Q7QXNDcjdDSTtFQUNILGNuQ3ZFVztFbUN3RVg7QXRDdTdDRDtBc0N0N0NDO0VBQ0k7RUFDQTtBdEN3N0NMO0FzQ3Q3Q1k7RUFDVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCbkN0RmE7QUg4Z0RmO0FzQ243Q0M7RUFDSSxjbkM1RlU7QUhpaERmO0FzQ2w3Q0M7RUFDSSxjbkNoR1U7QUhvaERmO0FzQ2o3Q0M7RUFDSSxjbkNsR0U7QUhxaERQO0FzQ2g3Q0k7RUFDSCx5Qm5DeEdjO0FIMGhEZjtBc0MvOUNBO0VBaURJLHlCakNyR1k7RWlDc0daO0VBQ0E7RUFDQTtFQUNBO0F0Q2k3Q0o7QXNDaDdDSTtFQUNIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdENrN0NEO0FzQ2o3Q0M7RUFDSTtBdENtN0NMO0FzQ2o3Q0M7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJqQzdIWTtBTGdqRGhCO0FzQ2o3Q0k7RUFDSTtFQUNBO0F0Q203Q1I7QXNDajdDUTtFQUNJO0F0Q203Q1o7QXNDLzZDSTtFQUNJLGNuQzVJSztBSDZqRGI7QXNDaDdDUTtFQUNJO0F0Q2s3Q1o7QXNDOTZDSTtFQUNJO0VBQ0E7QXRDZzdDUjtBc0M3NkNRO0VBQ0ksY2pDckpJO0FMb2tEaEI7QXNDcjdDSTtFQVVJO0F0Qzg2Q1I7QXNDNTZDUTtFQUNJO0F0Qzg2Q1o7QXNDNzZDWTtFQUNJO0F0Qys2Q2hCO0FzQ3A2Q2dCO0VwQ2hLWjtFQUNBO0VvQ2lLRTtFQUNBO0VBQ0E7RUFDQTtBdEN1NkNOO0FzQ3Q2Q29CO0VBQ0k7QXRDdzZDeEI7QXNDbjZDb0I7RUFDakI7QXRDcTZDSDtBc0NsNkM0QjtFQUNJO0F0Q282Q2hDO0FzQzk1Q29CO0VBQ0k7RUFDQTtBdENnNkN4QjtBc0M3NUNFO0VBQ0k7RUFDQTtBdEMrNUNOOztBdUM5bURBO0VBQ0k7RUFDQTtBdkNpbkRKOztBd0NubkRBO0VBQ0k7RUFDQTtBeENzbkRKO0FPNWlESTtFaUM1RUo7SUFLQztFeEN1bkRDO0FBQ0Y7QXdDcm5ESTtFQUNIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEN1bkREO0F3Q3JuREs7RUFDSCxlbkNUYztBTGdvRGhCO0F3Q2xuREk7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4Q29uREQ7O0F5Qy9vREE7RUFDSTtBekNrcERKO0FPdmtESTtFa0N4RUg7SUFDSSx5QnBDTW9CO0VMNG9EdkI7QUFDRjtBeUN4cERBO0VBVUksY3RDVFc7QUgwcERmO0F5Qy9vREk7RUFDSDtFQUNBO0F6Q2lwREQ7QXlDM29EUTtFQUNJO0VBQ0E7RUFDQTtBekM2b0RaO0F5QzFvRGdCO0VBQ0k7QXpDNG9EcEI7QXlDcG9EWTtFQUNJLG1CcEMxQk07QUxncUR0QjtBeUNsb0RRO0VBQ0k7QXpDb29EWjtBeUNub0RLO0VBQ0g7QXpDcW9ERjtBeUNsb0RFO0VBQ0k7RUFDQTtFQUNBO0F6Q29vRE47QXlDbG9ERTtFQUNJO0F6Q29vRE47QXlDN25EUTtFQUNHO0F6QytuRFg7QXlDN25EWTtFQUNJO0VBQ2Q7RUFDQTtBekMrbkRGO0F5QzFuREU7RUFDSTtBekM0bkROO0F5QzFuREU7RUFDSTtBekM0bkROO0F5QzFuREU7RUFDSTtBekM0bkROO0F5QzFuREU7RUFDSTtBekM0bkROO0F5Q3puRGdCO0VBQ0k7QXpDMm5EcEI7QXlDeG5EZ0I7RUFDSTtFdkNsRGhCO0VBQ0E7RXVDbURnQjtBekMybkRwQjs7QTBDbnREUTtFQUNJLHlCdkNGRztBSHd0RGY7QTBDbHREWTtFQUNWLGN2Q1BhO0FIMnREZjs7QTJDeHREZ0I7RUFDSTtBM0MydERwQjtBMkNwdERnQjtFQUNJO0EzQ3N0RHBCO0EyQ2p0RFE7RUFDSTtBM0NtdERaO0EyQ2h0RFE7RUFDSTtBM0NrdERaO0EyQy9zRFE7RUFDSTtFQUNBO0EzQ2l0RFo7QTJDOXNEUTtFQUNJO0VBQ0E7QTNDZ3REWjtBMkM3c0RRO0V6Q2RKO0VBQ0E7QUY4dERKO0EyQzVzRFk7RUFDSTtBM0M4c0RoQjtBMkMzc0RZO0VBQ0k7QTNDNnNEaEI7QTJDM3NEWTtFQUNJO0EzQzZzRGhCO0EyQzNzRFk7RUFDSTtBM0M2c0RoQjtBMkMzc0RZO0VBQ0k7QTNDNnNEaEI7QTJDM3NEWTtFQUNJO0EzQzZzRGhCOztBNEN0d0RBO0VBQ0k7QTVDeXdESjtBNEN2d0RJO0UxQ2tCQTtFQUNBO0FGd3ZESjtBNEN0d0RRO0VBQ0k7QTVDd3dEWjtBNENyd0RRO0VBQ0k7QTVDdXdEWjtBNENyd0RRO0VBQ0k7QTVDdXdEWjtBNENyd0RRO0VBQ0k7QTVDdXdEWjtBNENyd0RRO0VBQ0k7QTVDdXdEWjtBNENyd0RRO0VBQ0k7QTVDdXdEWjs7QTZDanlEQTtFQUNJLG1CeENVcUI7QUwweER6QjtBNkNueURJO0VBQ0gsbUJ4Q09xQjtBTDh4RHRCOztBOEN4eURBO0VBQ0k7QTlDMnlESjtBOEN6eURJO0VBQ0k7QTlDMnlEUjtBOEN6eURRO0VBQ0k7QTlDMnlEWjs7QStDbHpEQTtFQUNJO0EvQ3F6REo7QStDbnpESTtFQUNJO0EvQ3F6RFIsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3RoZW1lLnN0dWRpby1lbmZhbnRzY2xpay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL2FwcC5iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvX2NvbmZpZy9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvX2NvbmZpZy9fYm9vdHN0cmFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvYXBwLnVpLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvX2NvbmZpZy9fY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1icmFuY2gvbG9jYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvYWRkLWNoaWxkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NoZWNrb3V0LWNvbmZpcm1hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGVja291dC1mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NoZWNrb3V0LXJldmlldy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGlsZC10aWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NsdWItc3Vic2NyaXB0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2xldHRlci1hbmltYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvcGFja2FnZS1wYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL3N1bW1hcnkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3Mvc3VydmV5LWZvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS9wb3B1cC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL2JhY2tncm91bmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9ncmFkZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9waG9uZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL3Bvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2Rvd25sb2FkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9sb2dpbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvcGFja2FnZS10aWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvYW5pbWF0ZWQtY3VydmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jaGVja291dC1icmFuY2gvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY2hlY2tvdXQtcHJvY2Vzcy9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jaGVja291dC1wcm9jZXNzL3BhZ2UtY29udGVudC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS9hc2lkZS1jdXN0b21pemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jdXN0b21pemUvaGVhZGVyLWN1c3RvbWl6ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS9tb2JpbGUtbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL3ByZXZpZXctY3VzdG9taXplLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL3Rvb2xzLWN1c3RvbWl6ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2Zvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlYWRlci1jYXRlZ29yeS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlYWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlcm9zL2hlcm8tZGVmYXVsdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlcm9zL2hlcm8taG9tZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlcm9zL2hlcm8td2VsY29tZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2ltYWdlLXRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9tZXNzYWdlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL25vdGljZS1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9vcmRlcmluZy13aWRnZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy90ZXh0LXBhZ2UtY29udGVudC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhZ2VzL2N1c3RvbWl6ZS1wYWdlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gMS4gSW1wb3J0IGZvbnRzXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMtVGhpbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLVRoaW5JdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogMTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1MaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLUxpZ2h0SXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMtUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLUl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLU1lZGl1bS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLU1lZGl1bUl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLVNlbWlCb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMtU2VtaUJvbGRJdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1Cb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMtQm9sZEl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLUV4dHJhQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLUV4dHJhQm9sZEl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLUJsYWNrLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMtQmxhY2tJdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vIDIuIEltcG9ydCBhbGwgZnVuY3Rpb24sIG1peGlucyBhbmQgdmFyaWFibGVzIGZyb20gY29tbW9uIHN0eWxlc1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvc2Nzcy9hcHAuZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL3Njc3MvX2NvbmZpZy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvc2Nzcy9fY29uZmlnL2Jvb3RzdHJhcFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9zY3NzL19jb25maWcvZWFzaW5nXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9taXhpbnNcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzXCI7XG5cbi8vIDMuIEluY2x1ZGUgYW55IGRlZmF1bHQgdmFyaWFibGUgb3ZlcnJpZGVzIGhlcmVcbkBpbXBvcnQgXCJhcHAuY29uZmlnXCI7XG5cbi8vIDQuIEFkZCBhZGRpdGlvbmFsIGN1c3RvbSBjb2RlIGhlcmVcbkBpbXBvcnQgXCJhcHAuYmFzZVwiO1xuQGltcG9ydCBcImFwcC51aVwiO1xuLy87XG5AaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1icmFuY2gvbG9jYXRpb25zLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9hZGQtY2hpbGQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NoZWNrb3V0LWNvbmZpcm1hdGlvbi5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvY2hlY2tvdXQtZm9ybS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvY2hlY2tvdXQtcmV2aWV3LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGlsZC10aWxlLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jbHViLXN1YnNjcmlwdGlvbi5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvbGV0dGVyLWFuaW1hdGlvbi5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvcGFja2FnZS1wYXJ0LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9zdW1tYXJ5LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9zdXJ2ZXktZm9ybS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS9wb3B1cC5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9iYWNrZ3JvdW5kLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL2dyYWRlcy5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9sYXlvdXQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvdG9vbHMvcGhvbmUuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvdG9vbHMvcG9zZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2Rvd25sb2FkLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvbG9naW4uc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9wYWNrYWdlLXRpbGUuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2FuaW1hdGVkLWN1cnZlLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2NhdGVnb3J5L3BhY2thZ2UtbGlzdGluZy5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jaGVja291dC1icmFuY2gvaGVhZGVyLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2NoZWNrb3V0LXByb2Nlc3MvaGVhZGVyLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2NoZWNrb3V0LXByb2Nlc3MvcGFnZS1jb250ZW50LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS9hc2lkZS1jdXN0b21pemUuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL2hlYWRlci1jdXN0b21pemUuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL21vYmlsZS1uYXYuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL3ByZXZpZXctY3VzdG9taXplLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS90b29scy1jdXN0b21pemUuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvZm9vdGVyLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlYWRlci1jYXRlZ29yeS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZWFkZXIuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvaGVyb3MvaGVyby1kZWZhdWx0LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlcm9zL2hlcm8taG9tZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZXJvcy9oZXJvLXdlbGNvbWUuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvaW1hZ2UtdGV4dC5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9tZXNzYWdlcy5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9ub3RpY2UtYmFyLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL29yZGVyaW5nLXdpZGdldC5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy90ZXh0LXBhZ2UtY29udGVudC5zY3NzXCI7XG4vLztcbkBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYWdlcy9jdXN0b21pemUtcGFnZS5zY3NzXCI7XG4iLCIvL1xuLy8gUm9vdCBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ib2R5IHtcbiAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG59XG5cbi8vXG4vLyBIZWFkaW5nIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaDEsIC5saWtlLWgxLFxuaDIsIC5saWtlLWgyLFxuaDMsIC5saWtlLWgzLFxuaDQsIC5saWtlLWg0IHtcbiAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cblxuaDUsIC5saWtlLWg1LFxuaDYsIC5saWtlLWg2IHtcbiAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbn1cblxuLnRpdGxlLXdpdGgtbGluZXtcblxuICAgICYueWVsbG93e1xuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0aXRsZS1saW5lLWFsdCk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICY6YmVmb3Jle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGl0bGUtbGluZSk7XG4gICAgfVxufVxuXG4vL1xuLy8gVGV4dCBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnN0cm9uZyB7XG4gICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xufVxuXG4vL1xuLy8gTGluayBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmEge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgbGluay1jb2xvcik7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBsaW5rLWhvdmVyLWNvbG9yKTtcbiAgICB9XG59XG4iLCJAbWl4aW4gcG9wcGlucy1saWdodCgpIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbkBtaXhpbiBwb3BwaW5zKCkge1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1peGluIHBvcHBpbnMtaXRhbGljKCkge1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBwb3BwaW5zLW1lZGl1bSgpIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtaXhpbiBwb3BwaW5zLWJvbGQoKSB7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5AbWl4aW4gcG9wcGlucy1ib2xkLWl0YWxpYygpIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5AbWl4aW4gcG9wcGlucy1leHRyYS1ib2xkKCkge1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cblxuQG1peGluIHBvcHBpbnMtYmxhY2soKSB7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogODAwO1xufVxuIiwiLy8gT3ZlcnJpZGUgYW55IGJvb3RzdHJhcCBkZWZhdWx0IHZhcmlhYmxlIGhlcmVcbiRncmV5LWRhcmtlc3Q6ICMxODE4MUI7IFxuJGdyZXktZGFyazogIzUyNTI1QjtcbiRncmV5OiAjQTFBMUFBO1xuJGdyZXktcmVndWxhcjogI0U0RTRFNzsgXG4kZ3JleS1saWdodDogI0VGRUZFRjsgXG4kZ3JleS1saWdodGVzdDogI0ZBRkFGQTsgXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICB4eHM6IDAsXG4gICAgeHM6IDQ4MHB4LFxuICAgIHNtOiA3NjhweCxcbiAgICBtZDogMTAyNHB4LFxuICAgIGxnOiAxNDQwcHgsXG4gICAgeGw6IDE5MjBweCxcbik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gICAgbWQ6IDk2MHB4LFxuICAgIGxnOiAxMjIwcHgsXG4gICAgeGw6IDE2MDBweCxcbik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAxNnB4O1xuXG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuJGZvbnQtc2l6ZS1yb290OiAxNnB4O1xuXG4kaHItbWFyZ2luLXk6IDA7XG4kaHItb3BhY2l0eTogMTtcblxuXG4vL1Rvb2x0aXBzXG4kdG9vbHRpcC1mb250LXNpemU6IDE0cHg7XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDMwMHB4O1xuJHRvb2x0aXAtY29sb3I6IHZhcigtLWNvbG9yLVRleHRJY29uLVRleHQtc2Vjb25kYXJ5LCAjM0YzRjQ2KTtcbiR0b29sdGlwLWJnOiB2YXIoLS13aGl0ZSwgI0ZGRik7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogJGdyZXk7XG4kdG9vbHRpcC1vcGFjaXR5OiAxO1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6IDhweDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAkZ3JleS1saWdodDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4kbmF2LWxpbmstY29sb3IgOiAgdmFyKC0tY29sb3ItVGV4dC1hbmQtaWNvbi1UZXh0LWRlc2NyaXB0aW9uLCAjM0YzRjQ2KTtcblxuJG5hdi11bmRlcmxpbmUtZ2FwOiAgICAgICAgICAgICAgICAgMXJlbTtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogICAgICAgIC4xMjVyZW07XG4vLyRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcik7XG5cbiIsIlxuLy89PT09PT09PT09ICBTVkcgID09PT09PT09PT0vL1xuc3ZnLmluZm8tY2lyY2xlIHtcbiAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgc3Ryb2tlOiAkYnJhbmQtcHJpbWFyeTtcbiAgICB9XG59XG5cbi8vPT09PT09PT09PSAgTElFTlMvQlVUVE9OUyAgPT09PT09PT09PS8vXG4gICAgLnByaW1hcnktYnV0dG9uIHtcblx0cGFkZGluZzogMTJweCAyMHB4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogMTZweDtcblx0YmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xuXHRjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDU2cHg7XG5cdGdhcDogOHB4O1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWV4dHJhLWJvbGQoKTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0d2lkdGg6IGluaGVyaXQ7XG5cdEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkgeyAvLyBUYXJnZXRpbmcgWFMgYW5kIHNtYWxsZXIgc2NyZWVuc1xuXHQgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXHR9XG5cdFxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCwgJi5idXR0b24tZGlzYWJsZWQgIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LXJlZ3VsYXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleSAhaW1wb3J0YW50O1xuXHQgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBzdmcge1xuXHRcdHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRncmV5O1xuXHRcdH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG5cbiAgICAgICAgICAgICY6aG92ZXIsLCAmOmZvY3Vze1xuXHRcdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWRhcms7XG5cdFx0LyogaG92ZXIgc2hhZG93ICovXG5cdFx0Ym94LXNoYWRvdzogMHB4IDNweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHRcdGNvbG9yOiAjRkZGRkZGO1xuXHQgICAgfVxuXHQgICAgJjphY3RpdmUge1xuXHRcdGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cdFx0YmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktZGFya2VzdDtcblx0XHQvKiBwcmVzc2VkIHNoYWRvdyAqL1xuXHRcdGJveC1zaGFkb3c6IDBweCAycHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTApIGluc2V0O1xuXHRcdGNvbG9yOiAjRkZGRkZGO1xuXHQgICAgfVx0XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLnNlY29uZGFyeS1idXR0b24ge1xuXHRwYWRkaW5nOiAxMnB4IDIwcHg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiAxNnB4O1xuXG5cdGNvbG9yOiRicmFuZC1wcmltYXJ5ICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSwgI0ZGRik7XG5cdFxuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDU2cHg7XG5cdGdhcDogOHB4O1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWV4dHJhLWJvbGQoKTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdHdpZHRoOmF1dG87XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHsgLy8gVGFyZ2V0aW5nIFhTIGFuZCBzbWFsbGVyIHNjcmVlbnNcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXHQgICAgaGVpZ2h0OiAxMDAlO1xuXG5cdH1cblx0XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwYXRoLCBsaW5lIHtcblx0XHRzdHJva2U6ICRicmFuZC1wcmltYXJ5XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWRpc2FibGVkLWJ0bi1iZyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktZGlzYWJsZWQtYnRuLXRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG5cbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXN7XG5cdFx0YmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q7XG5cdFx0LyogaG92ZXIgc2hhZG93ICovXG5cdFx0Ym94LXNoYWRvdzogMHB4IDNweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHRcdGNvbG9yOiRicmFuZC1wcmltYXJ5ICFpbXBvcnRhbnQ7XHRcdFxuXHQgICAgfVxuXHQgICAgJjphY3RpdmUge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xuXHRcdGNvbG9yOiRicmFuZC1wcmltYXJ5ICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeS1saWdodDtcblx0XHRzdmcge1xuXHRcdCAgICBwYXRoLCBsaW5lIHtcblx0XHRcdHN0cm9rZTogJGJyYW5kLXByaW1hcnk7XG5cdFx0ICAgIH1cblx0XHR9XG5cdCAgICB9XHRcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgXG5hLCBidXR0b24ge1xuICAgIFxuICAgICYucHJpbWFyeS1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1idG4tYmcpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1ob3Zlci1idG4tc2hhZG93KTtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1leHRyYS1ib2xkKCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1idG4tdGV4dCk7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYnRuLXRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFuaW1hdGVkLWJnLXdyYXBwZXIge1xuICAgICAgICAgICAgLmFuaW1hdGVkLWJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWhvdmVyLWJ0bi1iZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsdC1jb2xvcnMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYWx0LWJ0bi1iZyk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYWx0LWJ0bi10ZXh0KTtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1hbHQtYnRuLXRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFuaW1hdGVkLWJnLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIC5hbmltYXRlZC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWFsdC1idG4tYmcpLCAxMCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktZGlzYWJsZWQtYnRuLWJnKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1kaXNhYmxlZC1idG4tdGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWhvdmVyLWJ0bi1zaGFkb3cpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggNXB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWhvdmVyLWJ0bi1zaGFkb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWNvbmRhcnktYnRuIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWJ0bi1ib3JkZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWJ0bi1iZyk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWhvdmVyLWJ0bi1zaGFkb3cpO1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWV4dHJhLWJvbGQoKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYnRuLXRleHQpO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYnRuLXRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFuaW1hdGVkLWJnLXdyYXBwZXIge1xuICAgICAgICAgICAgLmFuaW1hdGVkLWJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktaG92ZXItYnRuLWJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hbHQtY29sb3JzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hbHQtYnRuLWJvcmRlcik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFsdC1idG4tYmcpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYWx0LWJ0bi10ZXh0KTtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFsdC1idG4tdGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYW5pbWF0ZWQtYmctd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmFuaW1hdGVkLWJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFsdC1ob3Zlci1idG4tYmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFsdC1ob3Zlci1idG4tdGV4dCk7XG5cbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hbHQtaG92ZXItYnRuLXRleHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktZGlzYWJsZWQtYnRuLWJvcmRlcik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWRpc2FibGVkLWJ0bi1iZyk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1kaXNhYmxlZC1idG4tdGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktaG92ZXItYnRuLXNoYWRvdyk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktaG92ZXItYnRuLWNvbG9yKTtcblxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWhvdmVyLWJ0bi1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCA1cHggbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1ob3Zlci1idG4tc2hhZG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudGVydGlhcnktYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktYnRuLXRleHQpIDApIHZhcigtLWQsIDEwMCUpIDEwMCUgLzMwMCUgMXB4IG5vLXJlcGVhdDtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1leHRyYS1ib2xkKCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktYnRuLXRleHQpO1xuXG4gICAgICAgICYuZ3JlZW4ge1xuICAgICAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWdyZWVuLWhvdmVyLWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWdyZWVuLWhvdmVyLWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktZ3JlZW4taG92ZXItYnRuLXRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWx0LWNvbG9ycyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1hbHQtYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktYWx0LWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWFsdC1idG4tdGV4dCk7XG5cbiAgICAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1hbHQtYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYWx0LWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYWx0LWJ0bi10ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLndoaXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWFsdC1idG4tdGV4dCkgY2FsYygxMDAlIC8gMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlIC8gMyksIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1hbHQtYnRuLXRleHQpIDApIHZhcigtLWQsIDEwMCUpIDEwMCUgLzMwMCUgMXB4IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYWx0LWJ0bi10ZXh0KTtcblxuICAgICAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYnRuLXRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYnRuLXRleHQpIDApIHZhcigtLWQsIDEwMCUpIDEwMCUgLzMwMCUgMXB4IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWJ0bi10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucXVhcnRlcnktYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcXVhcnRlcnktYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCAkZ3JleS1kYXJrZXN0IDApIHZhcigtLWQsIDEwMCUpIDEwMCUgLzMwMCUgMXB4IG5vLXJlcGVhdDtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcblxuICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hbHQtY29sb3JzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHF1YXJ0ZXJ5LWFsdC1idG4tdGV4dCkgY2FsYygxMDAlIC8gMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlIC8gMyksIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBxdWFydGVyeS1hbHQtYnRuLXRleHQpIDApIHZhcigtLWQsIDEwMCUpIDEwMCUgLzMwMCUgMXB4IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcXVhcnRlcnktYWx0LWJ0bi10ZXh0KTtcblxuICAgICAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHF1YXJ0ZXJ5LWhvdmVyLWFsdC1idG4tdGV4dCkgY2FsYygxMDAlIC8gMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlIC8gMyksIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBxdWFydGVyeS1ob3Zlci1hbHQtYnRuLXRleHQpIDApIHZhcigtLWQsIDEwMCUpIDEwMCUgLzMwMCUgMXB4IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBxdWFydGVyeS1ob3Zlci1hbHQtYnRuLXRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucHJpbWFyeS1yb3VuZC1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1hcnJvdy1idG4tYmcpO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWFycm93LWJ0bi1pY29uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYXJyb3ctYnRuLXNoYWRvdyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCA1cHggbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYXJyb3ctYnRuLXNoYWRvdyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlY29uZGFyeS1yb3VuZC1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFycm93LWJ0bi1iZyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4tYm9yZGVyKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFycm93LWJ0bi1pY29uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4taG92ZXItYmcpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4tc2hhZG93KTtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFycm93LWJ0bi1ob3Zlci1pY29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCA1cHggbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4tc2hhZG93KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy89PT09PT09PT09ICBDSEVDS0JPWCAgPT09PT09PT09PS8vXG5bdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgICsgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtbGFiZWwpO1xuXG4gICAgICAgIC5hbmltYXRlZC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1ob3Zlci1lZmZlY3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogY2hlY2tib3ggYXNwZWN0ICovXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1ib3JkZXIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWJnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWhvdmVyLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogRGlzYWJsZWQgY2hlY2tib3ggKi9cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWRpc2FibGVkLWxhYmVsKTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1kaXNhYmxlZC1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1kaXNhYmxlZC1iZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWFjdGl2ZS1iZyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtYWN0aXZlLWJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgLy89PT09PSBGT1IgQUNDRVNTSUJJTElUWSBQVVJQT1NFUyBAVE9ETyBUTyBCRSBDT05GSVJNRUQgV0lUSCBERVNJR04gVEVBTVxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy89PT09PT09PT09ICBSQURJTyAgPT09PT09PT09PS8vXG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCksXG5bdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQge1xuICAgICsgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuXG4gICAgICAgIC5hbmltYXRlZC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1ob3Zlci1lZmZlY3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogY2hlY2tib3ggYXNwZWN0ICovXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1ib3JkZXIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHJhZGlvLWJnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1kb3QpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8taG92ZXItYm9yZGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEaXNhYmxlZCBjaGVja2JveCAqL1xuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8tZGlzYWJsZWQtbGFiZWwpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHJhZGlvLWRpc2FibGVkLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHJhZGlvLWRpc2FibGVkLWJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1hY3RpdmUtYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAvLz09PT09IEZPUiBBQ0NFU1NJQklMSVRZIFBVUlBPU0VTIEBUT0RPIFRPIEJFIENPTkZJUk1FRCBXSVRIIERFU0lHTiBURUFNXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHJhZGlvLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2hlY2tib3gtZXJyb3Ige1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtZXJyb3ItbGFiZWwpO1xuXG4gICAgLmV4Y2xhbWF0aW9uLWljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtZXJyb3ItYm9yZGVyKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1lcnJvci1pY29uKTtcbiAgICB9XG59XG5cbnNlbGVjdC5zZWxlY3QyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vPT09PT09PT09PSAgQ0hBTVAgVEVYVCsrICA9PT09PT09PT09Ly9cblt0eXBlPVwidGV4dFwiXSwgW3R5cGU9XCJudW1iZXJcIl0sIFt0eXBlPVwidGVsXCJdLCBbdHlwZT1cImVtYWlsXCJdLCBbdHlwZT1cInBhc3N3b3JkXCJdLCBbdHlwZT1cImVtYWlsXCJdLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtYm9yZGVyKTtcbiAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICBjYXJldC1jb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYuZm9ybS1jb250cm9sIHtcbiAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICB9XG5cbiAgICAgICAgJiB+IC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgICAgIC5leGNsYW1hdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtZXJyb3ItYm9yZGVyKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWljb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LXZhbHVlKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWFjdGl2ZS1ib3JkZXIpO1xuXG4gICAgICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtYWN0aXZlLWxhYmVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1lcnJvci1ib3JkZXIpO1xuXG4gICAgICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtZXJyb3ItbGFiZWwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIH4gLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtZXJyb3ItYm9yZGVyKTtcblxuICAgICAgICAgICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kcm9wZG93bi1hcnJvdy1lcnJvckAyeC5wbmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1lcnJvci1sYWJlbCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsdC1jb2xvcnMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtYWx0LWJvcmRlcik7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWFsdC12YWx1ZSk7XG4gICAgICAgICAgICBjYXJldC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWFsdC1jYXJldCk7XG5cbiAgICAgICAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hbHQtbGFiZWwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hbHQtYWN0aXZlLWJvcmRlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtYWx0LWVycm9yLWJvcmRlcik7XG5cbiAgICAgICAgICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWFsdC1lcnJvci1sYWJlbCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiB+IC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6I0UzMjAzMzsgXG5cbiAgICAgICAgICAgICAgICAgICAgLmV4Y2xhbWF0aW9uLWljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UzMjAzMztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLz09PT09PT09PT0gIENIQU1QIFRFWFRBUkVBICA9PT09PT09PT09Ly9cbi5mb3JtLWZsb2F0aW5nIHtcbiAgICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXh0YXJlYS1ib3JkZXIpO1xuICAgICAgICBjYXJldC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRleHRhcmVhLWNhcmV0KTtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGV4dGFyZWEtdGV4dCk7XG5cbiAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGV4dGFyZWEtbGFiZWwpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRleHRhcmVhLWxhYmVsLWJnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGV4dGFyZWEtYWN0aXZlLWJvcmRlcik7XG5cbiAgICAgICAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXh0YXJlYS1hY3RpdmUtbGFiZWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLz09PT09PT09PT0gIFNFTEVDVDIgU1RZTEVTIE9WRVJXUklURSAgPT09PT09PT09PS8vXG4uc2VsZWN0LWxhYmVsIHtcbiAgICAuc2VsZWN0LWxhYmVsLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2VsZWN0LXBsYWNlaG9sZGVyKTtcbiAgICB9XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlbGVjdC1ib3JkZXIpO1xuXG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlbGVjdC1vcHRpb25zKTtcblxuICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgICAgICBiIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZHJvcGRvd24tYXJyb3dAMngucG5nXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWxlY3QtYWN0aXZlLXNoYWRvdyk7XG5cbiAgICAgICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcms7XG5cbiAgICAgICAgICAgICYuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2VsZWN0LWFjdGl2ZS1vcHRpb25zLWJnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWxlY3QtaG92ZXItb3B0aW9ucy1iZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIHtcbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWxlY3Qtb3Blbi1ib3JkZXIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIENPTE9SU1xuLy8gVXNlIGh0dHA6Ly93d3cuY29sb3ItYmxpbmRuZXNzLmNvbS9jb2xvci1uYW1lLWh1ZS8gZm9yIGNvbG9yIG5hbWluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRW5mYW50c2NsaWNrIHRoZW1lIGNvbG9yc1xuJGJyYW5kLXByaW1hcnktZGFya2VzdDogIzJENEIxQztcbiRicmFuZC1wcmltYXJ5LWRhcms6ICMzRDZFMUQ7XG4kYnJhbmQtcHJpbWFyeTogIzUyOTYyMTtcbiRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0OiAjODhEMDRCO1xuJGJyYW5kLXByaW1hcnktbGlnaHQ6ICNDQUVFQTg7XG4kYnJhbmQtcHJpbWFyeS1saWdodGVzdDogI0Y4RkJGNjtcblxuXG4kd2hpdGU6ICNGRkZGRkY7XG4kd2hpdGUtZjc6ICNmN2Y3Zjc7XG4kc3V2YS1ncmV5OiAjQTFBMUFBO1xuJGNsZWFyLWRheTogJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q7XG4kZ2FpbnNib3JvOiAjRTRFNEU3O1xuJGdhaW5zYm9yby1lNjogI0U0RTRFNztcbiRsaWdodC1jeWFuOiAkYnJhbmQtcHJpbWFyeS1saWdodDtcbiRodW1taW5nLWJpcmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0O1xuJGRpbS1ncmF5OiAjQTFBMUFBO1xuJGRhcmstZ3JlZW46ICRicmFuZC1wcmltYXJ5LWRhcms7XG4kZGFyay1kZWVwLXNlYTogJGJyYW5kLXByaW1hcnktbWlkbGlnaHQ7XG4kZGVlcC1zZWE6ICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0O1xuJG1vdW50YWluLW1lYWRvdzogJGJyYW5kLXByaW1hcnktZGFyaztcbiRkZWVwLWNsZWFyOiAkYnJhbmQtcHJpbWFyeS1taWRsaWdodDtcbiRtdXN0YXJkOiAjRkZGRkZGO1xuJHJlZDogI2ZhMDAwYTtcblxuXG4vL1xuLy8gTUFQLUdFVCgpIEFSUkFZU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGNvbG9ycy1iYXNlLXVpOiAoXG4gICAgdGl0bGVzOiAkZGFyay1ncmVlbixcbiAgICBwYXJhZ3JhcGhzOiAkZGFyay1ncmVlbixcblxuICAgIHByaW1hcnktYnRuLWJnOiAkZGVlcC1zZWEsXG4gICAgcHJpbWFyeS1idG4tdGV4dDogJHdoaXRlLFxuICAgIHByaW1hcnktZGlzYWJsZWQtYnRuLWJnOiAkZ2FpbnNib3JvLFxuICAgIHByaW1hcnktZGlzYWJsZWQtYnRuLXRleHQ6ICRkaW0tZ3JheSxcbiAgICBwcmltYXJ5LWhvdmVyLWJ0bi1iZzogJGRhcmstZGVlcC1zZWEsXG4gICAgcHJpbWFyeS1ob3Zlci1idG4tc2hhZG93OiByZ2JhKCRkYXJrLWdyZWVuLCAwLjMpLFxuICAgIHByaW1hcnktYWx0LWJ0bi1iZzogJG11c3RhcmQsXG4gICAgcHJpbWFyeS1hbHQtYnRuLXRleHQ6ICRkYXJrLWdyZWVuLFxuXG4gICAgc2Vjb25kYXJ5LWJ0bi1iZzogJHdoaXRlLFxuICAgIHNlY29uZGFyeS1idG4tdGV4dDogJGRlZXAtc2VhLFxuICAgIHNlY29uZGFyeS1idG4tYm9yZGVyOiAkZGVlcC1zZWEsXG4gICAgc2Vjb25kYXJ5LWRpc2FibGVkLWJ0bi1iZzogJHdoaXRlLFxuICAgIHNlY29uZGFyeS1kaXNhYmxlZC1idG4tdGV4dDogJGRpbS1ncmF5LFxuICAgIHNlY29uZGFyeS1kaXNhYmxlZC1idG4tYm9yZGVyOiAkZGltLWdyYXksXG4gICAgc2Vjb25kYXJ5LWhvdmVyLWJ0bi1jb2xvcjogJHdoaXRlLFxuICAgIHNlY29uZGFyeS1ob3Zlci1idG4tYmc6ICRkZWVwLXNlYSxcbiAgICBzZWNvbmRhcnktaG92ZXItYnRuLXNoYWRvdzogcmdiYSgkZGFyay1ncmVlbiwgMC4zKSxcbiAgICBzZWNvbmRhcnktYWx0LWJ0bi1iZzogdHJhbnNwYXJlbnQsXG4gICAgc2Vjb25kYXJ5LWFsdC1idG4tdGV4dDogJHdoaXRlLFxuICAgIHNlY29uZGFyeS1hbHQtYnRuLWJvcmRlcjogJG11c3RhcmQsXG4gICAgc2Vjb25kYXJ5LWFsdC1ob3Zlci1idG4tdGV4dDogJGRhcmstZ3JlZW4sXG4gICAgc2Vjb25kYXJ5LWFsdC1ob3Zlci1idG4tYmc6ICRtdXN0YXJkLFxuXG4gICAgdGVydGlhcnktYnRuLXRleHQ6ICRkZWVwLXNlYSxcbiAgICB0ZXJ0aWFyeS1ob3Zlci1idG4tdGV4dDogJG11c3RhcmQsXG4gICAgdGVydGlhcnktZ3JlZW4taG92ZXItYnRuLXRleHQ6ICRkYXJrLWdyZWVuLFxuICAgIHRlcnRpYXJ5LWFsdC1idG4tdGV4dDogJG11c3RhcmQsXG4gICAgdGVydGlhcnktaG92ZXItYWx0LWJ0bi10ZXh0OiAkd2hpdGUsXG5cbiAgICBxdWFydGVyeS1idG4tdGV4dDogJGRlZXAtc2VhLFxuICAgIHF1YXJ0ZXJ5LWFsdC1idG4tdGV4dDogJG11c3RhcmQsXG4gICAgcXVhcnRlcnktaG92ZXItYWx0LWJ0bi10ZXh0OiAkZGVlcC1zZWEsXG5cbiAgICBjaGVja2JveC1sYWJlbDogJGRhcmstZ3JlZW4sXG4gICAgY2hlY2tib3gtYm9yZGVyOiAkZGltLWdyYXksXG4gICAgY2hlY2tib3gtYmc6ICR3aGl0ZSxcbiAgICBjaGVja2JveC1ob3Zlci1ib3JkZXI6ICRkZWVwLXNlYSxcbiAgICBjaGVja2JveC1ob3Zlci1lZmZlY3Q6ICRjbGVhci1kYXksXG4gICAgY2hlY2tib3gtYWN0aXZlLWJnOiAkZGVlcC1zZWEsXG4gICAgY2hlY2tib3gtZGlzYWJsZWQtbGFiZWw6ICRkaW0tZ3JheSxcbiAgICBjaGVja2JveC1kaXNhYmxlZC1ib3JkZXI6ICRkaW0tZ3JheSxcbiAgICBjaGVja2JveC1kaXNhYmxlZC1iZzogJHdoaXRlLFxuXG4gICAgcmFkaW8tbGFiZWw6ICRkYXJrLWdyZWVuLFxuICAgIHJhZGlvLWJvcmRlcjogJGRpbS1ncmF5LFxuICAgIHJhZGlvLWRvdDogJGRlZXAtc2VhLFxuICAgIHJhZGlvLWJnOiAkd2hpdGUsXG4gICAgcmFkaW8taG92ZXItYm9yZGVyOiAkZGVlcC1zZWEsXG4gICAgcmFkaW8taG92ZXItZWZmZWN0OiByZ2JhKCRkaW0tZ3JheSwgMC4wOCksXG4gICAgcmFkaW8tYWN0aXZlLWJnOiAkZGVlcC1zZWEsXG4gICAgcmFkaW8tZGlzYWJsZWQtbGFiZWw6ICRkaW0tZ3JheSxcbiAgICByYWRpby1kaXNhYmxlZC1ib3JkZXI6ICRkaW0tZ3JheSxcbiAgICByYWRpby1kaXNhYmxlZC1iZzogJHdoaXRlLFxuXG4gICAgaW5wdXQtbGFiZWw6ICRkaW0tZ3JheSxcbiAgICBpbnB1dC12YWx1ZTogJGRhcmstZ3JlZW4sXG4gICAgaW5wdXQtY2FyZXQ6ICRkZWVwLXNlYSxcbiAgICBpbnB1dC1ib3JkZXI6ICRkaW0tZ3JheSxcbiAgICBpbnB1dC1hY3RpdmUtbGFiZWw6ICRkZWVwLXNlYSxcbiAgICBpbnB1dC1hY3RpdmUtYm9yZGVyOiAkZGVlcC1zZWEsXG4gICAgaW5wdXQtZXJyb3ItaWNvbjogJHdoaXRlLFxuICAgIGlucHV0LWVycm9yLWxhYmVsOiAkcmVkLFxuICAgIGlucHV0LWVycm9yLWJvcmRlcjogJHJlZCxcbiAgICBpbnB1dC1hbHQtbGFiZWw6ICR3aGl0ZSxcbiAgICBpbnB1dC1hbHQtdmFsdWU6ICR3aGl0ZSxcbiAgICBpbnB1dC1hbHQtY2FyZXQ6ICRtdXN0YXJkLFxuICAgIGlucHV0LWFsdC1ib3JkZXI6ICR3aGl0ZSxcbiAgICBpbnB1dC1hbHQtYWN0aXZlLWxhYmVsOiAkd2hpdGUsXG4gICAgaW5wdXQtYWx0LWFjdGl2ZS1ib3JkZXI6ICRtdXN0YXJkLFxuICAgIGlucHV0LWFsdC1lcnJvci1pY29uOiAkZGVlcC1zZWEsXG4gICAgaW5wdXQtYWx0LWVycm9yLWxhYmVsOiAkbXVzdGFyZCxcbiAgICBpbnB1dC1hbHQtZXJyb3ItYm9yZGVyOiAkbXVzdGFyZCxcblxuICAgIHRleHRhcmVhLWJvcmRlcjogJGRpbS1ncmF5LFxuICAgIHRleHRhcmVhLWxhYmVsOiAkZGltLWdyYXksXG4gICAgdGV4dGFyZWEtdGV4dDogJGRhcmstZ3JlZW4sXG4gICAgdGV4dGFyZWEtY2FyZXQ6ICRkZWVwLXNlYSxcbiAgICB0ZXh0YXJlYS1sYWJlbC1iZzogJHdoaXRlLFxuICAgIHRleHRhcmVhLWFjdGl2ZS1ib3JkZXI6ICRkZWVwLXNlYSxcbiAgICB0ZXh0YXJlYS1hY3RpdmUtbGFiZWw6ICRkZWVwLXNlYSxcblxuICAgIHNlbGVjdC1wbGFjZWhvbGRlcjogJGRpbS1ncmF5LFxuICAgIHNlbGVjdC1vcHRpb25zOiAkZGFyay1kZWVwLXNlYSxcbiAgICBzZWxlY3QtYm9yZGVyOiAkZGltLWdyYXksXG4gICAgc2VsZWN0LW9wZW4tYm9yZGVyOiAkZGFyay1kZWVwLXNlYSxcbiAgICBzZWxlY3QtaG92ZXItb3B0aW9ucy1iZzogJGdhaW5zYm9ybyxcbiAgICBzZWxlY3QtYWN0aXZlLW9wdGlvbnMtYmc6ICR3aGl0ZSxcbiAgICBzZWxlY3QtYWN0aXZlLXNoYWRvdzogcmdiYShibGFjaywgMC4xNiksXG5cbiAgICBwcmltYXJ5LWFycm93LWJ0bi1iZzogJG11c3RhcmQsXG4gICAgcHJpbWFyeS1hcnJvdy1idG4taWNvbjogJGRhcmstZ3JlZW4sXG4gICAgcHJpbWFyeS1hcnJvdy1idG4tc2hhZG93OiByZ2JhKCRkYXJrLWdyZWVuLCAwLjc1KSxcblxuICAgIHNlY29uZGFyeS1hcnJvdy1idG4tYmc6IHRyYW5zcGFyZW50LFxuICAgIHNlY29uZGFyeS1hcnJvdy1idG4tYm9yZGVyOiAkd2hpdGUsXG4gICAgc2Vjb25kYXJ5LWFycm93LWJ0bi1pY29uOiAkd2hpdGUsXG4gICAgc2Vjb25kYXJ5LWFycm93LWJ0bi1zaGFkb3c6IHJnYmEoJGRhcmstZ3JlZW4sIDAuNzUpLFxuICAgIHNlY29uZGFyeS1hcnJvdy1idG4taG92ZXItYmc6ICRtdXN0YXJkLFxuICAgIHNlY29uZGFyeS1hcnJvdy1idG4taG92ZXItaWNvbjogJGRhcmstZ3JlZW4sXG5cbiAgICBsaW5rLWNvbG9yOiAkZGVlcC1zZWEsXG4gICAgbGluay1ob3Zlci1jb2xvcjogJGRhcmstZ3JlZW4sXG5cbiAgICB0aXRsZS1saW5lOiAkd2hpdGUsXG4gICAgdGl0bGUtbGluZS1hbHQ6ICRtdXN0YXJkXG4pO1xuXG4kY29sb3JzLWhlYWRlcjogKFxuICAgIGJhY2tncm91bmQ6IzFlNmY4NyxcbiAgICBiYWNrZ3JvdW5kLWl0ZW1zOiAkcmVkLFxuICAgIGxpbmstdGV4dDogJHdoaXRlLFxuICAgIGxpbmstaG92ZXItdGV4dDogJG11c3RhcmQsXG4pO1xuXG4kY29sb3JzLWNhdGVnb3J5LWhlYWRlcjogKFxuICAgIGJhY2tncm91bmQ6ICRjbGVhci1kYXksXG4gICAgY2F0ZWdvcnktbGluazogJGRhcmstZ3JlZW4sXG4gICAgY2F0ZWdvcnktbGluay1hY3RpdmU6ICRkZWVwLXNlYSxcbiAgICBzZXNzaW9uLWltZy1iYWNrZ3JvdW5kOiAkd2hpdGUsXG4gICAgc2Vzc2lvbi1ob3ZlcjogJGRlZXAtc2VhLFxuICAgIHNlc3Npb24tb3BlbjogJHdoaXRlLFxuICAgIG5hbm8tcGFuZTogJGNsZWFyLWRheSxcbiAgICBuYW5vLXNsaWRlcjogJGRlZXAtc2VhXG4pO1xuXG4kY29sb3JzLWZvb3RlcjogKFxuICAgIGFkdmFudGFnZS1iYWNrZ3JvdW5kOiAkZGFyay1ncmVlbixcbiAgICBhZHZhbnRhZ2UtdGV4dDogJHdoaXRlLFxuICAgIG1haW4tY29udGVudC1iYWNrZ3JvdW5kOiAkZGVlcC1zZWEsXG4gICAgbWFpbi1jb250ZW50LXRleHQ6ICR3aGl0ZSxcbiAgICBtYWluLWNvbnRlbnQtbGluay1jb2xvcjogY3VycmVudENvbG9yLFxuICAgIG1haW4tY29udGVudC1saW5rLWhvdmVyLWNvbG9yOiAkbXVzdGFyZCxcbiAgICBzb2NpYWwtaG92ZXItYmFja2dyb3VuZDogJG11c3RhcmQsXG4gICAgc29jaWFsLWhvdmVyLWxvZ286ICRkYXJrLWdyZWVuLFxuKTtcblxuJGNvbG9ycy1oZXJvOiAoXG4gICAgYmFja2dyb3VuZDogJGRlZXAtc2VhLFxuICAgIHRleHQ6ICR3aGl0ZSxcbik7XG4kY29sb3JzLWhlcm8td2VsY29tZTogKFxuICAgIGNvZGUtYmctaW5hY3RpdmU6ICRtdXN0YXJkLFxuICAgIGNvZGUtYmctYWN0aXZlOiAkZGFyay1kZWVwLXNlYSxcbiAgICBwaG90by1iZy1hbHQ6JHdoaXRlLWY3LFxuICAgIHBob3RvLWJnOiR3aGl0ZSxcbiAgICB0aWxlLWFjdGl2ZS1iZzogJHdoaXRlLFxuICAgIHRpbGUtYWN0aXZlLXRleHQ6ICRkYXJrLWdyZWVuLFxuICAgIHRpbGUtbGluazogJHdoaXRlLFxuICAgIHRpbGUtYWN0aXZlLWxpbms6ICRkYXJrLWdyZWVuLFxuICAgIHRpbGUtbW9iaWxlLWJnOiAkd2hpdGUsXG4gICAgdGlsZS1tb2JpbGUtdGV4dDogJGRhcmstZ3JlZW4sXG4gICAgdGlsZS1tb2JpbGUtbGluazogJGRhcmstZ3JlZW5cbik7XG5cbiRjb2xvcnMtbG9naW46IChcbiAgICBiYWNrZ3JvdW5kOiAkZGFyay1kZWVwLXNlYVxuKTtcblxuJGNvbG9ycy1ob21lcGFnZS1wcmVzZW50YXRpb246IChcbiAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmVlbixcbiAgICB0ZXh0OiAkd2hpdGUsXG4pO1xuXG4kY29sb3JzLWFuaW1hdGVkLWN1cnZlOiAoXG4gICAgY3VydmUtYmc6ICRtb3VudGFpbi1tZWFkb3csXG4pO1xuXG4kY29sb3JzLWdhbGxlcnktb3ZlcmxheTogKFxuICAgIGJhY2tncm91bmQ6ICRjbGVhci1kYXksXG4gICAgaW1hZ2UtYmFja2dyb3VuZDogJHdoaXRlLFxuICAgIGFycm93czogJGRhcmstZ3JlZW4sXG4gICAgaGVhZGluZ3M6ICR3aGl0ZSxcbiAgICBib3JkZXI6ICRnYWluc2Jvcm8tZTYsXG4gICAgYm9yZGVyLWFjdGl2ZTogJGRlZXAtc2VhLFxuKTtcblxuJGNvbG9ycy1pbWFnZS10ZXh0OiAoXG4gICAgYmFja2dyb3VuZDogJGRhcmstZ3JlZW4sXG4gICAgdGV4dHM6ICR3aGl0ZVxuKTtcblxuJGNvbG9ycy1wcm9kdWN0LXRpbGU6IChcbiAgICBiYWNrZ3JvdW5kOiAkY2xlYXItZGF5LFxuICAgIGhvdmVyLTE6ICRkZWVwLXNlYSxcbiAgICBob3Zlci0yOiAkZGFyay1ncmVlblxuKTtcblxuJGNvbG9ycy1jdXN0b21pemU6IChcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGUsXG4gICAgbGF5b3V0LWNlbGwtYmFja2dyb3VuZDogJGh1bW1pbmctYmlyZCxcbiAgICBib3JkZXJzOiAkZ2FpbnNib3JvLWU2LFxuICAgIGJvcmRlcnMtaG92ZXI6ICRkZWVwLXNlYSxcbiAgICB0ZXh0LWhvdmVyOiAkZGVlcC1zZWEsXG4gICAgcGFydC1pbmFjdGl2ZTokc3V2YS1ncmV5LFxuICAgIHBhcnQtYWN0aXZlOiAkZGVlcC1zZWEsXG4gICAgc3RlcHM6ICRkZWVwLXNlYSxcbiAgICBwcmV2aWV3LWJnOiAkY2xlYXItZGF5LFxuICAgIHByZXZpZXctaW1nLWJnOiAkd2hpdGUsXG4gICAgbmFtZTogJGRhcmstZ3JlZW4sXG4gICAgcmFuZG9tLWJ1dHRvbjogJGRlZXAtc2VhLFxuICAgIGlucHV0LXBsYWNlaG9sZGVyOiAkZGltLWdyYXksXG4gICAgaW5wdXQtY29udGVudDogJGRhcmstZ3JlZW4sXG4gICAgZXJyb3I6ICRyZWQsXG4gICAgaW5jbHVkZWQtaXRlbXM6ICRzdXZhLWdyZXksXG4gICAgaW5jbHVkZWQtaXRlbXMtYnRuOiAkZGVlcC1zZWEsXG4pO1xuXG4kY29sb3JzLXBvcHVwOiAoXG4gICAgYmFja2dyb3VuZDogJHdoaXRlLFxuICAgIGJhY2tncm91bmQtZmFkZTogcmdiYSgwLCAwLCAwLCAwLjc1KSxcbiAgICBidG4tY2xvc2U6ICRkYXJrLWdyZWVuXG4pO1xuXG4kY29sb3JzLW5vdGljZTogKFxuICAgIGJhY2tncm91bmQ6ICRsaWdodC1jeWFuLFxuICAgIHBhcnRpY2xlLWNvbG9yLTE6ICRtb3VudGFpbi1tZWFkb3csXG4gICAgcGFydGljbGUtY29sb3ItMjogJG11c3RhcmQsXG4gICAgcGFydGljbGUtYm9yZGVyOiAkZGFyay1ncmVlblxuKTtcblxuJGNvbG9ycy1tZXNzYWdlczogKFxuICAgIHRleHQtd2hpdGU6ICR3aGl0ZSxcbiAgICBiYWNrZ3JvdW5kLWluZm86ICRsaWdodC1jeWFuLFxuICAgIGJhY2tncm91bmQtd2FybmluZzogJG11c3RhcmQsXG4gICAgYmFja2dyb3VuZC1lcnJvcjogJHJlZCxcbiAgICBiYWNrZ3JvdW5kLXN1Y2Nlc3M6ICRtb3VudGFpbi1tZWFkb3csXG4gICAgY2xvc2UtYnRuOiAkZGFyay1ncmVlbixcbiAgICBjbG9zZS1idG4td2hpdGU6ICR3aGl0ZSxcbik7XG5cbiRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzczogKFxuICAgIHBhZ2UtYmFja2dyb3VuZDogI0Y0RjRGNSxcbiAgICBjb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSxcbiAgICBhZGQtY2hpbGQtYmFja2dyb3VuZDogJGxpZ2h0LWN5YW4sXG4gICAgZXh0cmEtcG9zZXMtYmFja2dyb3VuZDogJGRhcmstZGVlcC1zZWEsXG4gICAgZXh0cmEtcG9zZXMtdGV4dDogJHdoaXRlLFxuICAgIG1lbnUtaW5hY3RpdmU6JHN1dmEtZ3JleSxcbiAgICBtZW51LWFjdGl2ZTogJGRlZXAtc2VhLFxuICAgIGJvcmRlcjogJGdhaW5zYm9yby1lNixcbiAgICBidXR0b24tdGV4dDogJGRlZXAtc2VhLFxuICAgIGhpZ2hsaWdodC10ZXh0OiAkZGVlcC1zZWEsXG4gICAgY2hlY2tib3gtbGFiZWw6ICRkYXJrLWdyZWVuLFxuICAgIGRpc2FibGVkOiAkZGltLWdyYXksXG4gICAgY2hlY2ttYXJrLWljb246ICRkZWVwLXNlYSxcbiAgICBlcnJvcjogJHJlZFxuKTtcblxuXG4kY29sb3JzLXRleHQtcGFnZTogKFxuICAgIGhlYWRpbmctYmFja2dyb3VuZDogJGRlZXAtc2VhLFxuICAgIGhlYWRpbmc6ICR3aGl0ZSxcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGUsXG4pO1xuXG5cbiRjb2xvcnMtbWFwOiAoXG4gICAgYmFja2dyb3VuZDogJGRlZXAtc2VhLFxuICAgIGludGVyYWN0aXZlLWNvbG9yOiAkbXVzdGFyZCxcbiAgICBzZWNvbmRhcnktY29sb3I6ICRkYXJrLWdyZWVuLFxuICAgIHNlY29uZGFyeS1ib3JkZXI6ICRkZWVwLWNsZWFyLFxuICAgIGxpZ2h0OiAkd2hpdGUsXG4gICAgbGlnaHQtYm9yZGVyOiAkZ2FpbnNib3JvLWU2LFxuXG4pO1xuIiwiYXNpZGUge1xuICAgICYuYXNpZGUtbG9jYXRpb25zIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLW1hcCwgYmFja2dyb3VuZCk7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIFt0eXBlPXRleHRdIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGludGVyYWN0aXZlLWNvbG9yKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgICAgICAgICBjYXJldC1jb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBpbnRlcmFjdGl2ZS1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG5cblxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIGcgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGludGVyYWN0aXZlLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBpbnRlcmFjdGl2ZS1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGcgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIHNlY29uZGFyeS1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubG9jYXRpb24ge1xuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGludGVyYWN0aXZlLWNvbG9yKTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxMDB2bWF4IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGludGVyYWN0aXZlLWNvbG9yKTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgLmluZm9zIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIHNlY29uZGFyeS1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNlbGVjdC1sb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIHNlY29uZGFyeS1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBzZWNvbmRhcnktY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1tYXAsIHNlY29uZGFyeS1ib3JkZXIpO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC5pbmZvcyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlbGVjdC1sb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBpbnRlcmFjdGl2ZS1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICYubW9iaWxlLW92ZXJsYXkge1xuICAgICAgICAgICAgLnRodW1iIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi5hZGQtY2hpbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBhZGQtY2hpbGQtYmFja2dyb3VuZCk7XG59XG4iLCIuY2hlY2tvdXQtY29uZmlybWF0aW9uIHtcbiAgICAuY29udGVudCB7XG4gICAgICAgIC5vcmRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVjay1pbnN0cnVjdGlvbnMge1xuICAgICAgICAudGhhbmtzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIC5jaGVjay1pbnN0cnVjdGlvbnMge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuXG4gICAgICAgICAgICAudGV4dCwgLm5vdGljZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2hlY2tvdXQtZm9ybSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGNvbnRlbnQtYmFja2dyb3VuZCk7XG4gICAgLmhhcy10b3AtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LCAuYm9sZCB7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgIH1cblxuICAgIC5zZXBhcmF0b3Ige1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcbiAgICB9XG5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKSArIGxhYmVsLFxuICAgICAgICBbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCxcbiAgICAgICAgLmluZm8tbGFiZWwsXG4gICAgICAgIC5mbG9hdGluZy1lbGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQ6ZGlzYWJsZWQge1xuICAgICAgICAgICAgJiB+IC5pbmZvLFxuICAgICAgICAgICAgJiB+IC5pbmZvLWxhYmVsLFxuICAgICAgICAgICAgJiB+IC5mbG9hdGluZy1lbGVtIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGRpc2FibGVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mbG9hdGluZy1lbGVtIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrO1xuXG4gICAgICAgICAgICAmLnBpY3R1cmVzIHtcbiAgICAgICAgICAgICAgICAucGF5bWVudC1tZXRob2QuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgaGlnaGxpZ2h0LXRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QtbGFiZWwge1xuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jaGVja291dC1yZXZpZXcge1xuICAgIC5oYXMtYm90dG9tLWJvcmRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHB4LXRvLXJlbSgzMHB4KTtcbiAgICB9XG4gICAgLmhhcy10b3AtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgICAgICBwYWRkaW5nLXRvcDogcHgtdG8tcmVtKDI0cHgpO1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGNvbnRlbnQtYmFja2dyb3VuZCk7XG4gICAgfVxuXG4gICAgLmV4dHJhLWluZm8ge1xuICAgICAgICAuaXMtc21hbGwge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICAudG90YWwge1xuICAgICAgICAgICAgLnByaWNlLmlzLWZyZWUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgaGlnaGxpZ2h0LXRleHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGlwIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnJldmlldy1wYXJ0IHtcbiAgICAgICAgJi5pcy1zaGlwcGluZyxcbiAgICAgICAgJi5pcy1wYXltZW50IHtcbiAgICAgICAgICAgIC5lbGVtIHtcbiAgICAgICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIC5oYXMtYm90dG9tLWJvcmRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcHgtdG8tcmVtKDIzcHgpO1xuICAgICAgICB9XG4gICAgICAgIC5oYXMtdG9wLWJvcmRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcHgtdG8tcmVtKDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNoaWxkLXRpbGUge1xuICAgIC5wYWNrYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGNvbnRlbnQtYmFja2dyb3VuZCk7XG4gICAgfVxuXG4gICAgLnBhY2thZ2Utc3VtbWFyeSB7XG4gICAgICAgIC5xdHkgc3BhbiwgLm9yaWdpbmFsLXByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnF0eXtcbiAgICAgICAgICAgIC5zZWxlY3QyLWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuXG4gICAgICAgICAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZHJvcGRvd24tYXJyb3ctY29sb3JlZEAyeC5wbmdcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UuaXMtZnJlZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGhpZ2hsaWdodC10ZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNsdWItc3Vic2NyaXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgY29udGVudC1iYWNrZ3JvdW5kKTtcblxuICAgIC5ib3R0b20ge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG5cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgaGlnaGxpZ2h0LXRleHQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxldHRlci1hbmltYXRpb24ge1xuICAgIHN2ZyB7XG5cdHJlY3QsXG5cdHBhdGgsXG5cdGxpbmVcblx0e1xuXHQgICAgc3Ryb2tlOiAkYnJhbmQtcHJpbWFyeS1kYXJrO1xuXHR9XG5cdGVsbGlwc2Uge1xuXHQgICAgc3Ryb2tlOm5vbmU7XG5cdH1cblx0XG5cdHJlY3QsXG5cdHBhdGgsXG5cdGVsbGlwc2Uge1xuXHQgICAgZmlsbDogI0QzRTZFQztcblx0fVxuICAgIH1cblxuICAgIC5jaGVja21hcmsge1xuXHRyZWN0LFxuXHRwYXRoLFxuXHRlbGxpcHNlIHtcblx0ICAgIGZpbGw6ICMyMkM1NUU7XG5cdH1cblxuXHQvLyBFbnN1cmUgdGhlIHN0cm9rZSBjb2xvciBvZiB0aGUgY2hlY2ttYXJrIHBhdGggcmVtYWlucyB3aGl0ZVxuXHRwYXRoIHtcblx0ICAgIHN0cm9rZTogI2ZmZjtcblx0fVxuICAgIH1cbiAgICBcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIHBhZ2UtYmFja2dyb3VuZCk7XG4gICAgfVxufVxuIiwiLnBhY2thZ2UtcGFydCB7XG4gICAgJi5pcy1yZXZpZXcge1xuICAgICAgICAucGFydC1jb250ZW50IHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5pcy1yZXZpZXcpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgIH1cblxuICAgIC5wYWNrYWdlLXRpdGxlIHtcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXJ0LWNvbnRlbnQge1xuICAgICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcbiAgICB9XG5cbiAgICAuaW1nLXdyYXBwZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcblxuICAgICAgICAuZXh0cmEtcG9zZXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGV4dHJhLXBvc2VzLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBleHRyYS1wb3Nlcy10ZXh0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICB9XG5cbiAgICAubGF5b3V0LWltZyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgIH1cbn1cbiIsIi5zdW1tYXJ5IHtcbiAgICAuZGV0YWlsIHtcbiAgICAgICAgJi5pcy1ib2xkIHtcbiAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWhpZ2hsaWd0aGVkIHtcbiAgICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgaGlnaGxpZ2h0LXRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5maW5hbC10b3RhbCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmVlZC1oZWxwIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9taXNlcyB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc3VydmV5LWZvcm0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBjb250ZW50LWJhY2tncm91bmQpO1xuXG4gICAgLmV4cGVyaWVuY2Uge1xuICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVycm9yIHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBlcnJvcik7XG4gICAgfVxuXG4gICAgLnRoYW5rcyB7XG4gICAgICAgIC5jaGVja21hcmstaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgY2hlY2ttYXJrLWljb24pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnBvcHVwIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtcG9wdXAsIGJhY2tncm91bmQtZmFkZSk7XG5cbiAgICAucG9wdXAtd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1wb3B1cCwgYmFja2dyb3VuZCk7XG5cbiAgICAgICAgLnBvcHVwLWNsb3NlLWJ0biB7XG4gICAgICAgICAgICBzdmcgbGluZSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXBfZ2V0KCRjb2xvcnMtcG9wdXAsIGJ0bi1jbG9zZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucG9wdXAtY29udGVudCB7XG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50eXBlLWJhY2tncm91bmQge1xuICAgIC5waWN0dXJlcy1saXN0IHtcbiAgICAgICAgLmltZy13cmFwcGVyIHtcbiAgICAgICAgICAgICY6aG92ZXIsICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzLWhvdmVyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYmFja2dyb3VuZC1uYW1lLCAuYmFja2dyb3VuZC1wcmljZSwgLnByZW1pdW0tcHJpY2UgIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxvYWQtbW9yZSB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLCAmLmZhdm9yaXRlZCB7XG5cdFx0Y29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICAgICAgLmZhdm9yaXRlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY3VzdG9taXplL2Zhdm9yaXRlLWljb24tZmlsbGVkLnBuZycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZhdm9yaXRlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jdXN0b21pemUvZmF2b3JpdGUtaWNvbi1vdXRsaW5lLnBuZycpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCBhdXRvO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5iYWNrZ3JvdW5kLW5hbWUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAucGljdHVyZXMtbGlzdCB7XG4gICAgICAgICAgICAuaW1nLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIC5mYXZvcml0ZXtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIsICYuZmF2b3JpdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgLmZhdm9yaXRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2N1c3RvbWl6ZS9mYXZvcml0ZS1pY29uLWZpbGxlZC5wbmcnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5mYXZvcml0ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2N1c3RvbWl6ZS9mYXZvcml0ZS1pY29uLW91dGxpbmUucG5nJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnR5cGUtZ3JhZGVze1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgaW5wdXQtcGxhY2Vob2xkZXIpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBpbnB1dC1jb250ZW50KSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi50eXBlLWxheW91dCB7XG4gICAgLmxheW91dHMtbGlzdHtcbiAgICAgICAgLmxheW91dC13cmFwcGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMpO1xuXG4gICAgICAgICAgICAmOmhvdmVyLCAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzLWhvdmVyKTtcblxuICAgICAgICAgICAgICAgICYgfiAubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxheW91dC1kaXNwbGF5IHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmV5O1xuXG4gICAgICAgICAgICAuY2VsbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyZXk7XG5cbiAgICAgICAgICAgICAgICAuYmcge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudHlwZS1waG9uZXtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGlucHV0LXBsYWNlaG9sZGVyKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgaW5wdXQtY29udGVudCkgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIudHlwZS1wb3Nle1xuICAgIC5waWN0dXJlcy1saXN0e1xuICAgICAgICAuaW1nLXdyYXBwZXJ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAmOmhvdmVyLCAmLnNlbGVjdGVke1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycy1ob3Zlcik7XG5cbiAgICAgICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycy1ob3Zlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMtaG92ZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzKTtcblx0XHRib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5kb3dubG9hZHMge1xuXG4gICAgLmRvd25sb2FkLWxpbmsgYXtcblx0Y29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICBzdmcsIHN2ZyAqIHtcblx0ICAgIHdpZHRoOiAzMnB4O1xuXHQgICAgaGVpZ2h0OiAzMnB4O1xuXHQgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgICAgICBmaWxsOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5LWRhcms7XG4gICAgICAgICAgICBzdmcsIHN2ZyAqIHtcblx0XHRmaWxsOiAkYnJhbmQtcHJpbWFyeS1kYXJrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cdFxuICAgIH1cbn1cbiIsIi5sb2dpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgXG5cbiAgICAubG9naW4tbmF2IC5sb2dpbi1uYXYtZWxlbWVudC5zZWxlY3RlZCAge1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGJyYW5kLXByaW1hcnk7XG4gICAgfVxuICAgIFxuICAgIC5sb2dpbl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICB9XG5cbiAgICAucmVtb3ZlLWNvZGV7XG4gICAgICAgIHN2Z3tcbiAgICAgICAgICAgICp7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiRncmV5LWRhcmtlc3Q7IFxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1sb2dpbiB7XG4gICAgICAgIC5sb2dpbi1jb2Rlc3tcbiAgICAgICAgICAgICY6Zm9jdXN7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tZGFya2VyLXByaW1hcnktY29sb3IsICRicmFuZC1wcmltYXJ5LWRhcmspO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLXdoaXRlLCAjRkZGKSAhaW1wb3J0YW50O1xuXHRcdGJveC1zaGFkb3c6IDBweCAxcHggNHB4IDBweCAkYnJhbmQtcHJpbWFyeS1taWRsaWdodDtcblx0ICAgIH1cblxuXHR9XG4gICAgfVxuICAgIC5sb2dpbl9fYWRkLWNvZGUtYnRuIHtcblx0Y29sb3I6JGJyYW5kLXByaW1hcnk7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xuXG4gICAgICAgICY6aG92ZXJ7XG5cdCAgICBiYWNrZ3JvdW5kOiB2YXIoLS1OYW5DLUxpZ2h0LXByaW1hcnksICRicmFuZC1wcmltYXJ5LWxpZ2h0ZXN0KTtcblx0ICAgIC8qIGhvdmVyIHNoYWRvdyAqL1xuXHQgICAgYm94LXNoYWRvdzogMHB4IDNweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHR9XG5cdCY6YWN0aXZlIHtcblx0ICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuXHR9XHRcbiAgICB9XG5cbiAgICAuZm9ybS1sb2dpbl9fc3VibWl0IHtcblx0YmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xuXG5cdCY6aG92ZXJ7XG5cdCAgICBiYWNrZ3JvdW5kOiB2YXIoLS1OYW5DLUhvdmVyLCAkYnJhbmQtcHJpbWFyeS1taWRsaWdodCk7XG5cdH1cblx0JjphY3RpdmUge1xuXHQgICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG5cdH1cdFxuICAgIH1cblxuICAgIFxuICAgIFxufVxuIiwiLnBhY2thZ2UtdGlsZSB7XG4gICAgLmxpbms6aG92ZXIge1xuICAgICAgICAmIH4gLnBhY2thZ2UsICYgfiAucHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1wcm9kdWN0LXRpbGUsIGhvdmVyLTEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB+IC5uYW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtcHJvZHVjdC10aWxlLCBob3Zlci0yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbWctd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5LWxpZ2h0ZXN0O1xuICAgIH1cbn1cbiIsIi5hbmltYXRlZC1jdXJ2ZXtcbiAgICAuYmFja2dyb3VuZHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWFuaW1hdGVkLWN1cnZlLCBjdXJ2ZS1iZyk7XG4gICAgfVxufVxuIiwiLmhlYWRlci1tYXAge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodC1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0KTtcbiAgICBzcGFue1xuICAgICAgICAmLmNsb3NlLW92ZXJsYXl7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiaGVhZGVyLmNoZWNrb3V0e1xuICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBjb250ZW50LWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OztcblxuICAgIC5sb2dve1xuXHRwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICB9XG4gICAgXG4gICAgLmNoZWNrb3V0LW5hdntcblx0Y29sb3I6ICRncmV5O1xuXHQvKiBMYWJlbC9MYWJlbCBtZWRpdW0gKi9cblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGxpbmUtaGVpZ2h0OiAyMHB4OyAvKiAxMjUlICovXG5cdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHQvKiBMYWJlbC9MYWJlbCBtZWRpdW0gKi9cbiAgICAgICAgdWx7XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICBhLHB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrO1xuXHRcdCAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXsgXG4gICAgICAgICAgICAgICAgICAgIGEscHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRjb2xvcjogJGdyZXktZGFya2VzdDtcblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdCAgICBjb250ZW50OiAnJztcblx0XHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHQgICAgYm90dG9tOiAwO1xuXHRcdFx0ICAgIGxlZnQ6IDUwJTtcblx0XHRcdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHQgICAgd2lkdGg6IDcwJTtcblx0XHRcdCAgICBoZWlnaHQ6IDJweDsgLy8gQWRqdXN0IHRoaWNrbmVzcyBvZiB0aGUgXCJib3JkZXJcIlxuXHRcdFx0ICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWRhcmtlc3Q7XG5cdFx0XHR9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuXHRcdCYuY29tcGxldGVke1xuXHRcdCAgICBhLHB7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0Y29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICAgICAgICAgIH1cblx0XHR9XG4gICAgICAgICAgICAgICAgJi5jb21wbGV0ZWR7XG4gICAgICAgICAgICAgICAgICAgIGkuY2FyZXR7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGkuY29tcGxldGVkLWljb257XG5cblx0XHQgICAgdG9wOiAxNHB4ICFpbXBvcnRhbnQ7XG5cdFx0ICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXHRcdFx0dG9wOiAzMnB4ICFpbXBvcnRhbnQ7XG5cdFx0ICAgIFxuXHRcdCAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMkM1NUU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaS5jYXJldHtcblx0XHQgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICAgICAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICAqe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIG1lbnUtaW5hY3RpdmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgLmhlYWRlci1jb250YWluZXIge1xuXG4gICAgICAgICAgICAuY2hlY2tvdXQtbmF2IHtcblxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8ubmF2aWdhdGlvbiB7XG4gICAgICAgIC8vICAgIHVsIHtcbiAgICAgICAgLy8gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJhY2tncm91bmQpO1xuICAgICAgICAvLyAgICB9XG4gICAgICAgIC8vfVxuICAgICAgICAvL1xuICAgICAgICAvLy5tb2JpbGUtbmF2aWdhdGlvbiB7XG4gICAgICAgIC8vICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycyk7XG4gICAgICAgIC8vICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJhY2tncm91bmQpO1xuICAgICAgICAvL31cbiAgICAgICAgLy9cbiAgICAgICAgLy8ucHJpY2Vze1xuICAgICAgICAvLyAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgc3RlcHMpO1xuICAgICAgICAvL31cbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAvLy5uYXZpZ2F0aW9uIHtcbiAgICAgICAgLy8gICAgdWwge1xuICAgICAgICAvLyAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzKTtcbiAgICAgICAgLy8gICAgfVxuICAgICAgICAvL31cbiAgICB9XG59XG4iLCIuY2hlY2tvdXQtcGFnZS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodGVzdDtcbiAgICAubmV3c2xldHRlci1zaWdudXAsIC5hZGQtd2ViY29kZXtcblx0YmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHQ7XG5cdGJvcmRlcjogMnB4IHNvbGlkICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0O1xuICAgIH1cbn1cblxuLmJnLXNoaXBwaW5nLWJhZGdle1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5LWxpZ2h0O1xuICAgIGNvbG9yOiAkZ3JleS1kYXJrO1xufVxuXG4udXBzZWxsLWN0YS1idXR0b25ze1xuICAgIHBhZGRpbmctdG9wOjI0cHg7XG59XG4iLCIuYXNpZGUtY3VzdG9taXple1xuICAgIGJhY2tncm91bmQ6ICRncmV5LWxpZ2h0ZXN0O1xuICAgIGJvcmRlci1jb2xvcjptYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzKTtcblxuICAgIC5zdGVwe1xuICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcblx0LnN0ZXAtdGl0bGUge1xuXHQgICAgY29sb3I6ICRncmV5LWRhcms7IFxuXHQgICAgZm9udC1zaXplOiAxNHB4O1xuXHQgICAgZm9udC13ZWlnaHQ6IDQwMDtcblx0fVxuXG5cblx0c3Zne1xuXHQgICAgcGF0aCB7XG5cdFx0c3Ryb2tlOiAkZ3JleS1kYXJrO1xuXHQgICAgfVxuXHQgICAgY2lyY2xlIHtcblx0XHRzdHJva2U6ICRncmV5LWRhcms7XG5cdCAgICB9XG5cdCAgICBsaW5lIHtcblx0XHRzdHJva2U6ICRncmV5LWRhcms7XG5cdCAgICB9XG5cdH1cblxuICAgICAgICAuZXJyb3ItaWNvbiB7XG4gICAgICAgICAgICBzdmcgY2lyY2xlLCBzdmcgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG5cdCAgICAmLmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q7XG5cdFx0Jjpob3Zlcntcblx0XHQgICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q7XG5cdFx0fVxuXHQgICAgfVxuXHR9XG4gICAgfVxufVxuIiwiLmhlYWRlci1jdXN0b21pemV7XG4gICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMpO1xuXG4gICAgLm5hdmlnYXRpb257XG4gICAgICAgIGgxe1xuXHQgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICB1bHtcbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBwYXJ0LWluYWN0aXZlKTtcblxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHB7XG5cdFx0ICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuXHRcdH1cbiAgICAgICAgICAgICAgICAmLmNvbXBsZXRlZHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6MC45O1xuXG4gICAgICAgICAgICAgICAgICAgIGkuY2FyZXR7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBwYXJ0LWFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGkuY29tcGxldGVkLWljb257XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHBhcnQtYWN0aXZlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpLmNhcmV0e1xuICAgICAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICAqe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgcGFydC1pbmFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2VzIHtcblx0XG5cdFxuICAgICAgICAudG90YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuXHQgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Y29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9uYXRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG5cdCAgICBjb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJhY2tncm91bmQpO1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgYmFja2dyb3VuZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAubmF2aWdhdGlvbiB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgLy9ib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm1vYmlsZS1uYXYge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktZ3JlZW4sICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0KTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDA7XG4gICAgICAgIC5wcmljZXMge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHN0ZXBzKTtcblxuICAgICAgICAgICAgLnRvdGFsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kb25hdGlvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXHQudGVydGlhcnktYnV0dG9ue1xuXG5cdCAgICBkaXNwbGF5OiBmbGV4O1xuXHQgICAgd2lkdGg6IDMwMHB4O1xuXHQgICAgaGVpZ2h0OiA1NnB4O1xuXHQgICAgcGFkZGluZzogOHB4IDIwcHg7XG5cdCAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0ICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdCAgICBnYXA6IDhweDtcblx0ICAgIGZsZXgtc2hyaW5rOiAwO1xuXHQgICAgYm9yZGVyLXJhZGl1czogMjBweDtcblx0ICAgIGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1wcmltYXJ5Oztcblx0ICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlLCAjRkZGKTtcblx0ICAgIHNwYW57XG5cdFx0Y29sb3I6ICRicmFuZC1wcmltYXJ5Oztcblx0XHQvKiBCaWcgYnV0dG9uIHN0eWxlICovXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdCAgICB9XG5cdCAgICBzdmd7XG5cdFx0bWFyZ2luLWxlZnQ6MDtcblx0XHRwYXRoIHtcblx0XHQgICAgc3Ryb2tlOiAkYnJhbmQtcHJpbWFyeTtcblx0XHR9XG5cdFx0bGluZSB7XG5cdFx0ICAgIHN0cm9rZTogJGJyYW5kLXByaW1hcnk7XG5cdFx0fVxuXHQgICAgfVxuXG5cdCAgICA6aG92ZXIsIDpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogJGdyZXktbGlnaHQ7XG5cdFx0LyogaG92ZXIgc2hhZG93ICovXG5cdFx0Ym94LXNoYWRvdzogMHB4IDNweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHRcdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcblx0ICAgIH1cblxuXHQgICAgXG5cdH1cblx0LnRlcnRpYXJ5LWJ1dHRvbjpob3ZlciwgLnRlcnRpYXJ5LWJ1dHRvbjpmb2N1cyB7XG5cdCAgICBiYWNrZ3JvdW5kOiAkZ3JleS1saWdodDtcblx0ICAgIC8qIGhvdmVyIHNoYWRvdyAqL1xuXHQgICAgYm94LXNoYWRvdzogMHB4IDNweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHQgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXHR9XG5cblx0XG4gICAgfVxufVxuIiwiLnByZXZpZXctY3VzdG9taXple1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IFxuXG4gICAgLnByZXZpZXctbW9udGFnZXtcbiBcdGJhY2tncm91bmQ6ICRncmV5LWxpZ2h0ZXN0O1xuXG4gICAgICAgICYuaGFzLWJne1xuICAgICAgICAgICAgLmltYWdlLXdyYXBwZXJ7XG4gICAgICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2Utd3JhcHBlcntcbiAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDsgXG5cdFx0Ym9yZGVyLXJhZGl1czogOHB4OyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yYW5kb20tYmFja2dyb3VuZHtcbiAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCByYW5kb20tYnV0dG9uKTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCByYW5kb20tYnV0dG9uKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgIC5zdmctYmFja2dyb3VuZHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHJhbmRvbS1idXR0b24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCByYW5kb20tYnV0dG9uKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcbiAgICAgICAgLnByZXZpZXctbW9udGFnZSB7XG5cdCAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICAgICAgLmluY2x1ZGVkLWZvcm1hdHMge1xuICAgICAgICAgICAgICAgIC50b3Age1xuICAgICAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgaW5jbHVkZWQtaXRlbXMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuLmlzLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnRlcnRpYXJ5LWJ0biB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgaW5jbHVkZWQtaXRlbXMtYnRuKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWJ0bi10ZXh0KSBjYWxjKDEwMCUvMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlLzMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktYnRuLXRleHQpIDApIHZhcigtLWQsIDEwMCUpIDEwMCUgLzMwMCUgMXB4IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSl7XG5cbiAgICB9XG59XG4iLCIudG9vbHMtY3VzdG9taXple1xuICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJhY2tncm91bmQpO1xuXG4gICAgJjphZnRlcntcbiAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgYmFja2dyb3VuZCk7XG4gICAgfVxuXG4gICAgLnRvb2xzLWNvbnRlbnQge1xuICAgICAgICAuZXJyb3Ige1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSl7XG5cbiAgICB9XG59XG4iLCIuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICAuZm9vdGVyX193cmFwcGVyIHtcbiAgICAgICAgJi5pcy1tYWluLWNvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnktZGFya2VzdDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtZm9vdGVyLCBtYWluLWNvbnRlbnQtdGV4dCk7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtZm9vdGVyLCBtYWluLWNvbnRlbnQtbGluay1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1mb290ZXIsIG1haW4tY29udGVudC1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLWFkdmFudGFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0O1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWZvb3RlciwgYWR2YW50YWdlLXRleHQpO1xuXG4gICAgICAgIC5mb290ZXItYWR2YW50YWdlX190ZXh0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1zb2NpYWxzIHtcbiAgICAgICAgLmZvb3Rlci1zb2NpYWxzX19saW5rIHtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLCB7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgcmVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBtYXAtZ2V0KCRjb2xvcnMtZm9vdGVyLCBzb2NpYWwtaG92ZXItYmFja2dyb3VuZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiBnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IG1hcC1nZXQoJGNvbG9ycy1mb290ZXIsIHNvY2lhbC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBtYXAtZ2V0KCRjb2xvcnMtZm9vdGVyLCBzb2NpYWwtaG92ZXItbG9nbyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyX193ZWJzaXRlIHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgfVxuXG4gICAgLmZvb3Rlci1uYXYge1xuICAgICAgICAuZm9vdGVyLW5hdl9fbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgLmZvb3Rlci1jb250YWN0cyB7XG4gICAgICAgICAgICAuZm9vdGVyLWNvbnRhY3RzX19saW5rIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5oZWFkZXItY2F0ZWdvcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jYXRlZ29yeS1oZWFkZXIsIGJhY2tncm91bmQpO1xuXG4gICAgJi5vcGVuIHtcbiAgICAgICAgLnNlbGVjdGVkLXNlc3Npb24tc2VsZWN0b3IsXG4gICAgICAgIC5zY3JvbGxpbmctd3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2F0ZWdvcnktaGVhZGVyLCBzZXNzaW9uLW9wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC5zY3JvbGxpbmctd3JhcHBlciB7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDhweCAzMHB4IHJnYmEoMCwwLDAsLjE2KSk7XG5cbiAgICAgICAgLnNjcm9sbCB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LDApIDAlLHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmFuby1wYW5lIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jYXRlZ29yeS1oZWFkZXIsIG5hbm8tcGFuZSk7XG5cbiAgICAgICAgICAgIC5uYW5vLXNsaWRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWNhdGVnb3J5LWhlYWRlciwgbmFuby1zbGlkZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlc3Npb24tc2VsZWN0b3IsIC5zZWxlY3RlZC1zZXNzaW9uLXNlbGVjdG9yIHtcblx0Y29sb3I6JGdyZXktZGFyaztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAubmFtZSwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgfVxuXHQgICAgLnNlc3Npb24tbmFtZXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcblx0ICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWctd3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2F0ZWdvcnktaGVhZGVyLCBzZXNzaW9uLWltZy1iYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMjBweCByZ2JhKDAsIDAsICAwLCAwLjEpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnN1cHBvcnQtbW9kZS1iYW5uZXJ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1TdGF0dXMtSW5mby1jb2xvckluZm9BY3RpdmUsICMyNTYzRUIpO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSwgI0ZGRik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMjBweDsgLyogMTI1JSAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwO1xuXG5cbiAgICAvLyBBZGp1c3QgdG9wIGlmIHByZWNlZGVkIGJ5IC5tZXNzYWdlcy5zdXBwb3J0LW1vZGVcbiAgICAubWVzc2FnZXMuc3VwcG9ydC1tb2RlICsgJiB7XG5cdHRvcDogNDlweDtcbiAgICB9XG5cbiAgICBcbn1cblxuLnNlYXNvbmFsLXByb21vLWJhbm5lcntcbiAgICBcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeS1saWdodDtcblxuICAgIC5wcm9tby1jb2x1bW4xLHtcblx0LnByb21vLXRpdGxle1xuXHQgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXHR9XG5cblx0LnByb21vLWRlc2NyaXB0aW9ue1xuXHQgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXHR9XG4gICAgfVxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGRkYgNzkuMzUlLCAkYnJhbmQtcHJpbWFyeS1saWdodCA3OS4zNiUpO1xufVxuXG4uc2Vhc29uYWwtcHJvbW8tYmFubmVyLXByb21vLXBhZ2V7XG4gICAgXG4gICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q7XG5cbiAgICAucHJvbW8tdGl0bGV7XG5cdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICB9XG5cbiAgICAucHJvbW8tZGVzY3JpcHRpb257XG5cdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICB9XG5cbn1cblxuXG5oZWFkZXJ7XG5cbiAgICBcbiAgICAmLmNvbm5lY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLCAjRkZGKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5O1xuXHRwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICB9XG4gICAgJi5zdXBwb3J0LW1vZGUge1xuXHRtYXJnaW4tdG9wOjUwcHg7XG4gICAgfVxuXG4gICAgYS5tYWluLWhlYWRlci1saW5rIHtcblx0Y29sb3I6ICRncmV5LWRhcms7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ji5zZWxlY3RlZCB7XG5cdCAgICBib3JkZXI6IDA7XG5cdCAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdHdpZHRoOiA3MCU7XG5cdFx0aGVpZ2h0OiAycHg7IFxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICB9XG5cdH1cblxuXHRcblx0Jjpob3ZlciB7XG5cdCAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcblx0fVxuXG5cdCY6YWN0aXZlIHtcblx0ICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0OyAvLyBQcmVzc2VkIHN0YXRlXG5cdH1cblxuXHQmLmluYWN0aXZlIHtcblx0ICAgIGNvbG9yOiAkZ3JleTsgLy8gSW5hY3RpdmUgc3RhdGVcblx0fVxuICAgIH1cbiAgICBuYXYgdWwgbGkuY2FydC1pY29uIGEgc3Bhbi5pdGVtLWNvdW50e1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiRncmV5LWRhcmtlc3Q7XG4gICAgfVxuXG4gICAgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlLCAjRkZGKTtcbiAgICBwYWRkaW5nLXRvcDoyMHB4O1xuICAgIHBhZGRpbmctbGVmdDo1MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6NTBweDtcbiAgICAuaGVhZGVyLWluZm97XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNDBweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRsaW5lLWhlaWdodDogbm9ybWFsOyBcblx0cCB7XG5cdCAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdH1cblx0Lmxhbmctc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiA3LjVweCA2cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktbGlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2hpdGUsICNGRkYpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWdyZWVuLCAkYnJhbmQtcHJpbWFyeS1taWRsaWdodCk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUsICNGRkYpOyAvLyBBbmNob3IgdGV4dCBjb2xvciBvbiBob3ZlclxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS1saWdodDtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUsICNGRkYpOyAvLyBBbmNob3IgdGV4dCBjb2xvciBvbiBob3Zlci9mb2N1c1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jb25uZWN0ZWQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUsICNGRkYpOyAvLyBEZWZhdWx0IGJhY2tncm91bmQgZm9yIGNvbm5lY3RlZCBzdGF0ZVxuICAgICAgICBcbiAgICAgICAgLy8gU2V0IGRlZmF1bHQgY29sb3Igd2hlbiAubGFuZy1zd2l0Y2guY29ubmVjdGVkXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW5zdXJlIHRoZSBkZWZhdWx0IGJhY2tncm91bmQgY29sb3IgaXMgJGdyZXktbGlnaHQgZm9yIGNvbm5lY3RlZFxuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ncmVlbiwgJGJyYW5kLXByaW1hcnktbWlkbGlnaHQpOyAvLyBIb3ZlciBiYWNrZ3JvdW5kIGZvciBjb25uZWN0ZWRcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSwgI0ZGRik7IC8vIEFuY2hvciB0ZXh0IGNvbG9yIG9uIGhvdmVyL2ZvY3VzIGZvciBjb25uZWN0ZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4gICAgfVxuICAgIG5hdntcbiAgICAgICAgdWx7XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLW1lZGl1bSgpO1xuXHRcdCAgICBjb2xvcjogI0ZGRjtcblx0XHQgICAgZm9udC1zaXplOiAxNnB4O1xuXHRcdCAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0ICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXN7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWhlYWRlciwgbGluay1ob3Zlci10ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgICAgICBhe1xuXHRcdFx0Y29sb3I6ICNGRkY7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLCBsaW5le1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICNGRkY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuY2FydC1saW5rLXdyYXBwZXJ7XG4gICAgICAgICAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWhlYWRlciwgbGluay10ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1oZWFkZXIsIGJhY2tncm91bmQtaXRlbXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXHRcdC5oZWFkZXItbG9nb3V0e1xuXHRcdCAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG5cdFx0ICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuXHRcdH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4iLCIuaGVyby1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtaGVybywgYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1oZXJvLCB0ZXh0KTtcbn1cbiIsIi5oZXJvLWhvbWUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICRicmFuZC1wcmltYXJ5IDU1LjUlLCAkYnJhbmQtcHJpbWFyeS1taWRsaWdodCAxMDAlKTtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWhlcm8sIHRleHQpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG5cdHBhZGRpbmctdG9wOiA2NHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29sLTEyIGJ1dHRvbi5sb2dpbl9fYWRkLWNvZGUtYnRuLCAuY29sLW1kLTEyIGJ1dHRvbi5sb2dpbl9fYWRkLWNvZGUtYnRuIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi1ib3R0b206MjBweDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdHN2Z3tcblx0ICAgIGxpbmUge1xuXHRcdHN0cm9rZTogJGJyYW5kLXByaW1hcnk7IFxuXHQgICAgfVxuXG5cdH1cbiAgICB9XG4gICAgLmNvbC0xMiBidXR0b24uZm9ybS1sb2dpbl9fc3VibWl0LCAuY29sLW1kLTEyIGJ1dHRvbi5mb3JtLWxvZ2luX19zdWJtaXQge1xuXHR3aWR0aDogMTAwJTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7IFxuICAgIH1cbiAgICBcbn1cbiIsIi5oZXJvLXdlbGNvbWUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcblx0Lm1vYmlsZS1hZGQtY29kZSB7XG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiRicmFuZC1wcmltYXJ5LWxpZ2h0ZXN0O1xuXHR9XG4gICAgfVxuXG4gICAgXG4gICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG5cbiAgICAubmF2LXBpbGxzIC5uYXYtbGluay5hY3RpdmUsIC5uYXYtcGlsbHMgLnNob3cgPiAubmF2LWxpbmsge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeS1taWRsaWdodDtcblx0Ym9yZGVyLXJhZGl1czogMTJweDtcbiAgICB9XG5cbiAgICBcblxuICAgIC5zZWNvbmRhcnktcm91bmQtYnRuIHtcbiAgICAgICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4tYmcpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4tYm9yZGVyKTtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFycm93LWJ0bi1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGQtY29kZXMtd3JhcHBlciB7XG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0OyBcblx0ICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICBtYXAtZ2V0KCRjb2xvcnMtaGVyby13ZWxjb21lLCBjb2RlLWJnLWFjdGl2ZSk7XG5cdCAgICAudGV4dHN7XG5cdFx0Y29sb3I6ICRicmFuZC1wcmltYXJ5LWRhcmsgIWltcG9ydGFudDtcblx0ICAgIH1cblx0ICAgIC5jb2Rlc3tcblx0XHRpbnB1dHtcblx0XHQgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5LWRhcmsgIWltcG9ydGFudDtcblx0XHQgICAgYm9yZGVyLWNvbG9yOnZhcigtLW1pZC1ncmksICRncmV5LWRhcmtlc3QpO1xuXHRcdCAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdH1cblx0XHRsYWJlbHtcblx0XHQgICAgY29sb3I6IHZhcigtLW1pZC1ncmksICRncmV5LWRhcmtlc3QpO1xuXHRcdH1cblx0ICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kYXRhY2FyZHN7XG4gICAgICAgIC5kYXRhY2FyZHtcbiAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAucGhvdG9ze1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICAgICAgfVxuXG5cdCAgICBcbiAgICAgICAgICAgIC5waG90by1jb250YWluZXJ7XG5cdFx0JjpudGgtY2hpbGQoMSl7XG5cdFx0ICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEycHg7XG5cdFx0fVxuXHRcdCY6bnRoLWNoaWxkKDIpe1xuXHRcdCAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTJweDtcdFx0ICAgIFxuXHRcdH1cblx0XHQmOm50aC1jaGlsZCgzKXtcblx0XHQgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTJweDsgIFxuXHRcdH1cblx0XHQmOm50aC1jaGlsZCg0KXtcblx0XHQgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEycHg7XG5cdFx0fVxuXHRcdFxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLCY6bnRoLWNoaWxkKDMpe1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtaGVyby13ZWxjb21lLCBwaG90by1iZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1vcmV7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDM2cHgpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtaGVyby13ZWxjb21lLCB0aWxlLWFjdGl2ZS1saW5rKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaW1hZ2UtdGV4dCB7XG4gICAgLnJvdyB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wtdGV4dHMge1xuICAgICAgICAgICAgKiB7XG5cdFx0Y29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubWVzc2FnZXMge1xuICAgIC5tZXNzYWdlIHtcbiAgICAgICAgJi5pcy1pbmZvLCAmLmlzLXdhcm5pbmcge1xuICAgICAgICAgICAgLmNsb3NlLWJ0biB7XG4gICAgICAgICAgICAgICAgc3ZnIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcF9nZXQoJGNvbG9ycy1tZXNzYWdlcywgY2xvc2UtYnRuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWVycm9yLCAmLmlzLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgLmNsb3NlLWJ0biB7XG4gICAgICAgICAgICAgICAgc3ZnIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcF9nZXQoJGNvbG9ycy1tZXNzYWdlcywgY2xvc2UtYnRuLXdoaXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWluZm8ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW1lc3NhZ2VzLCBiYWNrZ3JvdW5kLWluZm8pO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy13YXJuaW5nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1tZXNzYWdlcywgYmFja2dyb3VuZC13YXJuaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtZXJyb3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW1lc3NhZ2VzLCBiYWNrZ3JvdW5kLWVycm9yKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtbWVzc2FnZXMsIHRleHQtd2hpdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1zdWNjZXNzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1tZXNzYWdlcywgYmFja2dyb3VuZC1zdWNjZXNzKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtbWVzc2FnZXMsIHRleHQtd2hpdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhcnRpY2xlc3tcbiAgICAgICAgICAgICYucGFydGljbGUtMXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1jb2xvci0xKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wYXJ0aWNsZS0ye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWNvbG9yLTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5wYXJ0aWNsZS0ze1xuICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtYm9yZGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucGFydGljbGUtNHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1jb2xvci0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucGFydGljbGUtNXtcbiAgICAgICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWJvcmRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnBhcnRpY2xlLTZ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtY29sb3ItMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJcbi5ub3RpY2UtYmFye1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIGJhY2tncm91bmQpO1xuXG4gICAgcHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgfVxuXG4gICAgLnBhcnRpY2xlc3tcbiAgICAgICAgJi5wYXJ0aWNsZS0xe1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtY29sb3ItMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnBhcnRpY2xlLTJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1jb2xvci0yKTtcbiAgICAgICAgfVxuICAgICAgICAmLnBhcnRpY2xlLTN7XG4gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWJvcmRlcik7XG4gICAgICAgIH1cbiAgICAgICAgJi5wYXJ0aWNsZS00e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtY29sb3ItMSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5wYXJ0aWNsZS01e1xuICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1ib3JkZXIpO1xuICAgICAgICB9XG4gICAgICAgICYucGFydGljbGUtNntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWNvbG9yLTIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm9yZGVyaW5nLXdpZGdldC1zbGlkZXJ7XG4gICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q7XG4gICAgLm9yZGVyaW5nLXdpZGdldC1pdGVte1xuXHRiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeS1saWdodDtcbiAgICB9XG59XG4iLCIudGV4dC1wYWdlLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy10ZXh0LXBhZ2UsIGJhY2tncm91bmQpO1xuXG4gICAgLmhlYWRpbmctd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICBtYXBfZ2V0KCRjb2xvcnMtdGV4dC1wYWdlLCBoZWFkaW5nLWJhY2tncm91bmQpO1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtdGV4dC1wYWdlLCBoZWFkaW5nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jdXN0b21pemUtcGFnZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBwcmV2aWV3LWJnKTtcblxuICAgICYuc2Nyb2xsLWRpc2FibGVkIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9*/