/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/home.css ***!
  \***************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap);
/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
body {
    background-color: lightgray;
}

/*!*******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/home.css (1) ***!
  \*******************************************************************************************************************/
/* ==========================================================================
   SDDRH public portal — "Registre des dossiers"
   Design language: an institutional ledger / bordereau (transmission slip).
   Scoped entirely under .sddrh-home so nothing bleeds into Sonata Admin,
   which shares the same webpack "app" entry.
   ========================================================================== */

.sddrh-home {
  --shr-ink: #1c2b22;
  --shr-ink-soft: #3c473f;
  --shr-muted: #746c5c;
  --shr-paper: #f1eee4;
  --shr-paper-raised: #faf8f2;
  --shr-green: #0b4f3c;
  --shr-green-dark: #072f23;
  --shr-gold: #b08d3f;
  --shr-red: #8f3a2d;
  --shr-line: #d8d2c0;

  --shr-font-display: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --shr-font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --shr-font-body: 'IBM Plex Sans', -apple-system, 'Segoe UI', sans-serif;

  font-family: var(--shr-font-body);
  color: var(--shr-ink);
  background: var(--shr-paper);
  min-height: 100vh;
  line-height: 1.5;
}

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

.sddrh-home a {
  color: inherit;
}

.sddrh-home button {
  font-family: inherit;
}

.sddrh-home :focus-visible {
  outline: 2px solid var(--shr-gold);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .sddrh-home * {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

/* -------------------------------------------------------------------------
   Layout shell
   ------------------------------------------------------------------------- */

.shr-shell {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 24px 80px;
}

/* -------------------------------------------------------------------------
   Header — a quiet letterhead, not a nav bar
   ------------------------------------------------------------------------- */

.shr-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 28px 0 22px;
  border-bottom: 1px solid var(--shr-line);
  margin-bottom: 56px;
}

.shr-seal {
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 50%;
  border: 1.5px solid var(--shr-green);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--shr-font-mono);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.02em;
  color: var(--shr-green);
}

.shr-header-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.shr-header-eyebrow {
  font-family: var(--shr-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--shr-muted);
}

.shr-header-name {
  font-family: var(--shr-font-display);
  font-size: 17px;
  font-weight: 600;
}

/* -------------------------------------------------------------------------
   Hero — the register's title page. The search is the thesis: the page's
   one job is "find my dossier", so it sits in the opening frame, not below
   a marketing banner.
   ------------------------------------------------------------------------- */

.shr-hero {
  margin-bottom: 64px;
}

.shr-hero-kicker {
  font-family: var(--shr-font-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--shr-gold);
  margin: 0 0 10px;
}

.shr-hero-title {
  font-family: var(--shr-font-display);
  font-weight: 700;
  font-size: clamp(32px, 5vw, 46px);
  line-height: 1.08;
  margin: 0 0 14px;
  color: var(--shr-green-dark);
}

.shr-hero-lede {
  font-size: 16px;
  color: var(--shr-ink-soft);
  max-width: 58ch;
  margin: 0 0 6px;
}

.shr-hero-subdirector {
  font-size: 14px;
  color: var(--shr-muted);
  margin: 0 0 32px;
}

.shr-hero-subdirector strong {
  color: var(--shr-ink);
  font-weight: 600;
}

/* The "ledger slot": the tracking search, styled like a slip you feed into
   a registry window. */

.shr-search {
  display: flex;
  gap: 0;
  background: var(--shr-paper-raised);
  border: 1.5px solid var(--shr-green);
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 1px 0 var(--shr-line);
}

.shr-search-label {
  display: none;
}

.shr-search input {
  flex: 1;
  border: none;
  background: transparent;
  padding: 16px 18px;
  font-family: var(--shr-font-mono);
  font-size: 15px;
  color: var(--shr-ink);
}

.shr-search input::placeholder {
  color: var(--shr-muted);
  font-family: var(--shr-font-body);
}

.shr-search input:focus {
  outline: none;
}

