/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/extensions/fe_login.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* aleo-600 - latin */
@font-face {
  font-display: swap;
  font-family: "Aleo";
  font-style: normal;
  font-weight: 600;
  src: url(/build/fonts/600.6cdcaa41.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* rooney 600 - latin */
@font-face {
  font-display: swap;
  font-family: "Rooney";
  font-style: normal;
  font-weight: 600;
  src: url(/build/fonts/600.3ef60b2e.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* calibri font family */
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 300;
  font-style: normal;
  src: url(/build/fonts/300.9baa67f0.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 300;
  font-style: italic;
  src: url(/build/fonts/300i.cf87dc54.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 400;
  font-style: normal;
  src: url(/build/fonts/400.551fd9d5.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 400;
  font-style: italic;
  src: url(/build/fonts/400i.7fd7e2cf.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 700;
  font-style: normal;
  src: url(/build/fonts/700.4308169e.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 700;
  font-style: italic;
  src: url(/build/fonts/700i.740267d0.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/**
 * Font family definitions for consistent usage across the project
 * These variables can be used in any file that imports this module
 */
.font-primary {
  font-family: "Rooney", serif;
}
.font-secondary {
  font-family: "Calibri", sans-serif, sans-serif;
}
/**
 * Universal list styling mixin - DRY approach for ul and ol
 * Provides consistent list styling across RTE and typography contexts
 *
 * @param {string} $font-size - Font size (can use clamp() for responsive)
 * @param {string} $margin-bottom - Bottom margin for the list
 * @param {string} $max-width - Optional max-width constraint
 * @param {string} $list-item-margin - Margin between list items (default: 20px)
 * @param {string} $nested-list-margin - Margin for nested list items (default: 10px)
 * @param {string} $bullet-color - Color for bullets/numbers
 * @param {string} $exclude-class - Optional class to exclude from styling (e.g., contact cards)
 */
/**
 * Helper mixin for list item bullets
 * Creates the circular bullet point
 *
 * @param {string} $color - Bullet color
 */
/**
 * Accessibility support for lists
 * High contrast mode styling
 */
.text-serif {
  font-family: "Rooney", serif;
}
.ce__content h1,
.ce__content .h1 {
  font-family: "Rooney", serif, "Aleo", serif;
  font-size: clamp(32px, 2vw + 24px, 50px);
  line-height: 1.2;
  color: var(--color-primary);
  text-wrap: balance;
  margin-bottom: 35px;
}
@media (min-width: 1024px) {
  .ce__content h1,
  .ce__content .h1 {
    margin-bottom: 70px;
  }
}
.ce__content h2,
.ce__content .h2 {
  font-family: "Rooney", serif, "Aleo", serif;
  font-size: clamp(28px, 1.5vw + 22px, 38px);
  line-height: 1.2;
  color: var(--color-primary);
  text-wrap: balance;
  margin-bottom: 26px;
}
@media (min-width: 1024px) {
  .ce__content h2,
  .ce__content .h2 {
    margin-bottom: 40px;
  }
}
.ce__content h3,
.ce__content .h3 {
  font-family: "Rooney", serif, "Aleo", serif;
  font-size: clamp(24px, 0.5vw + 22px, 28px);
  line-height: 1.3;
  margin-bottom: 20px;
  color: var(--color-primary);
  text-wrap: balance;
}
.ce__content h4,
.ce__content .h4 {
  font-family: "Calibri", sans-serif, "Aleo", serif;
  font-weight: bold;
  font-size: clamp(22px, 0.25vw + 21px, 24px);
  line-height: 1.3;
  margin-bottom: 20px;
  color: var(--color-black);
  text-wrap: balance;
}
.ce__content h5,
.ce__content .h5 {
  font-family: "Calibri", sans-serif, "Aleo", serif;
  font-weight: bold;
  font-size: clamp(20px, 0.25vw + 19px, 22px);
  line-height: 1.3;
  margin-bottom: 15px;
  color: var(--color-black);
  text-wrap: balance;
}
.ce__content p {
  font-family: "Calibri", sans-serif, "Aleo", serif;
  font-size: clamp(16px, 0.5vw + 14px, 20px);
  line-height: 1.5;
  max-width: 80ch;
  font-weight: 500;
  color: var(--color-black);
  margin-bottom: 18px;
  text-wrap: pretty;
}
.ce__content p.font-bold {
  font-weight: 700;
}
.ce__content p.font-semibold {
  font-weight: 600;
}
.ce__content p:last-of-type {
  margin-bottom: 26px;
}
.ce__content.ce-textmedia p,
.ce__content.ce-textmedia .text, .ce__content.ce-igelb_box p,
.ce__content.ce-igelb_box .text, .ce__content.ce-jfeevents_eventbooking p,
.ce__content.ce-jfeevents_eventbooking .text {
  font-family: "Calibri", sans-serif, "Aleo", serif;
  font-size: clamp(16px, 0.5vw + 14px, 20px);
  line-height: 1.5;
  max-width: 80ch;
  font-weight: 500;
  color: var(--color-black);
  margin-bottom: 18px;
}
.ce__content.ce-textmedia p:last-of-type,
.ce__content.ce-textmedia .text:last-of-type, .ce__content.ce-igelb_box p:last-of-type,
.ce__content.ce-igelb_box .text:last-of-type, .ce__content.ce-jfeevents_eventbooking p:last-of-type,
.ce__content.ce-jfeevents_eventbooking .text:last-of-type {
  margin-bottom: 26px;
}
@media (min-width: 1024px) {
  .ce__content.ce-textmedia p,
  .ce__content.ce-textmedia .text, .ce__content.ce-igelb_box p,
  .ce__content.ce-igelb_box .text, .ce__content.ce-jfeevents_eventbooking p,
  .ce__content.ce-jfeevents_eventbooking .text {
    margin-bottom: 30px;
  }
  .ce__content.ce-textmedia p:last-of-type,
  .ce__content.ce-textmedia .text:last-of-type, .ce__content.ce-igelb_box p:last-of-type,
  .ce__content.ce-igelb_box .text:last-of-type, .ce__content.ce-jfeevents_eventbooking p:last-of-type,
  .ce__content.ce-jfeevents_eventbooking .text:last-of-type {
    margin-bottom: 60px;
  }
}
.ce__content.ce-textmedia figure.table, .ce__content.ce-igelb_box figure.table, .ce__content.ce-jfeevents_eventbooking figure.table {
  margin-bottom: clamp(18px, 1.5vw + 14px, 30px);
  overflow-x: auto;
  display: block;
}
.ce__content.ce-textmedia figure.table table.contenttable, .ce__content.ce-igelb_box figure.table table.contenttable, .ce__content.ce-jfeevents_eventbooking figure.table table.contenttable {
  width: 100%;
}
.ce__content.ce-textmedia figure.table table.contenttable th,
.ce__content.ce-textmedia figure.table table.contenttable td, .ce__content.ce-igelb_box figure.table table.contenttable th,
.ce__content.ce-igelb_box figure.table table.contenttable td, .ce__content.ce-jfeevents_eventbooking figure.table table.contenttable th,
.ce__content.ce-jfeevents_eventbooking figure.table table.contenttable td {
  text-align: left;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--color-gray, #f3f3f2);
  border-right: 1px solid var(--color-gray, #f3f3f2);
}
.ce__content.ce-textmedia figure.table table.contenttable th:last-of-type,
.ce__content.ce-textmedia figure.table table.contenttable td:last-of-type, .ce__content.ce-igelb_box figure.table table.contenttable th:last-of-type,
.ce__content.ce-igelb_box figure.table table.contenttable td:last-of-type, .ce__content.ce-jfeevents_eventbooking figure.table table.contenttable th:last-of-type,
.ce__content.ce-jfeevents_eventbooking figure.table table.contenttable td:last-of-type {
  border-right: none;
}
.ce__content.ce-textmedia blockquote, .ce__content.ce-igelb_box blockquote, .ce__content.ce-jfeevents_eventbooking blockquote {
  border-left: 4px solid var(--color-secondary, #ffcc00);
  padding-left: 1.5rem;
  margin: 1.5rem 0;
  font-style: italic;
}
.ce__content.ce-textmedia ul,
.ce__content.ce-textmedia ol, .ce__content.ce-igelb_box ul,
.ce__content.ce-igelb_box ol, .ce__content.ce-jfeevents_eventbooking ul,
.ce__content.ce-jfeevents_eventbooking ol {
  font-family: inherit;
  font-size: clamp(16px, 0.5vw + 14px, 20px);
  line-height: 1.5;
  margin-bottom: clamp(20px, 2vw + 15px, 40px);
  color: var(--color-black, #000000);
  list-style: none;
  max-width: 80ch;
}
.ce__content.ce-textmedia ul > li,
.ce__content.ce-textmedia ol > li, .ce__content.ce-igelb_box ul > li,
.ce__content.ce-igelb_box ol > li, .ce__content.ce-jfeevents_eventbooking ul > li,
.ce__content.ce-jfeevents_eventbooking ol > li {
  margin-bottom: 20px;
}
.ce__content.ce-textmedia ul > li:last-child,
.ce__content.ce-textmedia ol > li:last-child, .ce__content.ce-igelb_box ul > li:last-child,
.ce__content.ce-igelb_box ol > li:last-child, .ce__content.ce-jfeevents_eventbooking ul > li:last-child,
.ce__content.ce-jfeevents_eventbooking ol > li:last-child {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]), .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]), .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) {
  list-style: none;
  padding-left: 0;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li:not(.ce-jfeevents_eventbooking__contact-card), .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li:not(.ce-jfeevents_eventbooking__contact-card), .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li:not(.ce-jfeevents_eventbooking__contact-card) {
  position: relative;
  padding-left: 1.5rem;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li:not(.ce-jfeevents_eventbooking__contact-card)::before, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li:not(.ce-jfeevents_eventbooking__contact-card)::before, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li:not(.ce-jfeevents_eventbooking__contact-card)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.875rem;
  transform: translateY(-50%);
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: var(--color-primary, #009ddf);
}
.ce__content.ce-textmedia ol, .ce__content.ce-igelb_box ol, .ce__content.ce-jfeevents_eventbooking ol {
  list-style-position: outside;
  counter-reset: item;
  padding-left: 0;
}
.ce__content.ce-textmedia ol li, .ce__content.ce-igelb_box ol li, .ce__content.ce-jfeevents_eventbooking ol li {
  position: relative;
  padding-left: 1.5rem;
  counter-increment: item;
}
.ce__content.ce-textmedia ol li::before, .ce__content.ce-igelb_box ol li::before, .ce__content.ce-jfeevents_eventbooking ol li::before {
  content: counter(item) ".";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-black, #000000);
  font-weight: bold;
}
.ce__content.ce-textmedia ol li ol, .ce__content.ce-igelb_box ol li ol, .ce__content.ce-jfeevents_eventbooking ol li ol {
  margin-top: 10px;
  counter-reset: subitem;
}
.ce__content.ce-textmedia ol li ol > li, .ce__content.ce-igelb_box ol li ol > li, .ce__content.ce-jfeevents_eventbooking ol li ol > li {
  counter-increment: subitem;
  padding-left: 2rem;
  margin-bottom: 10px;
}
.ce__content.ce-textmedia ol li ol > li:last-child, .ce__content.ce-igelb_box ol li ol > li:last-child, .ce__content.ce-jfeevents_eventbooking ol li ol > li:last-child {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ol li ol > li::before, .ce__content.ce-igelb_box ol li ol > li::before, .ce__content.ce-jfeevents_eventbooking ol li ol > li::before {
  content: counter(item) "." counter(subitem) " ";
}
.ce__content.ce-textmedia ol li ol > li ol, .ce__content.ce-igelb_box ol li ol > li ol, .ce__content.ce-jfeevents_eventbooking ol li ol > li ol {
  counter-reset: subsubitem;
}
.ce__content.ce-textmedia ol li ol > li ol > li, .ce__content.ce-igelb_box ol li ol > li ol > li, .ce__content.ce-jfeevents_eventbooking ol li ol > li ol > li {
  counter-increment: subsubitem;
  padding-left: 3rem;
  margin-bottom: 10px;
}
.ce__content.ce-textmedia ol li ol > li ol > li:last-child, .ce__content.ce-igelb_box ol li ol > li ol > li:last-child, .ce__content.ce-jfeevents_eventbooking ol li ol > li ol > li:last-child {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ol li ol > li ol > li::before, .ce__content.ce-igelb_box ol li ol > li ol > li::before, .ce__content.ce-jfeevents_eventbooking ol li ol > li ol > li::before {
  content: counter(item) "." counter(subitem) "." counter(subsubitem) " ";
}
.ce__content.ce-textmedia ol li ul > li, .ce__content.ce-igelb_box ol li ul > li, .ce__content.ce-jfeevents_eventbooking ol li ul > li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 10px;
}
.ce__content.ce-textmedia ol li ul > li:last-child, .ce__content.ce-igelb_box ol li ul > li:last-child, .ce__content.ce-jfeevents_eventbooking ol li ul > li:last-child {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ol li ul > li::before, .ce__content.ce-igelb_box ol li ul > li::before, .ce__content.ce-jfeevents_eventbooking ol li ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.875rem;
  transform: translateY(-50%);
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: var(--color-primary, #009ddf);
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ul, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ul, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ul {
  margin-top: 10px;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ul > li, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ul > li, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ul > li {
  margin-bottom: 10px;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ul > li:last-child, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ul > li:last-child, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ul > li:last-child {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ol, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ol, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ol {
  list-style-position: outside;
  counter-reset: item;
  padding-left: 0;
  margin-top: 10px;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ol > li, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ol > li, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ol > li {
  position: relative;
  padding-left: 1.5rem;
  counter-increment: item;
  margin-bottom: 10px;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ol > li:last-child, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ol > li:last-child, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ol > li:last-child {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ol > li::before, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ol > li::before, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ol > li::before {
  content: counter(item) ".";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-black, #000000);
  font-weight: bold;
  background-color: transparent;
  border-radius: 0;
  width: auto;
  height: auto;
  transform: none;
}
@media (prefers-contrast: high) {
  .ce__content.ce-textmedia ul li::before, .ce__content.ce-igelb_box ul li::before, .ce__content.ce-jfeevents_eventbooking ul li::before {
    border: 2px solid currentColor;
  }
  .ce__content.ce-textmedia ol li::before, .ce__content.ce-igelb_box ol li::before, .ce__content.ce-jfeevents_eventbooking ol li::before {
    font-weight: 700;
  }
}
.ce__content.ce-textmedia a:not(.btn), .ce__content.ce-igelb_box a:not(.btn), .ce__content.ce-jfeevents_eventbooking a:not(.btn) {
  color: var(--color-black, #000000);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.25em;
  text-decoration-color: var(--color-primary, #009ddf);
  transition: text-decoration-color 0.2s ease;
}
.ce__content.ce-textmedia a:not(.btn):hover, .ce__content.ce-textmedia a:not(.btn):focus, .ce__content.ce-igelb_box a:not(.btn):hover, .ce__content.ce-igelb_box a:not(.btn):focus, .ce__content.ce-jfeevents_eventbooking a:not(.btn):hover, .ce__content.ce-jfeevents_eventbooking a:not(.btn):focus {
  text-decoration-color: var(--color-black, #000000);
}
.ce__content.ce-textmedia a:not(.btn):focus-visible, .ce__content.ce-igelb_box a:not(.btn):focus-visible, .ce__content.ce-jfeevents_eventbooking a:not(.btn):focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}
.ce__content.ce-textmedia figcaption p, .ce__content.ce-igelb_box figcaption p, .ce__content.ce-jfeevents_eventbooking figcaption p {
  font-size: clamp(14px, 0.5vw + 12px, 16px);
}
.ce__content.ce-textmedia ul li p, .ce__content.ce-textmedia ol li p, .ce__content.ce-igelb_box ul li p, .ce__content.ce-igelb_box ol li p, .ce__content.ce-jfeevents_eventbooking ul li p, .ce__content.ce-jfeevents_eventbooking ol li p {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ul li p:last-of-type, .ce__content.ce-textmedia ol li p:last-of-type, .ce__content.ce-igelb_box ul li p:last-of-type, .ce__content.ce-igelb_box ol li p:last-of-type, .ce__content.ce-jfeevents_eventbooking ul li p:last-of-type, .ce__content.ce-jfeevents_eventbooking ol li p:last-of-type {
  margin-bottom: 0;
}
a,
button {
  cursor: pointer;
  color: var(--color-black);
}
.bg-primary .ce__content h1,
.bg-primary .ce__content .h1,
.bg-primary .ce__content h2,
.bg-primary .ce__content .h2,
.bg-primary .ce__content h3,
.bg-primary .ce__content .h3,
.bg-primary .ce__content h4,
.bg-primary .ce__content .h4,
.bg-primary .ce__content h5,
.bg-primary .ce__content .h5,
.bg-primary .ce__content p,
.bg-primary .ce__content .text,
.bg-e-jugend-blue .ce__content h1,
.bg-e-jugend-blue .ce__content .h1,
.bg-e-jugend-blue .ce__content h2,
.bg-e-jugend-blue .ce__content .h2,
.bg-e-jugend-blue .ce__content h3,
.bg-e-jugend-blue .ce__content .h3,
.bg-e-jugend-blue .ce__content h4,
.bg-e-jugend-blue .ce__content .h4,
.bg-e-jugend-blue .ce__content h5,
.bg-e-jugend-blue .ce__content .h5,
.bg-e-jugend-blue .ce__content p,
.bg-e-jugend-blue .ce__content .text,
.bg-esk-magenta .ce__content h1,
.bg-esk-magenta .ce__content .h1,
.bg-esk-magenta .ce__content h2,
.bg-esk-magenta .ce__content .h2,
.bg-esk-magenta .ce__content h3,
.bg-esk-magenta .ce__content .h3,
.bg-esk-magenta .ce__content h4,
.bg-esk-magenta .ce__content .h4,
.bg-esk-magenta .ce__content h5,
.bg-esk-magenta .ce__content .h5,
.bg-esk-magenta .ce__content p,
.bg-esk-magenta .ce__content .text,
.bg-e-sport-orange .ce__content h1,
.bg-e-sport-orange .ce__content .h1,
.bg-e-sport-orange .ce__content h2,
.bg-e-sport-orange .ce__content .h2,
.bg-e-sport-orange .ce__content h3,
.bg-e-sport-orange .ce__content .h3,
.bg-e-sport-orange .ce__content h4,
.bg-e-sport-orange .ce__content .h4,
.bg-e-sport-orange .ce__content h5,
.bg-e-sport-orange .ce__content .h5,
.bg-e-sport-orange .ce__content p,
.bg-e-sport-orange .ce__content .text {
  color: var(--color-white, #ffffff);
}
.bg-primary .ce__content a:not(.btn),
.bg-e-jugend-blue .ce__content a:not(.btn),
.bg-esk-magenta .ce__content a:not(.btn),
.bg-e-sport-orange .ce__content a:not(.btn) {
  color: var(--color-white, #ffffff);
  text-decoration-color: var(--color-white, #ffffff);
}
.bg-primary .ce__content a:not(.btn):hover, .bg-primary .ce__content a:not(.btn):focus,
.bg-e-jugend-blue .ce__content a:not(.btn):hover,
.bg-e-jugend-blue .ce__content a:not(.btn):focus,
.bg-esk-magenta .ce__content a:not(.btn):hover,
.bg-esk-magenta .ce__content a:not(.btn):focus,
.bg-e-sport-orange .ce__content a:not(.btn):hover,
.bg-e-sport-orange .ce__content a:not(.btn):focus {
  text-decoration-color: var(--color-white, #ffffff);
}
.bg-primary .ce__content a:not(.btn):focus-visible,
.bg-e-jugend-blue .ce__content a:not(.btn):focus-visible,
.bg-esk-magenta .ce__content a:not(.btn):focus-visible,
.bg-e-sport-orange .ce__content a:not(.btn):focus-visible {
  outline-color: var(--color-white, #ffffff);
}
.bg-jfe-gray:not(.bg-primary) .ce__content h2,
.bg-jfe-gray:not(.bg-primary) .ce__content .h2 {
  color: var(--color-black, #000000);
}
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture h1,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture .h1,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture h2,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture .h2,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture h3,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture .h3,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture h4,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture .h4,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture h5,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture .h5,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray h1,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray .h1,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray h2,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray .h2,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray h3,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray .h3,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray h4,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray .h4,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray h5,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray .h5 {
  color: var(--color-black, #000000);
}
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture h1,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture .h1,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture h2,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture .h2,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture h3,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture .h3,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture h4,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture .h4,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture h5,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture .h5, .ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray h1,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray .h1,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray h2,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray .h2,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray h3,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray .h3,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray h4,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray .h4,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray h5,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray .h5 {
  color: var(--color-black, #000000);
}
/**
 * Universal form components styling - Modular approach
 * Backwards compatible with existing form-components() mixin
 */
/**
 * Form Labels Mixin
 */
/**
 * Form Controls Mixin (Input, Textarea, Select)
 */
/**
 * Form Checks Mixin (Radio & Checkbox)
 */
/**
 * Form Validation Mixin
 */
/**
 * Form Layout Mixin (Floating, Groups, Actions)
 */
/**
 * Form Accessibility Mixin
 */
/**
 * Main form-components mixin - BACKWARDS COMPATIBLE
 * Includes all form styling components
 */
.fe-login .form-label, .fe-login .fe-login__label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--color-black, #000000);
  font-size: 1rem;
  line-height: 1.4;
}
.fe-login .form-label.required::after, .fe-login .required.fe-login__label::after {
  content: " *";
  color: var(--color-error, #df0000);
  font-weight: 700;
}
.fe-login .form-label .required, .fe-login .fe-login__label .required {
  color: var(--color-error, #df0000);
  font-weight: 700;
}
.fe-login .form-label.sr-only, .fe-login .sr-only.fe-login__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.fe-login legend {
  font-size: 1.25rem;
  font-weight: 700;
}
.fe-login .form-control, .fe-login .fe-login__input {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: 1.4;
  color: var(--color-black, #000000);
  background-color: var(--color-white, #ffffff);
  background-clip: padding-box;
  border: none;
  border-bottom: 2px solid var(--color-black, #000000);
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.fe-login .form-control::-moz-placeholder, .fe-login .fe-login__input::-moz-placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.fe-login .form-control::placeholder, .fe-login .fe-login__input::placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.fe-login .form-control:hover:not(:disabled):not([readonly]), .fe-login .fe-login__input:hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.fe-login .form-control:focus, .fe-login .fe-login__input:focus {
  border-bottom-color: var(--color-primary, #009ddf);
  outline: 0;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary, #009ddf) 25%, transparent);
}
.fe-login .form-control:disabled, .fe-login .fe-login__input:disabled, .fe-login .form-control[readonly], .fe-login [readonly].fe-login__input {
  background-color: var(--color-jfe-gray, #f3f3f2);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  opacity: 1;
  cursor: not-allowed;
}
.fe-login .form-control.is-invalid, .fe-login .is-invalid.fe-login__input {
  border-bottom-color: var(--color-error, #df0000);
}
.fe-login .form-control.is-invalid:focus, .fe-login .is-invalid.fe-login__input:focus {
  border-bottom-color: var(--color-error, #df0000);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-error, #df0000) 25%, transparent);
}
.fe-login .form-control.is-valid, .fe-login .is-valid.fe-login__input {
  border-bottom-color: #95df00;
}
.fe-login .form-control.is-valid:focus, .fe-login .is-valid.fe-login__input:focus {
  border-bottom-color: #95df00;
  box-shadow: 0 0 0 2px color-mix(in srgb, #95df00 25%, transparent);
}
.fe-login textarea.form-control, .fe-login textarea.fe-login__input {
  min-height: 120px;
  resize: vertical;
  line-height: 1.5;
  border-top: 2px solid var(--color-black, #000000);
  border-left: 2px solid var(--color-black, #000000);
  border-right: 2px solid var(--color-black, #000000);
}
.fe-login textarea.form-control:hover:not(:disabled):not([readonly]), .fe-login textarea.fe-login__input:hover:not(:disabled):not([readonly]) {
  border-color: var(--color-primary, #009ddf);
}
.fe-login textarea.form-control:focus, .fe-login textarea.fe-login__input:focus {
  border-color: var(--color-primary, #009ddf);
}
.fe-login select.form-control:not([multiple]), .fe-login select.fe-login__input:not([multiple]) {
  background-image: url(/build/images/IconArrowAccordion--Down.8e468af5.svg);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  padding-right: 2.5rem;
  cursor: pointer;
  border: none;
  border-bottom: 2px solid var(--color-black, #000000);
}
.fe-login select.form-control:not([multiple])::-ms-expand, .fe-login select.fe-login__input:not([multiple])::-ms-expand {
  display: none;
}
.fe-login select.form-control:not([multiple]):hover:not(:disabled):not([readonly]), .fe-login select.fe-login__input:not([multiple]):hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.fe-login select.form-control:not([multiple]):focus, .fe-login select.fe-login__input:not([multiple]):focus {
  border-bottom-color: var(--color-primary, #009ddf);
  background-image: url(/build/images/IconArrowAccordion--Up.2d71fcd5.svg);
}
.fe-login select.form-control:not([multiple]).is-invalid, .fe-login select.fe-login__input:not([multiple]).is-invalid {
  border-bottom-color: var(--color-error, #df0000);
}
.fe-login select.form-control:not([multiple]).is-invalid:focus, .fe-login select.fe-login__input:not([multiple]).is-invalid:focus {
  border-bottom-color: var(--color-error, #df0000);
}
.fe-login select.form-control:not([multiple]).is-valid, .fe-login select.fe-login__input:not([multiple]).is-valid {
  border-bottom-color: #95df00;
}
.fe-login select.form-control:not([multiple]).is-valid:focus, .fe-login select.fe-login__input:not([multiple]).is-valid:focus {
  border-bottom-color: #95df00;
}
.fe-login .form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 2rem;
  margin-bottom: 0.5rem;
  position: relative;
}
.fe-login .form-check .form-check-input, .fe-login .form-check .fe-login__checkbox,
.fe-login .form-check [type=checkbox],
.fe-login .form-check [type=radio] {
  position: absolute;
  left: 0;
  top: 0.25rem;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  background-color: var(--color-white, #ffffff);
  border: 1px solid var(--color-black, #000000);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.fe-login .form-check .form-check-input::before, .fe-login .form-check .fe-login__checkbox::before,
.fe-login .form-check [type=checkbox]::before,
.fe-login .form-check [type=radio]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
}
.fe-login .form-check .form-check-input:hover:not(:disabled), .fe-login .form-check .fe-login__checkbox:hover:not(:disabled),
.fe-login .form-check [type=checkbox]:hover:not(:disabled),
.fe-login .form-check [type=radio]:hover:not(:disabled) {
  border-color: var(--color-primary, #009ddf);
}
.fe-login .form-check .form-check-input:focus, .fe-login .form-check .fe-login__checkbox:focus,
.fe-login .form-check [type=checkbox]:focus,
.fe-login .form-check [type=radio]:focus {
  border-color: var(--color-primary, #009ddf);
  outline: 0;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary, #009ddf) 25%, transparent);
}
.fe-login .form-check .form-check-input:checked, .fe-login .form-check .fe-login__checkbox:checked,
.fe-login .form-check [type=checkbox]:checked,
.fe-login .form-check [type=radio]:checked {
  background-color: var(--color-white, #ffffff);
  border-color: var(--color-primary, #009ddf);
}
.fe-login .form-check .form-check-input:disabled, .fe-login .form-check .fe-login__checkbox:disabled,
.fe-login .form-check [type=checkbox]:disabled,
.fe-login .form-check [type=radio]:disabled {
  background-color: var(--color-jfe-gray, #f3f3f2);
  border-color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  cursor: not-allowed;
  opacity: 0.5;
}
.fe-login .form-check .form-check-input.is-invalid, .fe-login .form-check .is-invalid.fe-login__checkbox,
.fe-login .form-check [type=checkbox].is-invalid,
.fe-login .form-check [type=radio].is-invalid {
  border-color: var(--color-error, #df0000);
}
.fe-login .form-check .form-check-input.is-invalid:focus, .fe-login .form-check .is-invalid.fe-login__checkbox:focus,
.fe-login .form-check [type=checkbox].is-invalid:focus,
.fe-login .form-check [type=radio].is-invalid:focus {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-error, #df0000) 25%, transparent);
}
.fe-login .form-check .form-check-input[type=checkbox],
.fe-login .form-check [type=checkbox] {
  border-radius: 0px;
}
.fe-login .form-check .form-check-input[type=checkbox]:checked,
.fe-login .form-check [type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%230099CC%27 stroke-linecap=%27square%27 stroke-linejoin=%27miter%27 stroke-width=%272.5%27 d=%27M3 8l3 3 7-7%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.fe-login .form-check .form-check-input[type=checkbox]:indeterminate,
.fe-login .form-check [type=checkbox]:indeterminate {
  background-color: var(--color-primary, #009ddf);
  border-color: var(--color-primary, #009ddf);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
}
.fe-login .form-check .form-check-input[type=radio],
.fe-login .form-check [type=radio] {
  border-radius: 50%;
}
.fe-login .form-check .form-check-input[type=radio]:checked,
.fe-login .form-check [type=radio]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%230099CC%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50% 50%;
}
.fe-login .form-check .form-check-label, .fe-login .form-check .fe-login__checkbox-label {
  display: inline-block;
  color: var(--color-black, #000000);
  cursor: pointer;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.fe-login .form-check .form-check-label.disabled, .fe-login .form-check .disabled.fe-login__checkbox-label {
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  cursor: not-allowed;
  opacity: 0.5;
}
.fe-login .form-check .form-check-label span a, .fe-login .form-check .fe-login__checkbox-label span a {
  color: var(--color-black, #000000);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.25em;
  text-decoration-color: var(--color-primary, var(--color-primary, #009ddf));
  transition: text-decoration-color 0.2s ease;
}
.fe-login .form-check .form-check-label span a:hover, .fe-login .form-check .fe-login__checkbox-label span a:hover, .fe-login .form-check .form-check-label span a:focus, .fe-login .form-check .fe-login__checkbox-label span a:focus {
  text-decoration-color: var(--color-black, #000000);
}
.fe-login .form-check .form-check-label span a:focus-visible, .fe-login .form-check .fe-login__checkbox-label span a:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}
.fe-login .form-check-inline {
  display: inline-block;
  margin-right: 1rem;
  margin-bottom: 0;
}
@media (min-width: 640px) {
  .fe-login .form-check-inline {
    margin-right: 1.5rem;
  }
}
.fe-login .form-text {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  line-height: 1.4;
}
.fe-login .form-text.text-danger, .fe-login .form-text.invalid-feedback {
  color: var(--color-error, #df0000);
}
.fe-login .form-text.text-success, .fe-login .form-text.valid-feedback {
  color: #95df00;
}
.fe-login .invalid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--color-black, #000000);
  line-height: 1.4;
  padding-left: 1.5rem;
  position: relative;
}
.fe-login .invalid-feedback::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-black, #000000);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27%23000%27 d=%27M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 75% 75%;
  border-radius: 50%;
  border: 3px solid var(--color-error, #df0000);
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-control.is-invalid ~ .fe-login .invalid-feedback, .is-invalid.fe-login__input ~ .fe-login .invalid-feedback, .form-check-input.is-invalid ~ .fe-login .invalid-feedback, .is-invalid.fe-login__checkbox ~ .fe-login .invalid-feedback {
  display: block;
}
.fe-login .valid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #95df00;
  line-height: 1.4;
}
.form-control.is-valid ~ .fe-login .valid-feedback, .is-valid.fe-login__input ~ .fe-login .valid-feedback, .form-check-input.is-valid ~ .fe-login .valid-feedback, .is-valid.fe-login__checkbox ~ .fe-login .valid-feedback {
  display: block;
}
.fe-login .validation-summary {
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  border: 2px solid var(--color-error, #df0000);
  border-radius: 4px;
  background-color: color-mix(in srgb, var(--color-error, #df0000) 5%, var(--color-white, #ffffff));
}
@media (min-width: 640px) {
  .fe-login .validation-summary {
    padding: 1.25rem 1.5rem;
  }
}
.fe-login .validation-summary .alert-heading {
  margin: 0 0 0.75rem 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-error, #df0000);
  line-height: 1.3;
}
@media (min-width: 640px) {
  .fe-login .validation-summary .alert-heading {
    font-size: 1.25rem;
  }
}
.fe-login .validation-summary .alert-message {
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  color: color-mix(in srgb, var(--color-error, #df0000) 85%, black);
  line-height: 1.4;
}
@media (min-width: 640px) {
  .fe-login .validation-summary .alert-message {
    font-size: 1rem;
  }
}
.fe-login .validation-summary-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.fe-login .validation-summary-list .validation-summary-item {
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
  position: relative;
  line-height: 1.4;
}
.fe-login .validation-summary-list .validation-summary-item:last-child {
  margin-bottom: 0;
}
.fe-login .validation-summary-list .validation-summary-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 1rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27%23dc3545%27 d=%27M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z%27/%3e%3cpath fill=%27%23dc3545%27 d=%27M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}
.fe-login .validation-summary-list .validation-summary-item a {
  color: var(--color-error, #df0000);
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s ease;
}
.fe-login .validation-summary-list .validation-summary-item a:hover, .fe-login .validation-summary-list .validation-summary-item a:focus {
  color: color-mix(in srgb, var(--color-error, #df0000) 85%, black);
  text-decoration: none;
}
.fe-login .validation-summary-list .validation-summary-item a:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
  border-radius: 2px;
}
.fe-login .validation-summary {
  animation: slideInFromTop 0.3s ease-out;
}
@keyframes slideInFromTop {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fe-login .form-floating {
  position: relative;
}
.fe-login .form-floating .form-control, .fe-login .form-floating .fe-login__input {
  padding: 1rem 0.75rem 0.5rem;
}
.fe-login .form-floating .form-control::-moz-placeholder, .fe-login .form-floating .fe-login__input::-moz-placeholder {
  color: transparent;
}
.fe-login .form-floating .form-control::placeholder, .fe-login .form-floating .fe-login__input::placeholder {
  color: transparent;
}
.fe-login .form-floating .form-control:not(:-moz-placeholder) ~ label, .fe-login .form-floating .fe-login__input:not(:-moz-placeholder) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.fe-login .form-floating .form-control:focus ~ label, .fe-login .form-floating .fe-login__input:focus ~ label, .fe-login .form-floating .form-control:not(:placeholder-shown) ~ label, .fe-login .form-floating .fe-login__input:not(:placeholder-shown) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.fe-login .form-floating label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fe-login .form-group {
  margin-bottom: 3rem;
}
.fe-login .form-group:last-child {
  margin-bottom: 0;
}
.fe-login .form-section {
  margin-bottom: 2rem;
}
.fe-login .form-section:last-child {
  margin-bottom: 0;
}
.fe-login .form-section h2,
.fe-login .form-section h3,
.fe-login .form-section h4 {
  margin-bottom: 1rem;
  color: var(--color-black, #000000);
}
.fe-login .form-section .required {
  color: var(--color-error, #df0000);
  font-weight: 700;
}
.fe-login .form-actions {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
@media (min-width: 640px) {
  .fe-login .form-actions {
    flex-wrap: nowrap;
  }
}
.fe-login .form-actions .btn {
  flex: 1;
  min-width: 120px;
}
@media (min-width: 640px) {
  .fe-login .form-actions .btn {
    flex: 0 0 auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fe-login .form-control, .fe-login .fe-login__input,
  .fe-login .form-check-input,
  .fe-login .fe-login__checkbox,
  .fe-login .form-floating label {
    transition: none;
  }
}
@media (forced-colors: active) {
  .fe-login .form-control, .fe-login .fe-login__input,
  .fe-login .form-check-input,
  .fe-login .fe-login__checkbox {
    border-width: 2px;
  }
  .fe-login .validation-summary {
    border: 2px solid ButtonText;
    background-color: ButtonFace;
  }
  .fe-login .validation-summary .validation-summary-item::before {
    background-image: none;
    border: 1px solid ButtonText;
    border-radius: 50%;
  }
}
@media print {
  .fe-login .form-control, .fe-login .fe-login__input,
  .fe-login .form-check-input,
  .fe-login .fe-login__checkbox {
    border: 1px solid black !important;
    box-shadow: none !important;
  }
  .fe-login .validation-summary {
    border: 2px solid black !important;
    background-color: white !important;
  }
  .fe-login .validation-summary .alert-heading,
  .fe-login .validation-summary .alert-message,
  .fe-login .validation-summary .validation-summary-item a {
    color: black !important;
  }
  .fe-login .validation-summary .validation-summary-item::before {
    display: none !important;
  }
}
.fe-login__form {
  width: 100%;
}
.fe-login__fieldset {
  border: none;
  padding: 0;
  margin: 0 0 2rem 0;
}
.fe-login__fieldset:last-child {
  margin-bottom: 0;
}
.fe-login__legend {
  font-size: 1.5rem;
  font-weight: 700;
  color: #000000;
  margin-bottom: 1.5rem;
  padding: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .fe-login__legend {
    font-size: 1.75rem;
    margin-bottom: 2rem;
  }
}
.fe-login__field-group {
  margin-bottom: 1.5rem;
}
.fe-login__field-group:last-child {
  margin-bottom: 0;
}
.fe-login__label {
  display: block;
  margin-bottom: 0.5rem;
}
.fe-login__checkbox-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 1.5rem 0;
}
.fe-login__checkbox-label {
  margin: 0;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.fe-login__checkbox {
  margin-top: 0.25rem;
  flex-shrink: 0;
}
.fe-login__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 2px solid transparent;
  border-radius: 0;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  min-height: 44px;
  min-width: 44px;
}
.fe-login__button--primary {
  color: #ffffff;
  background-color: #009ddf;
  border-color: #009ddf;
}
.fe-login__button--primary:hover:not(:disabled) {
  background-color: rgb(0, 125.6, 178.4);
  border-color: rgb(0, 125.6, 178.4);
}
.fe-login__button--primary:focus {
  outline: 2px solid #009ddf;
  outline-offset: 2px;
}
.fe-login__button--primary:active:not(:disabled) {
  background-color: rgb(0, 109.9, 156.1);
  border-color: rgb(0, 109.9, 156.1);
}
.fe-login__button--secondary {
  color: #000000;
  background-color: #ffcc00;
  border-color: #ffcc00;
}
.fe-login__button--secondary:hover:not(:disabled) {
  background-color: rgb(204, 163.2, 0);
  border-color: rgb(204, 163.2, 0);
}
.fe-login__button--secondary:focus {
  outline: 2px solid #ffcc00;
  outline-offset: 2px;
}
.fe-login__button--secondary:active:not(:disabled) {
  background-color: rgb(178.5, 142.8, 0);
  border-color: rgb(178.5, 142.8, 0);
}
.fe-login__button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background-color: #f3f3f2;
  border-color: #f3f3f2;
  color: rgb(100.88, 100.88, 93.12);
}
.fe-login__link {
  display: inline-block;
  margin-top: 1rem;
  color: #009ddf;
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s ease;
}
.fe-login__link:hover {
  color: rgb(0, 109.9, 156.1);
  text-decoration: none;
}
.fe-login__link:focus {
  outline: 2px solid #009ddf;
  outline-offset: 2px;
}
.fe-login__message {
  margin-bottom: 2rem;
}
.fe-login__message p.fe-login__message-text {
  margin: 0;
  color: #000000;
  line-height: 1.5;
}
.fe-login__message--error h2.fe-login__message-header, .fe-login__message--success h2.fe-login__message-header, .fe-login__message--warning h2.fe-login__message-header {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
  color: #000000;
  font-family: "Calibri", sans-serif;
  font-weight: 400;
  padding: 0.5rem 0.75rem;
  border-radius: 20px;
  background-color: #f3f3f2;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}
.fe-login__message--error h2.fe-login__message-header > i, .fe-login__message--success h2.fe-login__message-header > i, .fe-login__message--warning h2.fe-login__message-header > i {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #ffffff;
  color: #000000;
  border-radius: 50%;
  border: 2px solid #000000;
}
.fe-login__message--error h2.fe-login__message-header {
  background-color: rgba(223, 0, 0, 0.1019607843);
  color: #000000;
}
.fe-login__message--error h2.fe-login__message-header > i {
  border-color: #df0000;
}
.fe-login__message--warning h2.fe-login__message-header {
  background-color: rgba(255, 179, 0, 0.1019607843);
  color: #000000;
}
.fe-login__message--warning h2.fe-login__message-header > i {
  border-color: #ffb300;
}
.fe-login__message--success h2.fe-login__message-header {
  background-color: rgba(149, 223, 0, 0.1019607843);
  color: #000000;
}
.fe-login__message--success h2.fe-login__message-header > i {
  border-color: #95df00;
}
.fe-login__flash-messages {
  margin-bottom: 2rem;
}
.fe-login__flash-messages .alert {
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
  border-left: 4px solid;
  background-color: #f3f3f2;
}
.fe-login__flash-messages .alert:last-child {
  margin-bottom: 0;
}
.fe-login__flash-messages .alert--error {
  border-left-color: #df0000;
  background-color: transparent;
}
.fe-login__flash-messages .alert--success {
  border-left-color: #95df00;
  background-color: transparent;
}
.fe-login__flash-messages .alert--warning {
  border-left-color: #ffcc00;
  background-color: transparent;
}
.fe-login__hidden-fields {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.fe-login__logout-info {
  margin-bottom: 1.5rem;
}
.fe-login__logout-info-label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #000000;
}
.fe-login__logout-info-value {
  display: block;
  padding: 0.75rem 1rem;
  background-color: #f3f3f2;
  border-bottom: 2px solid #000000;
  color: #000000;
}
@media (min-width: 640px) {
  .fe-login__button {
    padding: 0.875rem 2.5rem;
    font-size: 1.0625rem;
  }
}
@media (min-width: 768px) {
  .fe-login__fieldset {
    margin-bottom: 2.5rem;
  }
  .fe-login__field-group {
    margin-bottom: 2rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fe-login__button, .fe-login__link {
    transition: none;
  }
}
@media (forced-colors: active) {
  .fe-login__button {
    border-width: 2px;
  }
  .fe-login__message, .fe-login__flash-messages .alert {
    border: 2px solid ButtonText;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVfbG9naW4uY3NzIiwibWFwcGluZ3MiOiI7OztBQUVBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNESjtBRElBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNGSjtBREtBO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNKSjtBRE9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDTEo7QURRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ05KO0FEU0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNQSjtBRFVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDUko7QURXQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ1RKO0FEYUE7OztFQUFBO0FBcUJBO0VBQ0ksNEJBZmtCO0FDYnRCO0FEOEJBO0VBQ0k7QUMzQko7QUMxRUE7Ozs7Ozs7Ozs7O0VBQUE7QUFrTUE7Ozs7O0VBQUE7QUF1QkE7OztFQUFBO0FDN01BO0VBQ0ksNEJIc0VrQjtBQ2lCdEI7QUVoRkk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FGbUZSO0FHeEZJO0VERkE7O0lBU1E7RUZzRlY7QUFDRjtBRW5GSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUZxRlI7QUd2R0k7RURXQTs7SUFTUTtFRndGVjtBQUNGO0FFckZJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRnVGUjtBRXBGSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRnNGUjtBRW5GSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRnFGUjtBRWxGSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGVBeEVTO0VBeUVUO0VBQ0E7RUFDQTtFQUNBO0FGb0ZSO0FFbkZRO0VBQ0k7QUZxRlo7QUVuRlE7RUFDSTtBRnFGWjtBRW5GUTtFQUNJO0FGcUZaO0FFM0VROzs7O0VBRUk7RUFDQTtFQUNBO0VBQ0EsZUFuR0s7RUFvR0w7RUFDQTtFQUNBO0FGK0VaO0FFOUVZOzs7O0VBQ0k7QUZtRmhCO0FHL0tJO0VEa0ZJOzs7O0lBYVE7RUZ1RmQ7RUV0RmM7Ozs7SUFDSTtFRjJGbEI7QUFDRjtBRXJGUTtFQUNJO0VBQ0E7RUFDQTtBRnVGWjtBRXJGWTtFQUNJO0FGdUZoQjtBRXJGZ0I7Ozs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBRnlGcEI7QUV2Rm9COzs7O0VBQ0k7QUY0RnhCO0FFckZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUZ1Rlo7QUMxTkU7Ozs7RUFFRTtFQUNBLDBDQ3FJb0I7RURwSXBCO0VBQ0EsNENDb0l3QjtFRG5JeEI7RUFDQTtFQUVFLGVDckJXO0FGa1BqQjtBQ3pOSTs7OztFQUNFLG1CQzZIeUI7QUZpRy9CO0FDNU5NOzs7O0VBQ0U7QURpT1I7QUMzTkU7RUFDRTtFQUNBO0FENk5KO0FDMU5NO0VBdUpKO0VBQ0E7QURzRUY7QUNwRUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsK0NDbER1QjtBRndIM0I7QUM5TkU7RUFDRTtFQUNBO0VBQ0E7QURnT0o7QUM5Tkk7RUFDRTtFQUNBO0VBQ0E7QURnT047QUM5Tk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURnT1I7QUM1Tk07RUFDRSxnQkNnRnlCO0VEL0V6QjtBRDhOUjtBQzVOUTtFQUNFO0VBQ0E7RUFDQSxtQkMwRXVCO0FGb0pqQztBQzVOVTtFQUNFO0FEOE5aO0FDM05VO0VBQ0U7QUQ2Tlo7QUN6TlU7RUFDRTtBRDJOWjtBQ3pOWTtFQUNFO0VBQ0E7RUFDQSxtQkN5RG1CO0FGa0tqQztBQ3pOYztFQUNFO0FEMk5oQjtBQ3hOYztFQUNFO0FEME5oQjtBQ2xOTTtFQUNFO0VBQ0E7RUFDQSxtQkN1Q3lCO0FGNktqQztBQ2xOUTtFQUNFO0FEb05WO0FDak5RO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLCtDQ3lCaUI7QUYwTDNCO0FDMU1NO0VBQ0UsZ0JDY3lCO0FGOExqQztBQzFNUTtFQUNFLG1CQ1d1QjtBRmlNakM7QUMxTVU7RUFDRTtBRDRNWjtBQ3ZNTTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGdCQ0R5QjtBRjBNakM7QUN2TVE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQkNQdUI7QUZnTmpDO0FDdk1VO0VBQ0U7QUR5TVo7QUN0TVU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEd01aO0FDcEtFO0VBQ0U7SUFDRTtFRHNLSjtFQ25LRTtJQUNFO0VEcUtKO0FBQ0Y7QUU5TlE7RUFDSTtFQUNBO0VBQ0EsOEJBM0tlO0VBNEtmLDZCQTNLWTtFQTRLWjtFQUNBO0FGZ09aO0FFOU5ZO0VBRUk7QUYrTmhCO0FFNU5ZO0VBQ0k7RUFDQSxtQkFwTFk7QUZrWjVCO0FFek5ZO0VBQ0k7QUYyTmhCO0FFdE5ZO0VBQ0k7QUZ3TmhCO0FFdk5nQjtFQUNJO0FGeU5wQjtBRWxOQTs7RUFFSTtFQUNBO0FGcU5KO0FFM01ROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFZSTtBRmtQWjtBRS9PUTs7OztFQUNJO0VBQ0E7QUZvUFo7QUVsUFk7Ozs7Ozs7RUFFSTtBRnlQaEI7QUV0UFk7Ozs7RUFDSTtBRjJQaEI7QUVqUFE7O0VBRUk7QUZvUFo7QUUxT1E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBVUk7QUZ1UFo7QUU3T1E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFVSTtBRnlQWjtBSWhpQkE7OztFQUFBO0FBMENBOztFQUFBO0FBNENBOztFQUFBO0FBd0lBOztFQUFBO0FBK0tBOztFQUFBO0FBaU1BOztFQUFBO0FBaUdBOztFQUFBO0FBeURBOzs7RUFBQTtBQTFyQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQ0E3QlU7RUE4QlY7RUFDQTtBSitnQlI7QUk1Z0JRO0VBQ0k7RUFDQSxrQ0E3Qk87RUE4QlA7QUo4Z0JaO0FJM2dCUTtFQUNJLGtDQWxDTztFQW1DUDtBSjZnQlo7QUl6Z0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKMmdCWjtBSXZnQkk7RUFDSTtFQUNBO0FKeWdCUjtBSWpnQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQ0E1RVU7RUE2RVYsNkNBNUVRO0VBNkVSO0VBQ0E7RUFDQTtFQUNBLGdCQTVGUTtFQTZGUjtLQUFBO1VBQUE7RUFDQSx3REFDSTtBSmtnQlo7QUk5ZlE7RUFDSSx1REEzRWE7RUE0RWI7QUpnZ0JaO0FJbGdCUTtFQUNJLHVEQTNFYTtFQTRFYjtBSmdnQlo7QUk1ZlE7RUFDSSxrREE1RmM7QUowbEIxQjtBSTFmUTtFQUNJLGtEQWpHYztFQWtHZDtFQUNBO0FKNGZaO0FJdmZRO0VBRUksZ0RBcEdhO0VBcUdiLHFEQXBHZTtFQXFHZjtFQUNBO0FKd2ZaO0FJcGZRO0VBQ0ksZ0RBOUdPO0FKb21CbkI7QUlwZlk7RUFDSSxnREFqSEc7RUFrSEg7QUpzZmhCO0FJamZRO0VBQ0ksNEJBdkhTO0FKMG1CckI7QUlqZlk7RUFDSSw0QkExSEs7RUEySEw7QUptZmhCO0FJN2VJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKK2VSO0FJN2VRO0VBQ0ksMkNBL0ljO0FKOG5CMUI7QUk1ZVE7RUFDSSwyQ0FuSmM7QUppb0IxQjtBSXplSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUoyZVI7QUl4ZVE7RUFDSTtBSjBlWjtBSXRlUTtFQUNJLGtEQXpLYztBSmlwQjFCO0FJcGVRO0VBQ0ksa0RBOUtjO0VBK0tkO0FKc2VaO0FJbGVRO0VBQ0ksZ0RBaExPO0FKb3BCbkI7QUlsZVk7RUFDSSxnREFuTEc7QUp1cEJuQjtBSS9kUTtFQUNJLDRCQXhMUztBSnlwQnJCO0FJL2RZO0VBQ0ksNEJBM0xLO0FKNHBCckI7QUl2ZEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKeWRSO0FJdGRROzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Q0E3Tkk7RUE4Tko7RUFDQTtLQUFBO1VBQUE7RUFDQTtFQUNBLG9GQUNJO0FKdWRoQjtBSWxkWTs7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdBdFBDO0VBdVBELFlBdlBDO0VBd1BELGVBeFBDO0VBeVBELGdCQXpQQztBSitzQmpCO0FJbGRZOzs7RUFDSSwyQ0FuUFU7QUp5c0IxQjtBSWxkWTs7O0VBQ0ksMkNBeFBVO0VBeVBWO0VBQ0E7QUpzZGhCO0FJamRZOzs7RUFDSSw2Q0FsUUE7RUFtUUEsMkNBalFVO0FKc3RCMUI7QUlqZFk7OztFQUNJLGdEQWhRUztFQWlRVCw0REFoUVc7RUFpUVg7RUFDQTtBSnFkaEI7QUlqZFk7OztFQUNJLHlDQTFRRztBSit0Qm5CO0FJbmRnQjs7O0VBQ0k7QUp1ZHBCO0FJaGRROztFQUVJO0FKa2RaO0FJL2NZOztFQUNJO0VBQ0E7RUFDQTtFQUNBO0FKa2RoQjtBSTljWTs7RUFDSSwrQ0F0U1U7RUF1U1YsMkNBdlNVO0VBd1NWO0VBQ0E7RUFDQTtFQUNBO0FKaWRoQjtBSTVjUTs7RUFFSTtBSjhjWjtBSTNjWTs7RUFDSSwwREF0U007RUF1U047RUFDQTtFQUNBO0FKOGNoQjtBSXpjUTtFQUNJO0VBQ0Esa0NBblVNO0VBb1VOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0FKMmNaO0FJeGNZO0VBQ0kscURBbFVXO0VBbVVYO0VBQ0E7QUowY2hCO0FJeGNZO0VBQ0k7RUFDQTtFQUNBLDhCRnZXVztFRXdXWCw2QkZ2V1E7RUV3V1I7RUFJQTtBSnVjaEI7QUlyY2dCO0VBRUk7QUpzY3BCO0FJaGNnQjtFQUNJO0VBRUEsbUJGdlhRO0FGd3pCNUI7QUkxYkk7RUFDSTtFQUNBO0VBQ0E7QUo0YlI7QUc5eUJJO0VDK1dBO0lBTVE7RUo2YlY7QUFDRjtBSXBiSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHVEQW5YaUI7RUFvWGpCO0FKc2JSO0FJbmJRO0VBRUksa0NBaFlPO0FKb3pCbkI7QUloYlE7RUFFSSxjQXJZUztBSnN6QnJCO0FJNWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0Esa0NBdFpVO0VBdVpWO0VBQ0E7RUFDQTtBSjhhUjtBSTVhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0NBbmFNO0VBb2FOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSjhhWjtBSTFhUTtFQUVJO0FKMmFaO0FJdGFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY0FuYmE7RUFvYmI7QUp3YVI7QUlyYVE7RUFFSTtBSnNhWjtBSWphSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUptYVI7QUdoM0JJO0VDd2NBO0lBWVE7RUpnYVY7QUFDRjtBSTlaUTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGtDQWxkTztFQW1kUDtBSmdhWjtBRzUzQkk7RUN1ZEk7SUFRUTtFSmlhZDtBQUNGO0FJOVpRO0VBQ0k7RUFDQTtFQUNBO0VBS0E7QUo0Wlo7QUd2NEJJO0VDbWVJO0lBV1E7RUo2WmQ7QUFDRjtBSXhaSTtFQUNJO0VBQ0E7RUFDQTtBSjBaUjtBSXhaUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FKMFpaO0FJeFpZO0VBQ0k7QUowWmhCO0FJdFpZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUp3WmhCO0FJclpZO0VBQ0ksa0NBemdCRztFQTBnQkg7RUFDQTtFQUNBO0FKdVpoQjtBSXJaZ0I7RUFFSTtFQUtBO0FKa1pwQjtBSS9ZZ0I7RUFDSTtFQUNBO0VBQ0E7QUppWnBCO0FJMVlJO0VBQ0k7QUo0WVI7QUkxWVE7RUFDSTtJQUNJO0lBQ0E7RUo0WWQ7RUkxWVU7SUFDSTtJQUNBO0VKNFlkO0FBQ0Y7QUlsWUk7RUFDSTtBSm9ZUjtBSWxZUTtFQUNJO0FKb1laO0FJbFlZO0VBQ0k7QUpvWWhCO0FJcllZO0VBQ0k7QUpvWWhCO0FJL1hnQjtFQUNJO0VBQ0E7QUppWXBCO0FJbllnQjtFQUNJO0VBQ0E7QUppWXBCO0FJM1hRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrREFDSTtBSjRYaEI7QUl0WEk7RUFDSTtBSndYUjtBSXRYUTtFQUNJO0FKd1haO0FJblhJO0VBQ0k7QUpxWFI7QUluWFE7RUFDSTtBSnFYWjtBSWxYUTs7O0VBR0k7RUFDQSxrQ0EzbkJNO0FKKytCbEI7QUlqWFE7RUFDSSxrQ0F4bkJPO0VBeW5CUDtBSm1YWjtBSTlXSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FKZ1hSO0FHMy9CSTtFQ3VvQkE7SUFPUTtFSmlYVjtBQUNGO0FJL1dRO0VBQ0k7RUFDQTtBSmlYWjtBR3BnQ0k7RUNpcEJJO0lBS1E7RUprWGQ7QUFDRjtBSXhXSTtFQUNJOzs7O0lBR0k7RUoyV1Y7QUFDRjtBSXZXSTtFQUNJOzs7SUFFSTtFSjBXVjtFSXZXTTtJQUNJO0lBQ0E7RUp5V1Y7RUl2V1U7SUFDSTtJQUNBO0lBQ0E7RUp5V2Q7QUFDRjtBSXBXSTtFQUNJOzs7SUFFSTtJQUNBO0VKdVdWO0VJcFdNO0lBQ0k7SUFDQTtFSnNXVjtFSXBXVTs7O0lBR0k7RUpzV2Q7RUluV1U7SUFDSTtFSnFXZDtBQUNGO0FBcmlDSTtFQUNJO0FBdWlDUjtBQW5pQ0k7RUFDSTtFQUNBO0VBQ0E7QUFxaUNSO0FBbmlDUTtFQUNJO0FBcWlDWjtBQWhpQ0k7RUFDSTtFQUNBO0VBQ0EsY0szQ007RUw0Q047RUFDQTtFQUNBO0FBa2lDUjtBR3hrQ0k7RUhnQ0E7SUFTUTtJQUNBO0VBbWlDVjtBQUNGO0FBL2hDSTtFQUNJO0FBaWlDUjtBQS9oQ1E7RUFDSTtBQWlpQ1o7QUE1aENJO0VBRUk7RUFDQTtBQTZoQ1I7QUFwaENJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFzaENSO0FBbmhDSTtFQUVJO0VBQ0E7RUFDQTtLQUFBO1VBQUE7QUFvaENSO0FBamhDSTtFQUVJO0VBQ0E7QUFraENSO0FBOWdDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxxR0FDSTtFQU1KO0VBQ0E7QUEwZ0NSO0FBdmdDUTtFQUNJLGNLOUhFO0VMK0hGLHlCSzVJVTtFTDZJVixxQks3SVU7QUxzcEN0QjtBQXZnQ1k7RUFDSTtFQUNBO0FBeWdDaEI7QUF0Z0NZO0VBQ0k7RUFDQSxtQkF4SUs7QUFncENyQjtBQXJnQ1k7RUFDSTtFQUNBO0FBdWdDaEI7QUFsZ0NRO0VBQ0ksY0tuSkU7RUxvSkYseUJLaktPO0VMa0tQLHFCS2xLTztBTHNxQ25CO0FBbGdDWTtFQUNJO0VBQ0E7QUFvZ0NoQjtBQWpnQ1k7RUFDSTtFQUNBLG1CQTlKSztBQWlxQ3JCO0FBaGdDWTtFQUNJO0VBQ0E7QUFrZ0NoQjtBQTcvQlE7RUFDSTtFQUNBO0VBQ0EseUJLdExLO0VMdUxMLHFCS3ZMSztFTHdMTDtBQSsvQlo7QUExL0JJO0VBQ0k7RUFDQTtFQUNBLGNLbk1jO0VMb01kO0VBQ0E7RUFDQTtBQTQvQlI7QUExL0JRO0VBQ0k7RUFDQTtBQTQvQlo7QUF6L0JRO0VBQ0k7RUFDQSxtQkFqTVM7QUE0ckNyQjtBQXQvQkk7RUFDSTtBQXcvQlI7QUF2L0JRO0VBQ0k7RUFDQSxjSzFNRTtFTDJNRjtBQXkvQlo7QUFuL0JZO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY0tyTkY7RUxzTkUsa0NEaEpRO0VDaUpSO0VBQ0E7RUFDQTtFQUNBLHlCS3JPQztFTHNPRDtFQUNBO0VBQ0E7QUFxL0JoQjtBQXAvQmdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJLdE9OO0VMdU9NLGNLdE9OO0VMdU9NO0VBQ0E7QUFzL0JwQjtBQWgvQlk7RUFDSSwrQ0tsT0M7RUxtT0QsY0toUEY7QUxrdUNkO0FBai9CZ0I7RUFDSSxxQkt0T047QUx5dENkO0FBNytCWTtFQUNJLGlESzFPRztFTDJPSCxjSzFQRjtBTHl1Q2Q7QUE5K0JnQjtFQUNJLHFCSzlPSjtBTDh0Q2hCO0FBMStCWTtFQUNJLGlES2xQRztFTG1QSCxjS3BRRjtBTGd2Q2Q7QUEzK0JnQjtFQUNJLHFCS3RQSjtBTG11Q2hCO0FBaitCSTtFQUNJO0FBbStCUjtBQWorQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5QktwU0s7QUx1d0NqQjtBQWorQlk7RUFDSTtBQW0rQmhCO0FBaCtCWTtFQUNJLDBCS3BSRjtFTHFSRTtBQWsrQmhCO0FBLzlCWTtFQUNJLDBCS3JSQTtFTHNSQTtBQWkrQmhCO0FBOTlCWTtFQUNJLDBCS3ZURztFTHdUSDtBQWcrQmhCO0FBMTlCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTQ5QlI7QUF4OUJJO0VBQ0k7QUEwOUJSO0FBeDlCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGNLclVFO0FMK3hDZDtBQXY5QlE7RUFDSTtFQUNBO0VBQ0EseUJLdFZLO0VMdVZMO0VBQ0EsY0s3VUU7QUxzeUNkO0FHOXhDSTtFSDZVSTtJQUNJO0lBQ0E7RUFvOUJWO0FBQ0Y7QUdweUNJO0VIb1ZJO0lBQ0k7RUFtOUJWO0VBaDlCTTtJQUNJO0VBazlCVjtBQUNGO0FBOThCSTtFQUVJO0lBRUk7RUE4OEJWO0FBQ0Y7QUExOEJJO0VBQ0k7SUFDSTtFQTQ4QlY7RUF6OEJNO0lBRUk7RUEwOEJWO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2dsb2JhbC9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9leHRlbnNpb25zL2ZlX2xvZ2luLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9nbG9iYWwvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9nbG9iYWwvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fZm9ybS1jb21wb25lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvZ2xvYmFsL19jb2xvcnMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBhc3NldHMvc2Nzcy9nbG9iYWwvX2ZvbnRzLnNjc3NcblxuLyogYWxlby02MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnQWxlbyc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2FsZW8vNjAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuLyogcm9vbmV5IDYwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdSb29uZXknO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9yb29uZXkvNjAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuLyogY2FsaWJyaSBmb250IGZhbWlseSAqL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdDYWxpYnJpJztcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvY2FsaWJyaS8zMDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdDYWxpYnJpJztcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvY2FsaWJyaS8zMDBpLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnQ2FsaWJyaSc7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2NhbGlicmkvNDAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnQ2FsaWJyaSc7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2NhbGlicmkvNDAwaS53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ0NhbGlicmknO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9jYWxpYnJpLzcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ0NhbGlicmknO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9jYWxpYnJpLzcwMGkud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuXG5cbi8qKlxuICogRm9udCBmYW1pbHkgZGVmaW5pdGlvbnMgZm9yIGNvbnNpc3RlbnQgdXNhZ2UgYWNyb3NzIHRoZSBwcm9qZWN0XG4gKiBUaGVzZSB2YXJpYWJsZXMgY2FuIGJlIHVzZWQgaW4gYW55IGZpbGUgdGhhdCBpbXBvcnRzIHRoaXMgbW9kdWxlXG4gKi9cblxuXG4vLyBGb250IGZhbWlsaWVzXG4kZm9udC1mYW1pbHktcHJpbWFyeTogJ1Jvb25leScsIHNlcmlmICFkZWZhdWx0OyAvLyBEZWZhdWx0IGhlYWRsaW5lXG4kZm9udC1mYW1pbHktc2Vjb25kYXJ5OiAnQ2FsaWJyaScsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7IC8vIEJvZHl0ZXh0XG4kZm9udC1mYW1pbHktZmFsbGJhY2s6ICdBbGVvJywgc2VyaWYgIWRlZmF1bHQ7IC8vIEZhbGxiYWNrIGhlYWRsaW5lXG5cbi8vIFNlbWFudGljIGZvbnQgZmFtaWxpZXNcbiRmb250LWZhbWlseS1zZXJpZjogJGZvbnQtZmFtaWx5LXByaW1hcnkgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogJGZvbnQtZmFtaWx5LXNlY29uZGFyeSAhZGVmYXVsdDtcblxuLy8gTmF2aWdhdGlvbiBzcGVjaWZpYyBmb250cyAoaWYgbmVlZGVkKVxuJGZvbnQtZmFtaWx5LW5hdmlnYXRpb246ICRmb250LWZhbWlseS1zZWNvbmRhcnkgIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvbiBzcGVjaWZpYyBmb250cyAoaWYgbmVlZGVkKVxuJGZvbnQtZmFtaWx5LWJ1dHRvbnM6ICRmb250LWZhbWlseS1zZWNvbmRhcnkgIWRlZmF1bHQ7XG5cbi5mb250LXByaW1hcnkge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcHJpbWFyeTtcbn1cbi5mb250LXNlY29uZGFyeSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnksIHNhbnMtc2VyaWY7XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9leHRlbnNpb25zL2ZlX2xvZ2luLnNjc3NcblxuQHVzZSAnLi4vY29tcG9uZW50cy9mb3JtLWNvbXBvbmVudHMnIGFzIGZvcm0tY29tcG9uZW50cztcbkB1c2UgJy4uL2dsb2JhbC9jb2xvcnMnIGFzIGNvbG9ycztcbkB1c2UgJy4uL2dsb2JhbC9mb250cycgYXMgZm9udHM7XG5AdXNlICcuLi9nbG9iYWwvYnJlYWtwb2ludHMnIGFzIGJwO1xuQHVzZSAnc2Fzczpjb2xvcic7XG5cbi8vIEJsb2NrIGZvciBCRU0tTWV0aG9kb2xvZ3lcbiRibG9jazogJ2ZlLWxvZ2luJztcblxuLiN7JGJsb2NrfSB7XG4gICAgLy8gSW5jbHVkZSBzaGFyZWQgZm9ybSBjb21wb25lbnRzXG4gICAgQGluY2x1ZGUgZm9ybS1jb21wb25lbnRzLmZvcm0tY29tcG9uZW50cygpO1xuXG4gICAgLy8gVmlzdWFsIGNvbmZpZ3VyYXRpb25cbiAgICAkb3V0bGluZS13aWR0aDogMnB4O1xuICAgICRvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICR0cmFuc2l0aW9uLWVhc2luZzogZWFzZTtcblxuICAgIC8vIENvbG9ycyAtIHVzaW5nIGRpcmVjdCBTQ1NTIHZhcmlhYmxlcyBmb3IgZnVuY3Rpb25zIGxpa2UgY29sb3Iuc2NhbGUoKVxuICAgICRwcmltYXJ5LWNvbG9yOiBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWU7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogY29sb3JzLiRjb2xvci1qZmUteWVsbG93O1xuICAgICR0ZXh0LWNvbG9yOiBjb2xvcnMuJGNvbG9yLWJsYWNrO1xuICAgICRiZy1jb2xvcjogY29sb3JzLiRjb2xvci13aGl0ZTtcbiAgICAkYm9yZGVyLWNvbG9yOiBjb2xvcnMuJGNvbG9yLWJsYWNrO1xuICAgICRlcnJvci1jb2xvcjogY29sb3JzLiRjb2xvci1lcnJvcjtcbiAgICAkc3VjY2Vzcy1jb2xvcjogY29sb3JzLiRjb2xvci1zdWNjZXNzO1xuICAgICRjb2xvci13YXJuaW5nOiBjb2xvcnMuJGNvbG9yLXdhcm5pbmc7XG4gICAgJGVycm9yLWJnLWNvbG9yOiBjb2xvcnMuJGNvbG9yLWVycm9yLWJnO1xuICAgICRzdWNjZXNzLWJnLWNvbG9yOiBjb2xvcnMuJGNvbG9yLXN1Y2Nlc3MtYmc7XG4gICAgJHdhcm5pbmctYmctY29sb3I6IGNvbG9ycy4kY29sb3Itd2FybmluZy1iZztcbiAgICAkZ3JheS1saWdodDogY29sb3JzLiRjb2xvci1qZmUtZ3JheTtcblxuICAgIC8vIE1haW4gY29udGFpbmVyIC0gd29yayB3aXRoIGV4aXN0aW5nIFRhaWx3aW5kIGNsYXNzZXNcbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgLy8gQWRkaXRpb25hbCBzdHlsaW5nIGlmIG5lZWRlZCwgVGFpbHdpbmQgaGFuZGxlcyBtb3N0IGxheW91dFxuICAgIH1cblxuICAgIC8vIEZvcm0gc3R5bGluZ1xuICAgICZfX2Zvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBGaWVsZHNldFxuICAgICZfX2ZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDAgMCAycmVtIDA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMZWdlbmRcbiAgICAmX19sZWdlbmQge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ21kJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpZWxkIGdyb3VwXG4gICAgJl9fZmllbGQtZ3JvdXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMYWJlbFxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1sYWJlbDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9XG5cbiAgICAvLyBJbnB1dCBmaWVsZHNcbiAgICAmX19pbnB1dCB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tY29udHJvbDtcbiAgICB9XG5cbiAgICAvLyBDaGVja2JveCB3cmFwcGVyIGZvciBcIlJlbWVtYmVyIG1lXCJcbiAgICAmX19jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMC43NXJlbTtcbiAgICAgICAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgICB9XG5cbiAgICAmX19jaGVja2JveC1sYWJlbCB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tY2hlY2stbGFiZWw7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAmX19jaGVja2JveCB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tY2hlY2staW5wdXQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC8vIEJ1dHRvbnNcbiAgICAmX19idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBjb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICBib3gtc2hhZG93ICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcblxuICAgICAgICAvLyBNaW4gdG91Y2ggdGFyZ2V0IHNpemVcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICAgICAgbWluLXdpZHRoOiA0NHB4O1xuXG4gICAgICAgIC8vIFByaW1hcnkgYnV0dG9uIChsb2dpbi9zdWJtaXQpXG4gICAgICAgICYtLXByaW1hcnkge1xuICAgICAgICAgICAgY29sb3I6ICRiZy1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iuc2NhbGUoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0yMCUpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3Iuc2NhbGUoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0yMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAkb3V0bGluZS13aWR0aCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJG91dGxpbmUtb2Zmc2V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iuc2NhbGUoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3Iuc2NhbGUoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2Vjb25kYXJ5IGJ1dHRvbiAobG9nb3V0KVxuICAgICAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblxuICAgICAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iuc2NhbGUoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTIwJSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci5zY2FsZSgkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogJG91dGxpbmUtd2lkdGggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJG91dGxpbmUtb2Zmc2V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iuc2NhbGUoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci5zY2FsZSgkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvci5zY2FsZSgkZ3JheS1saWdodCwgJGxpZ2h0bmVzczogLTYwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaW5rcyAoZm9yZ290IHBhc3N3b3JkLCBldGMuKVxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvci5zY2FsZSgkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6ICRvdXRsaW5lLXdpZHRoIHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6ICRvdXRsaW5lLW9mZnNldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lc3NhZ2UgY29udGFpbmVyc1xuICAgICZfX21lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBwLiN7JGJsb2NrfV9fbWVzc2FnZS10ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1lcnJvcixcbiAgICAgICAgJi0tc3VjY2VzcyxcbiAgICAgICAgJi0td2FybmluZyB7XG4gICAgICAgICAgICBoMi4jeyRibG9ja31fX21lc3NhZ2UtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRzLiRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAuNXJlbSAuNzVyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAuNzVyZW07XG4gICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWVycm9yIHtcbiAgICAgICAgICAgIGgyLiN7JGJsb2NrfV9fbWVzc2FnZS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlcnJvci1iZy1jb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZXJyb3ItY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0td2FybmluZyB7XG4gICAgICAgICAgICBoMi4jeyRibG9ja31fX21lc3NhZ2UtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZy1iZy1jb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3Itd2FybmluZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zdWNjZXNzIHtcbiAgICAgICAgICAgIGgyLiN7JGJsb2NrfV9fbWVzc2FnZS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzLWJnLWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX292ZXJ2aWV3LWluZm8ge1xuICAgICAgICAvLyBubyBzcGVjaWZpYyBzdHlsZXMgeWV0XG4gICAgfVxuXG5cbiAgICAvLyBGbGFzaCBtZXNzYWdlc1xuICAgICZfX2ZsYXNoLW1lc3NhZ2VzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAuYWxlcnQge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWVycm9yIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGVycm9yLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1zdWNjZXNzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXdhcm5pbmcge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGlkZGVuIGZpZWxkcyBjb250YWluZXJcbiAgICAmX19oaWRkZW4tZmllbGRzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLy8gTG9nb3V0IGluZm9cbiAgICAmX19sb2dvdXQtaW5mbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdmFsdWUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3ZlcnZpZXcgaW5mbyAobG9nZ2VkIGluIHN0YXR1cylcblxuICAgIC8vIFJlc3BvbnNpdmUgYWRqdXN0bWVudHNcbiAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuODc1cmVtIDIuNXJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbWQnKSB7XG4gICAgICAgICZfX2ZpZWxkc2V0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ZpZWxkLWdyb3VwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBY2Nlc3NpYmlsaXR5IGVuaGFuY2VtZW50c1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cbiAgICAgICAgJl9fYnV0dG9uLFxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydFxuICAgIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX21lc3NhZ2UsXG4gICAgICAgICZfX2ZsYXNoLW1lc3NhZ2VzIC5hbGVydCB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBCdXR0b25UZXh0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fbGlzdHMuc2Nzc1xuQHVzZSAnLi4vZ2xvYmFsL2NvbG9ycycgYXMgY29sb3JzO1xuXG4vKipcbiAqIFVuaXZlcnNhbCBsaXN0IHN0eWxpbmcgbWl4aW4gLSBEUlkgYXBwcm9hY2ggZm9yIHVsIGFuZCBvbFxuICogUHJvdmlkZXMgY29uc2lzdGVudCBsaXN0IHN0eWxpbmcgYWNyb3NzIFJURSBhbmQgdHlwb2dyYXBoeSBjb250ZXh0c1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSAkZm9udC1zaXplIC0gRm9udCBzaXplIChjYW4gdXNlIGNsYW1wKCkgZm9yIHJlc3BvbnNpdmUpXG4gKiBAcGFyYW0ge3N0cmluZ30gJG1hcmdpbi1ib3R0b20gLSBCb3R0b20gbWFyZ2luIGZvciB0aGUgbGlzdFxuICogQHBhcmFtIHtzdHJpbmd9ICRtYXgtd2lkdGggLSBPcHRpb25hbCBtYXgtd2lkdGggY29uc3RyYWludFxuICogQHBhcmFtIHtzdHJpbmd9ICRsaXN0LWl0ZW0tbWFyZ2luIC0gTWFyZ2luIGJldHdlZW4gbGlzdCBpdGVtcyAoZGVmYXVsdDogMjBweClcbiAqIEBwYXJhbSB7c3RyaW5nfSAkbmVzdGVkLWxpc3QtbWFyZ2luIC0gTWFyZ2luIGZvciBuZXN0ZWQgbGlzdCBpdGVtcyAoZGVmYXVsdDogMTBweClcbiAqIEBwYXJhbSB7c3RyaW5nfSAkYnVsbGV0LWNvbG9yIC0gQ29sb3IgZm9yIGJ1bGxldHMvbnVtYmVyc1xuICogQHBhcmFtIHtzdHJpbmd9ICRleGNsdWRlLWNsYXNzIC0gT3B0aW9uYWwgY2xhc3MgdG8gZXhjbHVkZSBmcm9tIHN0eWxpbmcgKGUuZy4sIGNvbnRhY3QgY2FyZHMpXG4gKi9cbkBtaXhpbiBsaXN0LXN0eWxlcyhcbiAgJGZvbnQtc2l6ZTogMTZweCxcbiAgJG1hcmdpbi1ib3R0b206IDEuNXJlbSxcbiAgJG1heC13aWR0aDogbnVsbCxcbiAgJGxpc3QtaXRlbS1tYXJnaW46IDIwcHgsXG4gICRuZXN0ZWQtbGlzdC1tYXJnaW46IDEwcHgsXG4gICRidWxsZXQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnksIGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZSksXG4gICRleGNsdWRlLWNsYXNzOiBudWxsXG4pIHtcbiAgLy8gU2hhcmVkIGxpc3QgcHJvcGVydGllc1xuICB1bCxcbiAgb2wge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgY29sb3JzLiRjb2xvci1ibGFjayk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYgJG1heC13aWR0aCB7XG4gICAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGxpc3QgaXRlbXNcbiAgICA+IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LWl0ZW0tbWFyZ2luO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0cyAod2l0aCBjdXN0b20gYnVsbGV0cylcbiAgdWw6bm90KFtjbGFzcyo9XCJydGUtbGlzdC1pY29uLVwiXSkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgQGlmICRleGNsdWRlLWNsYXNzIHtcbiAgICAgIGxpOm5vdCguI3skZXhjbHVkZS1jbGFzc30pIHtcbiAgICAgICAgQGluY2x1ZGUgbGlzdC1pdGVtLWJ1bGxldCgkYnVsbGV0LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgbGlzdC1pdGVtLWJ1bGxldCgkYnVsbGV0LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzICh3aXRoIGN1c3RvbSBudW1iZXJpbmcpXG4gIG9sIHtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICAgIGNvdW50ZXItcmVzZXQ6IGl0ZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogY291bnRlcihpdGVtKSBcIi5cIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgY29sb3JzLiRjb2xvci1ibGFjayk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuXG4gICAgICAvLyBOZXN0ZWQgb3JkZXJlZCBsaXN0c1xuICAgICAgb2wge1xuICAgICAgICBtYXJnaW4tdG9wOiAkbmVzdGVkLWxpc3QtbWFyZ2luO1xuICAgICAgICBjb3VudGVyLXJlc2V0OiBzdWJpdGVtO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzdWJpdGVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbmVzdGVkLWxpc3QtbWFyZ2luO1xuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoaXRlbSkgXCIuXCIgY291bnRlcihzdWJpdGVtKSBcIiBcIjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBUaGlyZCBsZXZlbCBuZXN0aW5nXG4gICAgICAgICAgb2wge1xuICAgICAgICAgICAgY291bnRlci1yZXNldDogc3Vic3ViaXRlbTtcblxuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzdWJzdWJpdGVtO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRuZXN0ZWQtbGlzdC1tYXJnaW47XG5cbiAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKGl0ZW0pIFwiLlwiIGNvdW50ZXIoc3ViaXRlbSkgXCIuXCIgY291bnRlcihzdWJzdWJpdGVtKSBcIiBcIjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBOZXN0ZWQgdW5vcmRlcmVkIGxpc3RzIHdpdGhpbiBvcmRlcmVkIGxpc3RzXG4gICAgICB1bCA+IGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJG5lc3RlZC1saXN0LW1hcmdpbjtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMC44NzVyZW07XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgICAgIGhlaWdodDogMC43NXJlbTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1bGxldC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0IG5lc3RpbmcgKHVsID4gbGkgPiBvbClcbiAgdWw6bm90KFtjbGFzcyo9XCJydGUtbGlzdC1pY29uLVwiXSkge1xuICAgIGxpIHtcbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJG5lc3RlZC1saXN0LW1hcmdpbjtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbmVzdGVkLWxpc3QtbWFyZ2luO1xuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgICAgICAgY291bnRlci1yZXNldDogaXRlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAkbmVzdGVkLWxpc3QtbWFyZ2luO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbmVzdGVkLWxpc3QtbWFyZ2luO1xuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoaXRlbSkgXCIuXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogSGVscGVyIG1peGluIGZvciBsaXN0IGl0ZW0gYnVsbGV0c1xuICogQ3JlYXRlcyB0aGUgY2lyY3VsYXIgYnVsbGV0IHBvaW50XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9ICRjb2xvciAtIEJ1bGxldCBjb2xvclxuICovXG5AbWl4aW4gbGlzdC1pdGVtLWJ1bGxldCgkY29sb3IpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMC44NzVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgIGhlaWdodDogMC43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8qKlxuICogQWNjZXNzaWJpbGl0eSBzdXBwb3J0IGZvciBsaXN0c1xuICogSGlnaCBjb250cmFzdCBtb2RlIHN0eWxpbmdcbiAqL1xuQG1peGluIGxpc3QtYWNjZXNzaWJpbGl0eSgpIHtcbiAgQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG4gICAgdWwgbGk6OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgb2wgbGk6OmJlZm9yZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvZ2xvYmFsL190eXBvZ3JhcGh5LnNjc3NcbkB1c2UgJ2NvbG9ycycgYXMgY29sb3JzO1xuQHVzZSAnYnJlYWtwb2ludHMnIGFzIGJwO1xuQHVzZSAnZm9udHMnIGFzICo7IC8vIEltcG9ydCBhbGwgZm9udCBkZWZpbml0aW9ucyBhbmQgdmFyaWFibGVzXG5AdXNlICcuLi9jb21wb25lbnRzL2xpc3RzJyBhcyBsaXN0cztcblxuLy8gTGluayBzdHlsaW5nXG4kbGluay11bmRlcmxpbmUtdGhpY2tuZXNzOiAycHg7XG4kbGluay11bmRlcmxpbmUtb2Zmc2V0OiAwLjI1ZW07XG4kbGluay1mb2N1cy1vdXRsaW5lLXdpZHRoOiAycHg7XG4kbGluay1mb2N1cy1vdXRsaW5lLW9mZnNldDogMnB4O1xuXG4vLyBHbG9iYWwgZm9udCBzZXR0aW5nc1xuJG1heC10ZXh0LXdpZHRoOiA4MGNoO1xuXG4udGV4dC1zZXJpZiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZXJpZjtcbn1cblxuLy8gU3R5bGVzIG9ubHkgZm9yIENvbnRlbnQgRWxlbWVudHNcbi5jZV9fY29udGVudCB7XG5cbiAgICAvLyBIZWFkbGluZXNcbiAgICBoMSxcbiAgICAuaDEge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnksICRmb250LWZhbWlseS1mYWxsYmFjaztcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgzMnB4LCAydncgKyAyNHB4LCA1MHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ2xnJykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgyLFxuICAgIC5oMiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcHJpbWFyeSwgJGZvbnQtZmFtaWx5LWZhbGxiYWNrO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDEuNXZ3ICsgMjJweCwgMzhweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdsZycpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMyxcbiAgICAuaDMge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnksICRmb250LWZhbWlseS1mYWxsYmFjaztcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyNHB4LCAwLjV2dyArIDIycHgsIDI4cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICB9XG5cbiAgICBoNCxcbiAgICAuaDQge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeSwgJGZvbnQtZmFtaWx5LWZhbGxiYWNrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCAwLjI1dncgKyAyMXB4LCAyNHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgIH1cblxuICAgIGg1LFxuICAgIC5oNSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5LCAkZm9udC1mYW1pbHktZmFsbGJhY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDIwcHgsIDAuMjV2dyArIDE5cHgsIDIycHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5LCAkZm9udC1mYW1pbHktZmFsbGJhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTZweCwgMC41dncgKyAxNHB4LCAyMHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXRleHQtd2lkdGg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICAgIHRleHQtd3JhcDogcHJldHR5O1xuICAgICAgICAmLmZvbnQtYm9sZCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICAgICYuZm9udC1zZW1pYm9sZCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICYuY2UtdGV4dG1lZGlhLFxuICAgICYuY2UtaWdlbGJfYm94LFxuICAgICYuY2UtamZlZXZlbnRzX2V2ZW50Ym9va2luZyB7XG5cbiAgICAgICAgLy8gQm9keXRleHRcbiAgICAgICAgcCxcbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnksICRmb250LWZhbWlseS1mYWxsYmFjaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTZweCwgMC41dncgKyAxNHB4LCAyMHB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRtYXgtdGV4dC13aWR0aDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbGcnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBCYXNpYyB0YWJsZSBzdHlsZXNcbiAgICAgICAgZmlndXJlLnRhYmxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDE4cHgsIDEuNXZ3ICsgMTRweCwgMzBweCk7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIHRhYmxlLmNvbnRlbnR0YWJsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICB0aCxcbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheSwgI3tjb2xvcnMuJGNvbG9yLWpmZS1ncmF5fSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXksICN7Y29sb3JzLiRjb2xvci1qZmUtZ3JheX0pO1xuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFF1b3RlXG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jb2xvci1zZWNvbmRhcnksICN7Y29sb3JzLiRjb2xvci1qZmUteWVsbG93fSk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMS41cmVtIDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMaXN0cyB1c2luZyB0aGUgdW5pZmllZCBtaXhpbiB3aXRoIHJlc3BvbnNpdmUgdmFsdWVzXG4gICAgICAgIEBpbmNsdWRlIGxpc3RzLmxpc3Qtc3R5bGVzKFxuICAgICAgICAgICAgJGZvbnQtc2l6ZTogY2xhbXAoMTZweCwgMC41dncgKyAxNHB4LCAyMHB4KSxcbiAgICAgICAgICAgICRtYXJnaW4tYm90dG9tOiBjbGFtcCgyMHB4LCAydncgKyAxNXB4LCA0MHB4KSxcbiAgICAgICAgICAgICRtYXgtd2lkdGg6ICRtYXgtdGV4dC13aWR0aCxcbiAgICAgICAgICAgICRsaXN0LWl0ZW0tbWFyZ2luOiAyMHB4LFxuICAgICAgICAgICAgJG5lc3RlZC1saXN0LW1hcmdpbjogMTBweCxcbiAgICAgICAgICAgICRidWxsZXQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnksICN7Y29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlfSksXG4gICAgICAgICAgICAkZXhjbHVkZS1jbGFzczogJ2NlLWpmZWV2ZW50c19ldmVudGJvb2tpbmdfX2NvbnRhY3QtY2FyZCdcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBBY2Nlc3NpYmlsaXR5IHN1cHBvcnQgZm9yIGxpc3RzXG4gICAgICAgIEBpbmNsdWRlIGxpc3RzLmxpc3QtYWNjZXNzaWJpbGl0eSgpO1xuXG4gICAgICAgIC8vIExpbmtzIGluc2lkZSBDb250ZW50IEVsZW1lbnRcbiAgICAgICAgLy8gKG5vdCBpbiBuYXZpZ2F0aW9uIG9yIFVJIGNvbXBvbmVudHMpXG4gICAgICAgIGE6bm90KC5idG4pIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgI3tjb2xvcnMuJGNvbG9yLWJsYWNrfSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6ICRsaW5rLXVuZGVybGluZS10aGlja25lc3M7XG4gICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRsaW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnksICN7Y29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlfSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tY29sb3IgMC4ycyBlYXNlO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgI3tjb2xvcnMuJGNvbG9yLWJsYWNrfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogJGxpbmstZm9jdXMtb3V0bGluZS13aWR0aCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LCAje2NvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZX0pO1xuICAgICAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAkbGluay1mb2N1cy1vdXRsaW5lLW9mZnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxNHB4LCAwLjV2dyArIDEycHgsIDE2cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwsIG9sIHtcbiAgICAgICAgICAgIGxpIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuYSxcbmJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi8vIEJhY2tncm91bmQgc3BlY2lmaWMgY29sb3IgY2hhbmdlc1xuLmJnLXByaW1hcnksXG4uYmctZS1qdWdlbmQtYmx1ZSxcbi5iZy1lc2stbWFnZW50YSxcbi5iZy1lLXNwb3J0LW9yYW5nZSB7XG4gICAgLmNlX19jb250ZW50IHtcblxuICAgICAgICBoMSxcbiAgICAgICAgLmgxLFxuICAgICAgICBoMixcbiAgICAgICAgLmgyLFxuICAgICAgICBoMyxcbiAgICAgICAgLmgzLFxuICAgICAgICBoNCxcbiAgICAgICAgLmg0LFxuICAgICAgICBoNSxcbiAgICAgICAgLmg1LFxuICAgICAgICBwLFxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUsICN7Y29sb3JzLiRjb2xvci13aGl0ZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgYTpub3QoLmJ0bikge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLCAje2NvbG9ycy4kY29sb3Itd2hpdGV9KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUsICN7Y29sb3JzLiRjb2xvci13aGl0ZX0pO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSwgI3tjb2xvcnMuJGNvbG9yLXdoaXRlfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUsICN7Y29sb3JzLiRjb2xvci13aGl0ZX0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBHcmF5IGJhY2tncm91bmQgc3BlY2lmaWMgY29sb3IgY2hhbmdlc1xuLmJnLWpmZS1ncmF5Om5vdCguYmctcHJpbWFyeSkge1xuICAgIC5jZV9fY29udGVudCB7XG5cbiAgICAgICAgaDIsXG4gICAgICAgIC5oMiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssICN7Y29sb3JzLiRjb2xvci1ibGFja30pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBQYXBlciB0ZXh0dXJlIGJhY2tncm91bmQgc3BlY2lmaWMgY29sb3IgY2hhbmdlc1xuLmNlX19jb250ZW50Om5vdCguY2UtaWdlbGJfYnJlYWtlcnRlYXNlcikge1xuICAgIC5iZy1wYXBlci10ZXh0dXJlLFxuICAgIC5iZy1qZmUtZ3JheSB7XG5cbiAgICAgICAgaDEsXG4gICAgICAgIC5oMSxcbiAgICAgICAgaDIsXG4gICAgICAgIC5oMixcbiAgICAgICAgaDMsXG4gICAgICAgIC5oMyxcbiAgICAgICAgaDQsXG4gICAgICAgIC5oNCxcbiAgICAgICAgaDUsXG4gICAgICAgIC5oNSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssICN7Y29sb3JzLiRjb2xvci1ibGFja30pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2VfX2NvbnRlbnQ6bm90KC5jZS1pZ2VsYl9icmVha2VydGVhc2VyKSB7XG5cbiAgICAmLmNlX19jb250ZW50LS1iZy1wYXBlci10ZXh0dXJlLFxuICAgICYuY2VfX2NvbnRlbnQtLWJnLWdyYXkge1xuXG4gICAgICAgIGgxLFxuICAgICAgICAuaDEsXG4gICAgICAgIGgyLFxuICAgICAgICAuaDIsXG4gICAgICAgIGgzLFxuICAgICAgICAuaDMsXG4gICAgICAgIGg0LFxuICAgICAgICAuaDQsXG4gICAgICAgIGg1LFxuICAgICAgICAuaDUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCAje2NvbG9ycy4kY29sb3ItYmxhY2t9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEFVVE8tR0VORVJBVEVEIEZJTEUgZnJvbSBidWlsZC1icmVha3BvaW50cy5qc1xuLy8gRE8gTk9UIEVESVQgRElSRUNUTFlcblxuLy8gSW1wb3J0IFNhc3MgbWFwIG1vZHVsZVxuQHVzZSBcInNhc3M6bWFwXCI7XG5cbi8vIEJyZWFrcG9pbnQgdmFsdWVzXG4kYnJlYWtwb2ludC1zbTogNjQwcHg7XG4kYnJlYWtwb2ludC1tZDogNzY4cHg7XG4kYnJlYWtwb2ludC1sZzogMTAyNHB4O1xuJGJyZWFrcG9pbnQteGw6IDEyODBweDtcbiRicmVha3BvaW50LTJ4bDogMTY2NHB4O1xuXG4vLyBNYXAgZm9yIHByb2dyYW1tYXRpYyBhY2Nlc3NcbiRicmVha3BvaW50czogKFxuICAnc20nOiAkYnJlYWtwb2ludC1zbSxcbiAgJ21kJzogJGJyZWFrcG9pbnQtbWQsXG4gICdsZyc6ICRicmVha3BvaW50LWxnLFxuICAneGwnOiAkYnJlYWtwb2ludC14bCxcbiAgJzJ4bCc6ICRicmVha3BvaW50LTJ4bFxuKTtcblxuLy8gTWl4aW4gZm9yIGVhc3kgbWVkaWEgcXVlcmllcyBiYXNlZCBvbiBkZWZpbmVkIGJyZWFrcG9pbnRzXG5AbWl4aW4gYnJlYWtwb2ludCgkcG9pbnQpIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHBvaW50KSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAnI3skcG9pbnR9JyBpcyBub3QgZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMgbWFwLlwiO1xuICB9XG59XG5cbi8vIE1peGluIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllcyAoc21hbGxlciB0aGFuIGEgYnJlYWtwb2ludClcbkBtaXhpbiBicmVha3BvaW50LWRvd24oJHBvaW50KSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRwb2ludCkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHBvaW50KSAtIDFweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgJyN7JHBvaW50fScgaXMgbm90IGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzIG1hcC5cIjtcbiAgfVxufVxuXG4vLyBNaXhpbiBmb3IgY3JlYXRpbmcgc3R5bGVzIGJldHdlZW4gdHdvIGJyZWFrcG9pbnRzXG5AbWl4aW4gYnJlYWtwb2ludC1iZXR3ZWVuKCRtaW4sICRtYXgpIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJG1pbikgYW5kIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJG1heCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG1pbikpIGFuZCAobWF4LXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG1heCkgLSAxcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50ICcjeyRtaW59JyBvciAnI3skbWF4fScgaXMgbm90IGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzIG1hcC5cIjtcbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fZm9ybS1jb21wb25lbnRzLnNjc3NcbkB1c2UgXCIuLi9nbG9iYWwvY29sb3JzXCIgYXMgY29sb3JzO1xuQHVzZSBcIi4uL2dsb2JhbC9icmVha3BvaW50c1wiIGFzIGJwO1xuQHVzZSBcIi4uL2dsb2JhbC9mb250c1wiIGFzICo7XG5AdXNlIFwiLi4vZ2xvYmFsL3R5cG9ncmFwaHlcIiBhcyB0eXBvO1xuXG4vKipcbiAqIFVuaXZlcnNhbCBmb3JtIGNvbXBvbmVudHMgc3R5bGluZyAtIE1vZHVsYXIgYXBwcm9hY2hcbiAqIEJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggZXhpc3RpbmcgZm9ybS1jb21wb25lbnRzKCkgbWl4aW5cbiAqL1xuXG4vLyBWaXN1YWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMgKHNoYXJlZCBhY3Jvc3MgYWxsIG1peGlucylcbiRvdXRsaW5lLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4kb3V0bGluZS1vZmZzZXQ6IDJweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZWFzaW5nOiBlYXNlICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kZm9jdXMtYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4kbWluLXRvdWNoLXNpemU6IDQ0cHggIWRlZmF1bHQ7XG5cbi8vIENvbG9ycyAtIHVzaW5nIENTUyB2YXJpYWJsZXMgZm9yIHRoZW1lIGZsZXhpYmlsaXR5XG4kZm9ybS1wcmltYXJ5LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpICFkZWZhdWx0O1xuJGZvcm0tc2Vjb25kYXJ5LWNvbG9yOiB2YXIoXG4gICAgLS1jb2xvci1zZWNvbmRhcnksXG4gICAgY29sb3JzLiRjb2xvci1qZmUteWVsbG93XG4pICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssIGNvbG9ycy4kY29sb3ItYmxhY2spICFkZWZhdWx0O1xuJGZvcm0tYmctY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLCBjb2xvcnMuJGNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcbiRmb3JtLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssIGNvbG9ycy4kY29sb3ItYmxhY2spICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yOiB2YXIoXG4gICAgLS1jb2xvci1wcmltYXJ5LFxuICAgIGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZVxuKSAhZGVmYXVsdDtcbiRmb3JtLWVycm9yLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvciwgY29sb3JzLiRjb2xvci1lcnJvcikgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAjOTVkZjAwICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYmctY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5KSAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLXRleHQtY29sb3I6IHZhcihcbiAgICAtLWNvbG9yLWpmZS1ncmF5LWRhcmssXG4gICAgY29sb3JzLiRjb2xvci1qZmUtZ3JheS1kYXJrXG4pICFkZWZhdWx0O1xuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6IHZhcihcbiAgICAtLWNvbG9yLWpmZS1ncmF5LWRhcmtlcixcbiAgICBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5LWRhcmtlclxuKSAhZGVmYXVsdDtcblxuJHJhZGlvLWNoZWNrZWQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzInIGZpbGw9JyUyMzAwOTlDQycvJTNlJTNjL3N2ZyUzZVwiKSAhZGVmYXVsdDtcblxuLyoqXG4gKiBGb3JtIExhYmVscyBNaXhpblxuICovXG5AbWl4aW4gZm9ybS1sYWJlbHMoKSB7XG4gICAgLmZvcm0tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgIC8vIFJlcXVpcmVkIGZpZWxkIGluZGljYXRvclxuICAgICAgICAmLnJlcXVpcmVkOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiAqXCI7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlcXVpcmVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMYWJlbCBmb3Igc2NyZWVuIHJlYWRlcnMgb25seVxuICAgICAgICAmLnNyLW9ubHkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxlZ2VuZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBDb250cm9scyBNaXhpbiAoSW5wdXQsIFRleHRhcmVhLCBTZWxlY3QpXG4gKi9cbkBtaXhpbiBmb3JtLWNvbnRyb2xzKCkge1xuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWJnLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgICAgIGJveC1zaGFkb3cgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAgIC8vIFBsYWNlaG9sZGVyIHN0eWxpbmdcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRvdXRsaW5lLXdpZHRoXG4gICAgICAgICAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvciAyNSUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbcmVhZG9ubHldIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWRpc2FibGVkLWJnLWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgJi5pcy1pbnZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aCBjb2xvci1taXgoaW4gc3JnYiwgJGZvcm0tZXJyb3ItY29sb3IgMjUlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWYWxpZCBzdGF0ZSAob25seSB3aXRoIGV4cGxpY2l0IGNsYXNzKVxuICAgICAgICAmLmlzLXZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJG91dGxpbmUtd2lkdGggY29sb3ItbWl4KGluIHNyZ2IsICRmb3JtLXN1Y2Nlc3MtY29sb3IgMjUlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUZXh0YXJlYSBzcGVjaWZpYyBzdHlsaW5nXG4gICAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG5cbiAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0IHNwZWNpZmljIHN0eWxpbmcgKGV4Y2x1ZGluZyBtdWx0aXNlbGVjdClcbiAgICBzZWxlY3QuZm9ybS1jb250cm9sOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9pY29ucy9TVkcvVUkvSWNvbkFycm93QWNjb3JkaW9uLS1Eb3duLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC43NXJlbSBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCAxMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgIC8vIFJlbW92ZSBkZWZhdWx0IGFycm93IGluIElFXG4gICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhvdmVyIHN0YXRlIGZvciBzZWxlY3RcbiAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXMgc3RhdGUgZm9yIHNlbGVjdFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9pY29ucy9TVkcvVUkvSWNvbkFycm93QWNjb3JkaW9uLS1VcC5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkIHN0YXRlIChvbmx5IHdpdGggZXhwbGljaXQgY2xhc3MpXG4gICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWYWxpZCBzdGF0ZSAob25seSB3aXRoIGV4cGxpY2l0IGNsYXNzKVxuICAgICAgICAmLmlzLXZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBDaGVja3MgTWl4aW4gKFJhZGlvICYgQ2hlY2tib3gpXG4gKi9cbkBtaXhpbiBmb3JtLWNoZWNrcygpIHtcbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4taGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLy8gRm9ybSBjaGVjayBpbnB1dCAocmFkaW8gJiBjaGVja2JveClcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQsXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMC4yNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tYmctY29sb3I7XG4gICAgICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93ICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcblxuICAgICAgICAgICAgLy8gRW5zdXJlIG1pbmltdW0gdG91Y2ggdGFyZ2V0IHNpemVcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJG1pbi10b3VjaC1zaXplO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRvdXRsaW5lLXdpZHRoXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3IgMjUlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENoZWNrZWQgc3RhdGVcbiAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tYmctY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iZy1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEludmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcblxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsICRmb3JtLWVycm9yLWNvbG9yIDI1JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrYm94IHNwZWNpZmljIHN0eWxpbmdcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcblxuICAgICAgICAgICAgLy8gQ2hlY2ttYXJrXG4gICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwOTlDQycgc3Ryb2tlLWxpbmVjYXA9J3NxdWFyZScgc3Ryb2tlLWxpbmVqb2luPSdtaXRlcicgc3Ryb2tlLXdpZHRoPScyLjUnIGQ9J00zIDhsMyAzIDctNycvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSW5kZXRlcm1pbmF0ZSBzdGF0ZVxuICAgICAgICAgICAgJjppbmRldGVybWluYXRlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJhZGlvIGJ1dHRvbiBzcGVjaWZpYyBzdHlsaW5nXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgICAgIC8vIFJhZGlvIGRvdFxuICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkcmFkaW8tY2hlY2tlZC1pbWFnZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJSA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JtIGNoZWNrIGxhYmVsXG4gICAgICAgIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssICN7Y29sb3JzLiRjb2xvci1ibGFja30pO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IHR5cG8uJGxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcztcbiAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IHR5cG8uJGxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcihcbiAgICAgICAgICAgICAgICAgICAgLS1jb2xvci1wcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgICAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3JcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi1jb2xvciAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcihcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tY29sb3ItYmxhY2ssXG4gICAgICAgICAgICAgICAgICAgICAgICAje2NvbG9ycy4kY29sb3ItYmxhY2t9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogdHlwby4kbGluay1mb2N1cy1vdXRsaW5lLXdpZHRoIHNvbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS1jb2xvci1wcmltYXJ5LCAje2NvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZX0pO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogdHlwby4kbGluay1mb2N1cy1vdXRsaW5lLW9mZnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbmxpbmUgZm9ybSBjaGVja3NcbiAgICAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KFwic21cIikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBWYWxpZGF0aW9uIE1peGluXG4gKi9cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24oKSB7XG4gICAgLy8gRm9ybSB0ZXh0IChoZWxwIHRleHQsIGVycm9yIG1lc3NhZ2VzKVxuICAgIC5mb3JtLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgIC8vIEVycm9yIHRleHRcbiAgICAgICAgJi50ZXh0LWRhbmdlcixcbiAgICAgICAgJi5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN1Y2Nlc3MgdGV4dFxuICAgICAgICAmLnRleHQtc3VjY2VzcyxcbiAgICAgICAgJi52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEludmFsaWQgZmVlZGJhY2sgKGVycm9yIG1lc3NhZ2VzKVxuICAgIC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gSW5pdGlhbGx5IGhpZGRlblxuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzZSUzY3BhdGggZmlsbD0nJTIzMDAwJyBkPSdNMi4xNDYgMi44NTRhLjUuNSAwIDEgMSAuNzA4LS43MDhMOCA3LjI5M2w1LjE0Ni01LjE0N2EuNS41IDAgMCAxIC43MDguNzA4TDguNzA3IDhsNS4xNDcgNS4xNDZhLjUuNSAwIDAgMS0uNzA4LjcwOEw4IDguNzA3bC01LjE0NiA1LjE0N2EuNS41IDAgMCAxLS43MDgtLjcwOEw3LjI5MyA4IDIuMTQ2IDIuODU0WicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3NSUgNzUlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSBzaG93IHdoZW4gcGFyZW50IGhhcyBpbnZhbGlkIGZpZWxkXG4gICAgICAgIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB+ICYsXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWQgZmVlZGJhY2sgKHN1Y2Nlc3MgbWVzc2FnZXMpXG4gICAgLnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gSW5pdGlhbGx5IGhpZGRlblxuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAvLyBPbmx5IHNob3cgd2hlbiBwYXJlbnQgaGFzIHZhbGlkIGZpZWxkXG4gICAgICAgIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQgfiAmLFxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+ICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0aW9uIFN1bW1hcnkgU3R5bGVzXG4gICAgLnZhbGlkYXRpb24tc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tY29sb3ItZXJyb3IsICN7Y29sb3JzLiRjb2xvci1lcnJvcn0pIDUlLFxuICAgICAgICAgICAgdmFyKC0tY29sb3Itd2hpdGUsICN7Y29sb3JzLiRjb2xvci13aGl0ZX0pXG4gICAgICAgICk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludChcInNtXCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFsZXJ0LWhlYWRpbmcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC43NXJlbSAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KFwic21cIikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbGVydC1tZXNzYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yLW1peChcbiAgICAgICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgICAgIHZhcigtLWNvbG9yLWVycm9yLCAje2NvbG9ycy4kY29sb3ItZXJyb3J9KSA4NSUsXG4gICAgICAgICAgICAgICAgYmxhY2tcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KFwic21cIikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gU3VtbWFyeSBMaXN0XG4gICAgLnZhbGlkYXRpb24tc3VtbWFyeS1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnktaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRXJyb3IgaWNvblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMC4ycmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzZSUzY3BhdGggZmlsbD0nJTIzZGMzNTQ1JyBkPSdNOCAxNUE3IDcgMCAxIDEgOCAxYTcgNyAwIDAgMSAwIDE0em0wIDFBOCA4IDAgMSAwIDggMGE4IDggMCAwIDAgMCAxNnonLyUzZSUzY3BhdGggZmlsbD0nJTIzZGMzNTQ1JyBkPSdNNy4wMDIgMTFhMSAxIDAgMSAxIDIgMCAxIDEgMCAwIDEtMiAwek03LjEgNC45OTVhLjkwNS45MDUgMCAxIDEgMS44IDBsLS4zNSAzLjUwN2EuNTUyLjU1MiAwIDAgMS0xLjEgMEw3LjEgNC45OTV6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmc7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3ItbWl4KFxuICAgICAgICAgICAgICAgICAgICAgICAgaW4gc3JnYixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLWNvbG9yLWVycm9yLCAje2NvbG9ycy4kY29sb3ItZXJyb3J9KSA4NSUsXG4gICAgICAgICAgICAgICAgICAgICAgICBibGFja1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFuaW1hdGlvbiBmb3IgdmFsaWRhdGlvbiBzdW1tYXJ5XG4gICAgLnZhbGlkYXRpb24tc3VtbWFyeSB7XG4gICAgICAgIGFuaW1hdGlvbjogc2xpZGVJbkZyb21Ub3AgMC4zcyBlYXNlLW91dDtcblxuICAgICAgICBAa2V5ZnJhbWVzIHNsaWRlSW5Gcm9tVG9wIHtcbiAgICAgICAgICAgIGZyb20ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRvIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBGb3JtIExheW91dCBNaXhpbiAoRmxvYXRpbmcsIEdyb3VwcywgQWN0aW9ucylcbiAqL1xuQG1peGluIGZvcm0tbGF5b3V0KCkge1xuICAgIC8vIEZvcm0gZmxvYXRpbmcgbGFiZWxzIChpZiBuZWVkZWQpXG4gICAgLmZvcm0tZmxvYXRpbmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAuNzVyZW0gMC41cmVtO1xuXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgICAgICAgICAgICAgfiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44NSkgdHJhbnNsYXRlWSgtMC41cmVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlWCgwLjE1cmVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgb3BhY2l0eSAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gZ3JvdXBzIGZvciBzcGFjaW5nXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9ybSBzZWN0aW9uc1xuICAgIC5mb3JtLXNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIsXG4gICAgICAgIGgzLFxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAucmVxdWlyZWQge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gYWN0aW9ucyAoYnV0dG9ucylcbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludChcInNtXCIpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludChcInNtXCIpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBGb3JtIEFjY2Vzc2liaWxpdHkgTWl4aW5cbiAqL1xuQG1peGluIGZvcm0tYWNjZXNzaWJpbGl0eSgpIHtcbiAgICAvLyBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgLmZvcm0tY29udHJvbCxcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQsXG4gICAgICAgIC5mb3JtLWZsb2F0aW5nIGxhYmVsIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydFxuICAgIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbGlkYXRpb24tc3VtbWFyeSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBCdXR0b25UZXh0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQnV0dG9uRmFjZTtcblxuICAgICAgICAgICAgLnZhbGlkYXRpb24tc3VtbWFyeS1pdGVtOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQnV0dG9uVGV4dDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcmludCBzdHlsZXNcbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuZm9ybS1jb250cm9sLFxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbGlkYXRpb24tc3VtbWFyeSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLmFsZXJ0LWhlYWRpbmcsXG4gICAgICAgICAgICAuYWxlcnQtbWVzc2FnZSxcbiAgICAgICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnktaXRlbSBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnZhbGlkYXRpb24tc3VtbWFyeS1pdGVtOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBNYWluIGZvcm0tY29tcG9uZW50cyBtaXhpbiAtIEJBQ0tXQVJEUyBDT01QQVRJQkxFXG4gKiBJbmNsdWRlcyBhbGwgZm9ybSBzdHlsaW5nIGNvbXBvbmVudHNcbiAqL1xuQG1peGluIGZvcm0tY29tcG9uZW50cygpIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVscygpO1xuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbHMoKTtcbiAgICBAaW5jbHVkZSBmb3JtLWNoZWNrcygpO1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbigpO1xuICAgIEBpbmNsdWRlIGZvcm0tbGF5b3V0KCk7XG4gICAgQGluY2x1ZGUgZm9ybS1hY2Nlc3NpYmlsaXR5KCk7XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9fY29sb3JzLnNjc3NcblxuLy8gQmFzZSBjb2xvcnMgZnJvbSBkZXNpZ24gZG9jdW1lbnRcbiRjb2xvci1qZmUtbGlnaHRibHVlOiAjMDA5ZGRmOyAgICAgICAgICAvLyBKRkUgbGlnaHQgYmx1ZVxuJGNvbG9yLWpmZS15ZWxsb3c6ICNmZmNjMDA7ICAgICAgICAgICAgIC8vIEpGRSB5ZWxsb3dcbiRjb2xvci1qZmUtYWxtb3N0LXdoaXRlOiAjZmFmYWZhOyAgICAgICAgLy8gSkZFIGFsbW9zdCB3aGl0ZSAoYmFja2dyb3VuZCBvcHRpb24pXG4kY29sb3ItamZlLWdyYXk6ICNmM2YzZjI7ICAgICAgICAgICAgICAgLy8gSkZFIGdyYXkgKGJhY2tncm91bmQgb3B0aW9uKVxuJGNvbG9yLWpmZS1ncmF5LW1lZGl1bTogI0NGQ0ZDRjsgICAgICAgIC8vIEpGRSBtZWRpdW0gZ3JheSAoZm9yIGJvcmRlcnMgZXRjLilcbiRjb2xvci1qZmUtZ3JheS1kYXJrOiByZ2JhKDE4OSwgMTg5LCAxODksIDEpOyAvLyBKRkUgZGFyayBncmF5IChmb3IgZGFya2VyIGJvcmRlcnMgZXRjLilcbiRjb2xvci1qZmUtZ3JheS1kYXJrZXI6cmdiYSgxMDUsIDEwNSwgMTA1LCAxKTsgLy8gSkZFIGRhcmtlciBncmF5IChGb3JtIGRlc2NyaXB0aW9uIHRleHQgZXRjLilcbi8vIFByb2dyYW0gc3BlY2lmaWMgY29sb3JzXG4kY29sb3ItZS1qdWdlbmQtYmx1ZTogIzAwMzM5OTsgICAgICAgICAgLy8gRXJhc211cysgWW91dGggYmx1ZVxuJGNvbG9yLWVzay1tYWdlbnRhOiAjZTUwMDZjOyAgICAgICAgICAgIC8vIEVTQyBtYWdlbnRhXG4kY29sb3ItZS1zcG9ydC1vcmFuZ2U6ICNlMzUzMGY7ICAgICAgICAgLy8gRXJhc211cysgU3BvcnQgb3JhbmdlXG5cbi8vIFV0aWxpdHkgY29sb3JzXG4kY29sb3Itd2hpdGU6ICNmZmZmZmY7ICAgICAgICAgICAgICAvLyBXaGl0ZSBjb2xvciBmb3IgYmFja2dyb3VuZHNcbiRjb2xvci1ibGFjazogIzAwMDAwMDsgICAgICAgICAgICAgIC8vIEJsYWNrIGNvbG9yIGZvciB0ZXh0XG4kY29sb3Itb3ZlcmxheS1zbTogcmdiYSgwLCAwLCAwLCAwLjMpO1xuJGNvbG9yLW92ZXJsYXktbWQ6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4kY29sb3Itb3ZlcmxheS1sZzogcmdiYSgwLCAwLCAwLCAwLjg1KTtcblxuLy8gU2Vjb25kYXJ5IGFuZCBkZXJpdmVkIGNvbG9yc1xuJGNvbG9yLWpmZS15ZWxsb3ctaG92ZXI6ICNFQkJDMDA7ICAgICAgIC8vIEhvdmVyIHN0YXRlIGZvciBKRkUgeWVsbG93XG4kY29sb3ItZS1qdWdlbmQtaG92ZXI6ICMwMDJiODA7ICAgICAgICAgLy8gSG92ZXIgc3RhdGUgZm9yIEVyYXNtdXMrIFlvdXRoIGJsdWVcbiRjb2xvci1lc2staG92ZXI6ICNkMDAwNjI7ICAgICAgICAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3IgRVNDIG1hZ2VudGFcbiRjb2xvci1lLXNwb3J0LWhvdmVyOiAjYzk0OTBkOyAgICAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3IgRXJhc211cysgU3BvcnQgb3JhbmdlXG5cbi8vIEVycm9yIGFuZCB3YXJuaW5nIGNvbG9yc1xuJGNvbG9yLWVycm9yOiAjZGYwMDAwOyAgICAgICAgICAgICAgICAvLyBFcnJvciBjb2xvciAocmVkKVxuJGNvbG9yLWVycm9yLWJnOiAjZGYwMDAwMWE7ICAgICAgICAgICAgIC8vIEVycm9yIGJhY2tncm91bmQgY29sb3IgKGxpZ2h0IHJlZClcbiRjb2xvci13YXJuaW5nOiAjZmZiMzAwOyAgICAgICAgICAgICAgLy8gV2FybmluZyBjb2xvciAoeWVsbG93KVxuJGNvbG9yLXdhcm5pbmctYmc6ICNmZmIzMDAxYTsgICAgICAgICAgLy8gV2FybmluZyBiYWNrZ3JvdW5kIGNvbG9yIChsaWdodCB5ZWxsb3cpXG4kY29sb3Itc3VjY2VzczogIzk1ZGYwMDsgICAgICAgICAgICAgIC8vIFN1Y2Nlc3MgY29sb3IgKGdyZWVuKVxuJGNvbG9yLXN1Y2Nlc3MtYmc6ICM5NWRmMDAxYTsgICAgICAgICAgLy8gU3VjY2VzcyBiYWNrZ3JvdW5kIGNvbG9yIChsaWdodCBncmVlbilcblxuLy8gQ29uc2VudCBvdmVybGF5IGNvbG9ycyAodHdvLWNsaWNrIHNvbHV0aW9uIGZvciBleHRlcm5hbCBjb250ZW50KVxuJGNvbG9yLWNvbnNlbnQtb3ZlcmxheS1iZzogIzAwOWRkZjtcbiRjb2xvci1jb25zZW50LW92ZXJsYXktdGV4dDogI2ZmZmZmZjtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/