.shr-search button {
  flex: none;
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
  background: var(--shr-green);
  color: var(--shr-paper-raised);
  padding: 0 24px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.shr-search button:hover:not(:disabled) {
  background: var(--shr-green-dark);
}

.shr-search button:disabled {
  opacity: 0.6;
  cursor: default;
}

.shr-hero-error {
  margin-top: 14px;
  font-size: 14px;
  color: var(--shr-red);
  font-family: var(--shr-font-mono);
}

.shr-tags {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.shr-tag {
  font-family: var(--shr-font-mono);
  font-size: 12px;
  padding: 6px 12px;
  border: 1px solid var(--shr-line);
  border-radius: 20px;
  color: var(--shr-ink-soft);
  background: var(--shr-paper-raised);
}

.shr-tag--more {
  color: var(--shr-muted);
  border-style: dashed;
}

/* -------------------------------------------------------------------------
   Section scaffolding
   ------------------------------------------------------------------------- */

.shr-section {
  margin-bottom: 64px;
}

.shr-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
}

.shr-section-title {
  font-family: var(--shr-font-display);
  font-size: 22px;
  font-weight: 600;
  color: var(--shr-green-dark);
  margin: 0;
}

.shr-section-count {
  font-family: var(--shr-font-mono);
  font-size: 12px;
  color: var(--shr-muted);
  white-space: nowrap;
}

.shr-section-help {
  font-size: 14px;
  color: var(--shr-muted);
  margin: 0 0 24px;
  max-width: 62ch;
}

/* -------------------------------------------------------------------------
   Signature element — the bordereau slip.
   A dossier result is rendered as a torn transmission slip: a perforated
   top edge and a rotated stamp for its status, echoing the real paper
   bordereaux the system replaces.
   ------------------------------------------------------------------------- */

.shr-slip {
  position: relative;
  background: var(--shr-paper-raised);
  border: 1px solid var(--shr-line);
  border-radius: 2px;
  margin-bottom: 28px;
  animation: shr-rise 0.25s ease both;
}

@keyframes shr-rise {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.shr-slip-perforation {
  height: 10px;
  background-image: radial-gradient(circle, var(--shr-paper) 2.5px, transparent 2.6px);
  background-size: 16px 10px;
  background-position: 8px center;
  border-bottom: 1px dashed var(--shr-line);
}

.shr-slip-body {
  padding: 24px 28px 26px;
}

.shr-slip-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.shr-slip-type {
  font-family: var(--shr-font-display);
  font-size: 19px;
  font-weight: 600;
  color: var(--shr-green-dark);
  margin: 0 0 6px;
}

.shr-slip-tracking {
  font-family: var(--shr-font-mono);
  font-size: 13px;
  color: var(--shr-muted);
}

.shr-slip-tracking strong {
  color: var(--shr-ink);
  letter-spacing: 0.02em;
}

.shr-stamp {
  flex: none;
  font-family: var(--shr-font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1.5px solid currentColor;
  transform: rotate(-4deg);
  white-space: nowrap;
}

.shr-stamp--progress {
  color: var(--shr-green);
}

.shr-stamp--attention {
  color: var(--shr-red);
}

.shr-stamp--out {
  color: var(--shr-gold);
}

.shr-stamp--done {
  color: var(--shr-green-dark);
  background: rgba(11, 79, 60, 0.06);
}

.shr-slip-holder {
  font-size: 13px;
  color: var(--shr-muted);
  margin: 6px 0 0;
}

.shr-slip-holder strong {
  color: var(--shr-ink);
  font-weight: 600;
}

.shr-slip-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: 28px;
}

@media (max-width: 640px) {
  .shr-slip-grid {
    grid-template-columns: 1fr;
  }
}

.shr-slip-label {
  font-family: var(--shr-font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--shr-muted);
  margin: 0 0 12px;
}

.shr-applicants {
  list-style: none;
  margin: 0;
  padding: 0;
}

.shr-applicants li {
  padding: 7px 0;
  border-bottom: 1px solid var(--shr-line);
  font-size: 14px;
}

.shr-applicants li:last-child {
  border-bottom: none;
}

.shr-timeline {
  border-left: 1.5px solid var(--shr-line);
  padding-left: 18px;
}

.shr-timeline-item {
  position: relative;
  padding-bottom: 16px;
}

.shr-timeline-item:last-child {
  padding-bottom: 0;
}

.shr-timeline-dot {
  position: absolute;
  left: -22.5px;
  top: 3px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--shr-green);
  border: 2px solid var(--shr-paper-raised);
  box-shadow: 0 0 0 1px var(--shr-line);
}

.shr-timeline-item--past .shr-timeline-dot {
  background: var(--shr-muted);
}

.shr-timeline-date {
  font-family: var(--shr-font-mono);
  font-size: 11px;
  color: var(--shr-muted);
  margin: 0 0 3px;
}

.shr-timeline-route {
  font-size: 13.5px;
  margin: 0 0 4px;
}

.shr-timeline-route strong {
  color: var(--shr-green-dark);
}

.shr-timeline-note {
  font-size: 12.5px;
  font-style: italic;
  color: var(--shr-ink-soft);
  background: var(--shr-paper);
  display: inline-block;
  padding: 4px 10px;
  border-radius: 3px;
}

/* Empty / placeholder states -------------------------------------------- */

.shr-placeholder {
  border: 1px dashed var(--shr-line);
  border-radius: 3px;
  padding: 28px;
  font-size: 14px;
  color: var(--shr-muted);
  text-align: center;
}

/* -------------------------------------------------------------------------
   Requirement cards — an index card pinned to a checklist board.
   ------------------------------------------------------------------------- */

.shr-requirement-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}

.shr-req-card {
  background: var(--shr-paper-raised);
  border: 1px solid var(--shr-line);
  border-radius: 2px;
  padding: 22px 22px 20px;
  animation: shr-rise 0.25s ease both;
}

.shr-req-card-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 10px;
}

.shr-req-card-name {
  font-family: var(--shr-font-display);
  font-size: 17px;
  font-weight: 600;
  color: var(--shr-green-dark);
  margin: 0;
}

.shr-req-card-code {
  font-family: var(--shr-font-mono);
  font-size: 12px;
  color: var(--shr-muted);
}

.shr-req-card-desc {
  font-size: 13.5px;
  color: var(--shr-ink-soft);
  margin: 0 0 16px;
  line-height: 1.55;
}

.shr-req-card-structure {
  font-family: var(--shr-font-mono);
  font-size: 11.5px;
  color: var(--shr-ink-soft);
  background: var(--shr-paper);
  border-radius: 3px;
  padding: 8px 10px;
  margin-bottom: 16px;
}

.shr-req-card-structure strong {
  color: var(--shr-green-dark);
}

.shr-req-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.shr-req-list li {
  position: relative;
  padding: 5px 0 5px 22px;
  font-size: 13.5px;
  color: var(--shr-ink-soft);
}

.shr-req-list li::before {
  content: '';
  position: absolute;
  left: 2px;
  top: 12px;
  width: 7px;
  height: 7px;
  border: 1.5px solid var(--shr-green);
  transform: rotate(45deg);
}

.shr-req-empty {
  font-size: 13px;
  font-style: italic;
  color: var(--shr-muted);
}

/* -------------------------------------------------------------------------
   Icons — small inline strokes, no external icon font required.
   ------------------------------------------------------------------------- */

.shr-icon {
  width: 15px;
  height: 15px;
  flex: none;
}

.shr-spin {
  animation: shr-spin 0.8s linear infinite;
}

@keyframes shr-spin {
  to {
    transform: rotate(360deg);
  }
}

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */

.shr-footer {
  border-top: 1px solid var(--shr-line);
  padding-top: 22px;
  font-size: 12.5px;
  color: var(--shr-muted);
  font-family: var(--shr-font-mono);
}


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